@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
@@ -0,0 +1,208 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "sqlite"
7
+ url = env("DATABASE_URL")
8
+ }
9
+
10
+ model Memory {
11
+ id String @id @default(cuid())
12
+ type String // USER | FEEDBACK | PROJECT | REFERENCE
13
+ title String
14
+ content String
15
+ metadata String?
16
+ sessionId Int?
17
+ agentId String?
18
+ createdAt DateTime @default(now())
19
+ updatedAt DateTime @updatedAt
20
+
21
+ session Session? @relation(fields: [sessionId], references: [id], onDelete: SetNull)
22
+ }
23
+
24
+ model Setting {
25
+ key String @id
26
+ value String
27
+ }
28
+
29
+ model KnowledgeFile {
30
+ id Int @id @default(autoincrement())
31
+ filename String
32
+ filepath String
33
+ size Int
34
+ mimeType String
35
+ status String @default("indexing")
36
+ chunkCount Int @default(0)
37
+ errorMessage String?
38
+ createdAt DateTime @default(now())
39
+ updatedAt DateTime @updatedAt
40
+ }
41
+
42
+ model Session {
43
+ id Int @id @default(autoincrement())
44
+ mode String @default("cowork")
45
+ title String @default("New Session")
46
+ createdAt DateTime @default(now())
47
+ updatedAt DateTime @updatedAt
48
+ messages ChatMessage[]
49
+ plans Plan[]
50
+ agentFiles AgentFile[]
51
+ memories Memory[]
52
+ usageRecords UsageRecord[]
53
+ }
54
+
55
+ model ChatMessage {
56
+ id Int @id @default(autoincrement())
57
+ sessionId Int
58
+ session Session @relation(fields: [sessionId], references: [id], onDelete: Cascade)
59
+ role String
60
+ content String
61
+ toolName String?
62
+ isResult Boolean @default(false)
63
+ createdAt DateTime @default(now())
64
+ }
65
+
66
+ model Note {
67
+ id Int @id @default(autoincrement())
68
+ title String
69
+ content String
70
+ createdAt DateTime @default(now())
71
+ updatedAt DateTime @updatedAt
72
+ }
73
+
74
+ model Provider {
75
+ id Int @id @default(autoincrement())
76
+ name String
77
+ type String @default("ollama")
78
+ baseUrl String?
79
+ key String?
80
+ createdAt DateTime @default(now())
81
+ updatedAt DateTime @updatedAt
82
+ models ProviderModel[]
83
+ }
84
+
85
+ model ProviderModel {
86
+ id Int @id @default(autoincrement())
87
+ providerId Int
88
+ provider Provider @relation(fields: [providerId], references: [id], onDelete: Cascade)
89
+ name String
90
+ createdAt DateTime @default(now())
91
+ }
92
+
93
+ model Tool {
94
+ name String @id
95
+ description String
96
+ parameters String
97
+ configSchema String?
98
+ config String?
99
+ enabled Boolean @default(true)
100
+ createdAt DateTime @default(now())
101
+ updatedAt DateTime @updatedAt
102
+ }
103
+
104
+ model Plan {
105
+ id Int @id @default(autoincrement())
106
+ sessionId Int
107
+ session Session @relation(fields: [sessionId], references: [id], onDelete: Cascade)
108
+ title String
109
+ status String @default("PENDING")
110
+ createdAt DateTime @default(now())
111
+ updatedAt DateTime @updatedAt
112
+ steps PlanStep[]
113
+ }
114
+
115
+ model PlanStep {
116
+ id Int @id @default(autoincrement())
117
+ planId Int
118
+ plan Plan @relation(fields: [planId], references: [id], onDelete: Cascade)
119
+ order Int
120
+ text String
121
+ status String @default("TODO")
122
+ updatedAt DateTime @updatedAt
123
+ }
124
+
125
+ model AgentFile {
126
+ id Int @id @default(autoincrement())
127
+ filename String
128
+ path String
129
+ sessionId Int
130
+ session Session @relation(fields: [sessionId], references: [id], onDelete: Cascade)
131
+ createdAt DateTime @default(now())
132
+ }
133
+
134
+ model Project {
135
+ id String @id @default(cuid())
136
+ name String
137
+ path String @unique
138
+ createdAt DateTime @default(now())
139
+ }
140
+
141
+ model Connector {
142
+ id String @id @default(cuid())
143
+ type String
144
+ account String?
145
+ config String @default("{}")
146
+ enabled Boolean @default(false)
147
+ createdAt DateTime @default(now())
148
+ updatedAt DateTime @updatedAt
149
+ }
150
+
151
+ model UsageRecord {
152
+ id Int @id @default(autoincrement())
153
+ sessionId Int?
154
+ modelName String
155
+ providerType String
156
+ promptTokens Int
157
+ completionTokens Int
158
+ totalTokens Int
159
+ createdAt DateTime @default(now())
160
+
161
+ session Session? @relation(fields: [sessionId], references: [id], onDelete: SetNull)
162
+ }
163
+
164
+ model ScheduleTask {
165
+ id Int @id @default(autoincrement())
166
+ name String
167
+ description String?
168
+ prompt String
169
+ frequency String @default("manual")
170
+ cronMinute Int?
171
+ cronHour Int?
172
+ cronDayOfWeek Int?
173
+ cronDaysOfWeek String?
174
+ modelId Int?
175
+ projectPath String?
176
+ timezone String? @default("UTC")
177
+ enabled Boolean @default(true)
178
+ createdAt DateTime @default(now())
179
+ updatedAt DateTime @updatedAt
180
+
181
+ logs ScheduleTaskLog[]
182
+ }
183
+
184
+ model ScheduleTaskLog {
185
+ id Int @id @default(autoincrement())
186
+ taskId Int
187
+ task ScheduleTask @relation(fields: [taskId], references: [id], onDelete: Cascade)
188
+ sessionId Int?
189
+ status String @default("PENDING")
190
+ output String?
191
+ startedAt DateTime?
192
+ completedAt DateTime?
193
+ createdAt DateTime @default(now())
194
+ }
195
+
196
+ model AgentProfile {
197
+ id Int @id @default(autoincrement())
198
+ slug String @unique
199
+ name String
200
+ description String?
201
+ systemPrompt String
202
+ allowedTools String @default("*")
203
+ modelId Int?
204
+ enabled Boolean @default(true)
205
+ builtin Boolean @default(false)
206
+ createdAt DateTime @default(now())
207
+ updatedAt DateTime @updatedAt
208
+ }
@@ -0,0 +1,132 @@
1
+ const { PrismaClient } = require('@prisma/client');
2
+ const prisma = new PrismaClient();
3
+
4
+ const DEFAULT_TOOLS = [
5
+ { name: 'create_task', description: 'Create a scheduled task. Parameters: name (required), description (optional, used as AI prompt), frequency (optional, default manual; values: manual/hourly/daily/weekdays/weekly), cronMinute (0-59), cronHour (0-23), cronDayOfWeek (0-6, 0=Sunday), cronDaysOfWeek (comma-separated, 0=Sun, 1=Mon...), modelId (optional, auto-resolves to first available model if empty), projectPath (optional, leave empty unless user explicitly requests). Use natural language to parse user scheduling requests into cron fields.', parameters: '{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"frequency":{"type":"string","enum":["manual","hourly","daily","weekdays","weekly"]},"cronMinute":{"type":"number","minimum":0,"maximum":59},"cronHour":{"type":"number","minimum":0,"maximum":23},"cronDayOfWeek":{"type":"number","minimum":0,"maximum":6},"cronDaysOfWeek":{"type":"string"},"modelId":{"type":"number"},"projectPath":{"type":"string"}},"required":["name"]}' },
6
+ { name: 'update_task', description: 'Update a scheduled task by id. Parameters: id (required), name, description, frequency, cronMinute, cronHour, cronDayOfWeek, cronDaysOfWeek, modelId, projectPath (all optional — only provided fields are updated).', parameters: '{"type":"object","properties":{"id":{"type":"number"},"name":{"type":"string"},"description":{"type":"string"},"frequency":{"type":"string","enum":["manual","hourly","daily","weekdays","weekly"]},"cronMinute":{"type":"number","minimum":0,"maximum":59},"cronHour":{"type":"number","minimum":0,"maximum":23},"cronDayOfWeek":{"type":"number","minimum":0,"maximum":6},"cronDaysOfWeek":{"type":"string"},"modelId":{"type":"number"},"projectPath":{"type":"string"}},"required":["id"]}' },
7
+ { name: 'list_tasks', description: 'List all scheduled tasks.', parameters: '{"type":"object","properties":{}}' },
8
+ { name: 'get_task', description: 'Get details of a scheduled task by id.', parameters: '{"type":"object","properties":{"id":{"type":"number","minimum":1}},"required":["id"]}' },
9
+ { name: 'delete_tasks', description: 'Delete scheduled tasks by array of ids.', parameters: '{"type":"object","properties":{"ids":{"type":"array","items":{"type":"number"}}},"required":["ids"]}' },
10
+ { name: 'create_note', description: 'Create a new note. Only use when the user explicitly asks to create a note.', parameters: '{"type":"object","properties":{"title":{"type":"string"},"content":{"type":"string"}},"required":["title","content"]}' },
11
+ { name: 'update_note', description: 'Update a note (title, content). Only use when the user explicitly asks to update a note.', parameters: '{"type":"object","properties":{"id":{"type":"number"},"title":{"type":"string"},"content":{"type":"string"}},"required":["id"]}' },
12
+ { name: 'list_notes', description: 'List all notes. Only use when the user explicitly asks about notes.', parameters: '{"type":"object","properties":{}}' },
13
+ { name: 'delete_note', description: 'Delete a note by ID. Only use when the user explicitly asks to delete a note.', parameters: '{"type":"object","properties":{"id":{"type":"number"}},"required":["id"]}' },
14
+ { name: 'convert_note_to_task', description: 'Convert a note to a scheduled task. Only use when the user explicitly asks to convert a note.', parameters: '{"type":"object","properties":{"noteId":{"type":"number"},"modelId":{"type":"number"}},"required":["noteId"]}' },
15
+ { name: 'search_knowledge', description: 'Search the knowledge base for relevant information', parameters: '{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]}' },
16
+ { name: 'web_fetch', description: 'Fetch content from a URL', parameters: '{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]}', enabled: false },
17
+ { name: 'web_search', description: 'Search the web for information', parameters: '{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]}', enabled: false, configSchema: '{"type":"object","properties":{"apiKey":{"type":"string","title":"Exa AI API Key","format":"password"}},"required":["apiKey"]}' },
18
+ { name: 'write_file', description: 'Write content to a file at a given path', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to write to"},"content":{"type":"string","description":"Content to write"}},"required":["path","content"]}' },
19
+ { name: 'read_file', description: 'Read content from a file at a given path', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to read from"}},"required":["path"]}' },
20
+ { name: 'list_directory', description: 'List files and directories in a given path', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"Directory path to list"}},"required":["path"]}' },
21
+ { name: 'run_command', description: 'Execute a shell command', parameters: '{"type":"object","properties":{"command":{"type":"string","description":"Shell command to run"},"cwd":{"type":"string","description":"Working directory (optional)"}},"required":["command"]}', enabled: false },
22
+ { name: 'grep', description: 'Search file contents recursively using a regex pattern', parameters: '{"type":"object","properties":{"pattern":{"type":"string","description":"Regex pattern to search for"},"path":{"type":"string","description":"Directory to search in (default: current dir)"},"include":{"type":"string","description":"File extension filter (e.g. \'.ts\')"}},"required":["pattern"]}' },
23
+ { name: 'glob', description: 'Match files using a glob pattern', parameters: '{"type":"object","properties":{"pattern":{"type":"string","description":"Glob pattern to match files"},"path":{"type":"string","description":"Directory to search in (default: current dir)"}},"required":["pattern"]}' },
24
+ { name: 'resume_plan', description: 'Validate and describe plan status for resumption by plan ID', parameters: '{"type":"object","properties":{"planId":{"type":"number","description":"ID of the plan to check"}},"required":["planId"]}' },
25
+ { name: 'create_plan', description: 'Create a multi-step plan for complex tasks with optional approval gate', parameters: '{"type":"object","properties":{"title":{"type":"string","description":"Title of the plan"},"steps":{"type":"array","items":{"type":"string"},"description":"Ordered list of steps to execute"},"requireApproval":{"type":"boolean","description":"Require user approval before executing (default: true)"}},"required":["title","steps"]}' },
26
+ { name: 'spawn_subagent', description: 'Spawn a sub-agent to complete a specific subtask. Use for complex, multi-step, or parallel tasks. Do NOT use for simple questions or single-tool operations — handle those directly.', parameters: '{"type":"object","properties":{"task":{"type":"string","description":"The task for the sub-agent to complete. Be specific and include all context needed."},"profile":{"type":"string","description":"Optional agent profile slug to specialize the sub-agent."}},"required":["task"]}' },
27
+ { name: 'delegate', description: 'Delegate subtasks to run in parallel workers. Use for complex multi-step tasks like reading multiple files, processing data, or searching.', parameters: '{"type":"object","properties":{"tasks":{"type":"array","items":{"type":"string"},"description":"Array of subtask descriptions to execute in parallel"},"profile":{"type":"string","description":"Optional agent profile slug applied to all workers."}},"required":["tasks"]}' },
28
+ { name: 'read_excel', description: 'Read data from an Excel (.xlsx) file. Returns data as a markdown table.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to .xlsx file"},"sheet":{"type":"string","description":"Sheet name (default: first sheet)"},"range":{"type":"string","description":"Cell range like A1:D10 (default: all used cells)"}},"required":["path"]}' },
29
+ { name: 'write_excel', description: 'Write data to an Excel (.xlsx) file. Creates new file if it does not exist. Supports cells, rows, columns, formulas, merge, and styling.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path"},"operations":{"type":"array","description":"Array of write operations","items":{"type":"object","properties":{"type":{"type":"string","enum":["write_cell","write_row","write_column","formula","merge","style","column_width"]},"sheet":{"type":"string"},"cell":{"type":"string"},"value":{},"values":{"type":"array"},"formula":{"type":"string"},"range":{"type":"string"},"column":{"type":"string"},"width":{"type":"number"},"style":{"type":"object","properties":{"bold":{"type":"boolean"},"italic":{"type":"boolean"},"fontSize":{"type":"number"},"fontColor":{"type":"string"},"fillColor":{"type":"string"},"numberFormat":{"type":"string"},"border":{"type":"boolean"}}}}}}},"required":["path","operations"]}' },
30
+ { name: 'excel_add_sheet', description: 'Add a new sheet to an existing Excel (.xlsx) file.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to .xlsx file"},"sheet":{"type":"string","description":"Name for the new sheet"}},"required":["path","sheet"]}' },
31
+ { name: 'list_excel_sheets', description: 'List all sheet names in an Excel (.xlsx) file.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to .xlsx file"}},"required":["path"]}' },
32
+ { name: 'excel_chart', description: 'Add chart metadata to an Excel (.xlsx) sheet. Chart types: bar, line, pie, column.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to .xlsx file"},"sheet":{"type":"string","description":"Sheet name"},"type":{"type":"string","enum":["bar","line","pie","column"],"description":"Chart type"},"title":{"type":"string","description":"Chart title"},"dataRange":{"type":"string","description":"Source data range like B2:D5"},"categoriesRange":{"type":"string","description":"Category labels range like A2:A5"}},"required":["path","sheet","type","dataRange"]}' },
33
+ { name: 'read_word', description: 'Read a Word (.docx) file and return its content as structured markdown with tables.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to .docx file"}},"required":["path"]}' },
34
+ { name: 'write_word', description: 'Create a Word (.docx) file from markdown content. Supports headings, lists, tables, and bold text.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path for the new .docx file"},"content":{"type":"string","description":"Markdown content to write"}},"required":["path","content"]}' },
35
+ { name: 'edit_word', description: 'Edit an existing Word (.docx) file. Supports append (add content at end) and replace (find and replace text) operations.', parameters: '{"type":"object","properties":{"path":{"type":"string","description":"File path to .docx file"},"operations":{"type":"array","description":"Array of edit operations","items":{"type":"object","properties":{"type":{"type":"string","enum":["append","replace"],"description":"append: add content at end, replace: find and replace text"},"content":{"type":"string","description":"Content to append (for append type)"},"target":{"type":"string","description":"Text to find (for replace type)"},"replacement":{"type":"string","description":"Replacement text (for replace type)"}}}}},"required":["path","operations"]}' },
36
+ { name: 'google_gmail_search', description: 'Search Gmail emails by query.', parameters: '{"type":"object","properties":{"query":{"type":"string","description":"Gmail search query"},"maxResults":{"type":"number","description":"Max results (default: 20)"}},"required":["query"]}', enabled: false },
37
+ { name: 'google_gmail_read', description: 'Read full content of a Gmail email by ID.', parameters: '{"type":"object","properties":{"id":{"type":"string","description":"Email ID to read"}},"required":["id"]}', enabled: false },
38
+ { name: 'google_gmail_send', description: 'Send an email via Gmail.', parameters: '{"type":"object","properties":{"to":{"type":"array","items":{"type":"string"},"description":"Recipients"},"subject":{"type":"string","description":"Email subject"},"body":{"type":"string","description":"Email body"},"cc":{"type":"array","items":{"type":"string"},"description":"CC"},"bcc":{"type":"array","items":{"type":"string"},"description":"BCC"}},"required":["to","subject","body"]}', enabled: false },
39
+ { name: 'google_gmail_draft', description: 'Create a Gmail draft (does not send).', parameters: '{"type":"object","properties":{"to":{"type":"array","items":{"type":"string"},"description":"Recipients"},"subject":{"type":"string","description":"Subject"},"body":{"type":"string","description":"Body"}},"required":["to","subject","body"]}', enabled: false },
40
+ { name: 'google_gmail_labels', description: 'List Gmail labels.', parameters: '{"type":"object","properties":{}}', enabled: false },
41
+ { name: 'google_calendar_list', description: 'List Google Calendar events.', parameters: '{"type":"object","properties":{"since":{"type":"string","description":"Start date ISO"},"until":{"type":"string","description":"End date ISO"}}}', enabled: false },
42
+ { name: 'google_calendar_create', description: 'Create a Google Calendar event.', parameters: '{"type":"object","properties":{"title":{"type":"string","description":"Event title"},"startTime":{"type":"string","description":"Start time ISO"},"endTime":{"type":"string","description":"End time ISO"},"description":{"type":"string","description":"Description"},"attendees":{"type":"array","items":{"type":"string"},"description":"Attendee emails"},"location":{"type":"string","description":"Location"}},"required":["title","startTime","endTime"]}', enabled: false },
43
+ { name: 'google_calendar_update', description: 'Update a Google Calendar event.', parameters: '{"type":"object","properties":{"id":{"type":"string","description":"Event ID"},"title":{"type":"string","description":"New title"},"startTime":{"type":"string","description":"New start time"},"endTime":{"type":"string","description":"New end time"}},"required":["id"]}', enabled: false },
44
+ { name: 'google_calendar_availability', description: 'Check calendar availability.', parameters: '{"type":"object","properties":{"startTime":{"type":"string","description":"Start ISO"},"endTime":{"type":"string","description":"End ISO"}},"required":["startTime","endTime"]}', enabled: false },
45
+ { name: 'google_drive_search', description: 'Search Google Drive files by name.', parameters: '{"type":"object","properties":{"query":{"type":"string","description":"File name query"},"pageSize":{"type":"number","description":"Max results"}},"required":["query"]}', enabled: false },
46
+ { name: 'google_drive_read', description: 'Read file content from Google Drive.', parameters: '{"type":"object","properties":{"id":{"type":"string","description":"File ID"}},"required":["id"]}', enabled: false },
47
+ { name: 'google_drive_list', description: 'List files in a Google Drive folder.', parameters: '{"type":"object","properties":{"folderId":{"type":"string","description":"Folder ID (omit for root)"}}}', enabled: false },
48
+ { name: 'google_drive_upload', description: 'Upload a file to Google Drive. Supports local file path or base64 content.', parameters: '{"type":"object","properties":{"filePath":{"type":"string","description":"Local file path (alternative to name+contentBase64)"},"name":{"type":"string","description":"File name"},"contentBase64":{"type":"string","description":"File content as base64"},"mimeType":{"type":"string","description":"MIME type"}}}', enabled: false },
49
+ { name: 'google_drive_create_folder', description: 'Create a new folder in Google Drive.', parameters: '{"type":"object","properties":{"name":{"type":"string","description":"Folder name"},"parentFolderId":{"type":"string","description":"Parent folder ID (omit for root)"}},"required":["name"]}', enabled: false },
50
+ { name: 'google_sheets_read', description: 'Read data from a Google Sheets range and return a markdown table.', parameters: '{"type":"object","properties":{"spreadsheet":{"type":"string","description":"Spreadsheet ID or name"},"range":{"type":"string","description":"Cell range e.g. A1:D10"},"tab":{"type":"string","description":"Tab/sheet name (default: Sheet1)"}},"required":["spreadsheet","range"]}', enabled: false },
51
+ { name: 'google_sheets_list_tabs', description: 'List all tabs/sheets in a Google Sheets spreadsheet with their row and column counts.', parameters: '{"type":"object","properties":{"spreadsheet":{"type":"string","description":"Spreadsheet ID or name"}},"required":["spreadsheet"]}', enabled: false },
52
+ { name: 'google_sheets_update', description: 'Overwrite values in a Google Sheets range.', parameters: '{"type":"object","properties":{"spreadsheet":{"type":"string"},"range":{"type":"string"},"values":{"type":"array","items":{"type":"array"}},"tab":{"type":"string"}},"required":["spreadsheet","range","values"]}', enabled: false },
53
+ { name: 'google_sheets_append', description: 'Append rows to the end of a Google Sheets tab.', parameters: '{"type":"object","properties":{"spreadsheet":{"type":"string"},"values":{"type":"array","items":{"type":"array"}},"tab":{"type":"string"}},"required":["spreadsheet","values"]}', enabled: false },
54
+ { name: 'google_sheets_create', description: 'Create a new Google Sheets spreadsheet.', parameters: '{"type":"object","properties":{"title":{"type":"string","description":"Spreadsheet title"},"initialTab":{"type":"string","description":"Name for the first tab (optional)"},"parentFolderId":{"type":"string","description":"Drive folder ID to create in (optional)"}},"required":["title"]}', enabled: false },
55
+ { name: 'google_sheets_add_tab', description: 'Add a new tab/sheet to an existing Google Sheets spreadsheet.', parameters: '{"type":"object","properties":{"spreadsheet":{"type":"string"},"tabName":{"type":"string"}},"required":["spreadsheet","tabName"]}', enabled: false },
56
+ { name: 'google_sheets_format', description: 'Apply formatting to a Google Sheets cell range.', parameters: '{"type":"object","properties":{"spreadsheet":{"type":"string"},"range":{"type":"string"},"tab":{"type":"string"},"format":{"type":"object","properties":{"bold":{"type":"boolean"},"italic":{"type":"boolean"},"fontSize":{"type":"number"},"fontColor":{"type":"string"},"fillColor":{"type":"string"},"numberFormat":{"type":"string"},"border":{"type":"boolean"}}}},"required":["spreadsheet","range","format"]}', enabled: false },
57
+ { name: 'google_sheets_chart', description: 'Add a chart to a Google Sheets tab.', parameters: '{"type":"object","properties":{"spreadsheet":{"type":"string"},"tab":{"type":"string"},"type":{"type":"string","enum":["BAR","LINE","PIE","COLUMN"]},"dataRange":{"type":"string"},"categoriesRange":{"type":"string"},"title":{"type":"string"}},"required":["spreadsheet","tab","type","dataRange"]}', enabled: false },
58
+ ];
59
+
60
+ async function main() {
61
+ const validNames = new Set(DEFAULT_TOOLS.map(t => t.name));
62
+ const stale = await prisma.tool.findMany({ where: { name: { notIn: [...validNames] } } });
63
+ if (stale.length > 0) {
64
+ await prisma.tool.deleteMany({ where: { name: { notIn: [...validNames] } } });
65
+ console.log(`Removed ${stale.length} stale tools: ${stale.map(t => t.name).join(', ')}`);
66
+ }
67
+
68
+ for (const tool of DEFAULT_TOOLS) {
69
+ const data = { description: tool.description, parameters: tool.parameters };
70
+ if (tool.configSchema !== undefined) {
71
+ data.configSchema = tool.configSchema;
72
+ }
73
+ await prisma.tool.upsert({
74
+ where: { name: tool.name },
75
+ update: data,
76
+ create: { name: tool.name, enabled: tool.enabled ?? true, ...data },
77
+ });
78
+ }
79
+ console.log(`Seeded ${DEFAULT_TOOLS.length} tools`);
80
+
81
+ const mcpConfig = await prisma.setting.findUnique({ where: { key: 'mcp.servers' } });
82
+ if (!mcpConfig) {
83
+ await prisma.setting.create({
84
+ data: {
85
+ key: 'mcp.servers',
86
+ value: JSON.stringify([
87
+ { id: 'playwright', name: 'Playwright Browser', type: 'stdio', command: 'npx', args: ['@playwright/mcp'], enabled: true },
88
+ ]),
89
+ },
90
+ });
91
+ console.log('Seeded default MCP server: playwright');
92
+ }
93
+
94
+ const existingProvider = await prisma.provider.findFirst({ where: { type: 'ollama' } });
95
+ if (!existingProvider) {
96
+ await prisma.provider.create({
97
+ data: {
98
+ name: 'Local Ollama',
99
+ type: 'ollama',
100
+ baseUrl: process.env.OLLAMA_URL || 'http://localhost:11434',
101
+ models: {
102
+ create: [
103
+ { name: process.env.SUMMARY_MODEL || 'llama3.2' },
104
+ { name: process.env.EMBED_MODEL || 'nomic-embed-text' },
105
+ ],
106
+ },
107
+ },
108
+ });
109
+ console.log('Seeded default Ollama provider with models: ' +
110
+ (process.env.SUMMARY_MODEL || 'llama3.2') + ', ' +
111
+ (process.env.EMBED_MODEL || 'nomic-embed-text'));
112
+ }
113
+
114
+ const DEFAULT_PROFILES = [
115
+ { slug: 'researcher', name: 'Researcher', description: 'Read-only research and synthesis', systemPrompt: 'You are a research sub-agent. Gather and synthesize information accurately. Report findings concisely with sources.', allowedTools: JSON.stringify(['search_knowledge','web_search','web_fetch','read_file','grep','glob','list_directory']), builtin: true },
116
+ { slug: 'code-reviewer', name: 'Code Reviewer', description: 'Reviews code for bugs and clarity', systemPrompt: 'You are a code-review sub-agent. Inspect the code and report concrete issues (bugs, risks, simplifications) with file:line references. Do not modify files.', allowedTools: JSON.stringify(['read_file','grep','glob','list_directory']), builtin: true },
117
+ { slug: 'explorer', name: 'Explorer', description: 'Broad codebase search', systemPrompt: 'You are an exploration sub-agent. Locate relevant files and summarize where things live. Return paths and short excerpts, not full files.', allowedTools: JSON.stringify(['grep','glob','list_directory','read_file']), builtin: true },
118
+ { slug: 'general', name: 'General Assistant', description: 'General-purpose agent with full tool access', systemPrompt: 'You are a general-purpose sub-agent. Use any tools available to complete the task. Plan your approach, execute steps methodically, and report back concisely.', allowedTools: '*', builtin: true },
119
+ ];
120
+ for (const p of DEFAULT_PROFILES) {
121
+ await prisma.agentProfile.upsert({
122
+ where: { slug: p.slug },
123
+ update: { name: p.name, description: p.description, systemPrompt: p.systemPrompt, allowedTools: p.allowedTools, builtin: true },
124
+ create: p,
125
+ });
126
+ }
127
+ console.log(`Seeded ${DEFAULT_PROFILES.length} agent profiles`);
128
+ }
129
+
130
+ main()
131
+ .catch(e => { console.error(e); process.exit(1); })
132
+ .finally(() => prisma.$disconnect());