@bpinhosilva/agent-orchestrator 1.0.0-alpha.4 โ†’ 1.0.0-alpha.40

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 (236) hide show
  1. package/CHANGELOG.md +277 -0
  2. package/README.md +270 -49
  3. package/dist/agents/agent-emoji.constants.js +21 -0
  4. package/dist/agents/agents.controller.js +80 -1
  5. package/dist/agents/agents.module.js +6 -1
  6. package/dist/agents/agents.service.js +188 -11
  7. package/dist/agents/default-provider-models.js +22 -0
  8. package/dist/agents/dto/agent-attributes.dto.js +42 -0
  9. package/dist/agents/dto/agent-request.dto.js +12 -0
  10. package/dist/agents/dto/create-agent.dto.js +78 -0
  11. package/dist/agents/dto/update-agent.dto.js +12 -0
  12. package/dist/agents/entities/agent.entity.js +86 -0
  13. package/dist/agents/enums/provider.enum.js +8 -0
  14. package/dist/agents/implementations/claude.agent.js +141 -0
  15. package/dist/agents/implementations/gemini.agent.js +147 -18
  16. package/dist/agents/implementations/ollama.agent.js +131 -0
  17. package/dist/agents/personality.util.js +81 -0
  18. package/dist/agents/registry/agent.registry.js +14 -0
  19. package/dist/app.controller.js +15 -0
  20. package/dist/app.module.js +84 -4
  21. package/dist/app.service.js +3 -0
  22. package/dist/auth/auth.controller.js +178 -0
  23. package/dist/auth/auth.module.js +42 -0
  24. package/dist/auth/auth.service.js +269 -0
  25. package/dist/auth/decorators/current-user.decorator.js +8 -0
  26. package/dist/auth/decorators/public.decorator.js +7 -0
  27. package/dist/auth/decorators/roles.decorator.js +7 -0
  28. package/dist/auth/dto/login.dto.js +33 -0
  29. package/dist/auth/dto/register.dto.js +55 -0
  30. package/dist/auth/dto/update-profile.dto.js +65 -0
  31. package/dist/auth/entities/refresh-token.entity.js +73 -0
  32. package/dist/auth/guards/jwt-auth.guard.js +38 -0
  33. package/dist/auth/guards/roles.guard.js +51 -0
  34. package/dist/auth/strategies/jwt.strategy.js +55 -0
  35. package/dist/cli/commands/index.js +19 -0
  36. package/dist/cli/commands/logs.command.js +92 -0
  37. package/dist/cli/commands/migrate.command.js +109 -0
  38. package/dist/cli/commands/restart.command.js +30 -0
  39. package/dist/cli/commands/run.command.js +106 -0
  40. package/dist/cli/commands/setup.command.js +57 -0
  41. package/dist/cli/commands/status.command.js +23 -0
  42. package/dist/cli/commands/stop.command.js +27 -0
  43. package/dist/cli/constants.js +51 -0
  44. package/dist/cli/env.js +129 -0
  45. package/dist/cli/index.js +76 -0
  46. package/dist/cli/process-manager.js +348 -0
  47. package/dist/cli/setup/admin.js +149 -0
  48. package/dist/cli/setup/index.js +88 -0
  49. package/dist/cli/setup/prompts.js +264 -0
  50. package/dist/cli/setup/validators.js +50 -0
  51. package/dist/cli/types.js +4 -0
  52. package/dist/cli/utils.js +71 -0
  53. package/dist/common/common.module.js +29 -0
  54. package/dist/common/filesystem-storage.service.js +131 -0
  55. package/dist/common/filters/http-exception.filter.js +54 -0
  56. package/dist/common/interfaces/artifact.interface.js +2 -0
  57. package/dist/common/storage-path.helper.js +97 -0
  58. package/dist/common/storage.service.js +6 -0
  59. package/dist/config/env.validation.js +56 -0
  60. package/dist/config/host.defaults.js +9 -0
  61. package/dist/config/port.defaults.js +9 -0
  62. package/dist/config/runtime-paths.js +38 -0
  63. package/dist/config/typeorm.js +66 -0
  64. package/dist/database/migration-sql.utils.js +16 -0
  65. package/dist/database/migration-state.js +65 -0
  66. package/dist/main.js +109 -4
  67. package/dist/migrations/1775266979821-InitialSchema.js +57 -0
  68. package/dist/migrations/1775268200000-SeedDefaultProvidersAndModels.js +45 -0
  69. package/dist/migrations/1775269500000-BackfillDefaultModelProviderIds.js +51 -0
  70. package/dist/migrations/1775270000000-AddOllamaProviderAndModel.js +33 -0
  71. package/dist/migrations/1775271000000-AddAgentEmoji.js +21 -0
  72. package/dist/migrations/1775272000000-CreateSystemSettings.js +41 -0
  73. package/dist/migrations/1775290000000-AddAgentAttributes.js +20 -0
  74. package/dist/migrations/1775487994565-20260406-AddMissingIndexesAndFKActions.js +134 -0
  75. package/dist/migrations/1775495000000-SetPostgresIdDefaults.js +47 -0
  76. package/dist/migrations/1775698253996-AddArtifactsToRecurrentTaskExecs.js +95 -0
  77. package/dist/migrations/1775935855172-MigrateSimpleJsonToJsonb.js +22 -0
  78. package/dist/migrations/1775936433494-RenameSnakeCaseColumnsToCamelCase.js +17 -0
  79. package/dist/migrations/1775938708731-ConvertIdsToUuid.js +77 -0
  80. package/dist/migrations/1775939208983-RemoveProviderIdFromAgents.js +30 -0
  81. package/dist/migrations/1775940000000-DropArtifactsTable.js +13 -0
  82. package/dist/models/dto/create-model.dto.js +32 -0
  83. package/dist/models/dto/update-model.dto.js +12 -0
  84. package/dist/models/entities/model.entity.js +60 -0
  85. package/dist/models/models.controller.js +102 -0
  86. package/dist/models/models.module.js +26 -0
  87. package/dist/models/models.service.js +88 -0
  88. package/dist/projects/dto/add-member.dto.js +32 -0
  89. package/dist/projects/dto/create-project.dto.js +45 -0
  90. package/dist/projects/dto/update-project.dto.js +28 -0
  91. package/dist/projects/entities/project-member.entity.js +59 -0
  92. package/dist/projects/entities/project.entity.js +83 -0
  93. package/dist/projects/projects.controller.js +140 -0
  94. package/dist/projects/projects.module.js +30 -0
  95. package/dist/projects/projects.service.js +216 -0
  96. package/dist/providers/dto/create-provider.dto.js +32 -0
  97. package/dist/providers/dto/update-provider.dto.js +12 -0
  98. package/dist/providers/entities/provider.entity.js +54 -0
  99. package/dist/providers/providers.controller.js +102 -0
  100. package/dist/providers/providers.module.js +25 -0
  101. package/dist/providers/providers.service.js +72 -0
  102. package/dist/system-settings/dto/update-system-settings.dto.js +98 -0
  103. package/dist/system-settings/entities/system-settings.entity.js +44 -0
  104. package/dist/system-settings/system-settings.controller.js +57 -0
  105. package/dist/system-settings/system-settings.module.js +25 -0
  106. package/dist/system-settings/system-settings.service.js +60 -0
  107. package/dist/tasks/comments.controller.js +117 -0
  108. package/dist/tasks/comments.service.js +152 -0
  109. package/dist/tasks/dto/create-comment.dto.js +46 -0
  110. package/dist/tasks/dto/create-recurrent-task.dto.js +62 -0
  111. package/dist/tasks/dto/create-task.dto.js +61 -0
  112. package/dist/tasks/dto/update-comment.dto.js +26 -0
  113. package/dist/tasks/dto/update-recurrent-task.dto.js +12 -0
  114. package/dist/tasks/dto/update-task.dto.js +12 -0
  115. package/dist/tasks/entities/comment.entity.js +94 -0
  116. package/dist/tasks/entities/recurrent-task-exec.entity.js +81 -0
  117. package/dist/tasks/entities/recurrent-task.entity.js +107 -0
  118. package/dist/tasks/entities/task.entity.js +126 -0
  119. package/dist/tasks/recurrent-task-scheduler.service.js +234 -0
  120. package/dist/tasks/recurrent-tasks.controller.js +125 -0
  121. package/dist/tasks/recurrent-tasks.service.js +169 -0
  122. package/dist/tasks/task-scheduler.service.js +308 -0
  123. package/dist/tasks/tasks.controller.js +126 -0
  124. package/dist/tasks/tasks.module.js +59 -0
  125. package/dist/tasks/tasks.service.js +171 -0
  126. package/dist/ui/assets/AgentFleet-KWtvV65G.js +1 -0
  127. package/dist/ui/assets/AttachmentItem-C-dVDZzk.js +1 -0
  128. package/dist/ui/assets/ConfirmDialog-K_zBOzgz.js +1 -0
  129. package/dist/ui/assets/CreateRecurrentTaskModal-DoCnygQ_.js +1 -0
  130. package/dist/ui/assets/CreateTaskModal-CwqWIjtn.js +1 -0
  131. package/dist/ui/assets/ExecLogModal-DMde_Nmp.js +1 -0
  132. package/dist/ui/assets/MarkdownField-CijtVjB5.js +1 -0
  133. package/dist/ui/assets/Profile-BF_0uqTD.js +1 -0
  134. package/dist/ui/assets/ProjectDetail-DxSwFBLV.js +1 -0
  135. package/dist/ui/assets/Providers-Dvgpa-Of.js +1 -0
  136. package/dist/ui/assets/Scheduler-wffCLek8.js +2 -0
  137. package/dist/ui/assets/Settings-hEm8leNX.js +1 -0
  138. package/dist/ui/assets/TaskDetail-oOyTrEgR.js +1 -0
  139. package/dist/ui/assets/TaskExecutions-C254Hpwn.js +3 -0
  140. package/dist/ui/assets/TaskManager-LfSDtUb0.js +9 -0
  141. package/dist/ui/assets/UserDetail-oSfzMgTV.js +1 -0
  142. package/dist/ui/assets/Users-lYJybTKR.js +1 -0
  143. package/dist/ui/assets/activity-D2aBFbnN.js +1 -0
  144. package/dist/ui/assets/agentEmojis-CEz5pgbJ.js +1 -0
  145. package/dist/ui/assets/box-3f35ZKNV.js +1 -0
  146. package/dist/ui/assets/brain-DwFWAhZ9.js +1 -0
  147. package/dist/ui/assets/check-BhOeS9mA.js +1 -0
  148. package/dist/ui/assets/chevron-down-DOfOMDZp.js +1 -0
  149. package/dist/ui/assets/chevron-left-QkqjdeR4.js +1 -0
  150. package/dist/ui/assets/chevron-right-KmgHEojr.js +1 -0
  151. package/dist/ui/assets/client-CylGrWpP.js +6 -0
  152. package/dist/ui/assets/clock-BTNXfvPT.js +1 -0
  153. package/dist/ui/assets/cn-D-eQBQBv.js +1 -0
  154. package/dist/ui/assets/cpu-BN5F1CHN.js +1 -0
  155. package/dist/ui/assets/database-HQ8maqdI.js +1 -0
  156. package/dist/ui/assets/download-BVJ99Xi2.js +1 -0
  157. package/dist/ui/assets/eye-CSLoB6-a.js +1 -0
  158. package/dist/ui/assets/file-text-CRyDRJx0.js +1 -0
  159. package/dist/ui/assets/index-2EhUaHN_.js +3 -0
  160. package/dist/ui/assets/index-gxaIk1id.css +2 -0
  161. package/dist/ui/assets/layers-BiK6YtWR.js +1 -0
  162. package/dist/ui/assets/loader-circle-BXAv24hD.js +1 -0
  163. package/dist/ui/assets/paperclip-THy_ev9U.js +1 -0
  164. package/dist/ui/assets/providers-DGytjnDB.js +1 -0
  165. package/dist/ui/assets/recurrent-tasks-DZBdtlAy.js +1 -0
  166. package/dist/ui/assets/refresh-cw-BGkg-lCf.js +1 -0
  167. package/dist/ui/assets/rocket-DzN1Mizs.js +1 -0
  168. package/dist/ui/assets/rolldown-runtime-COnpUsM8.js +1 -0
  169. package/dist/ui/assets/save-zLR2Bpx5.js +1 -0
  170. package/dist/ui/assets/send-Bwuzypop.js +1 -0
  171. package/dist/ui/assets/shield-alert-BRwAB12k.js +1 -0
  172. package/dist/ui/assets/shield-check-CdGbbgI2.js +1 -0
  173. package/dist/ui/assets/sparkles-Cw1RdUld.js +1 -0
  174. package/dist/ui/assets/taskFormSchemas-mRaYZNuY.js +10 -0
  175. package/dist/ui/assets/tasks-CaT1ysud.js +1 -0
  176. package/dist/ui/assets/terminal-DXcWSHx9.js +1 -0
  177. package/dist/ui/assets/trash-2-BlARVDmE.js +1 -0
  178. package/dist/ui/assets/trending-up-B76ihhdP.js +1 -0
  179. package/dist/ui/assets/usePersistentFlag-DSeFEXMm.js +1 -0
  180. package/dist/ui/assets/user-DpMk7aqI.js +1 -0
  181. package/dist/ui/assets/user-plus-CiJgTJ8j.js +1 -0
  182. package/dist/ui/assets/users-D8u7T4bA.js +1 -0
  183. package/dist/ui/assets/vendor-dnd-CxfOy4-Z.js +5 -0
  184. package/dist/ui/assets/vendor-forms-BmyvqYDG.js +39 -0
  185. package/dist/ui/assets/vendor-markdown-Dl_1qnne.js +29 -0
  186. package/dist/ui/assets/vendor-motion-CPra8At-.js +9 -0
  187. package/dist/ui/assets/vendor-query-BMPnNmZi.js +1 -0
  188. package/dist/ui/assets/vendor-react-CiDbU5Ns.js +11 -0
  189. package/dist/ui/assets/zap-BI5M4WZX.js +1 -0
  190. package/dist/ui/avatar-presets/avatar-01.svg +11 -0
  191. package/dist/ui/avatar-presets/avatar-02.svg +12 -0
  192. package/dist/ui/avatar-presets/avatar-03.svg +12 -0
  193. package/dist/ui/avatar-presets/avatar-04.svg +12 -0
  194. package/dist/ui/avatar-presets/avatar-05.svg +12 -0
  195. package/dist/ui/avatar-presets/avatar-06.svg +12 -0
  196. package/dist/ui/avatar-presets/avatar-07.svg +12 -0
  197. package/dist/ui/avatar-presets/avatar-08.svg +12 -0
  198. package/dist/ui/favicon.svg +1 -0
  199. package/dist/ui/icons.svg +24 -0
  200. package/dist/ui/index.html +23 -0
  201. package/dist/uploads/parse-filepath.pipe.js +26 -0
  202. package/dist/uploads/uploads.controller.js +155 -0
  203. package/dist/uploads/uploads.module.js +24 -0
  204. package/dist/users/avatar.constants.js +35 -0
  205. package/dist/users/dto/create-user.dto.js +55 -0
  206. package/dist/users/dto/list-users-query.dto.js +49 -0
  207. package/dist/users/dto/update-user.dto.js +29 -0
  208. package/dist/users/entities/user.entity.js +61 -0
  209. package/dist/users/users.controller.js +85 -0
  210. package/dist/users/users.module.js +25 -0
  211. package/dist/users/users.service.js +127 -0
  212. package/package.json +101 -17
  213. package/dist/agents/agents.controller.d.ts +0 -8
  214. package/dist/agents/agents.controller.js.map +0 -1
  215. package/dist/agents/agents.module.d.ts +0 -2
  216. package/dist/agents/agents.module.js.map +0 -1
  217. package/dist/agents/agents.service.d.ts +0 -10
  218. package/dist/agents/agents.service.js.map +0 -1
  219. package/dist/agents/dto/agent-request.dto.d.ts +0 -3
  220. package/dist/agents/dto/agent-request.dto.js.map +0 -1
  221. package/dist/agents/implementations/gemini.agent.d.ts +0 -8
  222. package/dist/agents/implementations/gemini.agent.js.map +0 -1
  223. package/dist/agents/interfaces/agent.interface.d.ts +0 -8
  224. package/dist/agents/interfaces/agent.interface.js.map +0 -1
  225. package/dist/app.controller.d.ts +0 -6
  226. package/dist/app.controller.js.map +0 -1
  227. package/dist/app.module.d.ts +0 -2
  228. package/dist/app.module.js.map +0 -1
  229. package/dist/app.service.d.ts +0 -3
  230. package/dist/app.service.js.map +0 -1
  231. package/dist/cli.d.ts +0 -2
  232. package/dist/cli.js +0 -21
  233. package/dist/cli.js.map +0 -1
  234. package/dist/main.d.ts +0 -1
  235. package/dist/main.js.map +0 -1
  236. package/dist/tsconfig.build.tsbuildinfo +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,280 @@
1
+ # [1.0.0-alpha.40](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2026-04-17)
2
+
3
+
4
+ ### Features
5
+
6
+ * add Ollama provider and model support ([7c24c38](https://github.com/bpinhosilva/agent-orchestrator/commit/7c24c38704975c0083485e1e2a4552997cd17e34))
7
+
8
+ # [1.0.0-alpha.39](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2026-04-17)
9
+
10
+
11
+ ### Features
12
+
13
+ * **docs:** add HOST configuration to README and CLI documentation ([8e7820e](https://github.com/bpinhosilva/agent-orchestrator/commit/8e7820e554088bc976559780088927c469f5d059))
14
+
15
+ # [1.0.0-alpha.38](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2026-04-17)
16
+
17
+
18
+ ### Features
19
+
20
+ * **TaskManager:** refactor task management with lazy loading and improved state handling ([8988277](https://github.com/bpinhosilva/agent-orchestrator/commit/898827701c7824c93b063fc6ab88862a7d79110b))
21
+
22
+ # [1.0.0-alpha.37](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2026-04-13)
23
+
24
+
25
+ ### Features
26
+
27
+ * **models:** implement model deletion with agent association check and enhance UI for model mgn ([e4cc599](https://github.com/bpinhosilva/agent-orchestrator/commit/e4cc599263f910e80e00116218e9408ec2ac2bf3))
28
+
29
+ # [1.0.0-alpha.36](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2026-04-13)
30
+
31
+
32
+ ### Performance Improvements
33
+
34
+ * **db:** optimize schema with composite and missing indexes ([091d7c4](https://github.com/bpinhosilva/agent-orchestrator/commit/091d7c417d9b3291d704754f8cd0b22924aec871))
35
+
36
+ # [1.0.0-alpha.35](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2026-04-11)
37
+
38
+
39
+ ### Features
40
+
41
+ * add Spanish release notes and update task priority handling ([42484db](https://github.com/bpinhosilva/agent-orchestrator/commit/42484db728a48eed290c00be180598718ca572a5))
42
+
43
+ # [1.0.0-alpha.34](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2026-04-09)
44
+
45
+
46
+ ### Features
47
+
48
+ * enhance file path validation and logging in uploads, add ExecLogModal component ([2d9ca31](https://github.com/bpinhosilva/agent-orchestrator/commit/2d9ca31fd67924958f417d113ec974252858782d))
49
+ * **migrations:** add migration to set default UUIDs for ID columns ([ea9289b](https://github.com/bpinhosilva/agent-orchestrator/commit/ea9289b8623d244737dfb7340a58637c8967edf8))
50
+ * refactor task and comment entities to use Artifact interface for artifacts ([806fde7](https://github.com/bpinhosilva/agent-orchestrator/commit/806fde736b734de0cb3cb9a7a05c5c3eb2d7f171))
51
+ * **ui:** integrate MarkdownField for task description input and enhance TaskExecutions ([d4b91e8](https://github.com/bpinhosilva/agent-orchestrator/commit/d4b91e8b9c392f77a2cab3c0a5bcc641110bced2))
52
+
53
+ # [1.0.0-alpha.33](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2026-04-06)
54
+
55
+
56
+ ### Features
57
+
58
+ * **cli:** refactor project, split into multiple components ([f18903b](https://github.com/bpinhosilva/agent-orchestrator/commit/f18903be0b1b09a1e651918d081d96267bfe2bc6))
59
+
60
+ # [1.0.0-alpha.32](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2026-04-06)
61
+
62
+
63
+ ### Features
64
+
65
+ * enhance task scheduling with dynamic settings and improved error handling ([cbb5097](https://github.com/bpinhosilva/agent-orchestrator/commit/cbb50979f8e79e6cdc581ed29fa0933f82c3e4ee))
66
+
67
+ # [1.0.0-alpha.31](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2026-04-06)
68
+
69
+
70
+ ### Features
71
+
72
+ * add environment variable setup and JWT refresh secret handling ([c9dfd05](https://github.com/bpinhosilva/agent-orchestrator/commit/c9dfd05070dfc4bc0e34e3853d0efe85d84d404a))
73
+
74
+ # [1.0.0-alpha.30](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2026-04-05)
75
+
76
+
77
+ ### Features
78
+
79
+ * add UsersPage component with user management features and tests ([bb46646](https://github.com/bpinhosilva/agent-orchestrator/commit/bb466468849b01dd30bc228e3c0375b6aea874e8))
80
+ * integrate Personality Matrix component, refactor storage service ([2aa80d3](https://github.com/bpinhosilva/agent-orchestrator/commit/2aa80d3b64cd6431ba0113182dcb5d871075fcfd))
81
+ * integrate wait-on for improved dev workflow ([af26318](https://github.com/bpinhosilva/agent-orchestrator/commit/af2631820f5fc95b7b85c9f6ec52157b7df74264))
82
+
83
+ # [1.0.0-alpha.29](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2026-04-04)
84
+
85
+
86
+ ### Features
87
+
88
+ * **migrations:** add seed and backfill migrations ([5991146](https://github.com/bpinhosilva/agent-orchestrator/commit/5991146cbb3bc971bddf73295dcf7dbd3e2b74e4))
89
+
90
+ # [1.0.0-alpha.28](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2026-04-04)
91
+
92
+
93
+ ### Features
94
+
95
+ * **migrations:** add initial schema with users, providers, models, agents, projects, tasks ([e08e338](https://github.com/bpinhosilva/agent-orchestrator/commit/e08e3388794e8a556be3584daedd30252a8904fb))
96
+ * **migrations:** db schema ([a0a98b7](https://github.com/bpinhosilva/agent-orchestrator/commit/a0a98b725e09f6d3a9a8fc2305704772195fe2d8))
97
+
98
+ # [1.0.0-alpha.27](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2026-04-04)
99
+
100
+
101
+ ### Features
102
+
103
+ * update default port to 15789 for production, enhance migration handling, and refactor env ([e59ba31](https://github.com/bpinhosilva/agent-orchestrator/commit/e59ba3105c5ce7367281bf3ee637bcc3bc124dcc))
104
+ * update mascot image format and adjust display size in README ([6779313](https://github.com/bpinhosilva/agent-orchestrator/commit/6779313a26a6906ecb47a8819789dc8312f3d6fc))
105
+
106
+ # [1.0.0-alpha.26](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2026-04-04)
107
+
108
+
109
+ ### Features
110
+
111
+ * add AGENTS.md file ([51c706f](https://github.com/bpinhosilva/agent-orchestrator/commit/51c706f8784dd354280d853f605bb8c69e53175c))
112
+ * implement containerization, add health check endpoint, and update RBAC ([17149d3](https://github.com/bpinhosilva/agent-orchestrator/commit/17149d32a623f532308ba0f415a4b2ba332ec794))
113
+ * **refactor:** project terminology and update UI components ([47e5cb4](https://github.com/bpinhosilva/agent-orchestrator/commit/47e5cb4d45c05f893ebdd898f02ceeadcd213652))
114
+
115
+ # [1.0.0-alpha.25](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2026-04-03)
116
+
117
+
118
+ ### Features
119
+
120
+ * **cli:** enhance setup command with detailed configuration options and improved process ([2b7f51d](https://github.com/bpinhosilva/agent-orchestrator/commit/2b7f51d16e8f1949e222c03968d925030e4b0574))
121
+
122
+ # [1.0.0-alpha.24](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2026-04-02)
123
+
124
+
125
+ ### Features
126
+
127
+ * update README and documentation files with additional references and streamlined content ([ae7b1ac](https://github.com/bpinhosilva/agent-orchestrator/commit/ae7b1acbd47eebbc91b154f2b54da83eb8da0be8))
128
+
129
+ # [1.0.0-alpha.23](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2026-04-02)
130
+
131
+
132
+ ### Features
133
+
134
+ * enhance project management with user roles and member management ([877832f](https://github.com/bpinhosilva/agent-orchestrator/commit/877832fc4ad8d77499124a4da23c14a1270622a4))
135
+ * implement release workflow with semantic release and build steps; remove old release.yml ([f17eb48](https://github.com/bpinhosilva/agent-orchestrator/commit/f17eb48c64b165c8fd05e142d175716f7990f670))
136
+ * update CI workflow to include E2E and UI tests; bump lodash version ([b8ceee6](https://github.com/bpinhosilva/agent-orchestrator/commit/b8ceee6adf0855b54d4a45d959e87ec338c55887))
137
+
138
+ # [1.0.0-alpha.22](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2026-04-02)
139
+
140
+
141
+ ### Features
142
+
143
+ * add InitialsAvatar component and do some refactor ([417eff3](https://github.com/bpinhosilva/agent-orchestrator/commit/417eff3bdf4ac8cf072c99fc56744a3a93807a31))
144
+
145
+ # [1.0.0-alpha.21](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2026-03-30)
146
+
147
+
148
+ ### Features
149
+
150
+ * enhance JWT security by specifying HS256 algorithm and improve logging in services ([349c94b](https://github.com/bpinhosilva/agent-orchestrator/commit/349c94b31bfdcc2f397cd81848bb2fd3b977a438))
151
+
152
+ # [1.0.0-alpha.20](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2026-03-30)
153
+
154
+
155
+ ### Features
156
+
157
+ * implement security fixes ([f570f92](https://github.com/bpinhosilva/agent-orchestrator/commit/f570f92a10cf1473c36a0145c160f6e23905bb1f))
158
+
159
+ # [1.0.0-alpha.19](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2026-03-30)
160
+
161
+
162
+ ### Features
163
+
164
+ * implement transaction management in services and tests for improved data integrity ([7b213da](https://github.com/bpinhosilva/agent-orchestrator/commit/7b213da8e9ee46da2e40f3e51e3d61c8a50ac850))
165
+
166
+ # [1.0.0-alpha.18](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2026-03-29)
167
+
168
+
169
+ ### Features
170
+
171
+ * implement automated database migrations and interactive admin user setup in CLI ([6868b13](https://github.com/bpinhosilva/agent-orchestrator/commit/6868b137ad80c85d4ffc56b884b8016df8a3c533))
172
+
173
+ # [1.0.0-alpha.17](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2026-03-29)
174
+
175
+
176
+ ### Features
177
+
178
+ * implement recurrent task scheduling system with backend services and UI management modal ([b3c699a](https://github.com/bpinhosilva/agent-orchestrator/commit/b3c699a5b7eb261458d97a7a0d40e5071e33fb1e))
179
+
180
+ # [1.0.0-alpha.16](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2026-03-28)
181
+
182
+
183
+ ### Features
184
+
185
+ * implement scheduler page, add database indexes for performance, and update release workflow ([b4e067a](https://github.com/bpinhosilva/agent-orchestrator/commit/b4e067a1b20e4275214309c1241c163b456260da))
186
+
187
+ # [1.0.0-alpha.15](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2026-03-28)
188
+
189
+
190
+ ### Features
191
+
192
+ * implement user authentication system with JWT, registration, and login functionality ([63582fa](https://github.com/bpinhosilva/agent-orchestrator/commit/63582fa8f318c8a6bc174795364a4d3cbd221d45))
193
+
194
+ # [1.0.0-alpha.14](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2026-03-27)
195
+
196
+
197
+ ### Features
198
+
199
+ * add CreateTaskDto ([1604945](https://github.com/bpinhosilva/agent-orchestrator/commit/1604945737b5df5480c6c0814c369902f7cc9142))
200
+ * implement transient agent instances with dynamic configurationn ([5d57b08](https://github.com/bpinhosilva/agent-orchestrator/commit/5d57b0886edf4b14d93ab76f245f4311b6657f7d))
201
+
202
+ # [1.0.0-alpha.13](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2026-03-26)
203
+
204
+
205
+ ### Features
206
+
207
+ * add Claude agent implementation with Anthropic SDK and refactor agent-provider ([1400a0d](https://github.com/bpinhosilva/agent-orchestrator/commit/1400a0dec6beb8393ddc4c5a23b9b860532079e8))
208
+
209
+ # [1.0.0-alpha.12](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2026-03-24)
210
+
211
+
212
+ ### Features
213
+
214
+ * add .npmrc to enable legacy peer dependencies ([2f41a07](https://github.com/bpinhosilva/agent-orchestrator/commit/2f41a0747e3cc862241f90c24405c6ad0976557b))
215
+ * implement comprehensive project management, task comments with attachments ([10eb382](https://github.com/bpinhosilva/agent-orchestrator/commit/10eb38268d50ff9418a3e7af1788d55c759522a9))
216
+ * implement task detail view with comment polling, numeric priorities, and enhanced task card ([7a38155](https://github.com/bpinhosilva/agent-orchestrator/commit/7a38155ac796dbe528d48a340a0e6be7fa0150a3))
217
+ * introduce a task scheduler service for automated agent task assignment and execution ([d756f10](https://github.com/bpinhosilva/agent-orchestrator/commit/d756f10c441aadb3b31335a55926700b5518ec9e))
218
+
219
+ # [1.0.0-alpha.11](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2026-03-24)
220
+
221
+
222
+ ### Bug Fixes
223
+
224
+ * downgrade class-validator from ^0.15.1 to ^0.14.1 ([6d9bb29](https://github.com/bpinhosilva/agent-orchestrator/commit/6d9bb291145cdfad7d8c5f4fc8a7ac6ee48ee776))
225
+
226
+
227
+ ### Features
228
+
229
+ * introduce task management UI with draggable cards and refactor provider ([1002dd1](https://github.com/bpinhosilva/agent-orchestrator/commit/1002dd1ac373fe4f6c3acb2eb6e9345b3ec35aba))
230
+
231
+ # [1.0.0-alpha.10](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2026-03-22)
232
+
233
+
234
+ ### Features
235
+
236
+ * add agent probing functionality with a new API endpoint, service logic ([f71abb6](https://github.com/bpinhosilva/agent-orchestrator/commit/f71abb601745b7f2ae5c1f8be53143429302c1d2))
237
+
238
+ # [1.0.0-alpha.9](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2026-03-22)
239
+
240
+
241
+ ### Features
242
+
243
+ * implement provider and model management UI and API, and enhance agent configuration ([01dbe34](https://github.com/bpinhosilva/agent-orchestrator/commit/01dbe345b8763da433682d7bc185c017e5b5d5d9))
244
+
245
+ # [1.0.0-alpha.8](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2026-03-22)
246
+
247
+
248
+ ### Features
249
+
250
+ * add initial user interface for agent management and orchestration ([7a27019](https://github.com/bpinhosilva/agent-orchestrator/commit/7a270197691453384e5827987574f94e93cad7fb))
251
+
252
+ # [1.0.0-alpha.7](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2026-03-21)
253
+
254
+
255
+ ### Features
256
+
257
+ * add user management module, introduce task output field, and include a design document ([7d0717d](https://github.com/bpinhosilva/agent-orchestrator/commit/7d0717d5a566435641e46b2f4b40101df0f62ed6))
258
+
259
+ # [1.0.0-alpha.6](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2026-03-21)
260
+
261
+
262
+ ### Features
263
+
264
+ * implement project and task management modules, including entities, DTOs, services, controllers ([3df2c2a](https://github.com/bpinhosilva/agent-orchestrator/commit/3df2c2a6d0bdf4e3e4edbf12f544a8e12970e2dd))
265
+
266
+ # [1.0.0-alpha.5](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2026-03-21)
267
+
268
+
269
+ ### Bug Fixes
270
+
271
+ * **ci:** use legacy-peer-deps to resolve peer dependency conflicts ([b450b45](https://github.com/bpinhosilva/agent-orchestrator/commit/b450b4500ff02addb1bca6cc7f6a40c93e442e7f))
272
+
273
+
274
+ ### Features
275
+
276
+ * implement models and providers modules add swagger documentation, and update agents ([b6e8245](https://github.com/bpinhosilva/agent-orchestrator/commit/b6e824547f4f603cecf0352b383d20a078fe6662))
277
+
1
278
  # [1.0.0-alpha.4](https://github.com/bpinhosilva/agent-orchestrator/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2026-03-20)
2
279
 
3
280
 
package/README.md CHANGED
@@ -1,75 +1,296 @@
1
1
  # Agent Orchestrator
2
2
 
3
- [![CI](https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/ci.yml/badge.svg)](https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/ci.yml)
4
- [![Release](https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/release.yml/badge.svg)](https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/release.yml)
5
- [![Gitleaks](https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/gitleaks.yml/badge.svg)](https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/gitleaks.yml)
6
-
7
- Agent Orchestrator is an open-source project designed to manage and orchestrate AI agents using both back-end services and front-end applications. It provides an automated agentic execution environment where you can create multiple agent profiles (e.g., Head Agent, Researcher, CMO) and delegate tasks to them through automated workflows.
8
-
9
- ## Features (In Progress & Planned)
10
- - **Agent Delegation**: Delegate tasks to specialized AI agents.
11
- - **Job Scheduler**: Create and schedule recurring agentic tasks.
12
- - **Workflow Engine**: Drag-and-drop workflow builder supporting triggers, agent chaining, and outputs.
13
- - **Agent Capabilities**: File reading/writing, web search, email capabilities, and image generation using NanoBanana.
14
- - **TUI/CLI Tooling**: CLI executables to manage the installation and local agent configuration.
15
-
16
- ## Current Architecture
17
- - **Backend Framework**: NestJS + TypeScript
18
- - **Frontend SPA**: React (Currently served as a single placeholder HTML file by the backend for MVP)
19
- - **Database**: PostgreSQL (via Docker Compose)
20
- - **Testing**: Jest (TDD Approach with Unit & E2E)
21
- - **Architecture**: 3-Tier (Controller, Service, DAL/Adapter Interfaces)
3
+ <p align="center">
4
+ <img src="https://raw.githubusercontent.com/bpinhosilva/agent-orchestrator/main/docs/assets/lupy-mascot.webp" alt="Lupy, the Agent Orchestrator mascot" width="500" />
5
+ </p>
6
+
7
+ <p align="center"><em>Lupy, the project mascot, inspired by Bruno's dog and companion of 10 years.</em></p>
8
+
9
+ <p align="center">
10
+ <a href="https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/ci.yml"><img src="https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
11
+ <a href="https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/gitleaks.yml"><img src="https://github.com/bpinhosilva/agent-orchestrator/actions/workflows/gitleaks.yml/badge.svg" alt="Gitleaks" /></a>
12
+ <a href="https://socket.dev/npm/package/@bpinhosilva/agent-orchestrator"><img src="https://socket.dev/api/badge/npm/package/@bpinhosilva/agent-orchestrator" alt="Socket Badge" /></a>
13
+ </p>
14
+
15
+ <p align="center">
16
+ <a href="docs/i18n/pt-br/README.md">๐Ÿ‡ง๐Ÿ‡ท Portuguรชs (Brasil)</a> &nbsp;&middot;&nbsp;
17
+ <a href="docs/i18n/es-es/README.md">๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol (Espaรฑa)</a>
18
+ </p>
19
+
20
+ Agent Orchestrator is an open-source platform for managing AI agents, tasks, and project-scoped automation across multiple model providers. It combines a NestJS API, a React dashboard, a packaged CLI/runtime, and Docker deployment options for both local use and production-style environments.
21
+
22
+ ## Current capabilities
23
+
24
+ - Multi-provider agent execution with Google Gemini, Anthropic Claude, and Ollama (local or cloud)
25
+ - Agent profiles with provider/model selection
26
+ - Project management with project membership and RBAC
27
+ - Task execution plus recurring scheduling
28
+ - File upload and artifact-backed task workflows
29
+ - Packaged CLI/runtime for setup, run, status, logs, stop, and migrate
30
+ - React dashboard served by the backend or packaged runtime
31
+
32
+ ## Planned direction
33
+
34
+ - Richer workflow orchestration and agent chaining
35
+ - Broader agent tool integrations
36
+ - Expanded runtime and deployment ergonomics
37
+
38
+ ## Architecture at a glance
39
+
40
+ | Area | Stack |
41
+ | --- | --- |
42
+ | Backend | NestJS 11 + TypeScript 5 |
43
+ | Frontend | React SPA |
44
+ | Database | PostgreSQL (production) / SQLite via `better-sqlite3` (local/runtime) |
45
+ | ORM | TypeORM |
46
+ | Auth | JWT access/refresh tokens via httpOnly cookies |
47
+ | Packaging | npm package with bundled backend, CLI, and UI assets |
22
48
 
23
49
  ## Prerequisites
24
- - [Node.js](https://nodejs.org/) (v18+)
25
- - [Docker](https://www.docker.com/) and Docker Compose (Optional for local PostgreSQL deployment)
26
- - A [Google Gemini API Key](https://aistudio.google.com/)
27
50
 
28
- ## Installation
51
+ - [Node.js](https://nodejs.org/) 24 or newer
52
+ - npm
53
+ - [Docker](https://www.docker.com/) and Docker Compose (optional)
54
+ - At least one provider API key or local model server to execute agents:
55
+ - [Google Gemini API key](https://aistudio.google.com/)
56
+ - [Anthropic API key](https://console.anthropic.com/)
57
+ - [Ollama](https://ollama.com/) running locally (no key required) or a cloud Ollama endpoint
58
+
59
+ ## Quick start
60
+
61
+ Choose the path that matches how you want to use the project:
62
+
63
+ - **Packaged CLI/runtime**: quickest way to run the app locally as an installed tool
64
+ - **Source checkout**: best path for development and contributing
65
+
66
+ ### Option A: packaged CLI/runtime
67
+
68
+ ```bash
69
+ npm install -g @bpinhosilva/agent-orchestrator
70
+ agent-orchestrator setup
71
+ agent-orchestrator run
72
+ agent-orchestrator restart
73
+ agent-orchestrator status
74
+ ```
75
+
76
+ `setup` can create the runtime `.env`, run migrations, seed an admin user, and prompt you to apply pending migrations after package updates. `run` does not upgrade the database automatically. The default runtime home is `~/.agent-orchestrator`, or `${AGENT_ORCHESTRATOR_HOME}` if you set it explicitly.
77
+
78
+ For deeper CLI usage, see [docs/CLI.md](docs/CLI.md).
79
+
80
+ ### Option B: source checkout
81
+
82
+ ```bash
83
+ git clone https://github.com/bpinhosilva/agent-orchestrator.git
84
+ cd agent-orchestrator
85
+ npm install
86
+ npm rebuild
87
+ npm run build:all
88
+ ```
89
+
90
+ > **Note**: The repository uses `ignore-scripts=true` in `.npmrc` for supply-chain hardening. After `npm install`, run `npm rebuild --ignore-scripts=false` so native modules such as `bcrypt` and `better-sqlite3` are actually compiled.
91
+
92
+ If you want to use the packaged CLI behavior from a source checkout, run the built entrypoint directly:
93
+
94
+ ```bash
95
+ node dist/cli/index.js --help
96
+ ```
97
+
98
+ ## Configure the runtime
99
+
100
+ The app loads configuration from:
101
+
102
+ - `${AGENT_ORCHESTRATOR_HOME}/.env` when `AGENT_ORCHESTRATOR_HOME` is set
103
+ - `.env` in the project/package root otherwise
104
+
105
+ Example `.env`:
106
+
107
+ ```bash
108
+ # Required
109
+ JWT_SECRET="replace-with-a-secret-at-least-32-characters-long"
110
+ JWT_REFRESH_SECRET="replace-with-another-secret-at-least-32-characters-long"
111
+
112
+ # Provider keys (optional until you want to execute agents)
113
+ GEMINI_API_KEY=""
114
+ ANTHROPIC_API_KEY=""
115
+
116
+ # Ollama (local by default, fill in OLLAMA_HOST and OLLAMA_API_KEY for cloud usage)
117
+ OLLAMA_HOST=http://127.0.0.1:11434
118
+ OLLAMA_API_KEY=""
119
+
120
+ # Database
121
+ DB_TYPE=sqlite
122
+ DATABASE_URL=
123
+
124
+ # Runtime
125
+ HOST=127.0.0.1
126
+ PORT=15789
127
+ NODE_ENV=production
128
+ ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3000
129
+ SCHEDULER_ENABLED=true
130
+ DB_LOGGING=false
131
+ SERVE_STATIC_UI=true
132
+ CHECK_PENDING_MIGRATIONS_ON_STARTUP=false
133
+ LOG_LEVEL=error
134
+ ```
135
+
136
+ ## Database setup
137
+
138
+ ### SQLite
139
+
140
+ SQLite is the default local/runtime option when `DATABASE_URL` is not set. The database file lives at:
141
+
142
+ - `local.sqlite` in the project/package root, or
143
+ - `${AGENT_ORCHESTRATOR_HOME}/local.sqlite` when runtime home is set
144
+
145
+ ### PostgreSQL
146
+
147
+ Use PostgreSQL by setting `DATABASE_URL` or `DB_TYPE=postgres`:
148
+
149
+ ```bash
150
+ export DATABASE_URL="postgresql://orchestrator:orchestrator_password@localhost:5433/agent_orchestrator"
151
+ ```
152
+
153
+ ### Initialize the schema
154
+
155
+ Run migrations before the first app start:
29
156
 
30
157
  ```bash
31
- $ npm install
158
+ npm run migration:run
32
159
  ```
33
160
 
34
- ## Running the app
161
+ Create the initial admin user if you want to sign in through the dashboard:
162
+
163
+ ```bash
164
+ npm run seed:admin
165
+ ```
166
+
167
+ If you use the packaged CLI, `agent-orchestrator setup` can perform both steps for you.
168
+
169
+ ## Run the application
35
170
 
36
- Before running the application, ensure you have set the `GEMINI_API_KEY` in your environment variables, as the default agent is the `GeminiAgent`.
171
+ ### Local development
37
172
 
38
173
  ```bash
39
- # Start the PostgreSQL Database
40
- $ docker compose up -d
174
+ npm run dev
175
+ ```
176
+
177
+ That starts:
178
+
179
+ - UI dev server: `http://localhost:5173` (accessible from your network)
180
+ - API: `http://localhost:3000/api/v1` (accessible from your network)
181
+ - Swagger UI: `http://localhost:3000/api` (non-production only)
182
+ - Health endpoint: `http://localhost:3000/health`
41
183
 
42
- # development
43
- $ GEMINI_API_KEY="your-api-key" npm run start
184
+ By default, the development servers bind to `0.0.0.0`, allowing access from other devices on the same network using your machine's local IP address.
44
185
 
45
- # watch mode
46
- $ GEMINI_API_KEY="your-api-key" npm run start:dev
186
+ If you only want the API in watch mode:
47
187
 
48
- # production mode
49
- $ GEMINI_API_KEY="your-api-key" npm run start:prod
188
+ ```bash
189
+ npm run start:dev
50
190
  ```
51
191
 
52
- Once running, you can access the frontend dashboard container URL at `http://localhost:3000`. The API endpoints are accessible via `http://localhost:3000/api/v1/`.
192
+ ### Packaged/runtime mode
193
+
194
+ ```bash
195
+ agent-orchestrator setup
196
+ agent-orchestrator run
197
+ agent-orchestrator status
198
+ agent-orchestrator logs --lines 50
199
+ agent-orchestrator restart
200
+ agent-orchestrator stop
201
+ ```
202
+
203
+ When running the packaged app or a production build with static UI enabled, the dashboard is served from `http://localhost:15789` by default.
204
+
205
+ ## Docker
206
+
207
+ The repository ships three Compose entrypoints:
208
+
209
+ All Compose stacks now require the database variables in the project `.env` file: `POSTGRES_USER`, `POSTGRES_PASSWORD`, `POSTGRES_DB`, and `POSTGRES_TEST_DB` for the integration stack.
53
210
 
54
- ## Testing
211
+ | File | Purpose |
212
+ | --- | --- |
213
+ | `docker-compose.yml` | Production-style stack with PostgreSQL, API, and Caddy-served UI |
214
+ | `docker-compose.dev.yml` | Development stack with API hot reload and Vite UI dev server |
215
+ | `docker-compose.test.yml` | Integration stack for migration, CLI/runtime, API, and UI checks |
216
+
217
+ ### Production-style stack
55
218
 
56
219
  ```bash
57
- # unit tests
58
- $ npm run test
220
+ npm run docker:up
221
+ docker compose run --rm api dist/cli/index.js migrate --yes
222
+ ```
223
+
224
+ Endpoints:
59
225
 
60
- # e2e tests
61
- $ npm run test:e2e
226
+ - UI: `https://localhost` or `https://agent-orchestrator.localhost`
227
+ - API: `https://localhost/api/v1` or `https://agent-orchestrator.localhost/api/v1`
62
228
 
63
- # test coverage
64
- $ npm run test:cov
229
+ In this stack the UI is served by **Caddy**, not by the Nest app. Docker explicitly sets `SERVE_STATIC_UI=false` so the backend only serves the API.
230
+
231
+ ### Development stack
232
+
233
+ ```bash
234
+ npm run docker:dev
65
235
  ```
66
236
 
67
- ## API usage
237
+ Endpoints:
68
238
 
69
- **Endpoint**: `POST /api/v1/agents/process`
70
- **Payload**:
71
- ```json
72
- {
73
- "input": "Write a short poem about automation."
74
- }
239
+ - UI: `http://localhost:5173`
240
+ - API: `http://localhost:3000/api/v1`
241
+ - PostgreSQL: `localhost:5433`
242
+
243
+ ### Integration stack
244
+
245
+ Use `docker-compose.test.yml` when you want to exercise migration behavior, packaged CLI/runtime flows, API startup, and UI reachability together.
246
+
247
+ ```bash
248
+ npm run docker:test
249
+ docker compose -f docker-compose.test.yml --profile tools run --rm migrate
250
+ docker compose -f docker-compose.test.yml --profile tools run --rm cli
75
251
  ```
252
+
253
+ Endpoints:
254
+
255
+ - UI: `https://localhost:8444` or `https://agent-orchestrator.localhost:8444`
256
+ - API: `https://localhost:8444/api/v1` or `https://agent-orchestrator.localhost:8444/api/v1`
257
+
258
+ ## Development workflow
259
+
260
+ | Task | Command |
261
+ | --- | --- |
262
+ | Start API + UI | `npm run dev` |
263
+ | Start API only | `npm run start:dev` |
264
+ | Lint API + UI | `npm run lint:all` |
265
+ | Run API + UI + E2E tests | `npm run test:all` |
266
+ | Run coverage | `npm run test:cov` |
267
+ | Run E2E tests | `npm run test:e2e` |
268
+ | Build backend + UI package output | `npm run build:all` |
269
+ | Apply migrations | `npm run migration:run` |
270
+
271
+ ## Auth and access model
272
+
273
+ - Access and refresh tokens are issued by the auth service and transported via **httpOnly cookies**
274
+ - System roles are **`admin`** and **`user`**
275
+ - Project membership roles are **`owner`** and **`member`**
276
+ - Routes are protected by default; use `@Public()` for public endpoints
277
+ - Global throttling defaults to `60/min`, with stricter limits on auth endpoints
278
+
279
+ ## Useful docs
280
+
281
+ - [CLI reference](docs/CLI.md)
282
+ - [CI/CD pipeline](docs/CI_CD.md)
283
+ - [Release process](docs/RELEASE.md)
284
+ - [Contributing guide](CONTRIBUTING.md)
285
+
286
+ ## Troubleshooting
287
+
288
+ - **Native module errors after install**: run `npm rebuild`
289
+ - **`JWT_SECRET` rejected**: it must be at least 32 characters
290
+ - **Agent execution fails immediately**: confirm `GEMINI_API_KEY`, `ANTHROPIC_API_KEY`, or Ollama (`OLLAMA_HOST`) are set correctly for the provider in use
291
+ - **Schema/startup issues**: run `npm run migration:run`
292
+ - **Need to undo the latest migration**: run `npm run migration:revert`
293
+
294
+ ## License
295
+
296
+ See [LICENSE](LICENSE).
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeAgentEmoji = exports.isAgentEmojiValue = exports.DEFAULT_AGENT_EMOJI = exports.AGENT_EMOJI_VALUES = void 0;
4
+ exports.AGENT_EMOJI_VALUES = [
5
+ '๐Ÿง ',
6
+ '๐Ÿค–',
7
+ '๐Ÿงช',
8
+ '๐Ÿ› ๏ธ',
9
+ '๐Ÿ“Š',
10
+ '๐Ÿ”',
11
+ '๐Ÿงญ',
12
+ '๐Ÿ“',
13
+ 'โš™๏ธ',
14
+ '๐Ÿš€',
15
+ ];
16
+ exports.DEFAULT_AGENT_EMOJI = '๐Ÿง ';
17
+ const isAgentEmojiValue = (value) => typeof value === 'string' &&
18
+ exports.AGENT_EMOJI_VALUES.includes(value);
19
+ exports.isAgentEmojiValue = isAgentEmojiValue;
20
+ const normalizeAgentEmoji = (value) => (0, exports.isAgentEmojiValue)(value) ? value : exports.DEFAULT_AGENT_EMOJI;
21
+ exports.normalizeAgentEmoji = normalizeAgentEmoji;