@stardust-bytes/agent-hub 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 (562) hide show
  1. package/README.md +184 -0
  2. package/backend/.env.example +26 -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 +128 -0
  8. package/backend/dist/agent/agent.module.js.map +1 -0
  9. package/backend/dist/agent/agent.service.d.ts +25 -0
  10. package/backend/dist/agent/agent.service.js +198 -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-command.util.d.ts +4 -0
  16. package/backend/dist/agent/dto/agent-command.util.js +13 -0
  17. package/backend/dist/agent/dto/agent-command.util.js.map +1 -0
  18. package/backend/dist/agent/dto/agent-run-state.d.ts +21 -0
  19. package/backend/dist/agent/dto/agent-run-state.js +19 -0
  20. package/backend/dist/agent/dto/agent-run-state.js.map +1 -0
  21. package/backend/dist/agent/dto/agent-state.enum.d.ts +6 -0
  22. package/backend/dist/agent/dto/agent-state.enum.js +11 -0
  23. package/backend/dist/agent/dto/agent-state.enum.js.map +1 -0
  24. package/backend/dist/agent/dto/approve-tool.dto.d.ts +4 -0
  25. package/backend/dist/agent/dto/approve-tool.dto.js +25 -0
  26. package/backend/dist/agent/dto/approve-tool.dto.js.map +1 -0
  27. package/backend/dist/agent/dto/chat.dto.d.ts +6 -0
  28. package/backend/dist/agent/dto/chat.dto.js +35 -0
  29. package/backend/dist/agent/dto/chat.dto.js.map +1 -0
  30. package/backend/dist/agent/dto/execute-plan.dto.d.ts +4 -0
  31. package/backend/dist/agent/dto/execute-plan.dto.js +25 -0
  32. package/backend/dist/agent/dto/execute-plan.dto.js.map +1 -0
  33. package/backend/dist/agent/dto/permissions-config.d.ts +8 -0
  34. package/backend/dist/agent/dto/permissions-config.js +11 -0
  35. package/backend/dist/agent/dto/permissions-config.js.map +1 -0
  36. package/backend/dist/agent/dto/update-permissions.dto.d.ts +7 -0
  37. package/backend/dist/agent/dto/update-permissions.dto.js +46 -0
  38. package/backend/dist/agent/dto/update-permissions.dto.js.map +1 -0
  39. package/backend/dist/agent/dto/write-stream.interface.d.ts +3 -0
  40. package/backend/dist/agent/dto/write-stream.interface.js +3 -0
  41. package/backend/dist/agent/dto/write-stream.interface.js.map +1 -0
  42. package/backend/dist/agent/dto/yolo-config.dto.d.ts +5 -0
  43. package/backend/dist/agent/dto/yolo-config.dto.js +33 -0
  44. package/backend/dist/agent/dto/yolo-config.dto.js.map +1 -0
  45. package/backend/dist/agent/mcp/mcp-client.service.d.ts +15 -0
  46. package/backend/dist/agent/mcp/mcp-client.service.js +71 -0
  47. package/backend/dist/agent/mcp/mcp-client.service.js.map +1 -0
  48. package/backend/dist/agent/mcp/mcp.module.d.ts +2 -0
  49. package/backend/dist/agent/mcp/mcp.module.js +24 -0
  50. package/backend/dist/agent/mcp/mcp.module.js.map +1 -0
  51. package/backend/dist/agent/mcp/mcp.service.d.ts +23 -0
  52. package/backend/dist/agent/mcp/mcp.service.js +123 -0
  53. package/backend/dist/agent/mcp/mcp.service.js.map +1 -0
  54. package/backend/dist/agent/providers/llm-provider.interface.d.ts +41 -0
  55. package/backend/dist/agent/providers/llm-provider.interface.js +3 -0
  56. package/backend/dist/agent/providers/llm-provider.interface.js.map +1 -0
  57. package/backend/dist/agent/providers/ollama.provider.d.ts +5 -0
  58. package/backend/dist/agent/providers/ollama.provider.js +92 -0
  59. package/backend/dist/agent/providers/ollama.provider.js.map +1 -0
  60. package/backend/dist/agent/providers/openai.provider.d.ts +5 -0
  61. package/backend/dist/agent/providers/openai.provider.js +169 -0
  62. package/backend/dist/agent/providers/openai.provider.js.map +1 -0
  63. package/backend/dist/agent/services/agent-loop.service.d.ts +131 -0
  64. package/backend/dist/agent/services/agent-loop.service.js +764 -0
  65. package/backend/dist/agent/services/agent-loop.service.js.map +1 -0
  66. package/backend/dist/agent/services/approval-manager.service.d.ts +8 -0
  67. package/backend/dist/agent/services/approval-manager.service.js +50 -0
  68. package/backend/dist/agent/services/approval-manager.service.js.map +1 -0
  69. package/backend/dist/agent/services/context-builder.service.d.ts +32 -0
  70. package/backend/dist/agent/services/context-builder.service.js +118 -0
  71. package/backend/dist/agent/services/context-builder.service.js.map +1 -0
  72. package/backend/dist/agent/services/danger-patterns.config.d.ts +10 -0
  73. package/backend/dist/agent/services/danger-patterns.config.js +82 -0
  74. package/backend/dist/agent/services/danger-patterns.config.js.map +1 -0
  75. package/backend/dist/agent/services/denial-tracking.d.ts +12 -0
  76. package/backend/dist/agent/services/denial-tracking.js +34 -0
  77. package/backend/dist/agent/services/denial-tracking.js.map +1 -0
  78. package/backend/dist/agent/services/llm-controller.service.d.ts +19 -0
  79. package/backend/dist/agent/services/llm-controller.service.js +70 -0
  80. package/backend/dist/agent/services/llm-controller.service.js.map +1 -0
  81. package/backend/dist/agent/services/permissions.service.d.ts +24 -0
  82. package/backend/dist/agent/services/permissions.service.js +106 -0
  83. package/backend/dist/agent/services/permissions.service.js.map +1 -0
  84. package/backend/dist/agent/services/yolo-classifier.constants.d.ts +6 -0
  85. package/backend/dist/agent/services/yolo-classifier.constants.js +39 -0
  86. package/backend/dist/agent/services/yolo-classifier.constants.js.map +1 -0
  87. package/backend/dist/agent/services/yolo-classifier.service.d.ts +29 -0
  88. package/backend/dist/agent/services/yolo-classifier.service.js +139 -0
  89. package/backend/dist/agent/services/yolo-classifier.service.js.map +1 -0
  90. package/backend/dist/agent/subagent/subagent-tools.util.d.ts +3 -0
  91. package/backend/dist/agent/subagent/subagent-tools.util.js +37 -0
  92. package/backend/dist/agent/subagent/subagent-tools.util.js.map +1 -0
  93. package/backend/dist/agent/subagent/subagent.service.d.ts +17 -0
  94. package/backend/dist/agent/subagent/subagent.service.js +89 -0
  95. package/backend/dist/agent/subagent/subagent.service.js.map +1 -0
  96. package/backend/dist/agent-output/agent-output.controller.d.ts +20 -0
  97. package/backend/dist/agent-output/agent-output.controller.js +123 -0
  98. package/backend/dist/agent-output/agent-output.controller.js.map +1 -0
  99. package/backend/dist/agent-output/agent-output.module.d.ts +2 -0
  100. package/backend/dist/agent-output/agent-output.module.js +22 -0
  101. package/backend/dist/agent-output/agent-output.module.js.map +1 -0
  102. package/backend/dist/agent-profiles/agent-profiles.controller.d.ts +59 -0
  103. package/backend/dist/agent-profiles/agent-profiles.controller.js +70 -0
  104. package/backend/dist/agent-profiles/agent-profiles.controller.js.map +1 -0
  105. package/backend/dist/agent-profiles/agent-profiles.module.d.ts +2 -0
  106. package/backend/dist/agent-profiles/agent-profiles.module.js +23 -0
  107. package/backend/dist/agent-profiles/agent-profiles.module.js.map +1 -0
  108. package/backend/dist/agent-profiles/agent-profiles.service.d.ts +85 -0
  109. package/backend/dist/agent-profiles/agent-profiles.service.js +48 -0
  110. package/backend/dist/agent-profiles/agent-profiles.service.js.map +1 -0
  111. package/backend/dist/agent-profiles/dto/create-agent-profile.dto.d.ts +9 -0
  112. package/backend/dist/agent-profiles/dto/create-agent-profile.dto.js +52 -0
  113. package/backend/dist/agent-profiles/dto/create-agent-profile.dto.js.map +1 -0
  114. package/backend/dist/agent-profiles/dto/update-agent-profile.dto.d.ts +5 -0
  115. package/backend/dist/agent-profiles/dto/update-agent-profile.dto.js +9 -0
  116. package/backend/dist/agent-profiles/dto/update-agent-profile.dto.js.map +1 -0
  117. package/backend/dist/app.controller.d.ts +10 -0
  118. package/backend/dist/app.controller.js +39 -0
  119. package/backend/dist/app.controller.js.map +1 -0
  120. package/backend/dist/app.module.d.ts +2 -0
  121. package/backend/dist/app.module.js +68 -0
  122. package/backend/dist/app.module.js.map +1 -0
  123. package/backend/dist/connector/connector.controller.d.ts +67 -0
  124. package/backend/dist/connector/connector.controller.js +150 -0
  125. package/backend/dist/connector/connector.controller.js.map +1 -0
  126. package/backend/dist/connector/connector.module.d.ts +2 -0
  127. package/backend/dist/connector/connector.module.js +28 -0
  128. package/backend/dist/connector/connector.module.js.map +1 -0
  129. package/backend/dist/connector/connector.service.d.ts +61 -0
  130. package/backend/dist/connector/connector.service.js +63 -0
  131. package/backend/dist/connector/connector.service.js.map +1 -0
  132. package/backend/dist/connector/dto/oauth-confirm.dto.d.ts +4 -0
  133. package/backend/dist/connector/dto/oauth-confirm.dto.js +25 -0
  134. package/backend/dist/connector/dto/oauth-confirm.dto.js.map +1 -0
  135. package/backend/dist/connector/dto/update-connector.dto.d.ts +5 -0
  136. package/backend/dist/connector/dto/update-connector.dto.js +9 -0
  137. package/backend/dist/connector/dto/update-connector.dto.js.map +1 -0
  138. package/backend/dist/connector/dto/upsert-connector.dto.d.ts +6 -0
  139. package/backend/dist/connector/dto/upsert-connector.dto.js +35 -0
  140. package/backend/dist/connector/dto/upsert-connector.dto.js.map +1 -0
  141. package/backend/dist/connector/providers/google/gmail.service.d.ts +31 -0
  142. package/backend/dist/connector/providers/google/gmail.service.js +114 -0
  143. package/backend/dist/connector/providers/google/gmail.service.js.map +1 -0
  144. package/backend/dist/connector/providers/google/google-calendar.service.d.ts +37 -0
  145. package/backend/dist/connector/providers/google/google-calendar.service.js +105 -0
  146. package/backend/dist/connector/providers/google/google-calendar.service.js.map +1 -0
  147. package/backend/dist/connector/providers/google/google-drive.service.d.ts +22 -0
  148. package/backend/dist/connector/providers/google/google-drive.service.js +130 -0
  149. package/backend/dist/connector/providers/google/google-drive.service.js.map +1 -0
  150. package/backend/dist/connector/providers/google/google-oauth.service.d.ts +23 -0
  151. package/backend/dist/connector/providers/google/google-oauth.service.js +74 -0
  152. package/backend/dist/connector/providers/google/google-oauth.service.js.map +1 -0
  153. package/backend/dist/connector/providers/google/google-sheets.service.d.ts +29 -0
  154. package/backend/dist/connector/providers/google/google-sheets.service.js +246 -0
  155. package/backend/dist/connector/providers/google/google-sheets.service.js.map +1 -0
  156. package/backend/dist/cowork/cowork.controller.d.ts +37 -0
  157. package/backend/dist/cowork/cowork.controller.js +127 -0
  158. package/backend/dist/cowork/cowork.controller.js.map +1 -0
  159. package/backend/dist/cowork/cowork.module.d.ts +2 -0
  160. package/backend/dist/cowork/cowork.module.js +26 -0
  161. package/backend/dist/cowork/cowork.module.js.map +1 -0
  162. package/backend/dist/cowork/cowork.service.d.ts +40 -0
  163. package/backend/dist/cowork/cowork.service.js +116 -0
  164. package/backend/dist/cowork/cowork.service.js.map +1 -0
  165. package/backend/dist/cowork/dto/set-project.dto.d.ts +3 -0
  166. package/backend/dist/cowork/dto/set-project.dto.js +21 -0
  167. package/backend/dist/cowork/dto/set-project.dto.js.map +1 -0
  168. package/backend/dist/excel/excel.module.d.ts +2 -0
  169. package/backend/dist/excel/excel.module.js +26 -0
  170. package/backend/dist/excel/excel.module.js.map +1 -0
  171. package/backend/dist/excel/excel.service.d.ts +33 -0
  172. package/backend/dist/excel/excel.service.js +204 -0
  173. package/backend/dist/excel/excel.service.js.map +1 -0
  174. package/backend/dist/excel/executors/excel-add-sheet.executor.d.ts +12 -0
  175. package/backend/dist/excel/executors/excel-add-sheet.executor.js +64 -0
  176. package/backend/dist/excel/executors/excel-add-sheet.executor.js.map +1 -0
  177. package/backend/dist/excel/executors/excel-chart.executor.d.ts +12 -0
  178. package/backend/dist/excel/executors/excel-chart.executor.js +68 -0
  179. package/backend/dist/excel/executors/excel-chart.executor.js.map +1 -0
  180. package/backend/dist/excel/executors/list-excel-sheets.executor.d.ts +8 -0
  181. package/backend/dist/excel/executors/list-excel-sheets.executor.js +38 -0
  182. package/backend/dist/excel/executors/list-excel-sheets.executor.js.map +1 -0
  183. package/backend/dist/excel/executors/read-excel.executor.d.ts +8 -0
  184. package/backend/dist/excel/executors/read-excel.executor.js +40 -0
  185. package/backend/dist/excel/executors/read-excel.executor.js.map +1 -0
  186. package/backend/dist/excel/executors/write-excel.executor.d.ts +12 -0
  187. package/backend/dist/excel/executors/write-excel.executor.js +66 -0
  188. package/backend/dist/excel/executors/write-excel.executor.js.map +1 -0
  189. package/backend/dist/files/files.controller.d.ts +8 -0
  190. package/backend/dist/files/files.controller.js +53 -0
  191. package/backend/dist/files/files.controller.js.map +1 -0
  192. package/backend/dist/files/files.module.d.ts +2 -0
  193. package/backend/dist/files/files.module.js +20 -0
  194. package/backend/dist/files/files.module.js.map +1 -0
  195. package/backend/dist/http-exception.filter.d.ts +4 -0
  196. package/backend/dist/http-exception.filter.js +32 -0
  197. package/backend/dist/http-exception.filter.js.map +1 -0
  198. package/backend/dist/knowledge/dto/search.dto.d.ts +3 -0
  199. package/backend/dist/knowledge/dto/search.dto.js +21 -0
  200. package/backend/dist/knowledge/dto/search.dto.js.map +1 -0
  201. package/backend/dist/knowledge/knowledge.controller.d.ts +38 -0
  202. package/backend/dist/knowledge/knowledge.controller.js +91 -0
  203. package/backend/dist/knowledge/knowledge.controller.js.map +1 -0
  204. package/backend/dist/knowledge/knowledge.module.d.ts +2 -0
  205. package/backend/dist/knowledge/knowledge.module.js +25 -0
  206. package/backend/dist/knowledge/knowledge.module.js.map +1 -0
  207. package/backend/dist/knowledge/knowledge.service.d.ts +103 -0
  208. package/backend/dist/knowledge/knowledge.service.js +379 -0
  209. package/backend/dist/knowledge/knowledge.service.js.map +1 -0
  210. package/backend/dist/main.d.ts +1 -0
  211. package/backend/dist/main.js +33 -0
  212. package/backend/dist/main.js.map +1 -0
  213. package/backend/dist/memory/dto/create-memory.dto.d.ts +6 -0
  214. package/backend/dist/memory/dto/create-memory.dto.js +34 -0
  215. package/backend/dist/memory/dto/create-memory.dto.js.map +1 -0
  216. package/backend/dist/memory/dto/search-memory.dto.d.ts +5 -0
  217. package/backend/dist/memory/dto/search-memory.dto.js +32 -0
  218. package/backend/dist/memory/dto/search-memory.dto.js.map +1 -0
  219. package/backend/dist/memory/dto/update-memory.dto.d.ts +5 -0
  220. package/backend/dist/memory/dto/update-memory.dto.js +9 -0
  221. package/backend/dist/memory/dto/update-memory.dto.js.map +1 -0
  222. package/backend/dist/memory/memory-extraction.service.d.ts +19 -0
  223. package/backend/dist/memory/memory-extraction.service.js +87 -0
  224. package/backend/dist/memory/memory-extraction.service.js.map +1 -0
  225. package/backend/dist/memory/memory.constants.d.ts +9 -0
  226. package/backend/dist/memory/memory.constants.js +13 -0
  227. package/backend/dist/memory/memory.constants.js.map +1 -0
  228. package/backend/dist/memory/memory.controller.d.ts +53 -0
  229. package/backend/dist/memory/memory.controller.js +81 -0
  230. package/backend/dist/memory/memory.controller.js.map +1 -0
  231. package/backend/dist/memory/memory.gateway.d.ts +8 -0
  232. package/backend/dist/memory/memory.gateway.js +37 -0
  233. package/backend/dist/memory/memory.gateway.js.map +1 -0
  234. package/backend/dist/memory/memory.module.d.ts +2 -0
  235. package/backend/dist/memory/memory.module.js +25 -0
  236. package/backend/dist/memory/memory.module.js.map +1 -0
  237. package/backend/dist/memory/memory.service.d.ts +70 -0
  238. package/backend/dist/memory/memory.service.js +144 -0
  239. package/backend/dist/memory/memory.service.js.map +1 -0
  240. package/backend/dist/mode-policy/mode-policy.config.d.ts +20 -0
  241. package/backend/dist/mode-policy/mode-policy.config.js +17 -0
  242. package/backend/dist/mode-policy/mode-policy.config.js.map +1 -0
  243. package/backend/dist/mode-policy/mode-policy.module.d.ts +2 -0
  244. package/backend/dist/mode-policy/mode-policy.module.js +21 -0
  245. package/backend/dist/mode-policy/mode-policy.module.js.map +1 -0
  246. package/backend/dist/mode-policy/mode-policy.service.d.ts +18 -0
  247. package/backend/dist/mode-policy/mode-policy.service.js +66 -0
  248. package/backend/dist/mode-policy/mode-policy.service.js.map +1 -0
  249. package/backend/dist/notes/dto/create-note.dto.d.ts +4 -0
  250. package/backend/dist/notes/dto/create-note.dto.js +27 -0
  251. package/backend/dist/notes/dto/create-note.dto.js.map +1 -0
  252. package/backend/dist/notes/dto/update-note.dto.d.ts +5 -0
  253. package/backend/dist/notes/dto/update-note.dto.js +9 -0
  254. package/backend/dist/notes/dto/update-note.dto.js.map +1 -0
  255. package/backend/dist/notes/notes.controller.d.ts +35 -0
  256. package/backend/dist/notes/notes.controller.js +70 -0
  257. package/backend/dist/notes/notes.controller.js.map +1 -0
  258. package/backend/dist/notes/notes.gateway.d.ts +8 -0
  259. package/backend/dist/notes/notes.gateway.js +37 -0
  260. package/backend/dist/notes/notes.gateway.js.map +1 -0
  261. package/backend/dist/notes/notes.module.d.ts +2 -0
  262. package/backend/dist/notes/notes.module.js +24 -0
  263. package/backend/dist/notes/notes.module.js.map +1 -0
  264. package/backend/dist/notes/notes.service.d.ts +45 -0
  265. package/backend/dist/notes/notes.service.js +57 -0
  266. package/backend/dist/notes/notes.service.js.map +1 -0
  267. package/backend/dist/plans/plans.controller.d.ts +100 -0
  268. package/backend/dist/plans/plans.controller.js +80 -0
  269. package/backend/dist/plans/plans.controller.js.map +1 -0
  270. package/backend/dist/plans/plans.module.d.ts +2 -0
  271. package/backend/dist/plans/plans.module.js +23 -0
  272. package/backend/dist/plans/plans.module.js.map +1 -0
  273. package/backend/dist/plans/plans.service.d.ts +141 -0
  274. package/backend/dist/plans/plans.service.js +94 -0
  275. package/backend/dist/plans/plans.service.js.map +1 -0
  276. package/backend/dist/prisma/prisma.module.d.ts +2 -0
  277. package/backend/dist/prisma/prisma.module.js +22 -0
  278. package/backend/dist/prisma/prisma.module.js.map +1 -0
  279. package/backend/dist/prisma/prisma.service.d.ts +6 -0
  280. package/backend/dist/prisma/prisma.service.js +24 -0
  281. package/backend/dist/prisma/prisma.service.js.map +1 -0
  282. package/backend/dist/providers/dto/create-provider-model.dto.d.ts +3 -0
  283. package/backend/dist/providers/dto/create-provider-model.dto.js +22 -0
  284. package/backend/dist/providers/dto/create-provider-model.dto.js.map +1 -0
  285. package/backend/dist/providers/dto/create-provider.dto.d.ts +6 -0
  286. package/backend/dist/providers/dto/create-provider.dto.js +37 -0
  287. package/backend/dist/providers/dto/create-provider.dto.js.map +1 -0
  288. package/backend/dist/providers/dto/update-provider.dto.d.ts +5 -0
  289. package/backend/dist/providers/dto/update-provider.dto.js +9 -0
  290. package/backend/dist/providers/dto/update-provider.dto.js.map +1 -0
  291. package/backend/dist/providers/providers.controller.d.ts +60 -0
  292. package/backend/dist/providers/providers.controller.js +113 -0
  293. package/backend/dist/providers/providers.controller.js.map +1 -0
  294. package/backend/dist/providers/providers.module.d.ts +2 -0
  295. package/backend/dist/providers/providers.module.js +23 -0
  296. package/backend/dist/providers/providers.module.js.map +1 -0
  297. package/backend/dist/providers/providers.service.d.ts +86 -0
  298. package/backend/dist/providers/providers.service.js +100 -0
  299. package/backend/dist/providers/providers.service.js.map +1 -0
  300. package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.d.ts +13 -0
  301. package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.js +81 -0
  302. package/backend/dist/schedule-tasks/dto/create-schedule-task.dto.js.map +1 -0
  303. package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.d.ts +5 -0
  304. package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.js +9 -0
  305. package/backend/dist/schedule-tasks/dto/update-schedule-task.dto.js.map +1 -0
  306. package/backend/dist/schedule-tasks/schedule-cron.service.d.ts +8 -0
  307. package/backend/dist/schedule-tasks/schedule-cron.service.js +50 -0
  308. package/backend/dist/schedule-tasks/schedule-cron.service.js.map +1 -0
  309. package/backend/dist/schedule-tasks/schedule-runner.service.d.ts +25 -0
  310. package/backend/dist/schedule-tasks/schedule-runner.service.js +109 -0
  311. package/backend/dist/schedule-tasks/schedule-runner.service.js.map +1 -0
  312. package/backend/dist/schedule-tasks/schedule-tasks.controller.d.ts +108 -0
  313. package/backend/dist/schedule-tasks/schedule-tasks.controller.js +85 -0
  314. package/backend/dist/schedule-tasks/schedule-tasks.controller.js.map +1 -0
  315. package/backend/dist/schedule-tasks/schedule-tasks.module.d.ts +2 -0
  316. package/backend/dist/schedule-tasks/schedule-tasks.module.js +32 -0
  317. package/backend/dist/schedule-tasks/schedule-tasks.module.js.map +1 -0
  318. package/backend/dist/schedule-tasks/schedule-tasks.service.d.ts +141 -0
  319. package/backend/dist/schedule-tasks/schedule-tasks.service.js +80 -0
  320. package/backend/dist/schedule-tasks/schedule-tasks.service.js.map +1 -0
  321. package/backend/dist/sessions/sessions.controller.d.ts +40 -0
  322. package/backend/dist/sessions/sessions.controller.js +75 -0
  323. package/backend/dist/sessions/sessions.controller.js.map +1 -0
  324. package/backend/dist/sessions/sessions.module.d.ts +2 -0
  325. package/backend/dist/sessions/sessions.module.js +23 -0
  326. package/backend/dist/sessions/sessions.module.js.map +1 -0
  327. package/backend/dist/sessions/sessions.service.d.ts +55 -0
  328. package/backend/dist/sessions/sessions.service.js +73 -0
  329. package/backend/dist/sessions/sessions.service.js.map +1 -0
  330. package/backend/dist/settings/settings.controller.d.ts +14 -0
  331. package/backend/dist/settings/settings.controller.js +56 -0
  332. package/backend/dist/settings/settings.controller.js.map +1 -0
  333. package/backend/dist/settings/settings.module.d.ts +2 -0
  334. package/backend/dist/settings/settings.module.js +24 -0
  335. package/backend/dist/settings/settings.module.js.map +1 -0
  336. package/backend/dist/settings/settings.service.d.ts +10 -0
  337. package/backend/dist/settings/settings.service.js +49 -0
  338. package/backend/dist/settings/settings.service.js.map +1 -0
  339. package/backend/dist/tools/executors/convert-note-to-task.executor.d.ts +12 -0
  340. package/backend/dist/tools/executors/convert-note-to-task.executor.js +59 -0
  341. package/backend/dist/tools/executors/convert-note-to-task.executor.js.map +1 -0
  342. package/backend/dist/tools/executors/create-note.executor.d.ts +8 -0
  343. package/backend/dist/tools/executors/create-note.executor.js +39 -0
  344. package/backend/dist/tools/executors/create-note.executor.js.map +1 -0
  345. package/backend/dist/tools/executors/create-plan.executor.d.ts +8 -0
  346. package/backend/dist/tools/executors/create-plan.executor.js +45 -0
  347. package/backend/dist/tools/executors/create-plan.executor.js.map +1 -0
  348. package/backend/dist/tools/executors/create-task.executor.d.ts +10 -0
  349. package/backend/dist/tools/executors/create-task.executor.js +53 -0
  350. package/backend/dist/tools/executors/create-task.executor.js.map +1 -0
  351. package/backend/dist/tools/executors/delete-note.executor.d.ts +8 -0
  352. package/backend/dist/tools/executors/delete-note.executor.js +38 -0
  353. package/backend/dist/tools/executors/delete-note.executor.js.map +1 -0
  354. package/backend/dist/tools/executors/delete-tasks.executor.d.ts +8 -0
  355. package/backend/dist/tools/executors/delete-tasks.executor.js +33 -0
  356. package/backend/dist/tools/executors/delete-tasks.executor.js.map +1 -0
  357. package/backend/dist/tools/executors/get-task.executor.d.ts +8 -0
  358. package/backend/dist/tools/executors/get-task.executor.js +44 -0
  359. package/backend/dist/tools/executors/get-task.executor.js.map +1 -0
  360. package/backend/dist/tools/executors/glob.executor.d.ts +10 -0
  361. package/backend/dist/tools/executors/glob.executor.js +82 -0
  362. package/backend/dist/tools/executors/glob.executor.js.map +1 -0
  363. package/backend/dist/tools/executors/google-calendar-availability.executor.d.ts +23 -0
  364. package/backend/dist/tools/executors/google-calendar-availability.executor.js +46 -0
  365. package/backend/dist/tools/executors/google-calendar-availability.executor.js.map +1 -0
  366. package/backend/dist/tools/executors/google-calendar-create.executor.d.ts +42 -0
  367. package/backend/dist/tools/executors/google-calendar-create.executor.js +48 -0
  368. package/backend/dist/tools/executors/google-calendar-create.executor.js.map +1 -0
  369. package/backend/dist/tools/executors/google-calendar-list.executor.d.ts +22 -0
  370. package/backend/dist/tools/executors/google-calendar-list.executor.js +45 -0
  371. package/backend/dist/tools/executors/google-calendar-list.executor.js.map +1 -0
  372. package/backend/dist/tools/executors/google-calendar-update.executor.d.ts +31 -0
  373. package/backend/dist/tools/executors/google-calendar-update.executor.js +50 -0
  374. package/backend/dist/tools/executors/google-calendar-update.executor.js.map +1 -0
  375. package/backend/dist/tools/executors/google-drive-create-folder.executor.d.ts +23 -0
  376. package/backend/dist/tools/executors/google-drive-create-folder.executor.js +44 -0
  377. package/backend/dist/tools/executors/google-drive-create-folder.executor.js.map +1 -0
  378. package/backend/dist/tools/executors/google-drive-list.executor.d.ts +18 -0
  379. package/backend/dist/tools/executors/google-drive-list.executor.js +44 -0
  380. package/backend/dist/tools/executors/google-drive-list.executor.js.map +1 -0
  381. package/backend/dist/tools/executors/google-drive-read.executor.d.ts +19 -0
  382. package/backend/dist/tools/executors/google-drive-read.executor.js +48 -0
  383. package/backend/dist/tools/executors/google-drive-read.executor.js.map +1 -0
  384. package/backend/dist/tools/executors/google-drive-search.executor.d.ts +23 -0
  385. package/backend/dist/tools/executors/google-drive-search.executor.js +46 -0
  386. package/backend/dist/tools/executors/google-drive-search.executor.js.map +1 -0
  387. package/backend/dist/tools/executors/google-drive-upload.executor.d.ts +30 -0
  388. package/backend/dist/tools/executors/google-drive-upload.executor.js +49 -0
  389. package/backend/dist/tools/executors/google-drive-upload.executor.js.map +1 -0
  390. package/backend/dist/tools/executors/google-gmail-draft.executor.d.ts +30 -0
  391. package/backend/dist/tools/executors/google-gmail-draft.executor.js +45 -0
  392. package/backend/dist/tools/executors/google-gmail-draft.executor.js.map +1 -0
  393. package/backend/dist/tools/executors/google-gmail-labels.executor.d.ts +13 -0
  394. package/backend/dist/tools/executors/google-gmail-labels.executor.js +39 -0
  395. package/backend/dist/tools/executors/google-gmail-labels.executor.js.map +1 -0
  396. package/backend/dist/tools/executors/google-gmail-read.executor.d.ts +19 -0
  397. package/backend/dist/tools/executors/google-gmail-read.executor.js +43 -0
  398. package/backend/dist/tools/executors/google-gmail-read.executor.js.map +1 -0
  399. package/backend/dist/tools/executors/google-gmail-search.executor.d.ts +23 -0
  400. package/backend/dist/tools/executors/google-gmail-search.executor.js +46 -0
  401. package/backend/dist/tools/executors/google-gmail-search.executor.js.map +1 -0
  402. package/backend/dist/tools/executors/google-gmail-send.executor.d.ts +44 -0
  403. package/backend/dist/tools/executors/google-gmail-send.executor.js +47 -0
  404. package/backend/dist/tools/executors/google-gmail-send.executor.js.map +1 -0
  405. package/backend/dist/tools/executors/google-sheets-add-tab.executor.d.ts +23 -0
  406. package/backend/dist/tools/executors/google-sheets-add-tab.executor.js +44 -0
  407. package/backend/dist/tools/executors/google-sheets-add-tab.executor.js.map +1 -0
  408. package/backend/dist/tools/executors/google-sheets-append.executor.d.ts +30 -0
  409. package/backend/dist/tools/executors/google-sheets-append.executor.js +45 -0
  410. package/backend/dist/tools/executors/google-sheets-append.executor.js.map +1 -0
  411. package/backend/dist/tools/executors/google-sheets-chart.executor.d.ts +40 -0
  412. package/backend/dist/tools/executors/google-sheets-chart.executor.js +48 -0
  413. package/backend/dist/tools/executors/google-sheets-chart.executor.js.map +1 -0
  414. package/backend/dist/tools/executors/google-sheets-create.executor.d.ts +27 -0
  415. package/backend/dist/tools/executors/google-sheets-create.executor.js +44 -0
  416. package/backend/dist/tools/executors/google-sheets-create.executor.js.map +1 -0
  417. package/backend/dist/tools/executors/google-sheets-format.executor.d.ts +57 -0
  418. package/backend/dist/tools/executors/google-sheets-format.executor.js +58 -0
  419. package/backend/dist/tools/executors/google-sheets-format.executor.js.map +1 -0
  420. package/backend/dist/tools/executors/google-sheets-list-tabs.executor.d.ts +19 -0
  421. package/backend/dist/tools/executors/google-sheets-list-tabs.executor.js +43 -0
  422. package/backend/dist/tools/executors/google-sheets-list-tabs.executor.js.map +1 -0
  423. package/backend/dist/tools/executors/google-sheets-read.executor.d.ts +27 -0
  424. package/backend/dist/tools/executors/google-sheets-read.executor.js +45 -0
  425. package/backend/dist/tools/executors/google-sheets-read.executor.js.map +1 -0
  426. package/backend/dist/tools/executors/google-sheets-update.executor.d.ts +34 -0
  427. package/backend/dist/tools/executors/google-sheets-update.executor.js +46 -0
  428. package/backend/dist/tools/executors/google-sheets-update.executor.js.map +1 -0
  429. package/backend/dist/tools/executors/grep.executor.d.ts +9 -0
  430. package/backend/dist/tools/executors/grep.executor.js +82 -0
  431. package/backend/dist/tools/executors/grep.executor.js.map +1 -0
  432. package/backend/dist/tools/executors/list-directory.executor.d.ts +8 -0
  433. package/backend/dist/tools/executors/list-directory.executor.js +37 -0
  434. package/backend/dist/tools/executors/list-directory.executor.js.map +1 -0
  435. package/backend/dist/tools/executors/list-notes.executor.d.ts +8 -0
  436. package/backend/dist/tools/executors/list-notes.executor.js +37 -0
  437. package/backend/dist/tools/executors/list-notes.executor.js.map +1 -0
  438. package/backend/dist/tools/executors/list-tasks.executor.d.ts +8 -0
  439. package/backend/dist/tools/executors/list-tasks.executor.js +32 -0
  440. package/backend/dist/tools/executors/list-tasks.executor.js.map +1 -0
  441. package/backend/dist/tools/executors/read-file.executor.d.ts +8 -0
  442. package/backend/dist/tools/executors/read-file.executor.js +44 -0
  443. package/backend/dist/tools/executors/read-file.executor.js.map +1 -0
  444. package/backend/dist/tools/executors/resume-plan.executor.d.ts +8 -0
  445. package/backend/dist/tools/executors/resume-plan.executor.js +58 -0
  446. package/backend/dist/tools/executors/resume-plan.executor.js.map +1 -0
  447. package/backend/dist/tools/executors/run-command.executor.d.ts +5 -0
  448. package/backend/dist/tools/executors/run-command.executor.js +55 -0
  449. package/backend/dist/tools/executors/run-command.executor.js.map +1 -0
  450. package/backend/dist/tools/executors/search-knowledge.executor.d.ts +8 -0
  451. package/backend/dist/tools/executors/search-knowledge.executor.js +33 -0
  452. package/backend/dist/tools/executors/search-knowledge.executor.js.map +1 -0
  453. package/backend/dist/tools/executors/spawn-subagent.executor.d.ts +5 -0
  454. package/backend/dist/tools/executors/spawn-subagent.executor.js +27 -0
  455. package/backend/dist/tools/executors/spawn-subagent.executor.js.map +1 -0
  456. package/backend/dist/tools/executors/tool-executor.interface.d.ts +8 -0
  457. package/backend/dist/tools/executors/tool-executor.interface.js +3 -0
  458. package/backend/dist/tools/executors/tool-executor.interface.js.map +1 -0
  459. package/backend/dist/tools/executors/update-note.executor.d.ts +8 -0
  460. package/backend/dist/tools/executors/update-note.executor.js +43 -0
  461. package/backend/dist/tools/executors/update-note.executor.js.map +1 -0
  462. package/backend/dist/tools/executors/update-task.executor.d.ts +8 -0
  463. package/backend/dist/tools/executors/update-task.executor.js +50 -0
  464. package/backend/dist/tools/executors/update-task.executor.js.map +1 -0
  465. package/backend/dist/tools/executors/web-fetch.executor.d.ts +8 -0
  466. package/backend/dist/tools/executors/web-fetch.executor.js +57 -0
  467. package/backend/dist/tools/executors/web-fetch.executor.js.map +1 -0
  468. package/backend/dist/tools/executors/web-search.executor.d.ts +8 -0
  469. package/backend/dist/tools/executors/web-search.executor.js +70 -0
  470. package/backend/dist/tools/executors/web-search.executor.js.map +1 -0
  471. package/backend/dist/tools/executors/write-file.executor.d.ts +10 -0
  472. package/backend/dist/tools/executors/write-file.executor.js +60 -0
  473. package/backend/dist/tools/executors/write-file.executor.js.map +1 -0
  474. package/backend/dist/tools/tools.controller.d.ts +37 -0
  475. package/backend/dist/tools/tools.controller.js +63 -0
  476. package/backend/dist/tools/tools.controller.js.map +1 -0
  477. package/backend/dist/tools/tools.module.d.ts +2 -0
  478. package/backend/dist/tools/tools.module.js +128 -0
  479. package/backend/dist/tools/tools.module.js.map +1 -0
  480. package/backend/dist/tools/tools.service.d.ts +55 -0
  481. package/backend/dist/tools/tools.service.js +49 -0
  482. package/backend/dist/tools/tools.service.js.map +1 -0
  483. package/backend/dist/usage/dto/create-usage.dto.d.ts +8 -0
  484. package/backend/dist/usage/dto/create-usage.dto.js +45 -0
  485. package/backend/dist/usage/dto/create-usage.dto.js.map +1 -0
  486. package/backend/dist/usage/usage.controller.d.ts +19 -0
  487. package/backend/dist/usage/usage.controller.js +43 -0
  488. package/backend/dist/usage/usage.controller.js.map +1 -0
  489. package/backend/dist/usage/usage.module.d.ts +2 -0
  490. package/backend/dist/usage/usage.module.js +24 -0
  491. package/backend/dist/usage/usage.module.js.map +1 -0
  492. package/backend/dist/usage/usage.service.d.ts +30 -0
  493. package/backend/dist/usage/usage.service.js +61 -0
  494. package/backend/dist/usage/usage.service.js.map +1 -0
  495. package/backend/dist/word/executors/edit-word.executor.d.ts +12 -0
  496. package/backend/dist/word/executors/edit-word.executor.js +65 -0
  497. package/backend/dist/word/executors/edit-word.executor.js.map +1 -0
  498. package/backend/dist/word/executors/read-word.executor.d.ts +10 -0
  499. package/backend/dist/word/executors/read-word.executor.js +49 -0
  500. package/backend/dist/word/executors/read-word.executor.js.map +1 -0
  501. package/backend/dist/word/executors/write-word.executor.d.ts +12 -0
  502. package/backend/dist/word/executors/write-word.executor.js +63 -0
  503. package/backend/dist/word/executors/write-word.executor.js.map +1 -0
  504. package/backend/dist/word/word.module.d.ts +2 -0
  505. package/backend/dist/word/word.module.js +21 -0
  506. package/backend/dist/word/word.module.js.map +1 -0
  507. package/backend/dist/word/word.service.d.ts +22 -0
  508. package/backend/dist/word/word.service.js +155 -0
  509. package/backend/dist/word/word.service.js.map +1 -0
  510. package/backend/dist/workspace/dto/watch.dto.d.ts +3 -0
  511. package/backend/dist/workspace/dto/watch.dto.js +22 -0
  512. package/backend/dist/workspace/dto/watch.dto.js.map +1 -0
  513. package/backend/dist/workspace/indexer.service.d.ts +24 -0
  514. package/backend/dist/workspace/indexer.service.js +109 -0
  515. package/backend/dist/workspace/indexer.service.js.map +1 -0
  516. package/backend/dist/workspace/workspace-watcher.service.d.ts +20 -0
  517. package/backend/dist/workspace/workspace-watcher.service.js +73 -0
  518. package/backend/dist/workspace/workspace-watcher.service.js.map +1 -0
  519. package/backend/dist/workspace/workspace.controller.d.ts +21 -0
  520. package/backend/dist/workspace/workspace.controller.js +72 -0
  521. package/backend/dist/workspace/workspace.controller.js.map +1 -0
  522. package/backend/dist/workspace/workspace.module.d.ts +2 -0
  523. package/backend/dist/workspace/workspace.module.js +27 -0
  524. package/backend/dist/workspace/workspace.module.js.map +1 -0
  525. package/backend/dist/workspace/workspace.service.d.ts +16 -0
  526. package/backend/dist/workspace/workspace.service.js +70 -0
  527. package/backend/dist/workspace/workspace.service.js.map +1 -0
  528. package/backend/package.json +80 -0
  529. package/backend/prisma/migrations/20260607051149_init/migration.sql +11 -0
  530. package/backend/prisma/migrations/20260607082131_add_settings/migration.sql +5 -0
  531. package/backend/prisma/migrations/20260607090628_add_knowledge_file/migration.sql +12 -0
  532. package/backend/prisma/migrations/20260607102620_add_sessions_chat_messages/migration.sql +17 -0
  533. package/backend/prisma/migrations/20260607160733_add_tool_fields_to_message/migration.sql +18 -0
  534. package/backend/prisma/migrations/20260608120000_add_providers/migration.sql +19 -0
  535. package/backend/prisma/migrations/20260608150513_add_tools/migration.sql +9 -0
  536. package/backend/prisma/migrations/20260608155121_add_tool_config/migration.sql +3 -0
  537. package/backend/prisma/migrations/20260609044217_add_error_message/migration.sql +2 -0
  538. package/backend/prisma/migrations/20260609110505_add_notes/migration.sql +8 -0
  539. package/backend/prisma/migrations/20260609151214_add_plan_tables/migration.sql +21 -0
  540. package/backend/prisma/migrations/20260610100714_add_agent_file/migration.sql +9 -0
  541. package/backend/prisma/migrations/20260611085424_add_session_mode/migration.sql +2 -0
  542. package/backend/prisma/migrations/20260611120000_add_memory_model/migration.sql +13 -0
  543. package/backend/prisma/migrations/20260612120000_add_usage_record/migration.sql +12 -0
  544. package/backend/prisma/migrations/20260612130000_add_project_model/migration.sql +7 -0
  545. package/backend/prisma/migrations/20260612130000_add_project_model/migration_lock.toml +5 -0
  546. package/backend/prisma/migrations/20260612140000_add_connector_model/migration.sql +9 -0
  547. package/backend/prisma/migrations/20260612173937_add_connector_services_account/migration.sql +24 -0
  548. package/backend/prisma/migrations/20260612181017_remove_connector_services/migration.sql +23 -0
  549. package/backend/prisma/migrations/20260613135109_add_schedule_tasks/migration.sql +45 -0
  550. package/backend/prisma/migrations/20260613140915_add_cron_days_of_week/migration.sql +2 -0
  551. package/backend/prisma/migrations/20260613142809_add_timezone/migration.sql +2 -0
  552. package/backend/prisma/migrations/20260613163408_remove_task_model/migration.sql +10 -0
  553. package/backend/prisma/migrations/20260620120025_add_agent_profile/migration.sql +17 -0
  554. package/backend/prisma/migrations/migration_lock.toml +3 -0
  555. package/backend/prisma/schema.prisma +208 -0
  556. package/backend/prisma/seed.cjs +132 -0
  557. package/bin/workspace-cli.js +296 -0
  558. package/frontend/dist/assets/index-DRtpgPPc.css +1 -0
  559. package/frontend/dist/assets/index-Dn28_pkr.js +101 -0
  560. package/frontend/dist/index.html +19 -0
  561. package/frontend/dist/logo.png +0 -0
  562. package/package.json +54 -0
package/README.md ADDED
@@ -0,0 +1,184 @@
1
+ <h1 align="center">Agent Hub</h1>
2
+
3
+ <p align="center">
4
+ <strong>Local-first AI Agent Workspace — open source, runs on your machine.</strong>
5
+ <br />
6
+ Chat with AI · Manage files · Automate tasks
7
+ <br />
8
+ Use Ollama locally or connect to OpenAI/DeepSeek — your choice.
9
+ </p>
10
+
11
+ <p align="center">
12
+ <img src="https://img.shields.io/badge/Frontend-Vue_3-4FC08D?logo=vue.js" alt="Vue 3" />
13
+ <img src="https://img.shields.io/badge/Backend-NestJS-E0234E?logo=nestjs" alt="NestJS" />
14
+ <img src="https://img.shields.io/badge/Database-SQLite-003B57?logo=sqlite" alt="SQLite" />
15
+ <img src="https://img.shields.io/badge/AI-Ollama-000000?logo=ollama" alt="Ollama" />
16
+ <img src="https://img.shields.io/badge/License-MIT-yellow" alt="MIT" />
17
+ </p>
18
+
19
+ <p align="center">
20
+ <img src="./media/app-screenshot.png" alt="Agent Hub" width="100%" />
21
+ </p>
22
+
23
+ ---
24
+
25
+ ## Features
26
+
27
+ ### AI Agent Loop
28
+
29
+ A custom state-machine ReAct loop (PLANNING → EXECUTING → EVALUATING → CORRECTING → DONE) that runs with unlimited iterations. The LLM self-evaluates when to stop. Supports SSE streaming for real-time token-by-token responses with inline tool calls, results, and thinking indicators. Provider-agnostic — route through local Ollama or any OpenAI-compatible API (DeepSeek, OpenAI, custom endpoints).
30
+
31
+ **Sub-agents** can be spawned at runtime with their own profiles, system prompts, and scoped tool sets. **MCP servers** plug in external tools via the Model Context Protocol.
32
+
33
+ ### Security & Permissions
34
+
35
+ A multi-layered safety stack built for autonomous agents:
36
+
37
+ - **Permission modes** — Default, Accept Edits, Bypass All, Don't Ask, Auto (YOLO), Plan
38
+ - **Danger pattern blocking** — Fast-path detection of interpreters, package runners, shells, network tools, destructive git operations
39
+ - **2-stage LLM safety classifier** — A secondary LLM gate evaluates dangerous tool calls before execution, with denial tracking (fail-closed after 3 consecutive or 20 total denials)
40
+ - **Per-tool approval** — Require manual confirmation for sensitive tools via an approval queue
41
+
42
+ ### Tools Registry
43
+
44
+ Over 40 built-in tools, each with a Prisma-backed record for enable/disable toggle and per-tool configuration:
45
+
46
+ | Category | Tools |
47
+ |---|---|
48
+ | **File operations** | Read, write, list, grep, search (path-sandboxed) |
49
+ | **Office (Excel)** | Read, write, list sheets, add sheets, create charts |
50
+ | **Office (Word)** | Read, write, round-trip editing |
51
+ | **Google Gmail** | Search, read, send, draft, list labels |
52
+ | **Google Calendar** | List, create, update events, check availability |
53
+ | **Google Drive** | Search, read, list, upload, create folders |
54
+ | **Google Sheets** | Read, update, append, create, format cells, add charts |
55
+ | **Notes** | Full markdown CRUD |
56
+ | **Planning** | Create and resume multi-step plans |
57
+ | **Web** | Fetch URLs, web search |
58
+
59
+ ### Google Connectors
60
+
61
+ Full OAuth integration with Google Workspace. Connect once via the UI, and the agent gains access to Gmail, Calendar, Drive, and Sheets. Tokens are stored in your local SQLite database — nothing leaves your machine.
62
+
63
+ ### Scheduled Tasks
64
+
65
+ Cron-based recurring AI automation. A `ScheduleTask` is a named prompt that runs on a schedule (hourly, daily, weekly, or custom cron) and produces a `ScheduleTaskLog` per execution. The agent can create tasks autonomously via `create_task` and `convert_note_to_task` tools. Run any task manually on demand.
66
+
67
+ ### Memory System
68
+
69
+ Long-term memory with auto-extraction. Four types — User, Feedback, Project, Reference — are automatically classified from conversations using keyword patterns when the agent is idle. Memories are injected into the LLM system prompt on every chat request, giving the agent persistent context across sessions. SHA256-based dedup prevents duplicates.
70
+
71
+ ### Plans
72
+
73
+ The agent can autonomously generate multi-step execution plans from your requests. Each step has status tracking (PENDING → APPROVED → EXECUTING → DONE/INTERRUPTED). Interrupted plans can be resumed. Individual steps can be approved or rejected before execution.
74
+
75
+ ### Agent Profiles
76
+
77
+ Named, reusable agent configurations — each with its own system prompt, allowed tools, and default model. Switch between profiles at chat time. Built-in profiles are protected from deletion.
78
+
79
+ ### Agent Outputs
80
+
81
+ All files generated by the agent during a session are organised per session with metadata. Browse, preview, and download generated artifacts from the UI.
82
+
83
+ ### Terminal-Style UI
84
+
85
+ A dark, monospace-driven interface modelled after developer terminals. Three-panel layout: sidebar navigation, chat panel (45%), and artifacts panel. No gradients, no shadows — flat surfaces, sharp corners, and high-contrast accent colors.
86
+
87
+ ---
88
+
89
+ ## Installation
90
+
91
+ ### Prerequisites
92
+
93
+ - **Docker Desktop** — [download](https://www.docker.com/products/docker-desktop/)
94
+ - **Ollama** (optional, for local AI) — [ollama.ai](https://ollama.ai)
95
+
96
+ ### Docker (recommended)
97
+
98
+ ```bash
99
+ docker compose up --build
100
+ ```
101
+
102
+ Open **http://localhost:17135**. First run auto-creates `workspace_data/` with SQLite and LanceDB.
103
+
104
+ ### Development
105
+
106
+ ```bash
107
+ # Backend
108
+ cd backend
109
+ npm install && npm run setup && npm run start:dev
110
+
111
+ # Frontend (separate terminal)
112
+ cd frontend
113
+ npm install && npm run dev
114
+ ```
115
+
116
+ ### npm / CLI
117
+
118
+ **Quick start (no install needed):**
119
+ ```bash
120
+ npx agent-hub
121
+ ```
122
+
123
+ This runs `agent-hub studio` — starts the server, runs first-time setup, and opens your browser.
124
+
125
+ **Global install (use `agent-hub` directly):**
126
+ ```bash
127
+ npm install -g agent-hub
128
+ agent-hub studio
129
+ ```
130
+
131
+ Once installed globally, you can run `agent-hub` from anywhere without `npx`.
132
+
133
+ ### CLI Commands
134
+
135
+ | Command | Description |
136
+ |---|---|
137
+ | `agent-hub` / `agent-hub studio` | Start Studio (server + dashboard, auto-opens browser) |
138
+ | `agent-hub studio --no-browser` | Start server without opening browser |
139
+ | `agent-hub init` | One-time setup (data dir, .env, database migrations, seed) |
140
+ | `agent-hub auto-start enable` | Register Windows auto-start on boot |
141
+ | `agent-hub auto-start disable` | Remove Windows auto-start |
142
+ | `agent-hub auto-start status` | Check auto-start status |
143
+ | `agent-hub --help` | Show help |
144
+
145
+ ### Windows Auto-Start
146
+
147
+ ```bash
148
+ agent-hub auto-start enable
149
+ ```
150
+
151
+ Registers Agent Hub in Windows Registry (`HKCU\Run`). The server will start automatically on every boot without opening a browser.
152
+
153
+ ---
154
+
155
+ ## Tech Stack
156
+
157
+ | Layer | Technology |
158
+ |---|---|
159
+ | Frontend | Vue 3 + TS + TailwindCSS + Vite |
160
+ | Backend | NestJS 10 + TypeScript |
161
+ | Database | SQLite via Prisma |
162
+ | Vector DB | LanceDB |
163
+ | AI | Ollama / OpenAI / DeepSeek |
164
+ | Streaming | SSE + Socket.io |
165
+ | Container | Docker Compose + Nginx |
166
+
167
+ ---
168
+
169
+ ## Project Structure
170
+
171
+ ```
172
+ ├── frontend/ Vue 3 SPA
173
+ ├── backend/ NestJS API (modules, prisma)
174
+ ├── workspace_data/ SQLite + LanceDB + uploads (gitignored)
175
+ ├── docker-compose.yml One-command deploy
176
+ ├── run.ps1 Windows runner
177
+ └── docs/ Specs & plans
178
+ ```
179
+
180
+ ---
181
+
182
+ ## License
183
+
184
+ MIT
@@ -0,0 +1,26 @@
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
+ # Browser automation (Playwright MCP) — by default creates an dedicated profile in workspace_data/
14
+ # To keep browser logins inside your Chrome User Data (creates a separate "AgentWorkspace" sub-profile):
15
+ # CHROME_USER_DATA_DIR=C:\Users\<username>\AppData\Local\Google\Chrome\User Data
16
+ # Note: uses a dedicated sub-profile, does NOT conflict with your running Chrome.
17
+
18
+ # Google OAuth credentials (optional — hardcoded defaults in code)
19
+ GOOGLE_GMAIL_CLIENT_ID=
20
+ GOOGLE_GMAIL_CLIENT_SECRET=
21
+ GOOGLE_CALENDAR_CLIENT_ID=
22
+ GOOGLE_CALENDAR_CLIENT_SECRET=
23
+ GOOGLE_DRIVE_CLIENT_ID=
24
+ GOOGLE_DRIVE_CLIENT_SECRET=
25
+ GOOGLE_SHEETS_CLIENT_ID=
26
+ 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,128 @@
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 agent_profiles_module_1 = require("../agent-profiles/agent-profiles.module");
56
+ const google_gmail_search_executor_1 = require("../tools/executors/google-gmail-search.executor");
57
+ const google_gmail_read_executor_1 = require("../tools/executors/google-gmail-read.executor");
58
+ const google_gmail_send_executor_1 = require("../tools/executors/google-gmail-send.executor");
59
+ const google_gmail_draft_executor_1 = require("../tools/executors/google-gmail-draft.executor");
60
+ const google_gmail_labels_executor_1 = require("../tools/executors/google-gmail-labels.executor");
61
+ const google_calendar_list_executor_1 = require("../tools/executors/google-calendar-list.executor");
62
+ const google_calendar_create_executor_1 = require("../tools/executors/google-calendar-create.executor");
63
+ const google_calendar_update_executor_1 = require("../tools/executors/google-calendar-update.executor");
64
+ const google_calendar_availability_executor_1 = require("../tools/executors/google-calendar-availability.executor");
65
+ const google_drive_search_executor_1 = require("../tools/executors/google-drive-search.executor");
66
+ const google_drive_read_executor_1 = require("../tools/executors/google-drive-read.executor");
67
+ const google_drive_list_executor_1 = require("../tools/executors/google-drive-list.executor");
68
+ const google_drive_upload_executor_1 = require("../tools/executors/google-drive-upload.executor");
69
+ const google_drive_create_folder_executor_1 = require("../tools/executors/google-drive-create-folder.executor");
70
+ let AgentModule = class AgentModule {
71
+ };
72
+ exports.AgentModule = AgentModule;
73
+ exports.AgentModule = AgentModule = __decorate([
74
+ (0, common_1.Module)({
75
+ 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, agent_profiles_module_1.AgentProfilesModule],
76
+ controllers: [agent_controller_1.AgentController],
77
+ providers: [
78
+ agent_service_1.AgentService,
79
+ agent_loop_service_1.AgentLoopService,
80
+ llm_controller_service_1.LLMControllerService,
81
+ ollama_provider_1.OllamaProvider,
82
+ openai_provider_1.OpenAIProvider,
83
+ context_builder_service_1.ContextBuilderService,
84
+ permissions_service_1.PermissionsService,
85
+ yolo_classifier_service_1.YoloClassifierService,
86
+ approval_manager_service_1.ApprovalManagerService,
87
+ subagent_service_1.SubagentService,
88
+ create_task_executor_1.CreateTaskExecutor,
89
+ update_task_executor_1.UpdateTaskExecutor,
90
+ list_tasks_executor_1.ListTasksExecutor,
91
+ get_task_executor_1.GetTaskExecutor,
92
+ delete_tasks_executor_1.DeleteTasksExecutor,
93
+ search_knowledge_executor_1.SearchKnowledgeExecutor,
94
+ web_fetch_executor_1.WebFetchExecutor,
95
+ web_search_executor_1.WebSearchExecutor,
96
+ create_note_executor_1.CreateNoteExecutor,
97
+ update_note_executor_1.UpdateNoteExecutor,
98
+ list_notes_executor_1.ListNotesExecutor,
99
+ delete_note_executor_1.DeleteNoteExecutor,
100
+ convert_note_to_task_executor_1.ConvertNoteToTaskExecutor,
101
+ resume_plan_executor_1.ResumePlanExecutor,
102
+ read_excel_executor_1.ReadExcelExecutor,
103
+ write_excel_executor_1.WriteExcelExecutor,
104
+ excel_add_sheet_executor_1.ExcelAddSheetExecutor,
105
+ list_excel_sheets_executor_1.ListExcelSheetsExecutor,
106
+ excel_chart_executor_1.ExcelChartExecutor,
107
+ google_gmail_search_executor_1.GoogleGmailSearchExecutor,
108
+ google_gmail_read_executor_1.GoogleGmailReadExecutor,
109
+ google_gmail_send_executor_1.GoogleGmailSendExecutor,
110
+ google_gmail_draft_executor_1.GoogleGmailDraftExecutor,
111
+ google_gmail_labels_executor_1.GoogleGmailLabelsExecutor,
112
+ google_calendar_list_executor_1.GoogleCalendarListExecutor,
113
+ google_calendar_create_executor_1.GoogleCalendarCreateExecutor,
114
+ google_calendar_update_executor_1.GoogleCalendarUpdateExecutor,
115
+ google_calendar_availability_executor_1.GoogleCalendarAvailabilityExecutor,
116
+ google_drive_search_executor_1.GoogleDriveSearchExecutor,
117
+ google_drive_read_executor_1.GoogleDriveReadExecutor,
118
+ google_drive_list_executor_1.GoogleDriveListExecutor,
119
+ google_drive_upload_executor_1.GoogleDriveUploadExecutor,
120
+ google_drive_create_folder_executor_1.GoogleDriveCreateFolderExecutor,
121
+ ],
122
+ exports: [
123
+ agent_loop_service_1.AgentLoopService,
124
+ context_builder_service_1.ContextBuilderService,
125
+ ],
126
+ })
127
+ ], AgentModule);
128
+ //# 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,mFAA8E;AAC9E,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,EAAE,2CAAmB,CAAC;QACtQ,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,25 @@
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
+ import { AgentProfilesService } from '../agent-profiles/agent-profiles.service';
11
+ export declare class AgentService {
12
+ private readonly agentLoop;
13
+ private readonly sessionsService;
14
+ private readonly contextBuilder;
15
+ private readonly providersService;
16
+ private readonly permissionsService;
17
+ private readonly plansService;
18
+ private readonly cowork;
19
+ private readonly agentProfiles;
20
+ constructor(agentLoop: AgentLoopService, sessionsService: SessionsService, contextBuilder: ContextBuilderService, providersService: ProvidersService, permissionsService: PermissionsService, plansService: PlansService, cowork: CoworkService, agentProfiles: AgentProfilesService);
21
+ streamChat(message: string, providerModelId: number, res: WriteStream, signal: AbortSignal, sessionId: number): Promise<void>;
22
+ executePlan(planId: number, providerModelId: number, sessionId: number, signal: AbortSignal, res: WriteStream): Promise<void>;
23
+ getPermissions(): Promise<PermissionsConfig>;
24
+ updatePermissions(updates: Partial<PermissionsConfig>): Promise<PermissionsConfig>;
25
+ }