@thanhdp1305/cowork-171305 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. package/README.md +230 -0
  2. package/backend/.env.example +21 -0
  3. package/backend/dist/agent/agent.controller.d.ts +23 -0
  4. package/backend/dist/agent/agent.controller.js +114 -0
  5. package/backend/dist/agent/agent.controller.js.map +1 -0
  6. package/backend/dist/agent/agent.module.d.ts +2 -0
  7. package/backend/dist/agent/agent.module.js +127 -0
  8. package/backend/dist/agent/agent.module.js.map +1 -0
  9. package/backend/dist/agent/agent.service.d.ts +23 -0
  10. package/backend/dist/agent/agent.service.js +153 -0
  11. package/backend/dist/agent/agent.service.js.map +1 -0
  12. package/backend/dist/agent/dto/agent-action.dto.d.ts +10 -0
  13. package/backend/dist/agent/dto/agent-action.dto.js +73 -0
  14. package/backend/dist/agent/dto/agent-action.dto.js.map +1 -0
  15. package/backend/dist/agent/dto/agent-run-state.d.ts +21 -0
  16. package/backend/dist/agent/dto/agent-run-state.js +19 -0
  17. package/backend/dist/agent/dto/agent-run-state.js.map +1 -0
  18. package/backend/dist/agent/dto/agent-state.enum.d.ts +6 -0
  19. package/backend/dist/agent/dto/agent-state.enum.js +11 -0
  20. package/backend/dist/agent/dto/agent-state.enum.js.map +1 -0
  21. package/backend/dist/agent/dto/approve-tool.dto.d.ts +4 -0
  22. package/backend/dist/agent/dto/approve-tool.dto.js +25 -0
  23. package/backend/dist/agent/dto/approve-tool.dto.js.map +1 -0
  24. package/backend/dist/agent/dto/chat.dto.d.ts +6 -0
  25. package/backend/dist/agent/dto/chat.dto.js +35 -0
  26. package/backend/dist/agent/dto/chat.dto.js.map +1 -0
  27. package/backend/dist/agent/dto/execute-plan.dto.d.ts +4 -0
  28. package/backend/dist/agent/dto/execute-plan.dto.js +25 -0
  29. package/backend/dist/agent/dto/execute-plan.dto.js.map +1 -0
  30. package/backend/dist/agent/dto/permissions-config.d.ts +8 -0
  31. package/backend/dist/agent/dto/permissions-config.js +11 -0
  32. package/backend/dist/agent/dto/permissions-config.js.map +1 -0
  33. package/backend/dist/agent/dto/update-permissions.dto.d.ts +7 -0
  34. package/backend/dist/agent/dto/update-permissions.dto.js +46 -0
  35. package/backend/dist/agent/dto/update-permissions.dto.js.map +1 -0
  36. package/backend/dist/agent/dto/write-stream.interface.d.ts +3 -0
  37. package/backend/dist/agent/dto/write-stream.interface.js +3 -0
  38. package/backend/dist/agent/dto/write-stream.interface.js.map +1 -0
  39. package/backend/dist/agent/dto/yolo-config.dto.d.ts +5 -0
  40. package/backend/dist/agent/dto/yolo-config.dto.js +33 -0
  41. package/backend/dist/agent/dto/yolo-config.dto.js.map +1 -0
  42. package/backend/dist/agent/mcp/mcp-client.service.d.ts +15 -0
  43. package/backend/dist/agent/mcp/mcp-client.service.js +71 -0
  44. package/backend/dist/agent/mcp/mcp-client.service.js.map +1 -0
  45. package/backend/dist/agent/mcp/mcp.module.d.ts +2 -0
  46. package/backend/dist/agent/mcp/mcp.module.js +24 -0
  47. package/backend/dist/agent/mcp/mcp.module.js.map +1 -0
  48. package/backend/dist/agent/mcp/mcp.service.d.ts +20 -0
  49. package/backend/dist/agent/mcp/mcp.service.js +94 -0
  50. package/backend/dist/agent/mcp/mcp.service.js.map +1 -0
  51. package/backend/dist/agent/providers/llm-provider.interface.d.ts +41 -0
  52. package/backend/dist/agent/providers/llm-provider.interface.js +3 -0
  53. package/backend/dist/agent/providers/llm-provider.interface.js.map +1 -0
  54. package/backend/dist/agent/providers/ollama.provider.d.ts +5 -0
  55. package/backend/dist/agent/providers/ollama.provider.js +92 -0
  56. package/backend/dist/agent/providers/ollama.provider.js.map +1 -0
  57. package/backend/dist/agent/providers/openai.provider.d.ts +5 -0
  58. package/backend/dist/agent/providers/openai.provider.js +169 -0
  59. package/backend/dist/agent/providers/openai.provider.js.map +1 -0
  60. package/backend/dist/agent/services/agent-loop.service.d.ts +128 -0
  61. package/backend/dist/agent/services/agent-loop.service.js +704 -0
  62. package/backend/dist/agent/services/agent-loop.service.js.map +1 -0
  63. package/backend/dist/agent/services/approval-manager.service.d.ts +8 -0
  64. package/backend/dist/agent/services/approval-manager.service.js +50 -0
  65. package/backend/dist/agent/services/approval-manager.service.js.map +1 -0
  66. package/backend/dist/agent/services/context-builder.service.d.ts +30 -0
  67. package/backend/dist/agent/services/context-builder.service.js +107 -0
  68. package/backend/dist/agent/services/context-builder.service.js.map +1 -0
  69. package/backend/dist/agent/services/danger-patterns.config.d.ts +10 -0
  70. package/backend/dist/agent/services/danger-patterns.config.js +82 -0
  71. package/backend/dist/agent/services/danger-patterns.config.js.map +1 -0
  72. package/backend/dist/agent/services/denial-tracking.d.ts +12 -0
  73. package/backend/dist/agent/services/denial-tracking.js +34 -0
  74. package/backend/dist/agent/services/denial-tracking.js.map +1 -0
  75. package/backend/dist/agent/services/llm-controller.service.d.ts +19 -0
  76. package/backend/dist/agent/services/llm-controller.service.js +70 -0
  77. package/backend/dist/agent/services/llm-controller.service.js.map +1 -0
  78. package/backend/dist/agent/services/permissions.service.d.ts +24 -0
  79. package/backend/dist/agent/services/permissions.service.js +106 -0
  80. package/backend/dist/agent/services/permissions.service.js.map +1 -0
  81. package/backend/dist/agent/services/yolo-classifier.constants.d.ts +6 -0
  82. package/backend/dist/agent/services/yolo-classifier.constants.js +39 -0
  83. package/backend/dist/agent/services/yolo-classifier.constants.js.map +1 -0
  84. package/backend/dist/agent/services/yolo-classifier.service.d.ts +29 -0
  85. package/backend/dist/agent/services/yolo-classifier.service.js +139 -0
  86. package/backend/dist/agent/services/yolo-classifier.service.js.map +1 -0
  87. package/backend/dist/agent/subagent/subagent.service.d.ts +16 -0
  88. package/backend/dist/agent/subagent/subagent.service.js +76 -0
  89. package/backend/dist/agent/subagent/subagent.service.js.map +1 -0
  90. package/backend/dist/agent-output/agent-output.controller.d.ts +20 -0
  91. package/backend/dist/agent-output/agent-output.controller.js +123 -0
  92. package/backend/dist/agent-output/agent-output.controller.js.map +1 -0
  93. package/backend/dist/agent-output/agent-output.module.d.ts +2 -0
  94. package/backend/dist/agent-output/agent-output.module.js +22 -0
  95. package/backend/dist/agent-output/agent-output.module.js.map +1 -0
  96. package/backend/dist/app.controller.d.ts +10 -0
  97. package/backend/dist/app.controller.js +39 -0
  98. package/backend/dist/app.controller.js.map +1 -0
  99. package/backend/dist/app.module.d.ts +2 -0
  100. package/backend/dist/app.module.js +66 -0
  101. package/backend/dist/app.module.js.map +1 -0
  102. package/backend/dist/connector/connector.controller.d.ts +67 -0
  103. package/backend/dist/connector/connector.controller.js +150 -0
  104. package/backend/dist/connector/connector.controller.js.map +1 -0
  105. package/backend/dist/connector/connector.module.d.ts +2 -0
  106. package/backend/dist/connector/connector.module.js +28 -0
  107. package/backend/dist/connector/connector.module.js.map +1 -0
  108. package/backend/dist/connector/connector.service.d.ts +61 -0
  109. package/backend/dist/connector/connector.service.js +63 -0
  110. package/backend/dist/connector/connector.service.js.map +1 -0
  111. package/backend/dist/connector/dto/oauth-confirm.dto.d.ts +4 -0
  112. package/backend/dist/connector/dto/oauth-confirm.dto.js +25 -0
  113. package/backend/dist/connector/dto/oauth-confirm.dto.js.map +1 -0
  114. package/backend/dist/connector/dto/update-connector.dto.d.ts +5 -0
  115. package/backend/dist/connector/dto/update-connector.dto.js +9 -0
  116. package/backend/dist/connector/dto/update-connector.dto.js.map +1 -0
  117. package/backend/dist/connector/dto/upsert-connector.dto.d.ts +6 -0
  118. package/backend/dist/connector/dto/upsert-connector.dto.js +35 -0
  119. package/backend/dist/connector/dto/upsert-connector.dto.js.map +1 -0
  120. package/backend/dist/connector/providers/google/gmail.service.d.ts +31 -0
  121. package/backend/dist/connector/providers/google/gmail.service.js +114 -0
  122. package/backend/dist/connector/providers/google/gmail.service.js.map +1 -0
  123. package/backend/dist/connector/providers/google/google-calendar.service.d.ts +37 -0
  124. package/backend/dist/connector/providers/google/google-calendar.service.js +105 -0
  125. package/backend/dist/connector/providers/google/google-calendar.service.js.map +1 -0
  126. package/backend/dist/connector/providers/google/google-drive.service.d.ts +22 -0
  127. package/backend/dist/connector/providers/google/google-drive.service.js +130 -0
  128. package/backend/dist/connector/providers/google/google-drive.service.js.map +1 -0
  129. package/backend/dist/connector/providers/google/google-oauth.service.d.ts +23 -0
  130. package/backend/dist/connector/providers/google/google-oauth.service.js +74 -0
  131. package/backend/dist/connector/providers/google/google-oauth.service.js.map +1 -0
  132. package/backend/dist/connector/providers/google/google-sheets.service.d.ts +29 -0
  133. package/backend/dist/connector/providers/google/google-sheets.service.js +246 -0
  134. package/backend/dist/connector/providers/google/google-sheets.service.js.map +1 -0
  135. package/backend/dist/cowork/cowork.controller.d.ts +37 -0
  136. package/backend/dist/cowork/cowork.controller.js +127 -0
  137. package/backend/dist/cowork/cowork.controller.js.map +1 -0
  138. package/backend/dist/cowork/cowork.module.d.ts +2 -0
  139. package/backend/dist/cowork/cowork.module.js +26 -0
  140. package/backend/dist/cowork/cowork.module.js.map +1 -0
  141. package/backend/dist/cowork/cowork.service.d.ts +40 -0
  142. package/backend/dist/cowork/cowork.service.js +116 -0
  143. package/backend/dist/cowork/cowork.service.js.map +1 -0
  144. package/backend/dist/cowork/dto/set-project.dto.d.ts +3 -0
  145. package/backend/dist/cowork/dto/set-project.dto.js +21 -0
  146. package/backend/dist/cowork/dto/set-project.dto.js.map +1 -0
  147. package/backend/dist/excel/excel.module.d.ts +2 -0
  148. package/backend/dist/excel/excel.module.js +26 -0
  149. package/backend/dist/excel/excel.module.js.map +1 -0
  150. package/backend/dist/excel/excel.service.d.ts +33 -0
  151. package/backend/dist/excel/excel.service.js +204 -0
  152. package/backend/dist/excel/excel.service.js.map +1 -0
  153. package/backend/dist/excel/executors/excel-add-sheet.executor.d.ts +12 -0
  154. package/backend/dist/excel/executors/excel-add-sheet.executor.js +64 -0
  155. package/backend/dist/excel/executors/excel-add-sheet.executor.js.map +1 -0
  156. package/backend/dist/excel/executors/excel-chart.executor.d.ts +12 -0
  157. package/backend/dist/excel/executors/excel-chart.executor.js +68 -0
  158. package/backend/dist/excel/executors/excel-chart.executor.js.map +1 -0
  159. package/backend/dist/excel/executors/list-excel-sheets.executor.d.ts +8 -0
  160. package/backend/dist/excel/executors/list-excel-sheets.executor.js +38 -0
  161. package/backend/dist/excel/executors/list-excel-sheets.executor.js.map +1 -0
  162. package/backend/dist/excel/executors/read-excel.executor.d.ts +8 -0
  163. package/backend/dist/excel/executors/read-excel.executor.js +40 -0
  164. package/backend/dist/excel/executors/read-excel.executor.js.map +1 -0
  165. package/backend/dist/excel/executors/write-excel.executor.d.ts +12 -0
  166. package/backend/dist/excel/executors/write-excel.executor.js +66 -0
  167. package/backend/dist/excel/executors/write-excel.executor.js.map +1 -0
  168. package/backend/dist/files/files.controller.d.ts +8 -0
  169. package/backend/dist/files/files.controller.js +53 -0
  170. package/backend/dist/files/files.controller.js.map +1 -0
  171. package/backend/dist/files/files.module.d.ts +2 -0
  172. package/backend/dist/files/files.module.js +20 -0
  173. package/backend/dist/files/files.module.js.map +1 -0
  174. package/backend/dist/http-exception.filter.d.ts +4 -0
  175. package/backend/dist/http-exception.filter.js +32 -0
  176. package/backend/dist/http-exception.filter.js.map +1 -0
  177. package/backend/dist/knowledge/dto/search.dto.d.ts +3 -0
  178. package/backend/dist/knowledge/dto/search.dto.js +21 -0
  179. package/backend/dist/knowledge/dto/search.dto.js.map +1 -0
  180. package/backend/dist/knowledge/knowledge.controller.d.ts +38 -0
  181. package/backend/dist/knowledge/knowledge.controller.js +91 -0
  182. package/backend/dist/knowledge/knowledge.controller.js.map +1 -0
  183. package/backend/dist/knowledge/knowledge.module.d.ts +2 -0
  184. package/backend/dist/knowledge/knowledge.module.js +25 -0
  185. package/backend/dist/knowledge/knowledge.module.js.map +1 -0
  186. package/backend/dist/knowledge/knowledge.service.d.ts +103 -0
  187. package/backend/dist/knowledge/knowledge.service.js +379 -0
  188. package/backend/dist/knowledge/knowledge.service.js.map +1 -0
  189. package/backend/dist/main.d.ts +1 -0
  190. package/backend/dist/main.js +33 -0
  191. package/backend/dist/main.js.map +1 -0
  192. package/backend/dist/memory/dto/create-memory.dto.d.ts +6 -0
  193. package/backend/dist/memory/dto/create-memory.dto.js +34 -0
  194. package/backend/dist/memory/dto/create-memory.dto.js.map +1 -0
  195. package/backend/dist/memory/dto/search-memory.dto.d.ts +5 -0
  196. package/backend/dist/memory/dto/search-memory.dto.js +32 -0
  197. package/backend/dist/memory/dto/search-memory.dto.js.map +1 -0
  198. package/backend/dist/memory/dto/update-memory.dto.d.ts +5 -0
  199. package/backend/dist/memory/dto/update-memory.dto.js +9 -0
  200. package/backend/dist/memory/dto/update-memory.dto.js.map +1 -0
  201. package/backend/dist/memory/memory-extraction.service.d.ts +19 -0
  202. package/backend/dist/memory/memory-extraction.service.js +87 -0
  203. package/backend/dist/memory/memory-extraction.service.js.map +1 -0
  204. package/backend/dist/memory/memory.constants.d.ts +9 -0
  205. package/backend/dist/memory/memory.constants.js +13 -0
  206. package/backend/dist/memory/memory.constants.js.map +1 -0
  207. package/backend/dist/memory/memory.controller.d.ts +53 -0
  208. package/backend/dist/memory/memory.controller.js +81 -0
  209. package/backend/dist/memory/memory.controller.js.map +1 -0
  210. package/backend/dist/memory/memory.gateway.d.ts +8 -0
  211. package/backend/dist/memory/memory.gateway.js +37 -0
  212. package/backend/dist/memory/memory.gateway.js.map +1 -0
  213. package/backend/dist/memory/memory.module.d.ts +2 -0
  214. package/backend/dist/memory/memory.module.js +25 -0
  215. package/backend/dist/memory/memory.module.js.map +1 -0
  216. package/backend/dist/memory/memory.service.d.ts +70 -0
  217. package/backend/dist/memory/memory.service.js +144 -0
  218. package/backend/dist/memory/memory.service.js.map +1 -0
  219. package/backend/dist/mode-policy/mode-policy.config.d.ts +20 -0
  220. package/backend/dist/mode-policy/mode-policy.config.js +17 -0
  221. package/backend/dist/mode-policy/mode-policy.config.js.map +1 -0
  222. package/backend/dist/mode-policy/mode-policy.module.d.ts +2 -0
  223. package/backend/dist/mode-policy/mode-policy.module.js +21 -0
  224. package/backend/dist/mode-policy/mode-policy.module.js.map +1 -0
  225. package/backend/dist/mode-policy/mode-policy.service.d.ts +18 -0
  226. package/backend/dist/mode-policy/mode-policy.service.js +66 -0
  227. package/backend/dist/mode-policy/mode-policy.service.js.map +1 -0
  228. package/backend/dist/notes/dto/create-note.dto.d.ts +4 -0
  229. package/backend/dist/notes/dto/create-note.dto.js +27 -0
  230. package/backend/dist/notes/dto/create-note.dto.js.map +1 -0
  231. package/backend/dist/notes/dto/update-note.dto.d.ts +5 -0
  232. package/backend/dist/notes/dto/update-note.dto.js +9 -0
  233. package/backend/dist/notes/dto/update-note.dto.js.map +1 -0
  234. package/backend/dist/notes/notes.controller.d.ts +35 -0
  235. package/backend/dist/notes/notes.controller.js +70 -0
  236. package/backend/dist/notes/notes.controller.js.map +1 -0
  237. package/backend/dist/notes/notes.gateway.d.ts +8 -0
  238. package/backend/dist/notes/notes.gateway.js +37 -0
  239. package/backend/dist/notes/notes.gateway.js.map +1 -0
  240. package/backend/dist/notes/notes.module.d.ts +2 -0
  241. package/backend/dist/notes/notes.module.js +24 -0
  242. package/backend/dist/notes/notes.module.js.map +1 -0
  243. package/backend/dist/notes/notes.service.d.ts +45 -0
  244. package/backend/dist/notes/notes.service.js +57 -0
  245. package/backend/dist/notes/notes.service.js.map +1 -0
  246. package/backend/dist/plans/plans.controller.d.ts +100 -0
  247. package/backend/dist/plans/plans.controller.js +80 -0
  248. package/backend/dist/plans/plans.controller.js.map +1 -0
  249. package/backend/dist/plans/plans.module.d.ts +2 -0
  250. package/backend/dist/plans/plans.module.js +23 -0
  251. package/backend/dist/plans/plans.module.js.map +1 -0
  252. package/backend/dist/plans/plans.service.d.ts +141 -0
  253. package/backend/dist/plans/plans.service.js +94 -0
  254. package/backend/dist/plans/plans.service.js.map +1 -0
  255. package/backend/dist/prisma/prisma.module.d.ts +2 -0
  256. package/backend/dist/prisma/prisma.module.js +22 -0
  257. package/backend/dist/prisma/prisma.module.js.map +1 -0
  258. package/backend/dist/prisma/prisma.service.d.ts +6 -0
  259. package/backend/dist/prisma/prisma.service.js +24 -0
  260. package/backend/dist/prisma/prisma.service.js.map +1 -0
  261. package/backend/dist/providers/dto/create-provider-model.dto.d.ts +3 -0
  262. package/backend/dist/providers/dto/create-provider-model.dto.js +22 -0
  263. package/backend/dist/providers/dto/create-provider-model.dto.js.map +1 -0
  264. package/backend/dist/providers/dto/create-provider.dto.d.ts +6 -0
  265. package/backend/dist/providers/dto/create-provider.dto.js +37 -0
  266. package/backend/dist/providers/dto/create-provider.dto.js.map +1 -0
  267. package/backend/dist/providers/dto/update-provider.dto.d.ts +5 -0
  268. package/backend/dist/providers/dto/update-provider.dto.js +9 -0
  269. package/backend/dist/providers/dto/update-provider.dto.js.map +1 -0
  270. package/backend/dist/providers/providers.controller.d.ts +60 -0
  271. package/backend/dist/providers/providers.controller.js +113 -0
  272. package/backend/dist/providers/providers.controller.js.map +1 -0
  273. package/backend/dist/providers/providers.module.d.ts +2 -0
  274. package/backend/dist/providers/providers.module.js +23 -0
  275. package/backend/dist/providers/providers.module.js.map +1 -0
  276. package/backend/dist/providers/providers.service.d.ts +86 -0
  277. package/backend/dist/providers/providers.service.js +100 -0
  278. package/backend/dist/providers/providers.service.js.map +1 -0
  279. package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.d.ts +13 -0
  280. package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.js +81 -0
  281. package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.js.map +1 -0
  282. package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.d.ts +5 -0
  283. package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.js +9 -0
  284. package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.js.map +1 -0
  285. package/backend/dist/schedule-tasks/schedule-cron.service.d.ts +8 -0
  286. package/backend/dist/schedule-tasks/schedule-cron.service.js +50 -0
  287. package/backend/dist/schedule-tasks/schedule-cron.service.js.map +1 -0
  288. package/backend/dist/schedule-tasks/schedule-runner.service.d.ts +25 -0
  289. package/backend/dist/schedule-tasks/schedule-runner.service.js +109 -0
  290. package/backend/dist/schedule-tasks/schedule-runner.service.js.map +1 -0
  291. package/backend/dist/schedule-tasks/schedule-tasks.controller.d.ts +108 -0
  292. package/backend/dist/schedule-tasks/schedule-tasks.controller.js +85 -0
  293. package/backend/dist/schedule-tasks/schedule-tasks.controller.js.map +1 -0
  294. package/backend/dist/schedule-tasks/schedule-tasks.module.d.ts +2 -0
  295. package/backend/dist/schedule-tasks/schedule-tasks.module.js +32 -0
  296. package/backend/dist/schedule-tasks/schedule-tasks.module.js.map +1 -0
  297. package/backend/dist/schedule-tasks/schedule-tasks.service.d.ts +141 -0
  298. package/backend/dist/schedule-tasks/schedule-tasks.service.js +80 -0
  299. package/backend/dist/schedule-tasks/schedule-tasks.service.js.map +1 -0
  300. package/backend/dist/sessions/sessions.controller.d.ts +40 -0
  301. package/backend/dist/sessions/sessions.controller.js +75 -0
  302. package/backend/dist/sessions/sessions.controller.js.map +1 -0
  303. package/backend/dist/sessions/sessions.module.d.ts +2 -0
  304. package/backend/dist/sessions/sessions.module.js +23 -0
  305. package/backend/dist/sessions/sessions.module.js.map +1 -0
  306. package/backend/dist/sessions/sessions.service.d.ts +55 -0
  307. package/backend/dist/sessions/sessions.service.js +73 -0
  308. package/backend/dist/sessions/sessions.service.js.map +1 -0
  309. package/backend/dist/settings/settings.controller.d.ts +14 -0
  310. package/backend/dist/settings/settings.controller.js +56 -0
  311. package/backend/dist/settings/settings.controller.js.map +1 -0
  312. package/backend/dist/settings/settings.module.d.ts +2 -0
  313. package/backend/dist/settings/settings.module.js +24 -0
  314. package/backend/dist/settings/settings.module.js.map +1 -0
  315. package/backend/dist/settings/settings.service.d.ts +10 -0
  316. package/backend/dist/settings/settings.service.js +49 -0
  317. package/backend/dist/settings/settings.service.js.map +1 -0
  318. package/backend/dist/tools/executors/convert-note-to-task.executor.d.ts +12 -0
  319. package/backend/dist/tools/executors/convert-note-to-task.executor.js +59 -0
  320. package/backend/dist/tools/executors/convert-note-to-task.executor.js.map +1 -0
  321. package/backend/dist/tools/executors/create-note.executor.d.ts +8 -0
  322. package/backend/dist/tools/executors/create-note.executor.js +39 -0
  323. package/backend/dist/tools/executors/create-note.executor.js.map +1 -0
  324. package/backend/dist/tools/executors/create-plan.executor.d.ts +8 -0
  325. package/backend/dist/tools/executors/create-plan.executor.js +45 -0
  326. package/backend/dist/tools/executors/create-plan.executor.js.map +1 -0
  327. package/backend/dist/tools/executors/create-task.executor.d.ts +10 -0
  328. package/backend/dist/tools/executors/create-task.executor.js +53 -0
  329. package/backend/dist/tools/executors/create-task.executor.js.map +1 -0
  330. package/backend/dist/tools/executors/delete-note.executor.d.ts +8 -0
  331. package/backend/dist/tools/executors/delete-note.executor.js +38 -0
  332. package/backend/dist/tools/executors/delete-note.executor.js.map +1 -0
  333. package/backend/dist/tools/executors/delete-tasks.executor.d.ts +8 -0
  334. package/backend/dist/tools/executors/delete-tasks.executor.js +33 -0
  335. package/backend/dist/tools/executors/delete-tasks.executor.js.map +1 -0
  336. package/backend/dist/tools/executors/get-task.executor.d.ts +8 -0
  337. package/backend/dist/tools/executors/get-task.executor.js +44 -0
  338. package/backend/dist/tools/executors/get-task.executor.js.map +1 -0
  339. package/backend/dist/tools/executors/glob.executor.d.ts +10 -0
  340. package/backend/dist/tools/executors/glob.executor.js +82 -0
  341. package/backend/dist/tools/executors/glob.executor.js.map +1 -0
  342. package/backend/dist/tools/executors/google-calendar-availability.executor.d.ts +23 -0
  343. package/backend/dist/tools/executors/google-calendar-availability.executor.js +46 -0
  344. package/backend/dist/tools/executors/google-calendar-availability.executor.js.map +1 -0
  345. package/backend/dist/tools/executors/google-calendar-create.executor.d.ts +42 -0
  346. package/backend/dist/tools/executors/google-calendar-create.executor.js +48 -0
  347. package/backend/dist/tools/executors/google-calendar-create.executor.js.map +1 -0
  348. package/backend/dist/tools/executors/google-calendar-list.executor.d.ts +22 -0
  349. package/backend/dist/tools/executors/google-calendar-list.executor.js +45 -0
  350. package/backend/dist/tools/executors/google-calendar-list.executor.js.map +1 -0
  351. package/backend/dist/tools/executors/google-calendar-update.executor.d.ts +31 -0
  352. package/backend/dist/tools/executors/google-calendar-update.executor.js +50 -0
  353. package/backend/dist/tools/executors/google-calendar-update.executor.js.map +1 -0
  354. package/backend/dist/tools/executors/google-drive-create-folder.executor.d.ts +23 -0
  355. package/backend/dist/tools/executors/google-drive-create-folder.executor.js +44 -0
  356. package/backend/dist/tools/executors/google-drive-create-folder.executor.js.map +1 -0
  357. package/backend/dist/tools/executors/google-drive-list.executor.d.ts +18 -0
  358. package/backend/dist/tools/executors/google-drive-list.executor.js +44 -0
  359. package/backend/dist/tools/executors/google-drive-list.executor.js.map +1 -0
  360. package/backend/dist/tools/executors/google-drive-read.executor.d.ts +19 -0
  361. package/backend/dist/tools/executors/google-drive-read.executor.js +48 -0
  362. package/backend/dist/tools/executors/google-drive-read.executor.js.map +1 -0
  363. package/backend/dist/tools/executors/google-drive-search.executor.d.ts +23 -0
  364. package/backend/dist/tools/executors/google-drive-search.executor.js +46 -0
  365. package/backend/dist/tools/executors/google-drive-search.executor.js.map +1 -0
  366. package/backend/dist/tools/executors/google-drive-upload.executor.d.ts +30 -0
  367. package/backend/dist/tools/executors/google-drive-upload.executor.js +49 -0
  368. package/backend/dist/tools/executors/google-drive-upload.executor.js.map +1 -0
  369. package/backend/dist/tools/executors/google-gmail-draft.executor.d.ts +30 -0
  370. package/backend/dist/tools/executors/google-gmail-draft.executor.js +45 -0
  371. package/backend/dist/tools/executors/google-gmail-draft.executor.js.map +1 -0
  372. package/backend/dist/tools/executors/google-gmail-labels.executor.d.ts +13 -0
  373. package/backend/dist/tools/executors/google-gmail-labels.executor.js +39 -0
  374. package/backend/dist/tools/executors/google-gmail-labels.executor.js.map +1 -0
  375. package/backend/dist/tools/executors/google-gmail-read.executor.d.ts +19 -0
  376. package/backend/dist/tools/executors/google-gmail-read.executor.js +43 -0
  377. package/backend/dist/tools/executors/google-gmail-read.executor.js.map +1 -0
  378. package/backend/dist/tools/executors/google-gmail-search.executor.d.ts +23 -0
  379. package/backend/dist/tools/executors/google-gmail-search.executor.js +46 -0
  380. package/backend/dist/tools/executors/google-gmail-search.executor.js.map +1 -0
  381. package/backend/dist/tools/executors/google-gmail-send.executor.d.ts +44 -0
  382. package/backend/dist/tools/executors/google-gmail-send.executor.js +47 -0
  383. package/backend/dist/tools/executors/google-gmail-send.executor.js.map +1 -0
  384. package/backend/dist/tools/executors/google-sheets-add-tab.executor.d.ts +23 -0
  385. package/backend/dist/tools/executors/google-sheets-add-tab.executor.js +44 -0
  386. package/backend/dist/tools/executors/google-sheets-add-tab.executor.js.map +1 -0
  387. package/backend/dist/tools/executors/google-sheets-append.executor.d.ts +30 -0
  388. package/backend/dist/tools/executors/google-sheets-append.executor.js +45 -0
  389. package/backend/dist/tools/executors/google-sheets-append.executor.js.map +1 -0
  390. package/backend/dist/tools/executors/google-sheets-chart.executor.d.ts +40 -0
  391. package/backend/dist/tools/executors/google-sheets-chart.executor.js +48 -0
  392. package/backend/dist/tools/executors/google-sheets-chart.executor.js.map +1 -0
  393. package/backend/dist/tools/executors/google-sheets-create.executor.d.ts +27 -0
  394. package/backend/dist/tools/executors/google-sheets-create.executor.js +44 -0
  395. package/backend/dist/tools/executors/google-sheets-create.executor.js.map +1 -0
  396. package/backend/dist/tools/executors/google-sheets-format.executor.d.ts +57 -0
  397. package/backend/dist/tools/executors/google-sheets-format.executor.js +58 -0
  398. package/backend/dist/tools/executors/google-sheets-format.executor.js.map +1 -0
  399. package/backend/dist/tools/executors/google-sheets-list-tabs.executor.d.ts +19 -0
  400. package/backend/dist/tools/executors/google-sheets-list-tabs.executor.js +43 -0
  401. package/backend/dist/tools/executors/google-sheets-list-tabs.executor.js.map +1 -0
  402. package/backend/dist/tools/executors/google-sheets-read.executor.d.ts +27 -0
  403. package/backend/dist/tools/executors/google-sheets-read.executor.js +45 -0
  404. package/backend/dist/tools/executors/google-sheets-read.executor.js.map +1 -0
  405. package/backend/dist/tools/executors/google-sheets-update.executor.d.ts +34 -0
  406. package/backend/dist/tools/executors/google-sheets-update.executor.js +46 -0
  407. package/backend/dist/tools/executors/google-sheets-update.executor.js.map +1 -0
  408. package/backend/dist/tools/executors/grep.executor.d.ts +9 -0
  409. package/backend/dist/tools/executors/grep.executor.js +82 -0
  410. package/backend/dist/tools/executors/grep.executor.js.map +1 -0
  411. package/backend/dist/tools/executors/list-directory.executor.d.ts +8 -0
  412. package/backend/dist/tools/executors/list-directory.executor.js +37 -0
  413. package/backend/dist/tools/executors/list-directory.executor.js.map +1 -0
  414. package/backend/dist/tools/executors/list-notes.executor.d.ts +8 -0
  415. package/backend/dist/tools/executors/list-notes.executor.js +37 -0
  416. package/backend/dist/tools/executors/list-notes.executor.js.map +1 -0
  417. package/backend/dist/tools/executors/list-tasks.executor.d.ts +8 -0
  418. package/backend/dist/tools/executors/list-tasks.executor.js +32 -0
  419. package/backend/dist/tools/executors/list-tasks.executor.js.map +1 -0
  420. package/backend/dist/tools/executors/read-file.executor.d.ts +8 -0
  421. package/backend/dist/tools/executors/read-file.executor.js +44 -0
  422. package/backend/dist/tools/executors/read-file.executor.js.map +1 -0
  423. package/backend/dist/tools/executors/resume-plan.executor.d.ts +8 -0
  424. package/backend/dist/tools/executors/resume-plan.executor.js +58 -0
  425. package/backend/dist/tools/executors/resume-plan.executor.js.map +1 -0
  426. package/backend/dist/tools/executors/run-command.executor.d.ts +5 -0
  427. package/backend/dist/tools/executors/run-command.executor.js +55 -0
  428. package/backend/dist/tools/executors/run-command.executor.js.map +1 -0
  429. package/backend/dist/tools/executors/search-knowledge.executor.d.ts +8 -0
  430. package/backend/dist/tools/executors/search-knowledge.executor.js +33 -0
  431. package/backend/dist/tools/executors/search-knowledge.executor.js.map +1 -0
  432. package/backend/dist/tools/executors/spawn-subagent.executor.d.ts +5 -0
  433. package/backend/dist/tools/executors/spawn-subagent.executor.js +27 -0
  434. package/backend/dist/tools/executors/spawn-subagent.executor.js.map +1 -0
  435. package/backend/dist/tools/executors/tool-executor.interface.d.ts +8 -0
  436. package/backend/dist/tools/executors/tool-executor.interface.js +3 -0
  437. package/backend/dist/tools/executors/tool-executor.interface.js.map +1 -0
  438. package/backend/dist/tools/executors/update-note.executor.d.ts +8 -0
  439. package/backend/dist/tools/executors/update-note.executor.js +43 -0
  440. package/backend/dist/tools/executors/update-note.executor.js.map +1 -0
  441. package/backend/dist/tools/executors/update-task.executor.d.ts +8 -0
  442. package/backend/dist/tools/executors/update-task.executor.js +50 -0
  443. package/backend/dist/tools/executors/update-task.executor.js.map +1 -0
  444. package/backend/dist/tools/executors/web-fetch.executor.d.ts +8 -0
  445. package/backend/dist/tools/executors/web-fetch.executor.js +57 -0
  446. package/backend/dist/tools/executors/web-fetch.executor.js.map +1 -0
  447. package/backend/dist/tools/executors/web-search.executor.d.ts +8 -0
  448. package/backend/dist/tools/executors/web-search.executor.js +70 -0
  449. package/backend/dist/tools/executors/web-search.executor.js.map +1 -0
  450. package/backend/dist/tools/executors/write-file.executor.d.ts +10 -0
  451. package/backend/dist/tools/executors/write-file.executor.js +60 -0
  452. package/backend/dist/tools/executors/write-file.executor.js.map +1 -0
  453. package/backend/dist/tools/tools.controller.d.ts +37 -0
  454. package/backend/dist/tools/tools.controller.js +63 -0
  455. package/backend/dist/tools/tools.controller.js.map +1 -0
  456. package/backend/dist/tools/tools.module.d.ts +2 -0
  457. package/backend/dist/tools/tools.module.js +128 -0
  458. package/backend/dist/tools/tools.module.js.map +1 -0
  459. package/backend/dist/tools/tools.service.d.ts +55 -0
  460. package/backend/dist/tools/tools.service.js +49 -0
  461. package/backend/dist/tools/tools.service.js.map +1 -0
  462. package/backend/dist/tsconfig.build.tsbuildinfo +1 -0
  463. package/backend/dist/usage/dto/create-usage.dto.d.ts +8 -0
  464. package/backend/dist/usage/dto/create-usage.dto.js +45 -0
  465. package/backend/dist/usage/dto/create-usage.dto.js.map +1 -0
  466. package/backend/dist/usage/usage.controller.d.ts +19 -0
  467. package/backend/dist/usage/usage.controller.js +43 -0
  468. package/backend/dist/usage/usage.controller.js.map +1 -0
  469. package/backend/dist/usage/usage.module.d.ts +2 -0
  470. package/backend/dist/usage/usage.module.js +24 -0
  471. package/backend/dist/usage/usage.module.js.map +1 -0
  472. package/backend/dist/usage/usage.service.d.ts +30 -0
  473. package/backend/dist/usage/usage.service.js +61 -0
  474. package/backend/dist/usage/usage.service.js.map +1 -0
  475. package/backend/dist/word/executors/edit-word.executor.d.ts +12 -0
  476. package/backend/dist/word/executors/edit-word.executor.js +65 -0
  477. package/backend/dist/word/executors/edit-word.executor.js.map +1 -0
  478. package/backend/dist/word/executors/read-word.executor.d.ts +10 -0
  479. package/backend/dist/word/executors/read-word.executor.js +49 -0
  480. package/backend/dist/word/executors/read-word.executor.js.map +1 -0
  481. package/backend/dist/word/executors/write-word.executor.d.ts +12 -0
  482. package/backend/dist/word/executors/write-word.executor.js +63 -0
  483. package/backend/dist/word/executors/write-word.executor.js.map +1 -0
  484. package/backend/dist/word/word.module.d.ts +2 -0
  485. package/backend/dist/word/word.module.js +21 -0
  486. package/backend/dist/word/word.module.js.map +1 -0
  487. package/backend/dist/word/word.service.d.ts +22 -0
  488. package/backend/dist/word/word.service.js +155 -0
  489. package/backend/dist/word/word.service.js.map +1 -0
  490. package/backend/dist/workspace/dto/watch.dto.d.ts +3 -0
  491. package/backend/dist/workspace/dto/watch.dto.js +22 -0
  492. package/backend/dist/workspace/dto/watch.dto.js.map +1 -0
  493. package/backend/dist/workspace/indexer.service.d.ts +24 -0
  494. package/backend/dist/workspace/indexer.service.js +109 -0
  495. package/backend/dist/workspace/indexer.service.js.map +1 -0
  496. package/backend/dist/workspace/workspace-watcher.service.d.ts +20 -0
  497. package/backend/dist/workspace/workspace-watcher.service.js +73 -0
  498. package/backend/dist/workspace/workspace-watcher.service.js.map +1 -0
  499. package/backend/dist/workspace/workspace.controller.d.ts +21 -0
  500. package/backend/dist/workspace/workspace.controller.js +72 -0
  501. package/backend/dist/workspace/workspace.controller.js.map +1 -0
  502. package/backend/dist/workspace/workspace.module.d.ts +2 -0
  503. package/backend/dist/workspace/workspace.module.js +27 -0
  504. package/backend/dist/workspace/workspace.module.js.map +1 -0
  505. package/backend/dist/workspace/workspace.service.d.ts +16 -0
  506. package/backend/dist/workspace/workspace.service.js +70 -0
  507. package/backend/dist/workspace/workspace.service.js.map +1 -0
  508. package/backend/prisma/dev.db +0 -0
  509. package/backend/prisma/dev1.db +0 -0
  510. package/backend/prisma/migrations/20260607051149_init/migration.sql +11 -0
  511. package/backend/prisma/migrations/20260607082131_add_settings/migration.sql +5 -0
  512. package/backend/prisma/migrations/20260607090628_add_knowledge_file/migration.sql +12 -0
  513. package/backend/prisma/migrations/20260607102620_add_sessions_chat_messages/migration.sql +17 -0
  514. package/backend/prisma/migrations/20260607160733_add_tool_fields_to_message/migration.sql +18 -0
  515. package/backend/prisma/migrations/20260608120000_add_providers/migration.sql +19 -0
  516. package/backend/prisma/migrations/20260608150513_add_tools/migration.sql +9 -0
  517. package/backend/prisma/migrations/20260608155121_add_tool_config/migration.sql +3 -0
  518. package/backend/prisma/migrations/20260609044217_add_error_message/migration.sql +2 -0
  519. package/backend/prisma/migrations/20260609110505_add_notes/migration.sql +8 -0
  520. package/backend/prisma/migrations/20260609151214_add_plan_tables/migration.sql +21 -0
  521. package/backend/prisma/migrations/20260610100714_add_agent_file/migration.sql +9 -0
  522. package/backend/prisma/migrations/20260611085424_add_session_mode/migration.sql +2 -0
  523. package/backend/prisma/migrations/20260611120000_add_memory_model/migration.sql +13 -0
  524. package/backend/prisma/migrations/20260612120000_add_usage_record/migration.sql +12 -0
  525. package/backend/prisma/migrations/20260612130000_add_project_model/migration.sql +7 -0
  526. package/backend/prisma/migrations/20260612130000_add_project_model/migration_lock.toml +5 -0
  527. package/backend/prisma/migrations/20260612140000_add_connector_model/migration.sql +9 -0
  528. package/backend/prisma/migrations/20260612173937_add_connector_services_account/migration.sql +24 -0
  529. package/backend/prisma/migrations/20260612181017_remove_connector_services/migration.sql +23 -0
  530. package/backend/prisma/migrations/20260613135109_add_schedule_tasks/migration.sql +45 -0
  531. package/backend/prisma/migrations/20260613140915_add_cron_days_of_week/migration.sql +2 -0
  532. package/backend/prisma/migrations/20260613142809_add_timezone/migration.sql +2 -0
  533. package/backend/prisma/migrations/20260613163408_remove_task_model/migration.sql +10 -0
  534. package/backend/prisma/migrations/migration_lock.toml +3 -0
  535. package/backend/prisma/schema.prisma +194 -0
  536. package/backend/prisma/seed.cjs +117 -0
  537. package/bin/workspace-cli.js +74 -0
  538. package/frontend/dist/assets/index-D8e9s_fH.js +100 -0
  539. package/frontend/dist/assets/index-DFT_H7Qc.css +1 -0
  540. package/frontend/dist/index.html +19 -0
  541. package/frontend/dist/logo.png +0 -0
  542. package/package.json +47 -0
package/README.md ADDED
@@ -0,0 +1,230 @@
1
+ <p align="center">
2
+ <img src="/logo.png" alt="171305" width="80" />
3
+ </p>
4
+
5
+ <h1 align="center">171305 — AI Workspace</h1>
6
+
7
+ <p align="center">
8
+ <strong>Local-first AI workspace for Office staff — developers and power users welcome.</strong>
9
+ <br />
10
+ Chat with AI · Manage files · Automate tasks
11
+ <br />
12
+ Run local with Ollama or connect to the cloud — your choice.
13
+ </p>
14
+
15
+ <p align="center">
16
+ <img src="https://img.shields.io/badge/Frontend-Vue_3-4FC08D?logo=vue.js" alt="Vue 3" />
17
+ <img src="https://img.shields.io/badge/Backend-NestJS-E0234E?logo=nestjs" alt="NestJS" />
18
+ <img src="https://img.shields.io/badge/Database-SQLite-003B57?logo=sqlite" alt="SQLite" />
19
+ <img src="https://img.shields.io/badge/AI-Ollama-000000?logo=ollama" alt="Ollama" />
20
+ <img src="https://img.shields.io/badge/AI-OpenAI-412991?logo=openai" alt="OpenAI" />
21
+ <img src="https://img.shields.io/badge/AI-DeepSeek-4D6BFE" alt="DeepSeek" />
22
+ <img src="https://img.shields.io/badge/License-MIT-yellow" alt="MIT" />
23
+ <img src="https://img.shields.io/badge/Local_First-Privacy_First-22C55E" alt="Local First" />
24
+ <img src="https://img.shields.io/badge/Cowork_AI-AI_Assistant-3B82F6" alt="Cowork AI" />
25
+ </p>
26
+
27
+ <p align="center">
28
+ <img src="/app-screenshot.png" alt="171305 AI Workspace — terminal-style local-first AI agent interface" width="100%" />
29
+ </p>
30
+
31
+ ---
32
+
33
+ ## What's Inside
34
+
35
+ ### 🤝 Cowork — AI Assistant
36
+
37
+ Work alongside an AI agent that understands your documents and office data. Cowork mode provides:
38
+
39
+ - **File Management** — Browse, preview, and search documents (PDF, DOCX, XLSX), images, and markdown files inline
40
+ - **SSE Streaming** — Real-time agent responses with markdown rendering, tool calls, and plan execution
41
+ - **Context-aware Assistance** — Agent reads your documents, understands your data, and performs office tasks directly
42
+ - **Multi-step Plans** — Agent autonomously plans and executes complex workflows, shows progress, resumes after interruption
43
+
44
+ ### 📝 Notes
45
+
46
+ Markdown notes CRUD with title and content. Quick capture and organization.
47
+
48
+ ### 🔌 Connectors
49
+
50
+ Connect external services via OAuth:
51
+
52
+ - **Gmail** — Search, read, send, draft emails
53
+ - **Google Calendar** — List, create, update, check availability
54
+ - **Google Drive** — Search, read, list, upload files
55
+ - **Google Sheets** — Read, update, append, create spreadsheets, format cells, add charts
56
+
57
+ ### 🧰 Tools Registry
58
+
59
+ Fine-grained control over every tool the agent can use. Enable/disable individual tools, configure tool-specific settings, and control execution permissions.
60
+
61
+ ### 📋 Plans
62
+
63
+ The agent can autonomously create execution plans from your requests:
64
+ - Multi-step plan generation
65
+ - Step-by-step execution with status tracking
66
+ - Resume interrupted plans
67
+ - Approve/reject individual steps
68
+
69
+ ### ⏰ Scheduled Tasks
70
+
71
+ Cron-based automation for recurring AI tasks:
72
+ - Hourly, daily, weekly, or custom schedules
73
+ - Model and project path selection per schedule
74
+ - Execution logs with status tracking
75
+
76
+ ### 📂 Agent Outputs
77
+
78
+ List and download files generated by the AI agent during your sessions. Organised per session with file size and timestamps.
79
+
80
+ ### ⚙️ Settings
81
+
82
+ Central configuration panel:
83
+ - **Model Config** — Default model, embedding model, summary model
84
+ - **MCP Servers** — Enable/disable MCP tool servers
85
+ - **Google OAuth** — Configure Client ID/Secret for Gmail, Calendar, Drive
86
+
87
+ ### 🧠 Memory
88
+
89
+ Long-term memory with auto-extraction:
90
+ - Types: User, Feedback, Project, Reference
91
+ - Auto-extracted from agent conversations
92
+ - Searchable, editable, deletable
93
+ - Injected into agent context for personalised responses
94
+
95
+ ### 📊 Usage Tracking
96
+
97
+ Per-session token usage breakdown: prompt tokens, completion tokens, total tokens per model and provider.
98
+
99
+ ### 🛡️ Permissions & YOLO Mode
100
+
101
+ Granular tool permission system:
102
+ - **Permission Modes** — Default, Accept Edits, Bypass All, Don't Ask, Auto (YOLO), Plan
103
+ - **Block Rules** — Control over interpreters, package runners, shells, network, git destructive, and more
104
+ - **Tool Approval** — Require manual confirmation for sensitive tools
105
+
106
+ ---
107
+
108
+ ## 🔒 Your Data, Your Choice
109
+
110
+ Your files, chat history, and documents never leave your machine:
111
+
112
+ | Component | Data Store |
113
+ |---|---|
114
+ | **Chat History** | SQLite via Prisma |
115
+ | **Vector Index** | LanceDB (local file) |
116
+ | **File Storage** | Local workspace directory |
117
+ | **Telemetry** | None — zero data leaves your machine |
118
+
119
+ AI inference runs wherever you prefer:
120
+
121
+ | Provider | Where It Runs |
122
+ |---|---|
123
+ | **Ollama** | Fully local — your GPU, your data |
124
+ | **OpenAI** | Cloud — requires API key |
125
+ | **DeepSeek** | Cloud — requires API key |
126
+ | **Any OpenAI-compatible API** | Local or cloud — custom `baseUrl` |
127
+
128
+ ---
129
+
130
+ ## Quick Start
131
+
132
+ ### Prerequisites
133
+
134
+ - **Node.js 20+** — [nodejs.org](https://nodejs.org)
135
+ - **Ollama** (optional, for local AI) — [ollama.ai](https://ollama.ai)
136
+
137
+ ### Option 1: npm (development)
138
+
139
+ ```bash
140
+ # Backend
141
+ cd backend
142
+ npm install
143
+ npm run setup
144
+ npm run start:dev # http://localhost:13596
145
+
146
+ # Frontend (separate terminal)
147
+ cd frontend
148
+ npm install
149
+ npm run dev # http://localhost:17135
150
+ ```
151
+
152
+ ### Option 2: Single command (Windows)
153
+
154
+ ```powershell
155
+ .\run.ps1
156
+ ```
157
+
158
+ Opens both backend and frontend automatically. Add `-Docker` flag to use Docker instead.
159
+
160
+ ### Option 3: Docker (recommended for production)
161
+
162
+ ```bash
163
+ docker compose up --build
164
+ ```
165
+
166
+ Opens at **http://localhost:17135**. The backend runs on port 13596 (internal). Requires Docker Desktop.
167
+
168
+ ---
169
+
170
+ ## Tech Stack
171
+
172
+ | Layer | Technology |
173
+ |---|---|
174
+ | **Frontend** | Vue 3 + TypeScript + TailwindCSS + Vite |
175
+ | **Backend** | NestJS 10 + TypeScript |
176
+ | **Database** | SQLite via Prisma 5 |
177
+ | **Vector DB** | LanceDB (local file-based) |
178
+ | **AI** | Ollama / OpenAI / DeepSeek (OpenAI-compatible) |
179
+ | **Streaming** | SSE (Server-Sent Events) |
180
+ | **Real-time** | Socket.io (task sync, memory sync) |
181
+ | **Container** | Docker Compose + Nginx |
182
+
183
+ ---
184
+
185
+ ## Configuration
186
+
187
+ Copy `backend/.env.example` → `backend/.env`:
188
+
189
+ ```env
190
+ DATABASE_URL=file:/app/data/dev.db
191
+ PORT=13596
192
+ OLLAMA_URL=http://localhost:11434
193
+ ACTIVE_PROVIDER=ollama
194
+ EMBED_MODEL=nomic-embed-text
195
+ SUMMARY_MODEL=llama3.2
196
+ ```
197
+
198
+ Add AI providers via the UI (Settings → Providers):
199
+
200
+ | Provider | Type | Notes |
201
+ |---|---|---|
202
+ | Ollama | `ollama` | Local, requires Ollama running |
203
+ | OpenAI | `openai` | `baseUrl: https://api.openai.com/v1` |
204
+ | DeepSeek | `openai` | `baseUrl: https://api.deepseek.com/v1` |
205
+ | Any OpenAI-compatible | `openai` | Custom `baseUrl` |
206
+
207
+ ---
208
+
209
+ ## Project Structure
210
+
211
+ ```
212
+ ├── frontend/ Vue 3 SPA
213
+ │ ├── src/components/ UI components
214
+ │ ├── src/locales/ i18n (vi/en)
215
+ │ └── Dockerfile Nginx production build
216
+ ├── backend/ NestJS API
217
+ │ ├── src/ Module-based architecture
218
+ │ ├── prisma/ Schema + migrations
219
+ │ └── Dockerfile Node production build
220
+ ├── workspace_data/ SQLite + LanceDB + uploads (gitignored)
221
+ ├── docker-compose.yml One-command deploy
222
+ ├── run.ps1 Windows native runner
223
+ └── docs/ Specs, plans, design docs
224
+ ```
225
+
226
+ ---
227
+
228
+ ## License
229
+
230
+ MIT
@@ -0,0 +1,21 @@
1
+ # DATABASE_URL is set automatically by the CLI; uncomment for direct use:
2
+ # DATABASE_URL=file:./workspace_data/dev.db
3
+ PORT=13596
4
+ OLLAMA_URL=http://localhost:11434 #http://host.docker.internal:11434
5
+ ACTIVE_PROVIDER=ollama
6
+ EMBED_MODEL=nomic-embed-text
7
+ SUMMARY_MODEL=llama3.2
8
+ UPLOAD_DIR=./workspace_data/uploads
9
+ # ALLOWED_PATHS=./workspace_data,C:\Users\user\Desktop,/home/user
10
+
11
+ APP_URL=http://localhost:17135
12
+
13
+ # Google OAuth credentials (optional — hardcoded defaults in code)
14
+ GOOGLE_GMAIL_CLIENT_ID=
15
+ GOOGLE_GMAIL_CLIENT_SECRET=
16
+ GOOGLE_CALENDAR_CLIENT_ID=
17
+ GOOGLE_CALENDAR_CLIENT_SECRET=
18
+ GOOGLE_DRIVE_CLIENT_ID=
19
+ GOOGLE_DRIVE_CLIENT_SECRET=
20
+ GOOGLE_SHEETS_CLIENT_ID=
21
+ GOOGLE_SHEETS_CLIENT_SECRET=
@@ -0,0 +1,23 @@
1
+ import { Request, Response } from 'express';
2
+ import { AgentService } from './agent.service';
3
+ import { ApproveToolDto } from './dto/approve-tool.dto';
4
+ import { ChatDto } from './dto/chat.dto';
5
+ import { UpdatePermissionsDto } from './dto/update-permissions.dto';
6
+ import { PermissionsConfig } from './dto/permissions-config';
7
+ import { YoloClassifierService } from './services/yolo-classifier.service';
8
+ import { UpdateYoloConfigDto } from './dto/yolo-config.dto';
9
+ import { ApprovalManagerService } from './services/approval-manager.service';
10
+ export declare class AgentController {
11
+ private readonly agentService;
12
+ private readonly yoloClassifier;
13
+ private readonly approvalManager;
14
+ constructor(agentService: AgentService, yoloClassifier: YoloClassifierService, approvalManager: ApprovalManagerService);
15
+ chatStream(dto: ChatDto, req: Request, res: Response): Promise<void>;
16
+ approveTool(dto: ApproveToolDto): Promise<{
17
+ success: boolean;
18
+ }>;
19
+ getPermissions(): Promise<PermissionsConfig>;
20
+ updatePermissions(dto: UpdatePermissionsDto): Promise<PermissionsConfig>;
21
+ getYoloConfig(): Promise<import("./services/yolo-classifier.service").YoloConfig>;
22
+ updateYoloConfig(dto: UpdateYoloConfigDto): Promise<import("./services/yolo-classifier.service").YoloConfig>;
23
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AgentController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const agent_service_1 = require("./agent.service");
18
+ const approve_tool_dto_1 = require("./dto/approve-tool.dto");
19
+ const chat_dto_1 = require("./dto/chat.dto");
20
+ const update_permissions_dto_1 = require("./dto/update-permissions.dto");
21
+ const yolo_classifier_service_1 = require("./services/yolo-classifier.service");
22
+ const yolo_config_dto_1 = require("./dto/yolo-config.dto");
23
+ const approval_manager_service_1 = require("./services/approval-manager.service");
24
+ let AgentController = class AgentController {
25
+ constructor(agentService, yoloClassifier, approvalManager) {
26
+ this.agentService = agentService;
27
+ this.yoloClassifier = yoloClassifier;
28
+ this.approvalManager = approvalManager;
29
+ }
30
+ async chatStream(dto, req, res) {
31
+ res.setHeader('Content-Type', 'text/event-stream');
32
+ res.setHeader('Cache-Control', 'no-cache');
33
+ res.setHeader('Connection', 'keep-alive');
34
+ res.flushHeaders();
35
+ const ctrl = new AbortController();
36
+ req.on('close', () => ctrl.abort());
37
+ try {
38
+ await this.agentService.streamChat(dto.message, dto.providerModelId, res, ctrl.signal, dto.sessionId);
39
+ }
40
+ catch (e) {
41
+ console.error('[AgentController] chat error:', e instanceof Error ? e.message : e);
42
+ res.write('data: {"error":"internal_error"}\n\n');
43
+ }
44
+ finally {
45
+ res.end();
46
+ }
47
+ }
48
+ async approveTool(dto) {
49
+ const handled = this.approvalManager.handleResponse(dto.id, dto.approved);
50
+ return { success: handled };
51
+ }
52
+ async getPermissions() {
53
+ return this.agentService.getPermissions();
54
+ }
55
+ async updatePermissions(dto) {
56
+ return this.agentService.updatePermissions(dto);
57
+ }
58
+ async getYoloConfig() {
59
+ return this.yoloClassifier.getConfig();
60
+ }
61
+ async updateYoloConfig(dto) {
62
+ return this.yoloClassifier.updateConfig(dto);
63
+ }
64
+ };
65
+ exports.AgentController = AgentController;
66
+ __decorate([
67
+ (0, common_1.Post)('chat'),
68
+ __param(0, (0, common_1.Body)()),
69
+ __param(1, (0, common_1.Req)()),
70
+ __param(2, (0, common_1.Res)({ passthrough: false })),
71
+ __metadata("design:type", Function),
72
+ __metadata("design:paramtypes", [chat_dto_1.ChatDto, Object, Object]),
73
+ __metadata("design:returntype", Promise)
74
+ ], AgentController.prototype, "chatStream", null);
75
+ __decorate([
76
+ (0, common_1.Post)('approve-tool'),
77
+ __param(0, (0, common_1.Body)()),
78
+ __metadata("design:type", Function),
79
+ __metadata("design:paramtypes", [approve_tool_dto_1.ApproveToolDto]),
80
+ __metadata("design:returntype", Promise)
81
+ ], AgentController.prototype, "approveTool", null);
82
+ __decorate([
83
+ (0, common_1.Get)('permissions'),
84
+ __metadata("design:type", Function),
85
+ __metadata("design:paramtypes", []),
86
+ __metadata("design:returntype", Promise)
87
+ ], AgentController.prototype, "getPermissions", null);
88
+ __decorate([
89
+ (0, common_1.Patch)('permissions'),
90
+ __param(0, (0, common_1.Body)()),
91
+ __metadata("design:type", Function),
92
+ __metadata("design:paramtypes", [update_permissions_dto_1.UpdatePermissionsDto]),
93
+ __metadata("design:returntype", Promise)
94
+ ], AgentController.prototype, "updatePermissions", null);
95
+ __decorate([
96
+ (0, common_1.Get)('yolo-config'),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", []),
99
+ __metadata("design:returntype", Promise)
100
+ ], AgentController.prototype, "getYoloConfig", null);
101
+ __decorate([
102
+ (0, common_1.Patch)('yolo-config'),
103
+ __param(0, (0, common_1.Body)()),
104
+ __metadata("design:type", Function),
105
+ __metadata("design:paramtypes", [yolo_config_dto_1.UpdateYoloConfigDto]),
106
+ __metadata("design:returntype", Promise)
107
+ ], AgentController.prototype, "updateYoloConfig", null);
108
+ exports.AgentController = AgentController = __decorate([
109
+ (0, common_1.Controller)('agent'),
110
+ __metadata("design:paramtypes", [agent_service_1.AgentService,
111
+ yolo_classifier_service_1.YoloClassifierService,
112
+ approval_manager_service_1.ApprovalManagerService])
113
+ ], AgentController);
114
+ //# sourceMappingURL=agent.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.controller.js","sourceRoot":"","sources":["../../src/agent/agent.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8E;AAE9E,mDAA+C;AAC/C,6DAAwD;AACxD,6CAAyC;AACzC,yEAAoE;AAEpE,gFAA2E;AAC3E,2DAA4D;AAC5D,kFAA6E;AAEtE,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACmB,YAA0B,EAC1B,cAAqC,EACrC,eAAuC;QAFvC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAuB;QACrC,oBAAe,GAAf,eAAe,CAAwB;IACvD,CAAC;IAGE,AAAN,KAAK,CAAC,UAAU,CACN,GAAY,EACb,GAAY,EACU,GAAa;QAE1C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1C,GAAG,CAAC,YAAY,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAAS,GAAmB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IAC5C,CAAC;IAGK,AAAN,KAAK,CAAC,iBAAiB,CAAS,GAAyB;QACvD,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CAAS,GAAwB;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF,CAAA;AAxDY,0CAAe;AAQpB;IADL,IAAA,aAAI,EAAC,MAAM,CAAC;IAEV,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;;qCAFf,kBAAO;;iDAoBrB;AAGK;IADL,IAAA,aAAI,EAAC,cAAc,CAAC;IACF,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,iCAAc;;kDAG5C;AAGK;IADL,IAAA,YAAG,EAAC,aAAa,CAAC;;;;qDAGlB;AAGK;IADL,IAAA,cAAK,EAAC,aAAa,CAAC;IACI,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,6CAAoB;;wDAExD;AAGK;IADL,IAAA,YAAG,EAAC,aAAa,CAAC;;;;oDAGlB;AAGK;IADL,IAAA,cAAK,EAAC,aAAa,CAAC;IACG,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,qCAAmB;;uDAEtD;0BAvDU,eAAe;IAD3B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAGe,4BAAY;QACV,+CAAqB;QACpB,iDAAsB;GAJ/C,eAAe,CAwD3B"}
@@ -0,0 +1,2 @@
1
+ export declare class AgentModule {
2
+ }
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AgentModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const agent_controller_1 = require("./agent.controller");
12
+ const agent_service_1 = require("./agent.service");
13
+ const agent_loop_service_1 = require("./services/agent-loop.service");
14
+ const llm_controller_service_1 = require("./services/llm-controller.service");
15
+ const ollama_provider_1 = require("./providers/ollama.provider");
16
+ const openai_provider_1 = require("./providers/openai.provider");
17
+ const context_builder_service_1 = require("./services/context-builder.service");
18
+ const permissions_service_1 = require("./services/permissions.service");
19
+ const yolo_classifier_service_1 = require("./services/yolo-classifier.service");
20
+ const approval_manager_service_1 = require("./services/approval-manager.service");
21
+ const memory_module_1 = require("../memory/memory.module");
22
+ const schedule_tasks_module_1 = require("../schedule-tasks/schedule-tasks.module");
23
+ const knowledge_module_1 = require("../knowledge/knowledge.module");
24
+ const sessions_module_1 = require("../sessions/sessions.module");
25
+ const providers_module_1 = require("../providers/providers.module");
26
+ const tools_module_1 = require("../tools/tools.module");
27
+ const create_task_executor_1 = require("../tools/executors/create-task.executor");
28
+ const update_task_executor_1 = require("../tools/executors/update-task.executor");
29
+ const list_tasks_executor_1 = require("../tools/executors/list-tasks.executor");
30
+ const get_task_executor_1 = require("../tools/executors/get-task.executor");
31
+ const delete_tasks_executor_1 = require("../tools/executors/delete-tasks.executor");
32
+ const search_knowledge_executor_1 = require("../tools/executors/search-knowledge.executor");
33
+ const web_fetch_executor_1 = require("../tools/executors/web-fetch.executor");
34
+ const web_search_executor_1 = require("../tools/executors/web-search.executor");
35
+ const create_note_executor_1 = require("../tools/executors/create-note.executor");
36
+ const update_note_executor_1 = require("../tools/executors/update-note.executor");
37
+ const list_notes_executor_1 = require("../tools/executors/list-notes.executor");
38
+ const delete_note_executor_1 = require("../tools/executors/delete-note.executor");
39
+ const convert_note_to_task_executor_1 = require("../tools/executors/convert-note-to-task.executor");
40
+ const resume_plan_executor_1 = require("../tools/executors/resume-plan.executor");
41
+ const notes_module_1 = require("../notes/notes.module");
42
+ const plans_module_1 = require("../plans/plans.module");
43
+ const mcp_module_1 = require("./mcp/mcp.module");
44
+ const cowork_module_1 = require("../cowork/cowork.module");
45
+ const workspace_module_1 = require("../workspace/workspace.module");
46
+ const subagent_service_1 = require("./subagent/subagent.service");
47
+ const mode_policy_module_1 = require("../mode-policy/mode-policy.module");
48
+ const excel_module_1 = require("../excel/excel.module");
49
+ const read_excel_executor_1 = require("../excel/executors/read-excel.executor");
50
+ const write_excel_executor_1 = require("../excel/executors/write-excel.executor");
51
+ const excel_add_sheet_executor_1 = require("../excel/executors/excel-add-sheet.executor");
52
+ const list_excel_sheets_executor_1 = require("../excel/executors/list-excel-sheets.executor");
53
+ const excel_chart_executor_1 = require("../excel/executors/excel-chart.executor");
54
+ const connector_module_1 = require("../connector/connector.module");
55
+ const google_gmail_search_executor_1 = require("../tools/executors/google-gmail-search.executor");
56
+ const google_gmail_read_executor_1 = require("../tools/executors/google-gmail-read.executor");
57
+ const google_gmail_send_executor_1 = require("../tools/executors/google-gmail-send.executor");
58
+ const google_gmail_draft_executor_1 = require("../tools/executors/google-gmail-draft.executor");
59
+ const google_gmail_labels_executor_1 = require("../tools/executors/google-gmail-labels.executor");
60
+ const google_calendar_list_executor_1 = require("../tools/executors/google-calendar-list.executor");
61
+ const google_calendar_create_executor_1 = require("../tools/executors/google-calendar-create.executor");
62
+ const google_calendar_update_executor_1 = require("../tools/executors/google-calendar-update.executor");
63
+ const google_calendar_availability_executor_1 = require("../tools/executors/google-calendar-availability.executor");
64
+ const google_drive_search_executor_1 = require("../tools/executors/google-drive-search.executor");
65
+ const google_drive_read_executor_1 = require("../tools/executors/google-drive-read.executor");
66
+ const google_drive_list_executor_1 = require("../tools/executors/google-drive-list.executor");
67
+ const google_drive_upload_executor_1 = require("../tools/executors/google-drive-upload.executor");
68
+ const google_drive_create_folder_executor_1 = require("../tools/executors/google-drive-create-folder.executor");
69
+ let AgentModule = class AgentModule {
70
+ };
71
+ exports.AgentModule = AgentModule;
72
+ exports.AgentModule = AgentModule = __decorate([
73
+ (0, common_1.Module)({
74
+ imports: [memory_module_1.MemoryModule, (0, common_1.forwardRef)(() => schedule_tasks_module_1.ScheduleTasksModule), knowledge_module_1.KnowledgeModule, sessions_module_1.SessionsModule, providers_module_1.ProvidersModule, tools_module_1.ToolsModule, notes_module_1.NotesModule, plans_module_1.PlansModule, mcp_module_1.McpModule, cowork_module_1.CoworkModule, workspace_module_1.WorkspaceModule, mode_policy_module_1.ModePolicyModule, excel_module_1.ExcelModule, connector_module_1.ConnectorModule],
75
+ controllers: [agent_controller_1.AgentController],
76
+ providers: [
77
+ agent_service_1.AgentService,
78
+ agent_loop_service_1.AgentLoopService,
79
+ llm_controller_service_1.LLMControllerService,
80
+ ollama_provider_1.OllamaProvider,
81
+ openai_provider_1.OpenAIProvider,
82
+ context_builder_service_1.ContextBuilderService,
83
+ permissions_service_1.PermissionsService,
84
+ yolo_classifier_service_1.YoloClassifierService,
85
+ approval_manager_service_1.ApprovalManagerService,
86
+ subagent_service_1.SubagentService,
87
+ create_task_executor_1.CreateTaskExecutor,
88
+ update_task_executor_1.UpdateTaskExecutor,
89
+ list_tasks_executor_1.ListTasksExecutor,
90
+ get_task_executor_1.GetTaskExecutor,
91
+ delete_tasks_executor_1.DeleteTasksExecutor,
92
+ search_knowledge_executor_1.SearchKnowledgeExecutor,
93
+ web_fetch_executor_1.WebFetchExecutor,
94
+ web_search_executor_1.WebSearchExecutor,
95
+ create_note_executor_1.CreateNoteExecutor,
96
+ update_note_executor_1.UpdateNoteExecutor,
97
+ list_notes_executor_1.ListNotesExecutor,
98
+ delete_note_executor_1.DeleteNoteExecutor,
99
+ convert_note_to_task_executor_1.ConvertNoteToTaskExecutor,
100
+ resume_plan_executor_1.ResumePlanExecutor,
101
+ read_excel_executor_1.ReadExcelExecutor,
102
+ write_excel_executor_1.WriteExcelExecutor,
103
+ excel_add_sheet_executor_1.ExcelAddSheetExecutor,
104
+ list_excel_sheets_executor_1.ListExcelSheetsExecutor,
105
+ excel_chart_executor_1.ExcelChartExecutor,
106
+ google_gmail_search_executor_1.GoogleGmailSearchExecutor,
107
+ google_gmail_read_executor_1.GoogleGmailReadExecutor,
108
+ google_gmail_send_executor_1.GoogleGmailSendExecutor,
109
+ google_gmail_draft_executor_1.GoogleGmailDraftExecutor,
110
+ google_gmail_labels_executor_1.GoogleGmailLabelsExecutor,
111
+ google_calendar_list_executor_1.GoogleCalendarListExecutor,
112
+ google_calendar_create_executor_1.GoogleCalendarCreateExecutor,
113
+ google_calendar_update_executor_1.GoogleCalendarUpdateExecutor,
114
+ google_calendar_availability_executor_1.GoogleCalendarAvailabilityExecutor,
115
+ google_drive_search_executor_1.GoogleDriveSearchExecutor,
116
+ google_drive_read_executor_1.GoogleDriveReadExecutor,
117
+ google_drive_list_executor_1.GoogleDriveListExecutor,
118
+ google_drive_upload_executor_1.GoogleDriveUploadExecutor,
119
+ google_drive_create_folder_executor_1.GoogleDriveCreateFolderExecutor,
120
+ ],
121
+ exports: [
122
+ agent_loop_service_1.AgentLoopService,
123
+ context_builder_service_1.ContextBuilderService,
124
+ ],
125
+ })
126
+ ], AgentModule);
127
+ //# sourceMappingURL=agent.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.module.js","sourceRoot":"","sources":["../../src/agent/agent.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,yDAAqD;AACrD,mDAA+C;AAC/C,sEAAiE;AACjE,8EAAyE;AACzE,iEAA6D;AAC7D,iEAA6D;AAC7D,gFAA2E;AAC3E,wEAAoE;AACpE,gFAA2E;AAC3E,kFAA6E;AAC7E,2DAAuD;AACvD,mFAA8E;AAC9E,oEAAgE;AAChE,iEAA6D;AAC7D,oEAAgE;AAChE,wDAAoD;AACpD,kFAA6E;AAC7E,kFAA6E;AAC7E,gFAA2E;AAC3E,4EAAuE;AACvE,oFAA+E;AAC/E,4FAAuF;AACvF,8EAAyE;AACzE,gFAA2E;AAC3E,kFAA6E;AAC7E,kFAA6E;AAC7E,gFAA2E;AAC3E,kFAA6E;AAC7E,oGAA6F;AAC7F,kFAA6E;AAC7E,wDAAoD;AACpD,wDAAoD;AACpD,iDAA6C;AAC7C,2DAAuD;AACvD,oEAAgE;AAChE,kEAA8D;AAC9D,0EAAqE;AACrE,wDAAoD;AACpD,gFAA2E;AAC3E,kFAA6E;AAC7E,0FAAoF;AACpF,8FAAwF;AACxF,kFAA6E;AAC7E,oEAAgE;AAChE,kGAA4F;AAC5F,8FAAwF;AACxF,8FAAwF;AACxF,gGAA0F;AAC1F,kGAA4F;AAC5F,oGAA8F;AAC9F,wGAAkG;AAClG,wGAAkG;AAClG,oHAA8G;AAC9G,kGAA4F;AAC5F,8FAAwF;AACxF,8FAAwF;AACxF,kGAA4F;AAC5F,gHAAyG;AAwDlG,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IArDvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2CAAmB,CAAC,EAAE,kCAAe,EAAE,gCAAc,EAAE,kCAAe,EAAE,0BAAW,EAAE,0BAAW,EAAE,0BAAW,EAAE,sBAAS,EAAE,4BAAY,EAAE,kCAAe,EAAE,qCAAgB,EAAE,0BAAW,EAAE,kCAAe,CAAC;QACjP,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,4BAAY;YACZ,qCAAgB;YAChB,6CAAoB;YACpB,gCAAc;YACd,gCAAc;YACd,+CAAqB;YACrB,wCAAkB;YAClB,+CAAqB;YACrB,iDAAsB;YACtB,kCAAe;YACf,yCAAkB;YAClB,yCAAkB;YAClB,uCAAiB;YACjB,mCAAe;YACf,2CAAmB;YACnB,mDAAuB;YACvB,qCAAgB;YAChB,uCAAiB;YACjB,yCAAkB;YAClB,yCAAkB;YAClB,uCAAiB;YACjB,yCAAkB;YAClB,yDAAyB;YACzB,yCAAkB;YAClB,uCAAiB;YACjB,yCAAkB;YAClB,gDAAqB;YACrB,oDAAuB;YACvB,yCAAkB;YAClB,wDAAyB;YACzB,oDAAuB;YACvB,oDAAuB;YACvB,sDAAwB;YACxB,wDAAyB;YACzB,0DAA0B;YAC1B,8DAA4B;YAC5B,8DAA4B;YAC5B,0EAAkC;YAClC,wDAAyB;YACzB,oDAAuB;YACvB,oDAAuB;YACvB,wDAAyB;YACzB,qEAA+B;SAChC;QACD,OAAO,EAAE;YACP,qCAAgB;YAChB,+CAAqB;SACtB;KACF,CAAC;GACW,WAAW,CAAG"}
@@ -0,0 +1,23 @@
1
+ import { AgentLoopService } from './services/agent-loop.service';
2
+ import { ContextBuilderService } from './services/context-builder.service';
3
+ import { SessionsService } from '../sessions/sessions.service';
4
+ import { ProvidersService } from '../providers/providers.service';
5
+ import { PermissionsService } from './services/permissions.service';
6
+ import { CoworkService } from '../cowork/cowork.service';
7
+ import { PlansService } from '../plans/plans.service';
8
+ import { PermissionsConfig } from './dto/permissions-config';
9
+ import { WriteStream } from './dto/write-stream.interface';
10
+ export declare class AgentService {
11
+ private readonly agentLoop;
12
+ private readonly sessionsService;
13
+ private readonly contextBuilder;
14
+ private readonly providersService;
15
+ private readonly permissionsService;
16
+ private readonly plansService;
17
+ private readonly cowork;
18
+ constructor(agentLoop: AgentLoopService, sessionsService: SessionsService, contextBuilder: ContextBuilderService, providersService: ProvidersService, permissionsService: PermissionsService, plansService: PlansService, cowork: CoworkService);
19
+ streamChat(message: string, providerModelId: number, res: WriteStream, signal: AbortSignal, sessionId: number): Promise<void>;
20
+ executePlan(planId: number, providerModelId: number, sessionId: number, signal: AbortSignal, res: WriteStream): Promise<void>;
21
+ getPermissions(): Promise<PermissionsConfig>;
22
+ updatePermissions(updates: Partial<PermissionsConfig>): Promise<PermissionsConfig>;
23
+ }