@agentlang/agentmanager 0.0.3

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 (507) hide show
  1. package/README.md +122 -0
  2. package/apps/agentcraft/README.md +237 -0
  3. package/apps/agentcraft/src/agentcraft-core.module.ts +40 -0
  4. package/apps/agentcraft/src/app.module.ts +28 -0
  5. package/apps/agentcraft/src/architect/architect.controller.ts +69 -0
  6. package/apps/agentcraft/src/architect/architect.module.ts +11 -0
  7. package/apps/agentcraft/src/architect/architect.service.ts +193 -0
  8. package/apps/agentcraft/src/architect/architect.store.ts +63 -0
  9. package/apps/agentcraft/src/architect/dto/ingest-signal.dto.ts +20 -0
  10. package/apps/agentcraft/src/architect/interfaces/architect.interfaces.ts +20 -0
  11. package/apps/agentcraft/src/autonomous/autonomous.controller.ts +92 -0
  12. package/apps/agentcraft/src/autonomous/autonomous.module.ts +9 -0
  13. package/apps/agentcraft/src/autonomous/autonomous.service.ts +160 -0
  14. package/apps/agentcraft/src/autonomous/dto/run-autonomous.dto.ts +16 -0
  15. package/apps/agentcraft/src/autonomous/dto/watch-kb.dto.ts +16 -0
  16. package/apps/agentcraft/src/config/configuration.ts +74 -0
  17. package/apps/agentcraft/src/health/health.controller.ts +22 -0
  18. package/apps/agentcraft/src/health/health.module.ts +9 -0
  19. package/apps/agentcraft/src/main.ts +53 -0
  20. package/apps/agentcraft/src/resolver/dto/create-resolver.dto.ts +14 -0
  21. package/apps/agentcraft/src/resolver/dto/install-registry.dto.ts +10 -0
  22. package/apps/agentcraft/src/resolver/dto/search-registry-query.dto.ts +10 -0
  23. package/apps/agentcraft/src/resolver/dto/submit-action.dto.ts +4 -0
  24. package/apps/agentcraft/src/resolver/resolver-session.store.ts +39 -0
  25. package/apps/agentcraft/src/resolver/resolver.controller.ts +86 -0
  26. package/apps/agentcraft/src/resolver/resolver.module.ts +10 -0
  27. package/apps/agentcraft/src/resolver/resolver.service.ts +128 -0
  28. package/apps/agentcraft/src/sessions/dto/create-session.dto.ts +12 -0
  29. package/apps/agentcraft/src/sessions/dto/submit-action.dto.ts +1 -0
  30. package/apps/agentcraft/src/sessions/dto/submit-idea.dto.ts +8 -0
  31. package/apps/agentcraft/src/sessions/session.store.ts +39 -0
  32. package/apps/agentcraft/src/sessions/sessions.controller.ts +87 -0
  33. package/apps/agentcraft/src/sessions/sessions.module.ts +10 -0
  34. package/apps/agentcraft/src/sessions/sessions.service.ts +277 -0
  35. package/apps/agentcraft/tsconfig.app.json +8 -0
  36. package/apps/agentmanager/README.md +141 -0
  37. package/apps/agentmanager/src/agentmanager-core.module.ts +45 -0
  38. package/apps/agentmanager/src/app.module.ts +26 -0
  39. package/apps/agentmanager/src/config/configuration.ts +63 -0
  40. package/apps/agentmanager/src/deployments/deployments.controller.ts +21 -0
  41. package/apps/agentmanager/src/deployments/deployments.module.ts +10 -0
  42. package/apps/agentmanager/src/deployments/deployments.service.ts +166 -0
  43. package/apps/agentmanager/src/deployments/errors/deployment.errors.ts +13 -0
  44. package/apps/agentmanager/src/deployments/interfaces/deployment.interfaces.ts +25 -0
  45. package/apps/agentmanager/src/discovery/discovery.controller.ts +14 -0
  46. package/apps/agentmanager/src/discovery/discovery.module.ts +36 -0
  47. package/apps/agentmanager/src/discovery/discovery.service.ts +174 -0
  48. package/apps/agentmanager/src/discovery/dto/discover.dto.ts +8 -0
  49. package/apps/agentmanager/src/discovery/interfaces/discovery.interfaces.ts +22 -0
  50. package/apps/agentmanager/src/discovery/llm/anthropic-llm.service.ts +67 -0
  51. package/apps/agentmanager/src/discovery/llm/llm-provider.interface.ts +17 -0
  52. package/apps/agentmanager/src/discovery/llm/llm.errors.ts +7 -0
  53. package/apps/agentmanager/src/discovery/llm/openai-llm.service.ts +67 -0
  54. package/apps/agentmanager/src/employee-code/dto/put-config.dto.ts +8 -0
  55. package/apps/agentmanager/src/employee-code/dto/put-module.dto.ts +8 -0
  56. package/apps/agentmanager/src/employee-code/dto/put-package.dto.ts +13 -0
  57. package/apps/agentmanager/src/employee-code/employee-code.controller.ts +114 -0
  58. package/apps/agentmanager/src/employee-code/employee-code.module.ts +10 -0
  59. package/apps/agentmanager/src/employee-code/employee-code.service.ts +55 -0
  60. package/apps/agentmanager/src/employees/dto/register-employee.dto.ts +9 -0
  61. package/apps/agentmanager/src/employees/employees.controller.ts +53 -0
  62. package/apps/agentmanager/src/employees/employees.module.ts +10 -0
  63. package/apps/agentmanager/src/employees/employees.service.ts +29 -0
  64. package/apps/agentmanager/src/health/health.controller.ts +22 -0
  65. package/apps/agentmanager/src/health/health.module.ts +9 -0
  66. package/apps/agentmanager/src/inbox/dto/list-messages-query.dto.ts +12 -0
  67. package/apps/agentmanager/src/inbox/dto/push-message.dto.ts +55 -0
  68. package/apps/agentmanager/src/inbox/dto/respond-message.dto.ts +9 -0
  69. package/apps/agentmanager/src/inbox/inbox.controller.ts +87 -0
  70. package/apps/agentmanager/src/inbox/inbox.module.ts +10 -0
  71. package/apps/agentmanager/src/inbox/inbox.service.ts +209 -0
  72. package/apps/agentmanager/src/main.ts +53 -0
  73. package/apps/agentmanager/src/projects/dto/create-project.dto.ts +10 -0
  74. package/apps/agentmanager/src/projects/projects.controller.ts +47 -0
  75. package/apps/agentmanager/src/projects/projects.module.ts +10 -0
  76. package/apps/agentmanager/src/projects/projects.service.ts +24 -0
  77. package/apps/agentmanager/tsconfig.app.json +8 -0
  78. package/apps/fabric/Dockerfile +22 -0
  79. package/apps/fabric/docker-compose.yml +14 -0
  80. package/apps/fabric/ecosystem.config.cjs +17 -0
  81. package/apps/fabric/src/ai-agent/ai-agent.module.ts +43 -0
  82. package/apps/fabric/src/ai-agent/ai-agent.service.ts +374 -0
  83. package/apps/fabric/src/ai-agent/probe-investigation.types.ts +24 -0
  84. package/apps/fabric/src/app.module.ts +40 -0
  85. package/apps/fabric/src/auth/current-user.decorator.ts +11 -0
  86. package/apps/fabric/src/auth/request-user.ts +4 -0
  87. package/apps/fabric/src/config/configuration.ts +266 -0
  88. package/apps/fabric/src/database/entities/deployment-event.entity.ts +33 -0
  89. package/apps/fabric/src/database/entities/environment.entity.ts +25 -0
  90. package/apps/fabric/src/database/entities/index.ts +25 -0
  91. package/apps/fabric/src/database/entities/project.entity.ts +25 -0
  92. package/apps/fabric/src/database/entities/runtime.entity.ts +55 -0
  93. package/apps/fabric/src/database/entities/user-config.entity.ts +22 -0
  94. package/apps/fabric/src/database/entities/version.entity.ts +22 -0
  95. package/apps/fabric/src/database/migrations-data-source.ts +27 -0
  96. package/apps/fabric/src/deployment-events/deployment-events.controller.ts +27 -0
  97. package/apps/fabric/src/deployment-events/deployment-events.module.ts +11 -0
  98. package/apps/fabric/src/deployment-events/deployment-events.service.ts +58 -0
  99. package/apps/fabric/src/deployment-events/deployment-events.store.ts +162 -0
  100. package/apps/fabric/src/deployment-events/deployment-events.types.ts +24 -0
  101. package/apps/fabric/src/employees/dto/deploy.dto.ts +71 -0
  102. package/apps/fabric/src/employees/employees.controller.ts +217 -0
  103. package/apps/fabric/src/employees/employees.module.ts +32 -0
  104. package/apps/fabric/src/employees/employees.service.ts +1333 -0
  105. package/apps/fabric/src/employees/employees.types.ts +69 -0
  106. package/apps/fabric/src/employees/errors/employee-deployment.errors.ts +80 -0
  107. package/apps/fabric/src/employees/runtime.store.ts +304 -0
  108. package/apps/fabric/src/environments/dto/environment.dto.ts +26 -0
  109. package/apps/fabric/src/environments/environments.controller.ts +48 -0
  110. package/apps/fabric/src/environments/environments.module.ts +11 -0
  111. package/apps/fabric/src/environments/environments.service.ts +92 -0
  112. package/apps/fabric/src/environments/environments.store.ts +146 -0
  113. package/apps/fabric/src/environments/environments.types.ts +11 -0
  114. package/apps/fabric/src/environments/errors/environment.errors.ts +14 -0
  115. package/apps/fabric/src/fabric-core.module.ts +48 -0
  116. package/apps/fabric/src/health/health.controller.ts +19 -0
  117. package/apps/fabric/src/health/health.module.ts +12 -0
  118. package/apps/fabric/src/health/provider-health.indicator.ts +33 -0
  119. package/apps/fabric/src/healthcheck/healthcheck.module.ts +24 -0
  120. package/apps/fabric/src/healthcheck/healthcheck.service.ts +494 -0
  121. package/apps/fabric/src/logs/logs.module.ts +10 -0
  122. package/apps/fabric/src/logs/logs.service.ts +149 -0
  123. package/apps/fabric/src/main.ts +57 -0
  124. package/apps/fabric/src/notifications/notifications.module.ts +23 -0
  125. package/apps/fabric/src/notifications/notifications.service.ts +141 -0
  126. package/apps/fabric/src/project-source/errors/project-source.errors.ts +8 -0
  127. package/apps/fabric/src/project-source/project-source.module.ts +8 -0
  128. package/apps/fabric/src/project-source/project-source.service.ts +75 -0
  129. package/apps/fabric/src/project-source/project-source.types.ts +5 -0
  130. package/apps/fabric/src/projects/dto/project.dto.ts +25 -0
  131. package/apps/fabric/src/projects/errors/project.errors.ts +17 -0
  132. package/apps/fabric/src/projects/projects-data.service.ts +60 -0
  133. package/apps/fabric/src/projects/projects.controller.ts +92 -0
  134. package/apps/fabric/src/projects/projects.module.ts +20 -0
  135. package/apps/fabric/src/projects/projects.service.ts +323 -0
  136. package/apps/fabric/src/projects/projects.store.ts +142 -0
  137. package/apps/fabric/src/projects/projects.types.ts +9 -0
  138. package/apps/fabric/src/providers/docker-provider.ts +141 -0
  139. package/apps/fabric/src/providers/eks-provider.ts +279 -0
  140. package/apps/fabric/src/providers/pm2-provider.ts +205 -0
  141. package/apps/fabric/src/providers/port-allocator.ts +57 -0
  142. package/apps/fabric/src/providers/provider-factory.ts +32 -0
  143. package/apps/fabric/src/providers/provider.interface.ts +50 -0
  144. package/apps/fabric/src/providers/providers.module.ts +26 -0
  145. package/apps/fabric/src/provisioners/cognito-provisioner.service.ts +168 -0
  146. package/apps/fabric/src/provisioners/postgres-provisioner.service.ts +124 -0
  147. package/apps/fabric/src/provisioners/provisioners.module.ts +40 -0
  148. package/apps/fabric/src/user-config/user-config.module.ts +9 -0
  149. package/apps/fabric/src/user-config/user-config.service.ts +54 -0
  150. package/apps/fabric/src/user-config/user-config.store.ts +120 -0
  151. package/apps/fabric/src/user-config/user-config.types.ts +11 -0
  152. package/apps/fabric/src/versions/versions.controller.ts +24 -0
  153. package/apps/fabric/src/versions/versions.module.ts +11 -0
  154. package/apps/fabric/src/versions/versions.service.ts +65 -0
  155. package/apps/fabric/src/versions/versions.store.ts +160 -0
  156. package/apps/fabric/src/versions/versions.types.ts +12 -0
  157. package/apps/fabric/src/watcher/deployment-watcher.module.ts +22 -0
  158. package/apps/fabric/src/watcher/deployment-watcher.service.ts +92 -0
  159. package/apps/fabric/src/watcher/pod-probe.service.ts +231 -0
  160. package/apps/fabric/tsconfig.app.json +8 -0
  161. package/apps/integrations/prisma/.integrations/integrations.sqlite +0 -0
  162. package/apps/integrations/prisma/prisma.config.ts +8 -0
  163. package/apps/integrations/prisma/prisma.sqlite.config.ts +8 -0
  164. package/apps/integrations/prisma/schema.postgres.prisma +27 -0
  165. package/apps/integrations/prisma/schema.sqlite.prisma +27 -0
  166. package/apps/integrations/scripts/prepare-db.cjs +92 -0
  167. package/apps/integrations/src/api/auth-flow.controller.ts +39 -0
  168. package/apps/integrations/src/api/connections.controller.ts +26 -0
  169. package/apps/integrations/src/api/health.controller.ts +34 -0
  170. package/apps/integrations/src/api/providers.controller.ts +60 -0
  171. package/apps/integrations/src/api/tenant-config.controller.ts +62 -0
  172. package/apps/integrations/src/app.module.ts +38 -0
  173. package/apps/integrations/src/config/configuration.ts +134 -0
  174. package/apps/integrations/src/generated/prisma-postgres/browser.ts +24 -0
  175. package/apps/integrations/src/generated/prisma-postgres/client.ts +46 -0
  176. package/apps/integrations/src/generated/prisma-postgres/commonInputTypes.ts +297 -0
  177. package/apps/integrations/src/generated/prisma-postgres/enums.ts +15 -0
  178. package/apps/integrations/src/generated/prisma-postgres/internal/class.ts +204 -0
  179. package/apps/integrations/src/generated/prisma-postgres/internal/prismaNamespace.ts +794 -0
  180. package/apps/integrations/src/generated/prisma-postgres/internal/prismaNamespaceBrowser.ts +126 -0
  181. package/apps/integrations/src/generated/prisma-postgres/models/IntegrationEntity.ts +1273 -0
  182. package/apps/integrations/src/generated/prisma-postgres/models.ts +12 -0
  183. package/apps/integrations/src/generated/prisma-sqlite/browser.ts +24 -0
  184. package/apps/integrations/src/generated/prisma-sqlite/client.ts +46 -0
  185. package/apps/integrations/src/generated/prisma-sqlite/commonInputTypes.ts +278 -0
  186. package/apps/integrations/src/generated/prisma-sqlite/enums.ts +15 -0
  187. package/apps/integrations/src/generated/prisma-sqlite/internal/class.ts +204 -0
  188. package/apps/integrations/src/generated/prisma-sqlite/internal/prismaNamespace.ts +770 -0
  189. package/apps/integrations/src/generated/prisma-sqlite/internal/prismaNamespaceBrowser.ts +123 -0
  190. package/apps/integrations/src/generated/prisma-sqlite/models/IntegrationEntity.ts +1271 -0
  191. package/apps/integrations/src/generated/prisma-sqlite/models.ts +12 -0
  192. package/apps/integrations/src/integrations-core.module.ts +52 -0
  193. package/apps/integrations/src/main.ts +63 -0
  194. package/apps/integrations/src/modules/auth-flow/auth-flow.module.ts +21 -0
  195. package/apps/integrations/src/modules/auth-flow/auth-flow.service.ts +275 -0
  196. package/apps/integrations/src/modules/auth-flow/dto/auth-flow.dto.ts +36 -0
  197. package/apps/integrations/src/modules/auth-flow/scheduler.service.ts +73 -0
  198. package/apps/integrations/src/modules/connections/connections.module.ts +11 -0
  199. package/apps/integrations/src/modules/connections/connections.service.ts +109 -0
  200. package/apps/integrations/src/modules/credentials/credentials.module.ts +11 -0
  201. package/apps/integrations/src/modules/credentials/encryption.service.ts +71 -0
  202. package/apps/integrations/src/modules/credentials/token-store.service.ts +82 -0
  203. package/apps/integrations/src/modules/discovery/discovery.module.ts +8 -0
  204. package/apps/integrations/src/modules/discovery/oidc-discovery.service.ts +114 -0
  205. package/apps/integrations/src/modules/platform/metadata-store.service.ts +337 -0
  206. package/apps/integrations/src/modules/platform/platform.module.ts +8 -0
  207. package/apps/integrations/src/modules/platform/platform.types.ts +10 -0
  208. package/apps/integrations/src/modules/platform/resilient-fetch.ts +53 -0
  209. package/apps/integrations/src/modules/providers/base/api-key.provider.ts +43 -0
  210. package/apps/integrations/src/modules/providers/base/basic-auth.provider.ts +44 -0
  211. package/apps/integrations/src/modules/providers/base/oauth2.provider.ts +233 -0
  212. package/apps/integrations/src/modules/providers/base/oidc.provider.ts +87 -0
  213. package/apps/integrations/src/modules/providers/builtin/google-drive.provider.ts +40 -0
  214. package/apps/integrations/src/modules/providers/dto/provider.dto.ts +53 -0
  215. package/apps/integrations/src/modules/providers/provider.factory.ts +68 -0
  216. package/apps/integrations/src/modules/providers/provider.registry.ts +123 -0
  217. package/apps/integrations/src/modules/providers/provider.types.ts +185 -0
  218. package/apps/integrations/src/modules/providers/providers.module.ts +34 -0
  219. package/apps/integrations/src/modules/tenant-config/dto/tenant-config.dto.ts +28 -0
  220. package/apps/integrations/src/modules/tenant-config/tenant-config.module.ts +11 -0
  221. package/apps/integrations/src/modules/tenant-config/tenant-config.service.ts +212 -0
  222. package/apps/integrations/tsconfig.app.json +8 -0
  223. package/apps/knowledge/prisma/prisma.config.ts +8 -0
  224. package/apps/knowledge/prisma/schema.postgres.prisma +29 -0
  225. package/apps/knowledge/prisma/schema.sqlite.prisma +29 -0
  226. package/apps/knowledge/scripts/prepare-db.cjs +72 -0
  227. package/apps/knowledge/src/api/auth.controller.ts +54 -0
  228. package/apps/knowledge/src/api/connections.controller.ts +99 -0
  229. package/apps/knowledge/src/api/documents.controller.ts +45 -0
  230. package/apps/knowledge/src/api/graph.controller.ts +67 -0
  231. package/apps/knowledge/src/api/health.controller.ts +39 -0
  232. package/apps/knowledge/src/api/ingestion.controller.ts +45 -0
  233. package/apps/knowledge/src/api/knowledge-query.controller.ts +27 -0
  234. package/apps/knowledge/src/api/oauth.controller.ts +38 -0
  235. package/apps/knowledge/src/api/recommendations.controller.ts +63 -0
  236. package/apps/knowledge/src/api/scheduler.controller.ts +32 -0
  237. package/apps/knowledge/src/api/topics.controller.ts +46 -0
  238. package/apps/knowledge/src/app.module.ts +68 -0
  239. package/apps/knowledge/src/config/configuration.ts +149 -0
  240. package/apps/knowledge/src/generated/prisma-postgres/browser.ts +24 -0
  241. package/apps/knowledge/src/generated/prisma-postgres/client.ts +46 -0
  242. package/apps/knowledge/src/generated/prisma-postgres/commonInputTypes.ts +297 -0
  243. package/apps/knowledge/src/generated/prisma-postgres/enums.ts +15 -0
  244. package/apps/knowledge/src/generated/prisma-postgres/internal/class.ts +204 -0
  245. package/apps/knowledge/src/generated/prisma-postgres/internal/prismaNamespace.ts +795 -0
  246. package/apps/knowledge/src/generated/prisma-postgres/internal/prismaNamespaceBrowser.ts +127 -0
  247. package/apps/knowledge/src/generated/prisma-postgres/models/KnowledgeEntity.ts +1301 -0
  248. package/apps/knowledge/src/generated/prisma-postgres/models.ts +12 -0
  249. package/apps/knowledge/src/generated/prisma-sqlite/browser.ts +24 -0
  250. package/apps/knowledge/src/generated/prisma-sqlite/client.ts +46 -0
  251. package/apps/knowledge/src/generated/prisma-sqlite/commonInputTypes.ts +278 -0
  252. package/apps/knowledge/src/generated/prisma-sqlite/enums.ts +15 -0
  253. package/apps/knowledge/src/generated/prisma-sqlite/internal/class.ts +204 -0
  254. package/apps/knowledge/src/generated/prisma-sqlite/internal/prismaNamespace.ts +771 -0
  255. package/apps/knowledge/src/generated/prisma-sqlite/internal/prismaNamespaceBrowser.ts +124 -0
  256. package/apps/knowledge/src/generated/prisma-sqlite/models/KnowledgeEntity.ts +1299 -0
  257. package/apps/knowledge/src/generated/prisma-sqlite/models.ts +12 -0
  258. package/apps/knowledge/src/main.ts +48 -0
  259. package/apps/knowledge/src/modules/auth/auth.module.ts +8 -0
  260. package/apps/knowledge/src/modules/auth/auth.service.ts +290 -0
  261. package/apps/knowledge/src/modules/documents/documents.module.ts +12 -0
  262. package/apps/knowledge/src/modules/documents/documents.service.ts +179 -0
  263. package/apps/knowledge/src/modules/documents/dto/document.dto.ts +68 -0
  264. package/apps/knowledge/src/modules/graph/graph.module.ts +10 -0
  265. package/apps/knowledge/src/modules/graph/graph.service.ts +223 -0
  266. package/apps/knowledge/src/modules/ingestion/dto/ingestion.dto.ts +58 -0
  267. package/apps/knowledge/src/modules/ingestion/ingestion-workflows.service.ts +246 -0
  268. package/apps/knowledge/src/modules/ingestion/ingestion.module.ts +14 -0
  269. package/apps/knowledge/src/modules/ingestion/ingestion.service.ts +619 -0
  270. package/apps/knowledge/src/modules/oauth-bridge/oauth-bridge.module.ts +8 -0
  271. package/apps/knowledge/src/modules/oauth-bridge/oauth-bridge.service.ts +135 -0
  272. package/apps/knowledge/src/modules/platform/metadata-store.service.ts +314 -0
  273. package/apps/knowledge/src/modules/platform/platform.module.ts +9 -0
  274. package/apps/knowledge/src/modules/platform/platform.types.ts +23 -0
  275. package/apps/knowledge/src/modules/platform/vector-store.service.ts +235 -0
  276. package/apps/knowledge/src/modules/recommendations/recommendations.module.ts +10 -0
  277. package/apps/knowledge/src/modules/recommendations/recommendations.service.ts +121 -0
  278. package/apps/knowledge/src/modules/storage/storage.module.ts +8 -0
  279. package/apps/knowledge/src/modules/storage/storage.service.ts +150 -0
  280. package/apps/knowledge/src/modules/sync/scheduler.service.ts +175 -0
  281. package/apps/knowledge/src/modules/sync/sync.module.ts +11 -0
  282. package/apps/knowledge/src/modules/topics/dto/topic.dto.ts +50 -0
  283. package/apps/knowledge/src/modules/topics/topics.module.ts +10 -0
  284. package/apps/knowledge/src/modules/topics/topics.service.ts +86 -0
  285. package/apps/knowledge/tsconfig.app.json +8 -0
  286. package/apps/monolith/src/app.module.ts +75 -0
  287. package/apps/monolith/src/config/configuration.ts +93 -0
  288. package/apps/monolith/src/health/health.controller.ts +22 -0
  289. package/apps/monolith/src/health/health.module.ts +9 -0
  290. package/apps/monolith/src/main.ts +56 -0
  291. package/apps/monolith/tsconfig.app.json +8 -0
  292. package/libs/agentcraft/src/agentcraft.module.d.ts +12 -0
  293. package/libs/agentcraft/src/agentcraft.module.js +142 -0
  294. package/libs/agentcraft/src/agentcraft.module.js.map +1 -0
  295. package/libs/agentcraft/src/agentcraft.module.ts +161 -0
  296. package/libs/agentcraft/src/constants.d.ts +2 -0
  297. package/libs/agentcraft/src/constants.js +6 -0
  298. package/libs/agentcraft/src/constants.js.map +1 -0
  299. package/libs/agentcraft/src/constants.ts +2 -0
  300. package/libs/agentcraft/src/dto/submit-action.dto.ts +20 -0
  301. package/libs/agentcraft/src/errors/domain.error.d.ts +8 -0
  302. package/libs/agentcraft/src/errors/domain.error.js +27 -0
  303. package/libs/agentcraft/src/errors/domain.error.js.map +1 -0
  304. package/libs/agentcraft/src/errors/domain.error.ts +14 -0
  305. package/libs/agentcraft/src/errors/llm.errors.d.ts +10 -0
  306. package/libs/agentcraft/src/errors/llm.errors.js +26 -0
  307. package/libs/agentcraft/src/errors/llm.errors.js.map +1 -0
  308. package/libs/agentcraft/src/errors/llm.errors.ts +19 -0
  309. package/libs/agentcraft/src/index.d.ts +64 -0
  310. package/libs/agentcraft/src/index.js +195 -0
  311. package/libs/agentcraft/src/index.js.map +1 -0
  312. package/libs/agentcraft/src/index.ts +171 -0
  313. package/libs/agentcraft/src/instructions/step6-data-model.ts +181 -0
  314. package/libs/agentcraft/src/instructions/step7-workflows.ts +544 -0
  315. package/libs/agentcraft/src/instructions/step8-agents.ts +114 -0
  316. package/libs/agentcraft/src/interfaces/llm-provider.interface.d.ts +16 -0
  317. package/libs/agentcraft/src/interfaces/llm-provider.interface.js +3 -0
  318. package/libs/agentcraft/src/interfaces/llm-provider.interface.js.map +1 -0
  319. package/libs/agentcraft/src/interfaces/llm-provider.interface.ts +18 -0
  320. package/libs/agentcraft/src/prompts/assembly.prompt.ts +104 -0
  321. package/libs/agentcraft/src/prompts/codegen.prompt.ts +162 -0
  322. package/libs/agentcraft/src/prompts/decomposition.prompt.ts +32 -0
  323. package/libs/agentcraft/src/prompts/examples-provider.ts +63 -0
  324. package/libs/agentcraft/src/prompts/planning.prompt.ts +52 -0
  325. package/libs/agentcraft/src/prompts/resolver.prompt.ts +364 -0
  326. package/libs/agentcraft/src/prompts/semantics-guide.ts +134 -0
  327. package/libs/agentcraft/src/services/anthropic-craft-llm.service.ts +186 -0
  328. package/libs/agentcraft/src/services/anthropic-llm.service.d.ts +9 -0
  329. package/libs/agentcraft/src/services/anthropic-llm.service.js +90 -0
  330. package/libs/agentcraft/src/services/anthropic-llm.service.js.map +1 -0
  331. package/libs/agentcraft/src/services/anthropic-llm.service.ts +61 -0
  332. package/libs/agentcraft/src/services/api-adapter.service.d.ts +65 -0
  333. package/libs/agentcraft/src/services/api-adapter.service.js +167 -0
  334. package/libs/agentcraft/src/services/api-adapter.service.js.map +1 -0
  335. package/libs/agentcraft/src/services/api-adapter.service.ts +186 -0
  336. package/libs/agentcraft/src/services/architect-loop.service.d.ts +16 -0
  337. package/libs/agentcraft/src/services/architect-loop.service.js +92 -0
  338. package/libs/agentcraft/src/services/architect-loop.service.js.map +1 -0
  339. package/libs/agentcraft/src/services/architect-loop.service.ts +407 -0
  340. package/libs/agentcraft/src/services/autonomous-runner.service.ts +178 -0
  341. package/libs/agentcraft/src/services/craft-config.service.d.ts +11 -0
  342. package/libs/agentcraft/src/services/craft-config.service.js +127 -0
  343. package/libs/agentcraft/src/services/craft-config.service.js.map +1 -0
  344. package/libs/agentcraft/src/services/craft-config.service.ts +92 -0
  345. package/libs/agentcraft/src/services/craft-llm-adapter.service.d.ts +12 -0
  346. package/libs/agentcraft/src/services/craft-llm-adapter.service.js +73 -0
  347. package/libs/agentcraft/src/services/craft-llm-adapter.service.js.map +1 -0
  348. package/libs/agentcraft/src/services/craft-llm-adapter.service.ts +52 -0
  349. package/libs/agentcraft/src/services/decomposer.service.ts +115 -0
  350. package/libs/agentcraft/src/services/design-generator.service.ts +672 -0
  351. package/libs/agentcraft/src/services/executor.service.ts +452 -0
  352. package/libs/agentcraft/src/services/kb-watcher.service.ts +150 -0
  353. package/libs/agentcraft/src/services/openai-llm.service.d.ts +9 -0
  354. package/libs/agentcraft/src/services/openai-llm.service.js +91 -0
  355. package/libs/agentcraft/src/services/openai-llm.service.js.map +1 -0
  356. package/libs/agentcraft/src/services/openai-llm.service.ts +61 -0
  357. package/libs/agentcraft/src/services/output-parser.service.d.ts +9 -0
  358. package/libs/agentcraft/src/services/output-parser.service.js +80 -0
  359. package/libs/agentcraft/src/services/output-parser.service.js.map +1 -0
  360. package/libs/agentcraft/src/services/output-parser.service.ts +68 -0
  361. package/libs/agentcraft/src/services/pipeline-state.service.d.ts +19 -0
  362. package/libs/agentcraft/src/services/pipeline-state.service.js +134 -0
  363. package/libs/agentcraft/src/services/pipeline-state.service.js.map +1 -0
  364. package/libs/agentcraft/src/services/pipeline-state.service.ts +108 -0
  365. package/libs/agentcraft/src/services/pipeline-steps.service.d.ts +10 -0
  366. package/libs/agentcraft/src/services/pipeline-steps.service.js +147 -0
  367. package/libs/agentcraft/src/services/pipeline-steps.service.js.map +1 -0
  368. package/libs/agentcraft/src/services/pipeline-steps.service.ts +126 -0
  369. package/libs/agentcraft/src/services/planner.service.ts +189 -0
  370. package/libs/agentcraft/src/services/readme-generator.service.ts +229 -0
  371. package/libs/agentcraft/src/services/registry-client.service.d.ts +14 -0
  372. package/libs/agentcraft/src/services/registry-client.service.js +158 -0
  373. package/libs/agentcraft/src/services/registry-client.service.js.map +1 -0
  374. package/libs/agentcraft/src/services/registry-client.service.ts +139 -0
  375. package/libs/agentcraft/src/services/requirements-generator.service.ts +238 -0
  376. package/libs/agentcraft/src/services/spec-fetcher.service.d.ts +3 -0
  377. package/libs/agentcraft/src/services/spec-fetcher.service.js +46 -0
  378. package/libs/agentcraft/src/services/spec-fetcher.service.js.map +1 -0
  379. package/libs/agentcraft/src/services/spec-fetcher.service.ts +21 -0
  380. package/libs/agentcraft/src/services/ui-blueprint-generator.service.ts +387 -0
  381. package/libs/agentcraft/src/types/architect.types.ts +156 -0
  382. package/libs/agentcraft/src/types/autonomous.types.ts +71 -0
  383. package/libs/agentcraft/src/types/llm.types.d.ts +26 -0
  384. package/libs/agentcraft/src/types/llm.types.js +3 -0
  385. package/libs/agentcraft/src/types/llm.types.js.map +1 -0
  386. package/libs/agentcraft/src/types/llm.types.ts +60 -0
  387. package/libs/agentcraft/src/types/pipeline.types.d.ts +55 -0
  388. package/libs/agentcraft/src/types/pipeline.types.js +37 -0
  389. package/libs/agentcraft/src/types/pipeline.types.js.map +1 -0
  390. package/libs/agentcraft/src/types/pipeline.types.ts +61 -0
  391. package/libs/agentcraft/src/types/resolver.types.d.ts +27 -0
  392. package/libs/agentcraft/src/types/resolver.types.js +3 -0
  393. package/libs/agentcraft/src/types/resolver.types.js.map +1 -0
  394. package/libs/agentcraft/src/types/resolver.types.ts +22 -0
  395. package/libs/agentcraft/src/types/signal.types.d.ts +16 -0
  396. package/libs/agentcraft/src/types/signal.types.js +3 -0
  397. package/libs/agentcraft/src/types/signal.types.js.map +1 -0
  398. package/libs/agentcraft/src/types/signal.types.ts +18 -0
  399. package/libs/agentcraft/src/utils/kb-loader.ts +67 -0
  400. package/libs/agentcraft/src/utils/output-writer.ts +71 -0
  401. package/libs/agentcraft/src/utils/spec-fetcher.ts +20 -0
  402. package/libs/agentcraft/src/utils/spec-trimmer.ts +280 -0
  403. package/libs/agentcraft/src/utils/text-utils.ts +49 -0
  404. package/libs/agentcraft/src/utils/validator.ts +231 -0
  405. package/libs/agentcraft/tsconfig.lib.json +9 -0
  406. package/libs/auth/src/auth.guard.ts +188 -0
  407. package/libs/auth/src/auth.module.ts +11 -0
  408. package/libs/auth/src/index.ts +3 -0
  409. package/libs/auth/src/public.decorator.ts +5 -0
  410. package/libs/auth/tsconfig.lib.json +9 -0
  411. package/libs/common/src/database/data-source.service.ts +75 -0
  412. package/libs/common/src/database/database-connection.holder.ts +41 -0
  413. package/libs/common/src/database/database.config.ts +14 -0
  414. package/libs/common/src/database/database.module.ts +42 -0
  415. package/libs/common/src/database/embedded-database.service.ts +120 -0
  416. package/libs/common/src/database/file-store.factory.ts +20 -0
  417. package/libs/common/src/database/file-store.ts +47 -0
  418. package/libs/common/src/errors/domain.error.ts +11 -0
  419. package/libs/common/src/filters/domain-exception.filter.ts +62 -0
  420. package/libs/common/src/index.ts +15 -0
  421. package/libs/common/src/interceptors/logging.interceptor.ts +60 -0
  422. package/libs/common/tsconfig.lib.json +9 -0
  423. package/libs/project-provider/src/constants.d.ts +7 -0
  424. package/libs/project-provider/src/constants.js +18 -0
  425. package/libs/project-provider/src/constants.js.map +1 -0
  426. package/libs/project-provider/src/constants.ts +7 -0
  427. package/libs/project-provider/src/errors/domain.error.d.ts +4 -0
  428. package/libs/project-provider/src/errors/domain.error.js +13 -0
  429. package/libs/project-provider/src/errors/domain.error.js.map +1 -0
  430. package/libs/project-provider/src/errors/domain.error.ts +1 -0
  431. package/libs/project-provider/src/errors/employee-code.errors.d.ts +13 -0
  432. package/libs/project-provider/src/errors/employee-code.errors.js +42 -0
  433. package/libs/project-provider/src/errors/employee-code.errors.js.map +1 -0
  434. package/libs/project-provider/src/errors/employee-code.errors.ts +37 -0
  435. package/libs/project-provider/src/errors/inbox.errors.d.ts +13 -0
  436. package/libs/project-provider/src/errors/inbox.errors.js +36 -0
  437. package/libs/project-provider/src/errors/inbox.errors.js.map +1 -0
  438. package/libs/project-provider/src/errors/inbox.errors.ts +31 -0
  439. package/libs/project-provider/src/errors/registry.errors.d.ts +16 -0
  440. package/libs/project-provider/src/errors/registry.errors.js +46 -0
  441. package/libs/project-provider/src/errors/registry.errors.js.map +1 -0
  442. package/libs/project-provider/src/errors/registry.errors.ts +40 -0
  443. package/libs/project-provider/src/index.d.ts +67 -0
  444. package/libs/project-provider/src/index.js +220 -0
  445. package/libs/project-provider/src/index.js.map +1 -0
  446. package/libs/project-provider/src/index.ts +82 -0
  447. package/libs/project-provider/src/interfaces/employee-code-provider.interface.d.ts +36 -0
  448. package/libs/project-provider/src/interfaces/employee-code-provider.interface.js +3 -0
  449. package/libs/project-provider/src/interfaces/employee-code-provider.interface.js.map +1 -0
  450. package/libs/project-provider/src/interfaces/employee-code-provider.interface.ts +37 -0
  451. package/libs/project-provider/src/interfaces/inbox-client.interface.d.ts +3 -0
  452. package/libs/project-provider/src/interfaces/inbox-client.interface.js +3 -0
  453. package/libs/project-provider/src/interfaces/inbox-client.interface.js.map +1 -0
  454. package/libs/project-provider/src/interfaces/inbox-client.interface.ts +3 -0
  455. package/libs/project-provider/src/interfaces/inbox-handler.interface.ts +10 -0
  456. package/libs/project-provider/src/interfaces/knowledge-base.interface.d.ts +5 -0
  457. package/libs/project-provider/src/interfaces/knowledge-base.interface.js +3 -0
  458. package/libs/project-provider/src/interfaces/knowledge-base.interface.js.map +1 -0
  459. package/libs/project-provider/src/interfaces/knowledge-base.interface.ts +6 -0
  460. package/libs/project-provider/src/interfaces/registry-provider.interface.d.ts +24 -0
  461. package/libs/project-provider/src/interfaces/registry-provider.interface.js +3 -0
  462. package/libs/project-provider/src/interfaces/registry-provider.interface.js.map +1 -0
  463. package/libs/project-provider/src/interfaces/registry-provider.interface.ts +36 -0
  464. package/libs/project-provider/src/project-provider.module.d.ts +10 -0
  465. package/libs/project-provider/src/project-provider.module.js +137 -0
  466. package/libs/project-provider/src/project-provider.module.js.map +1 -0
  467. package/libs/project-provider/src/project-provider.module.ts +119 -0
  468. package/libs/project-provider/src/services/al-parser.service.d.ts +6 -0
  469. package/libs/project-provider/src/services/al-parser.service.js +103 -0
  470. package/libs/project-provider/src/services/al-parser.service.js.map +1 -0
  471. package/libs/project-provider/src/services/al-parser.service.ts +92 -0
  472. package/libs/project-provider/src/services/direct-inbox-client.service.ts +24 -0
  473. package/libs/project-provider/src/services/file-knowledge-base.service.d.ts +8 -0
  474. package/libs/project-provider/src/services/file-knowledge-base.service.js +158 -0
  475. package/libs/project-provider/src/services/file-knowledge-base.service.js.map +1 -0
  476. package/libs/project-provider/src/services/file-knowledge-base.service.ts +81 -0
  477. package/libs/project-provider/src/services/filesystem-employee-code.service.d.ts +49 -0
  478. package/libs/project-provider/src/services/filesystem-employee-code.service.js +227 -0
  479. package/libs/project-provider/src/services/filesystem-employee-code.service.js.map +1 -0
  480. package/libs/project-provider/src/services/filesystem-employee-code.service.ts +220 -0
  481. package/libs/project-provider/src/services/filesystem-registry.service.d.ts +34 -0
  482. package/libs/project-provider/src/services/filesystem-registry.service.js +231 -0
  483. package/libs/project-provider/src/services/filesystem-registry.service.js.map +1 -0
  484. package/libs/project-provider/src/services/filesystem-registry.service.ts +271 -0
  485. package/libs/project-provider/src/services/http-inbox-client.service.d.ts +7 -0
  486. package/libs/project-provider/src/services/http-inbox-client.service.js +66 -0
  487. package/libs/project-provider/src/services/http-inbox-client.service.js.map +1 -0
  488. package/libs/project-provider/src/services/http-inbox-client.service.ts +29 -0
  489. package/libs/project-provider/src/services/noop-inbox-client.service.d.ts +4 -0
  490. package/libs/project-provider/src/services/noop-inbox-client.service.js +32 -0
  491. package/libs/project-provider/src/services/noop-inbox-client.service.js.map +1 -0
  492. package/libs/project-provider/src/services/noop-inbox-client.service.ts +9 -0
  493. package/libs/project-provider/src/types/messaging.types.d.ts +49 -0
  494. package/libs/project-provider/src/types/messaging.types.js +11 -0
  495. package/libs/project-provider/src/types/messaging.types.js.map +1 -0
  496. package/libs/project-provider/src/types/messaging.types.ts +59 -0
  497. package/libs/project-provider/src/types/project.types.d.ts +44 -0
  498. package/libs/project-provider/src/types/project.types.js +3 -0
  499. package/libs/project-provider/src/types/project.types.js.map +1 -0
  500. package/libs/project-provider/src/types/project.types.ts +58 -0
  501. package/libs/project-provider/tsconfig.lib.json +9 -0
  502. package/nest-cli.json +114 -0
  503. package/package.json +206 -0
  504. package/scripts/agentmanager.mjs +1126 -0
  505. package/scripts/monolith-daemon-run.mjs +77 -0
  506. package/scripts/monolith-daemon-run.sh +27 -0
  507. package/tsconfig.json +35 -0
package/README.md ADDED
@@ -0,0 +1,122 @@
1
+ # AgentManager Monorepo
2
+
3
+ A NestJS monorepo for building and managing AI Employees written
4
+ in [Agentlang](https://github.com/agentlang-ai/agentlang). It contains multiple applications and shared libraries.
5
+
6
+ ## Applications
7
+
8
+ ### [AgentManager](apps/agentmanager/)
9
+
10
+ REST API for managing a swarm of AI Employees. Handles employee registration, source code management, deployment tracking, inter-employee messaging (inboxes), and LLM-powered semantic discovery of employees by capability.
11
+
12
+ **Port:** 3001
13
+
14
+ ### [AgentCraft](apps/agentcraft/)
15
+
16
+ LLM-powered code generation service that produces complete Agentlang applications from natural-language descriptions. Supports interactive sessions, spec-driven resolver generation, autonomous fire-and-forget runs, and a continuous signal-driven architect loop.
17
+
18
+ **Port:** 3002
19
+
20
+ ### [Knowledge](apps/knowledge/)
21
+
22
+ Knowledge management API with document ingestion, graph visualization, and AI recommendations. Features topic management, document lifecycle, vector search (LanceDB), graph queries (Neo4j), and sync connections to external providers.
23
+
24
+ **Port:** 3003
25
+
26
+ ### [Fabric](apps/fabric/)
27
+
28
+ Deployment orchestration service with multi-provider support (Docker, EKS, PM2). Manages environments, versions, runtime deployments, and deployment events with database persistence.
29
+
30
+ **Port:** 3004
31
+
32
+ ### [Monolith](apps/monolith/)
33
+
34
+ Unified application that combines multiple services into a single deployable unit for local development and testing.
35
+
36
+ **Port:** 3005
37
+
38
+ ## Shared Libraries
39
+
40
+ | Library | Path | Description |
41
+ | ----------------------- | ------------------------ | ------------------------------------------------------------------------------------ |
42
+ | `@app/project-provider` | `libs/project-provider/` | Filesystem-backed registry, employee code provider, knowledge base, and inbox client |
43
+ | `@app/agentcraft` | `libs/agentcraft/` | Core generation engine — LLM pipeline, prompts, planner, executor, architect loop |
44
+ | `@app/auth` | `libs/auth/` | Authentication and authorization shared module |
45
+ | `@app/common` | `libs/common/` | Shared database infrastructure, filters, interceptors, and common utilities |
46
+
47
+ ## Tech Stack
48
+
49
+ - **NestJS 11** with **Fastify**
50
+ - **TypeScript** compiled with **SWC**
51
+ - **Zod** + `nestjs-zod` for validation
52
+ - **Anthropic Claude** / **OpenAI** for LLM features
53
+ - **Agentlang** runtime (`agentlang` npm package)
54
+ - **Prisma** for database ORM
55
+ - **LanceDB** for vector storage
56
+ - **Neo4j** for graph database
57
+ - **AWS SDK** for S3 and Cognito
58
+ - Filesystem-backed storage (no database required for some apps)
59
+
60
+ ## Getting Started
61
+
62
+ ```bash
63
+ # Install dependencies
64
+ npm install
65
+
66
+ # Start AgentManager (port 3001)
67
+ npm run start:dev
68
+
69
+ # Start AgentCraft (port 3002)
70
+ npm run start:craft:dev
71
+
72
+ # Start Knowledge (port 3003)
73
+ npm run start:knowledge:dev
74
+
75
+ # Build all applications
76
+ npm run build
77
+ ```
78
+
79
+ ## Project Structure
80
+
81
+ ```
82
+ agentmanager-mono/
83
+ ├── apps/
84
+ │ ├── agentmanager/ # Swarm management API
85
+ │ ├── agentcraft/ # LLM code generation service
86
+ │ ├── knowledge/ # Knowledge management with ingestion
87
+ │ ├── fabric/ # Deployment orchestration
88
+ │ └── monolith/ # Unified application
89
+ ├── libs/
90
+ │ ├── project-provider/ # Registry, code, inbox providers
91
+ │ ├── agentcraft/ # Generation engine & prompts
92
+ │ ├── auth/ # Authentication module
93
+ │ └── common/ # Shared database & utilities
94
+ ├── nest-cli.json # NestJS monorepo configuration
95
+ ├── package.json
96
+ └── tsconfig.json
97
+ ```
98
+
99
+ ## Scripts
100
+
101
+ | Script | Description |
102
+ | ----------------------------- | ------------------------------------ |
103
+ | `npm run start:dev` | Start AgentManager in watch mode |
104
+ | `npm run start:craft:dev` | Start AgentCraft in watch mode |
105
+ | `npm run start:knowledge:dev` | Start Knowledge app in watch mode |
106
+ | `npm run build` | Build all applications and libraries |
107
+ | `npm run build:knowledge` | Build Knowledge app only |
108
+ | `npm test` | Run unit tests |
109
+ | `npm run test:knowledge` | Run Knowledge app tests |
110
+ | `npm run test:e2e` | Run end-to-end tests |
111
+ | `npm run test:cov` | Run tests with coverage |
112
+ | `npm run lint` | Lint and auto-fix |
113
+ | `npm run lint:check` | Check linting without fixing |
114
+ | `npm run format` | Format with Prettier |
115
+ | `npm run format:check` | Check formatting |
116
+ | `npm run typecheck` | TypeScript type checking |
117
+
118
+ ## Development Notes
119
+
120
+ - The `docs/` folder is for local documentation only and is ignored by git
121
+ - Always run `npm run format` before committing
122
+ - The codebase has pre-existing lint errors; focus on not introducing new ones
@@ -0,0 +1,237 @@
1
+ # AgentCraft
2
+
3
+ An LLM-powered code generation service that automates the creation of applications written in the [Agentlang](https://github.com/niclaswebb/agentlang) language. AgentCraft takes a natural-language description of what you want and produces complete Agentlang projects — data models, workflows, agents, and all supporting files.
4
+
5
+ ## Overview
6
+
7
+ AgentCraft offers multiple modes of operation:
8
+
9
+ - **Sessions** — Interactive, step-by-step project generation. The LLM proposes ideas and actions; you review and guide the process via SSE-streamed events.
10
+ - **Resolver** — Generate an Agentlang app from an OpenAPI/external spec URL. Supports browsing and installing from the Agentlang registry.
11
+ - **Autonomous** — Fire-and-forget generation. Supply a message, project name, and knowledge base path; AgentCraft runs a full pipeline and produces the output directory.
12
+ - **Architect** — A continuous signal-processing loop. Ingest signals (requirements changes, bug reports, etc.) for a project, and the Architect autonomously plans and generates code in response.
13
+
14
+ ## Architecture
15
+
16
+ ```
17
+ apps/agentcraft/src/
18
+ ├── config/ # App configuration (env vars)
19
+ ├── common/ # Shared exception filters
20
+ ├── sessions/ # Interactive project-generation sessions
21
+ ├── resolver/ # Spec-driven generation + registry integration
22
+ ├── autonomous/ # Fire-and-forget full pipeline runs
23
+ ├── architect/ # Signal-driven continuous generation loop
24
+ └── main.ts # Fastify bootstrap (port 3002)
25
+ ```
26
+
27
+ ### Shared Libraries
28
+
29
+ - **`@app/agentcraft`** — Core generation engine containing the LLM pipeline, prompts, and services:
30
+ - **Pipeline**: planning, decomposition, codegen, assembly phases
31
+ - **Prompts**: system prompts for each generation phase, Agentlang semantics guide, example provider
32
+ - **Services**: planner, decomposer, design/requirements/UI-blueprint generators, executor, output parser/writer
33
+ - **Architect loop**: signal queue with debouncing, phase retries, and sub-app generation
34
+ - **Autonomous runner**: end-to-end pipeline orchestration with knowledge-base loading
35
+ - **LLM adapters**: Anthropic Claude and OpenAI support
36
+ - **`@app/project-provider`** — Filesystem-backed registry, employee code provider, knowledge base, and inbox client
37
+
38
+ ## API Endpoints
39
+
40
+ All routes are prefixed with `/api`. CORS is enabled.
41
+
42
+ ### Sessions (Interactive Generation)
43
+
44
+ | Method | Path | Description |
45
+ |--------|------|-------------|
46
+ | POST | `/api/projects` | Create a new generation session |
47
+ | GET | `/api/projects/:id/status` | Get session status |
48
+ | GET | `/api/projects/:id/output` | Get generated output |
49
+ | GET | `/api/projects/:id/steps` | Get pipeline steps |
50
+ | POST | `/api/projects/:id/idea` | Submit an idea for the LLM to work with |
51
+ | POST | `/api/projects/:id/action` | Submit an action decision |
52
+ | GET | `/api/projects/:id/files` | List generated files |
53
+ | GET | `/api/projects/:id/files/*` | Get a specific generated file |
54
+ | SSE | `/api/projects/:id/stream` | Real-time event stream |
55
+
56
+ ### Resolver (Spec-Driven Generation)
57
+
58
+ | Method | Path | Description |
59
+ |--------|------|-------------|
60
+ | POST | `/api/resolvers` | Create a resolver session from a spec URL |
61
+ | GET | `/api/resolvers/:id/status` | Get resolver status |
62
+ | GET | `/api/resolvers/:id/output` | Get generated output |
63
+ | POST | `/api/resolvers/:id/action` | Submit an action decision |
64
+ | GET | `/api/resolvers/registry/search?q=...` | Search the Agentlang registry |
65
+ | POST | `/api/resolvers/registry/install` | Install a project from the registry |
66
+ | SSE | `/api/resolvers/:id/stream` | Real-time event stream |
67
+
68
+ ### Autonomous (Fire-and-Forget)
69
+
70
+ | Method | Path | Description |
71
+ |--------|------|-------------|
72
+ | POST | `/api/autonomous` | Start an autonomous generation run |
73
+ | GET | `/api/autonomous/:runId/status` | Poll run status |
74
+ | POST | `/api/autonomous/watch` | Start watching a KB directory for changes |
75
+ | GET | `/api/autonomous/watch` | Get current watch status |
76
+ | DELETE | `/api/autonomous/watch` | Stop watching |
77
+
78
+ ### Architect (Signal-Driven Loop)
79
+
80
+ | Method | Path | Description |
81
+ |--------|------|-------------|
82
+ | POST | `/api/projects/:projectId/architect` | Ingest a signal (requirement, bug, etc.) |
83
+ | GET | `/api/projects/:projectId/architect/status` | Get architect loop status |
84
+ | GET | `/api/projects/:projectId/architect/history` | Get processed signal history |
85
+ | SSE | `/api/projects/:projectId/architect/stream` | Real-time event stream |
86
+
87
+ ## Configuration
88
+
89
+ All configuration is via environment variables:
90
+
91
+ | Variable | Default | Description |
92
+ |----------|---------|-------------|
93
+ | `CRAFT_PORT` | `3002` | Server port |
94
+ | `CRAFT_OUTPUT_DIR` | `.` | Base directory for generated project output |
95
+ | `REGISTRY_PATH` | `./registry` | Path to the Agentlang registry |
96
+ | `INBOXES_PATH` | `./inboxes` | Path for inbox message storage |
97
+
98
+ ### LLM Configuration
99
+
100
+ | Variable | Default | Description |
101
+ |----------|---------|-------------|
102
+ | `CRAFT_PROVIDER` | `anthropic` | LLM provider (`anthropic` or `openai`) |
103
+ | `CRAFT_MODEL` | `claude-sonnet-4-6` / `gpt-4o` | Model to use |
104
+ | `CRAFT_API_KEY` | — | API key (falls back to `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`) |
105
+
106
+ ### Architect Tuning
107
+
108
+ | Variable | Default | Description |
109
+ |----------|---------|-------------|
110
+ | `ARCHITECT_DEBOUNCE_MS` | `5000` | Debounce window before processing queued signals |
111
+ | `ARCHITECT_PHASE_RETRIES` | `2` | Max retries per pipeline phase |
112
+ | `ARCHITECT_SUBAPP_RETRIES` | `2` | Max retries for sub-app generation |
113
+
114
+ ## Generation Pipeline
115
+
116
+ AgentCraft uses a multi-phase LLM pipeline to produce Agentlang projects:
117
+
118
+ 1. **Planning** — Understand the user's requirements and produce a high-level plan
119
+ 2. **Decomposition** — Break the plan into sub-apps / modules
120
+ 3. **Design generation** — Produce data models, workflows, and agent definitions
121
+ 4. **Code generation** — Generate Agentlang source files (`.al` modules, `package.al`, `config.edn`)
122
+ 5. **Assembly** — Combine outputs, validate, and write to the output directory
123
+
124
+ Each phase has dedicated prompts that embed the Agentlang semantics guide and reference examples from the registry.
125
+
126
+ ## Tech Stack
127
+
128
+ - **Runtime**: Node.js + NestJS with Fastify
129
+ - **Validation**: Zod via `nestjs-zod`
130
+ - **Build**: SWC (fast TypeScript compilation)
131
+ - **LLM**: Anthropic Claude (primary) / OpenAI (supported)
132
+ - **Streaming**: Server-Sent Events (SSE) for real-time progress
133
+ - **Storage**: Filesystem-backed (no database required)
134
+
135
+ ## Getting Started
136
+
137
+ ```bash
138
+ # From the monorepo root
139
+ npm install
140
+
141
+ # Set your LLM API key
142
+ export ANTHROPIC_API_KEY=sk-ant-...
143
+
144
+ # Start AgentCraft
145
+ npm run start:craft
146
+ ```
147
+
148
+ The server starts on port **3002** by default.
149
+
150
+ ## Usage
151
+
152
+ ### Triggering an Autonomous Workflow
153
+
154
+ Start a fire-and-forget generation run by POSTing to `/api/autonomous`:
155
+
156
+ ```bash
157
+ curl -X POST http://localhost:3002/api/autonomous \
158
+ -H "Content-Type: application/json" \
159
+ -d '{
160
+ "message": "Build a customer support ticketing system with agents that triage, assign, and resolve tickets",
161
+ "userId": "user-1",
162
+ "projectName": "support-desk",
163
+ "kbPath": "/path/to/your/knowledge-base"
164
+ }'
165
+ ```
166
+
167
+ Response (`202 Accepted`):
168
+
169
+ ```json
170
+ {
171
+ "runId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
172
+ "projectName": "support-desk",
173
+ "status": "started"
174
+ }
175
+ ```
176
+
177
+ Poll for progress using the returned `runId`:
178
+
179
+ ```bash
180
+ curl http://localhost:3002/api/autonomous/a1b2c3d4-e5f6-7890-abcd-ef1234567890/status
181
+ ```
182
+
183
+ #### Optional fields
184
+
185
+ | Field | Description |
186
+ |-------|-------------|
187
+ | `outputDir` | Override the output directory (defaults to `CRAFT_OUTPUT_DIR`) |
188
+ | `provider` | LLM provider override (`anthropic` or `openai`) |
189
+ | `model` | Model override (e.g. `claude-opus-4-6`) |
190
+ | `apiKey` | Per-request API key override |
191
+ | `inboxUrl` | URL for inbox message delivery |
192
+
193
+ ### Watching a KB Directory
194
+
195
+ Start watching a root knowledge-base directory. When a subdirectory is added or its files change, AgentCraft automatically triggers an autonomous run for that project:
196
+
197
+ ```bash
198
+ curl -X POST http://localhost:3002/api/autonomous/watch \
199
+ -H "Content-Type: application/json" \
200
+ -d '{
201
+ "kbPath": "/path/to/kb-root",
202
+ "userId": "user-1"
203
+ }'
204
+ ```
205
+
206
+ Response (`202 Accepted`):
207
+
208
+ ```json
209
+ {
210
+ "active": true,
211
+ "kbPath": "/path/to/kb-root",
212
+ "userId": "user-1",
213
+ "message": "Generate an Agentlang app from the knowledge base",
214
+ "pollIntervalMs": 3000,
215
+ "outputDir": ".",
216
+ "triggeredRuns": [],
217
+ "startedAt": "2026-03-13T12:00:00.000Z"
218
+ }
219
+ ```
220
+
221
+ Now drop a folder (e.g. `my-crm/`) with `.md` or `.txt` files into `/path/to/kb-root` — AgentCraft will detect it and kick off a generation run automatically. Check watch status or triggered runs:
222
+
223
+ ```bash
224
+ # Watch status
225
+ curl http://localhost:3002/api/autonomous/watch
226
+
227
+ # Stop watching
228
+ curl -X DELETE http://localhost:3002/api/autonomous/watch
229
+ ```
230
+
231
+ #### Optional fields
232
+
233
+ | Field | Description |
234
+ |-------|-------------|
235
+ | `message` | Custom prompt for generation (default: "Generate an Agentlang app from the knowledge base") |
236
+ | `pollIntervalMs` | How often to poll for changes in ms (default: `3000`, range: 500–60000) |
237
+ | `outputDir` | Override the output directory for generated projects |
@@ -0,0 +1,40 @@
1
+ import { Module, DynamicModule } from '@nestjs/common';
2
+ import { RouterModule } from '@nestjs/core';
3
+ import { SessionsModule } from './sessions/sessions.module';
4
+ import { ResolverModule } from './resolver/resolver.module';
5
+ import { AutonomousModule } from './autonomous/autonomous.module';
6
+ import { ArchitectModule } from './architect/architect.module';
7
+ import { HealthModule } from './health/health.module';
8
+
9
+ const AGENTCRAFT_FEATURE_MODULES = [
10
+ SessionsModule,
11
+ ResolverModule,
12
+ AutonomousModule,
13
+ ArchitectModule,
14
+ HealthModule,
15
+ ];
16
+
17
+ @Module({})
18
+ export class AgentcraftCoreModule {
19
+ static forRoot(routePrefix?: string): DynamicModule {
20
+ const imports: any[] = [...AGENTCRAFT_FEATURE_MODULES];
21
+ if (routePrefix) {
22
+ imports.unshift(
23
+ RouterModule.register([
24
+ {
25
+ path: routePrefix,
26
+ children: AGENTCRAFT_FEATURE_MODULES.map((module) => ({
27
+ path: '',
28
+ module,
29
+ })),
30
+ },
31
+ ]),
32
+ );
33
+ }
34
+
35
+ return {
36
+ module: AgentcraftCoreModule,
37
+ imports,
38
+ };
39
+ }
40
+ }
@@ -0,0 +1,28 @@
1
+ import { Module } from '@nestjs/common';
2
+ import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core';
3
+ import { ConfigModule } from '@nestjs/config';
4
+ import { ThrottlerModule, ThrottlerGuard } from '@nestjs/throttler';
5
+ import { ProjectProviderModule } from '@app/project-provider';
6
+ import { AgentcraftModule } from '@app/agentcraft';
7
+ import configuration from './config/configuration';
8
+ import { DomainExceptionFilter, LoggingInterceptor } from '@app/common';
9
+ import { AgentcraftCoreModule } from './agentcraft-core.module';
10
+
11
+ @Module({
12
+ imports: [
13
+ ConfigModule.forRoot({
14
+ isGlobal: true,
15
+ load: [configuration],
16
+ }),
17
+ ThrottlerModule.forRoot([{ ttl: 60_000, limit: 100 }]),
18
+ ProjectProviderModule.forRootAsync(),
19
+ AgentcraftModule.forRootAsync(),
20
+ AgentcraftCoreModule.forRoot(),
21
+ ],
22
+ providers: [
23
+ { provide: APP_FILTER, useClass: DomainExceptionFilter },
24
+ { provide: APP_GUARD, useClass: ThrottlerGuard },
25
+ { provide: APP_INTERCEPTOR, useClass: LoggingInterceptor },
26
+ ],
27
+ })
28
+ export class AppModule {}
@@ -0,0 +1,69 @@
1
+ import {
2
+ Controller,
3
+ Get,
4
+ Post,
5
+ Param,
6
+ Body,
7
+ Sse,
8
+ HttpCode,
9
+ HttpStatus,
10
+ MessageEvent,
11
+ } from '@nestjs/common';
12
+ import { Observable, merge, from, interval, fromEvent } from 'rxjs';
13
+ import { map } from 'rxjs/operators';
14
+ import { ArchitectService } from './architect.service';
15
+ import { IngestSignalDto } from './dto/ingest-signal.dto';
16
+ import type { SSEEvent } from './interfaces/architect.interfaces';
17
+
18
+ @Controller('projects/:projectId/architect')
19
+ export class ArchitectController {
20
+ constructor(private readonly architectService: ArchitectService) {}
21
+
22
+ @Post()
23
+ @HttpCode(HttpStatus.ACCEPTED)
24
+ async ingestSignal(
25
+ @Param('projectId') projectId: string,
26
+ @Body() dto: IngestSignalDto,
27
+ ) {
28
+ const signal = await this.architectService.ingest(projectId, {
29
+ summary: dto.summary,
30
+ kind: dto.kind,
31
+ priority: dto.priority,
32
+ data: dto.data,
33
+ userId: dto.userId,
34
+ });
35
+
36
+ return {
37
+ id: signal.id,
38
+ summary: signal.summary,
39
+ priority: signal.priority,
40
+ queued: true,
41
+ };
42
+ }
43
+
44
+ @Get('status')
45
+ getStatus(@Param('projectId') projectId: string) {
46
+ return this.architectService.getStatus(projectId);
47
+ }
48
+
49
+ @Sse('stream')
50
+ async stream(
51
+ @Param('projectId') projectId: string,
52
+ ): Promise<Observable<MessageEvent>> {
53
+ const { buffer, emitter } =
54
+ await this.architectService.getStream(projectId);
55
+
56
+ return merge(
57
+ from(buffer).pipe(map((e) => ({ data: JSON.stringify(e) }))),
58
+ fromEvent<SSEEvent>(emitter, 'event').pipe(
59
+ map((e) => ({ data: JSON.stringify(e) })),
60
+ ),
61
+ interval(15_000).pipe(map(() => ({ data: '' }))),
62
+ );
63
+ }
64
+
65
+ @Get('history')
66
+ getHistory(@Param('projectId') projectId: string) {
67
+ return this.architectService.getHistory(projectId);
68
+ }
69
+ }
@@ -0,0 +1,11 @@
1
+ import { Module } from '@nestjs/common';
2
+ import { ArchitectController } from './architect.controller';
3
+ import { ArchitectService } from './architect.service';
4
+ import { ArchitectStore } from './architect.store';
5
+
6
+ @Module({
7
+ controllers: [ArchitectController],
8
+ providers: [ArchitectService, ArchitectStore],
9
+ exports: [ArchitectService],
10
+ })
11
+ export class ArchitectModule {}