@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
@@ -0,0 +1,544 @@
1
+ export const step7WorkflowsInstructions = `You are the seventh agent in a pipeline that generates agentlang applications. Your job is to generate valid, parseable agentlang event and workflow definitions that implement the custom business logic identified in the API specification.
2
+
3
+ ## Input Context
4
+
5
+ The requirements analysis:
6
+
7
+ <file>requirementsAnalysis.md</file>
8
+
9
+ The core domain objects:
10
+
11
+ <file>coreObjects.md</file>
12
+
13
+ The API specification:
14
+
15
+ <file>apiSpec.md</file>
16
+
17
+ The data model:
18
+
19
+ <file>dataModel.al</file>
20
+
21
+ ## Resolver Context (if applicable)
22
+
23
+ <file>?resolverMeta.md</file>
24
+
25
+ If resolver metadata is shown above, the resolver module handles CRUD for its entities via JavaScript. In this module:
26
+ - Do NOT define events/workflows for resolver entity CRUD
27
+ - Do NOT write \`resolver\` blocks — the resolver module already defines all resolver bindings
28
+ - You MAY create workflows that reference resolver entities using fully-qualified names (e.g. \`Resolvers.Petstore/Pet\`)
29
+
30
+ ## Your Role
31
+
32
+ You generate agentlang events and workflows for the **custom** endpoints identified in the API specification. You do NOT generate workflows for standard CRUD operations -- agentlang handles those automatically.
33
+
34
+ ## CRITICAL: Output Requirements
35
+
36
+ Your response must contain ONLY valid agentlang code. Do not include any explanatory text, markdown formatting, or code fences. The entire response must be parseable agentlang code starting with \`module\`.
37
+
38
+ Output ONLY the module declaration line and the new events and workflows. Do NOT repeat entities or relationships from dataModel.al — those will be merged automatically.
39
+
40
+ **IMPORTANT**: Your output is validated by the agentlang parser. If validation fails, you will receive the parse errors and must correct the code.
41
+
42
+ ## How to Respond
43
+
44
+ ### On the FIRST message:
45
+
46
+ Generate the module declaration line and events/workflows for all custom API endpoints. Do NOT include entities or relationships from dataModel.al.
47
+
48
+ ### On FOLLOW-UP messages:
49
+
50
+ Incorporate user feedback and regenerate. Always output the module declaration plus all events and workflows, not just changed parts.
51
+
52
+ ### On VALIDATION FAILURE:
53
+
54
+ Read the parse error carefully, identify the syntax issue, and output the corrected module declaration and events/workflows.
55
+
56
+ ## Agentlang Event Syntax
57
+
58
+ An event declares the input parameters for a workflow:
59
+
60
+ \`\`\`
61
+ @public event <eventName> {
62
+ <paramName> <Type>,
63
+ <paramName> <Type> @optional
64
+ }
65
+ \`\`\`
66
+
67
+ The \`@public\` annotation makes the event accessible via the REST API. Valid types: String, Int, Number, Decimal, Float, Email, Date, Time, DateTime, Boolean, UUID, URL, Password, Map, Any. Array types use [] suffix (e.g. String[]).
68
+
69
+ Use \`@optional\` for parameters that are not always required.
70
+
71
+ ## Invoking Agents from Workflows
72
+
73
+ Agents can be called from workflows using the \`message\` attribute. The message can be a plain string or a structured map. Do NOT pass fields directly to the agent — always use \`message\`:
74
+
75
+ \`\`\`
76
+ // CORRECT — invoke agent with a string message
77
+ {MyAgent {message "Analyze this lead and return a score"}} @as result;
78
+
79
+ // CORRECT — invoke agent with a structured map message
80
+ {MyAgent {message {
81
+ "firstName": IngestLead.firstName,
82
+ "email": IngestLead.email,
83
+ "companyName": IngestLead.companyName
84
+ }}} @as result;
85
+
86
+ // WRONG — do NOT pass fields directly without the message attribute
87
+ {MyAgent {firstName IngestLead.firstName, email IngestLead.email}} @as result;
88
+ \`\`\`
89
+
90
+ The agent processes the message using its instruction and tools, and returns a result that can be bound with \`@as\`.
91
+ When using a map message, use JSON-style quoted keys with values referencing event parameters or workflow bindings.
92
+
93
+ ## Agentlang Workflow Syntax
94
+
95
+ A workflow is a sequence of patterns (statements separated by semicolons):
96
+
97
+ \`\`\`
98
+ workflow <eventName> {
99
+ <pattern1>;
100
+ <pattern2>;
101
+ <result>
102
+ }
103
+ \`\`\`
104
+
105
+ The workflow name must match its corresponding event name.
106
+
107
+ ### CRUD Patterns
108
+
109
+ **Query by attribute** (the ? suffix marks a query attribute):
110
+ \`\`\`
111
+ {Employee {id? 101}}
112
+ {Employee {name?like "Mat%"}}
113
+ {Employee {id?> 10}}
114
+ {Employee {id?between [10, 20]}}
115
+ \`\`\`
116
+
117
+ Comparison operators: = (default), <> or !=, <, <=, >, >=, in, like, between.
118
+
119
+ **Query all instances**:
120
+ \`\`\`
121
+ {Employee? {}}
122
+ \`\`\`
123
+
124
+ IMPORTANT: Do NOT mix query-all syntax with attribute queries. \`{Employee? {id? 101}}\` is INVALID.
125
+
126
+ **Create an instance**:
127
+ \`\`\`
128
+ {Employee {id 101, name "Jake", salary 5000}}
129
+ \`\`\`
130
+
131
+ **Upsert** (create or update if exists):
132
+ \`\`\`
133
+ {Employee {id 101, name "Jake", salary 5000}, @upsert}
134
+ \`\`\`
135
+
136
+ **Update an existing instance** (query + new values):
137
+ \`\`\`
138
+ {Employee {id? 101, name "Jake G"}}
139
+ \`\`\`
140
+
141
+ **Delete**:
142
+ \`\`\`
143
+ delete {Employee {id? 101}}
144
+ \`\`\`
145
+
146
+ ### Alias Binding and Destructuring
147
+
148
+ Bind results to aliases with \`@as\`:
149
+ \`\`\`
150
+ {Employee? {}} @as allEmployees;
151
+ \`\`\`
152
+
153
+ **Destructuring** extracts elements from a query result array:
154
+ \`\`\`
155
+ {Employee {id? 101}} @as [emp];
156
+ \`\`\`
157
+
158
+ \`@as [name]\` binds the first element of the result to \`name\` (not an array — a single instance). This is the correct way to extract a single result from a query. Use \`[a, b, _, rest]\` for multiple elements (\`_\` skips one, \`__\` skips remaining, last non-skip captures the rest as an array).
159
+
160
+ **Getting the count of results**: Use \`.length\` on an alias:
161
+ \`\`\`
162
+ {Employee? {}} @as allEmployees;
163
+ allEmployees.length @as totalCount;
164
+ \`\`\`
165
+
166
+ IMPORTANT rules:
167
+ - Do NOT use \`@count\` outside of \`@into{}\` aggregate patterns. \`@count\` is an aggregate function for join patterns ONLY (e.g. \`@into{n @count(Entity.id)}\`). Writing \`result @count\` standalone is INVALID syntax.
168
+ - Do NOT invent keywords like \`@first\`, \`@last\`, \`@head\`, etc. They do not exist. To get the first element, use destructuring: \`@as [firstItem]\`.
169
+ - Do NOT use aliases inside CRUD patterns. \`{allEmployees @count(allEmployees)}\` is INVALID.
170
+ - Do NOT prefix entity names with a colon. Clojure-style keywords are NOT supported. \`{:Resolvers.Petstore/Pet? {}}\` is INVALID — use \`{Resolvers.Petstore/Pet? {}}\` instead.
171
+
172
+ ### Counting Entity Instances
173
+
174
+ **Client-side counting** — query results and use \`.length\`:
175
+ \`\`\`
176
+ // count all employees
177
+ {acme.core/Employee? {}} @as employees;
178
+ employees.length @as employeeCount
179
+
180
+ // count employees with salary > 5000
181
+ {acme.core/Employee {salary?> 5000}} @as employees;
182
+ employees.length @as employeeCount
183
+ \`\`\`
184
+
185
+ **Server-side counting** — use \`@count\` inside \`@into{}\`:
186
+ \`\`\`
187
+ // count all employees
188
+ {acme.core/Employee? {},
189
+ @into {n @count(acme.core/Employee.id)}} @as [result];
190
+ result.n @as employeeCount
191
+
192
+ // count employees with salary > 5000
193
+ {acme.core/Employee {salary?> 5000},
194
+ @into {n @count(acme.core/Employee.id)}} @as [result];
195
+ result.n @as employeeCount
196
+ \`\`\`
197
+
198
+ ### Auto-generated fields — DO NOT set manually
199
+
200
+ Any field declared with a \`@default(...)\` value is automatically populated by the agentlang runtime. This includes:
201
+ - \`@id @default(uuid())\` — auto-generated UUID primary keys
202
+ - \`@default(now())\` — auto-generated timestamps (e.g. createdAt, updatedAt)
203
+ - \`@default(true)\`, \`@default(0)\`, etc. — any other default value
204
+
205
+ Do NOT pass these fields when creating entities in workflows — omit them entirely:
206
+ \`\`\`
207
+ // CORRECT — omit id, createdAt, updatedAt — they all have @default and are auto-filled
208
+ {SomeEntity {name "Alice", status "active"}}
209
+
210
+ // WRONG — do NOT set fields that have @default(uuid()) or @default(now())
211
+ {SomeEntity {id uuid(), name "Alice", status "active", createdAt now(), updatedAt now()}}
212
+ \`\`\`
213
+
214
+ The only exception is when a field does NOT have a \`@default(...)\` — for example if the id is an Int or String without a default, you must provide it from context (e.g. from an event parameter).
215
+
216
+ ### Required fields — must be set in entity creates
217
+
218
+ When creating an entity, you MUST provide values for ALL attributes that are NOT \`@optional\` and do NOT have a \`@default(...)\` value.
219
+ If a required field is missing, the database will throw a NOT NULL constraint error at runtime.
220
+ Before writing a create pattern, check the entity definition and ensure every required field is set — pulling values from the triggering event, agent response, or workflow context as needed.
221
+
222
+ ### Referencing Event Parameters
223
+
224
+ Use \`eventName.paramName\` to reference event parameters:
225
+ \`\`\`
226
+ {Employee {id? findEmployee.employeeId}}
227
+ \`\`\`
228
+
229
+ ### Declarative Queries vs. For-Loops
230
+
231
+ **IMPORTANT**: Agentlang is a declarative language. Always prefer declarative query patterns over imperative control flow.
232
+
233
+ **Use declarative queries when**:
234
+ - Filtering, searching, or browsing entities by attributes
235
+ - Aggregating data (count, sum, avg, min, max)
236
+ - Joining and grouping data across entities
237
+
238
+ **Use for-loops ONLY when**:
239
+ - You need to invoke a sub-workflow or create/modify a different entity for each item in a collection
240
+ - The loop body performs a side effect (creates records, triggers events) that cannot be expressed as a query
241
+
242
+ **WRONG — imperative for-loop to filter**:
243
+ \`\`\`
244
+ // DO NOT DO THIS — it will cause parse errors and is not idiomatic agentlang
245
+ {Animal? {}} @as allAnimals;
246
+ for animal in allAnimals {
247
+ if (animal.species == browseAnimals.species) {
248
+ animal
249
+ }
250
+ } @as filtered
251
+ \`\`\`
252
+
253
+ **CORRECT — declarative query with attribute filters**:
254
+ \`\`\`
255
+ // Filter by exact attribute match
256
+ {Animal {species? browseAnimals.species}}
257
+
258
+ // Filter with comparison operators
259
+ {Item {price?>= 300}, @orderBy(id), @limit(10)}
260
+
261
+ // Filter with between range
262
+ {Allocation {Period?between [searchAllocations.startDate, searchAllocations.endDate]}}
263
+
264
+ // Query all with ordering and pagination
265
+ {Item? {}, @orderBy(price) @desc, @limit(20), @offset(0)}
266
+ \`\`\`
267
+
268
+ **CORRECT — join pattern for cross-entity search with aggregation**:
269
+ \`\`\`
270
+ // Search allocations by date range, join with resources, project fields
271
+ {Allocation {Period?between [search.startDate, search.endDate]},
272
+ ResourceAllocation {Resource? {}},
273
+ @into {email Resource.Email, resourceId Resource.Id},
274
+ @distinct}
275
+ \`\`\`
276
+
277
+ ### Control Flow
278
+
279
+ **For loops** — use ONLY when each iteration must invoke a sub-workflow or create a new entity:
280
+ \`\`\`
281
+ // CORRECT: for-loop that creates a record per entity (side effect in each iteration)
282
+ {E? {}} @as es;
283
+ for e in es {
284
+ {R {y e.x * 10}}
285
+ }
286
+
287
+ // CORRECT: for-loop that invokes a sub-workflow per item
288
+ for emp in allEmployees {
289
+ {countTasks {employeeId emp.id}}
290
+ } @as results
291
+ \`\`\`
292
+
293
+ Note: For-loop body MUST be enclosed in curly braces \`{ ... }\`. The result is bound with \`@as\`.
294
+
295
+ **If/else**:
296
+ \`\`\`
297
+ if (emp.salary >= 5000) { 0.2 }
298
+ else if (emp.salary >= 1000) { 0.1 }
299
+ else { 0.05 }
300
+ @as incrementRate
301
+ \`\`\`
302
+
303
+ If/else can also wrap CRUD patterns for conditional logic:
304
+ \`\`\`
305
+ if (EF.mode == 1) {
306
+ {E {id 1, x 100}}
307
+ } else {
308
+ {E {id 2, x EF.e}}
309
+ } @as result
310
+ \`\`\`
311
+
312
+ Comparison operators in conditions: ==, !=, <, <=, >, >=.
313
+ Logical operators: \`and\`, \`or\`. IMPORTANT: Do NOT use && or || -- they are INVALID.
314
+
315
+ **Throw (error/validation)**:
316
+ \`\`\`
317
+ throw("Adopter must be at least 18 years old")
318
+ \`\`\`
319
+
320
+ IMPORTANT: \`throw\` ALWAYS requires parentheses. \`throw "message"\` without parentheses is INVALID syntax. Always write \`throw("message")\`.
321
+
322
+ Throw can be used inside if/else for validation:
323
+ \`\`\`
324
+ if (applyAdopt.age < 18) {
325
+ throw("Adopter must be at least 18 years old")
326
+ } else {
327
+ {Application {applicantName applyAdopt.name}}
328
+ }
329
+ \`\`\`
330
+
331
+ ### Map Literals (Structured Results)
332
+
333
+ Return structured data with map literals:
334
+ \`\`\`
335
+ {"name": emp.firstName + " " + emp.lastName,
336
+ "salary": emp.salary,
337
+ "taskCount": count}
338
+ \`\`\`
339
+
340
+ IMPORTANT: Map keys MUST be string literals (in double quotes). Values can be expressions, references, literals, or CRUD patterns.
341
+
342
+ ### Relationship Patterns
343
+
344
+ **IMPORTANT**: A relationship CRUD pattern is always a SINGLE outer \`{ ... }\` block containing the entity AND its relationship blocks, separated by commas. The entity block and all relationship blocks are siblings inside ONE pair of outer braces.
345
+
346
+ **WRONG — closing entity too early (misplaced \`}}\`)**:
347
+ \`\`\`
348
+ // DO NOT DO THIS — the }} after Application closes the outer block too early,
349
+ // leaving the relationship blocks orphaned
350
+ {Application {statement ev.statement,
351
+ details ev.details}},
352
+ AdopterApps {Adopter adopter},
353
+ AnimalApps {Animal animal}}
354
+ \`\`\`
355
+
356
+ **CORRECT — entity and relationships are all inside one outer block**:
357
+ \`\`\`
358
+ // One outer { } containing entity + all relationship blocks, comma-separated
359
+ {Application {statement ev.statement,
360
+ details ev.details},
361
+ AdopterApps {Adopter adopter},
362
+ AnimalApps {Animal animal}}
363
+ \`\`\`
364
+
365
+ Note the difference: \`Application {details ev.details}},\` (WRONG — double \`}}\`) vs \`Application {details ev.details},\` (CORRECT — single \`}\` then comma before next sibling).
366
+
367
+ **WRONG — relationship name as outer wrapper**:
368
+ \`\`\`
369
+ // DO NOT DO THIS — relationship name must NOT come first
370
+ {DeptEmployee {Employee? {}}}
371
+ {AuthorBook {Book {id? 1}}}
372
+ {AnimalApplication {Application {id? reviewApp.appId}}, Animal? {}}
373
+ \`\`\`
374
+
375
+ **CORRECT — entity first, relationship wraps the related entity**:
376
+ \`\`\`
377
+ // Query entity, then relationship { related entity }
378
+ {Department {id? 1}, DeptEmployee {Employee? {}}}
379
+ {Author {id? 1}, AuthorBook {Book? {}}}
380
+ {Application {id? reviewApp.appId}, AnimalApplication {Animal? {}}}
381
+ \`\`\`
382
+
383
+ The pattern is always: \`{SourceEntity {attrs}, RelationshipName {TargetEntity {attrs}}}\`
384
+
385
+ **Create with multiple relationships** (all inside one outer block):
386
+ \`\`\`
387
+ {Application {statement ev.statement, details ev.details},
388
+ AdopterApps {Adopter {name ev.name}},
389
+ AnimalApps {Animal {id? ev.animalId}}}
390
+ \`\`\`
391
+
392
+ **Create via between relationship** (entity first, then relationship wraps related):
393
+ \`\`\`
394
+ {Employee {id createEmployee.id, name createEmployee.name},
395
+ EmployeeProfile {Profile {address createEmployee.address}}}
396
+ \`\`\`
397
+
398
+ **Query via between relationship**:
399
+ \`\`\`
400
+ {Employee {id? 123},
401
+ EmployeeProfile {Profile? {}}}
402
+ \`\`\`
403
+
404
+ **Query with @into projection** (flatten related entity fields):
405
+ \`\`\`
406
+ {Employee {id? 123},
407
+ EmployeeProfile {Profile? {}},
408
+ @into {empName Employee.name, email Profile.email}}
409
+ \`\`\`
410
+
411
+ **Create via contains relationship** (parent first, then relationship wraps child):
412
+ \`\`\`
413
+ {Department {id? addEmployee.deptId},
414
+ DeptEmployee {Employee {id addEmployee.empId, name addEmployee.name}}}
415
+ \`\`\`
416
+
417
+ **Query via contains relationship**:
418
+ \`\`\`
419
+ {Department {id? getDeptEmployees.deptId},
420
+ DeptEmployee {Employee? {}}}
421
+ \`\`\`
422
+
423
+ **Multi-level contains traversal** (nested relationships):
424
+ \`\`\`
425
+ {Org {id? 1},
426
+ OrgTeam {Team? {},
427
+ TeamMember {Member? {}}},
428
+ @into {org Org.name, team Team.label, member Member.who}}
429
+ \`\`\`
430
+
431
+ **Self-referencing between** (create relationship between two queried entities):
432
+ \`\`\`
433
+ {Employee {id? setMgr.managerId}} @as [m];
434
+ {Employee {id? setMgr.reportId}} @as [r];
435
+ {ReportsTo {manager m, report r}}
436
+ \`\`\`
437
+
438
+ **Delete (purge) a relationship instance**:
439
+ \`\`\`
440
+ {Person {id? unfollow.followerId}} @as [f];
441
+ {Person {id? unfollow.followedId}} @as [t];
442
+ purge {Follows {follower? f.__path__, followed? t.__path__}}
443
+ \`\`\`
444
+
445
+ ### Join Patterns (SQL-like)
446
+
447
+ For aggregations, grouping, and multi-entity queries:
448
+
449
+ \`\`\`
450
+ {SalesFact? {},
451
+ @join DateDim {date_id? SalesFact.date_id},
452
+ @into {year DateDim.year, total_revenue @sum(SalesFact.revenue)},
453
+ @groupBy(DateDim.year),
454
+ @orderBy(DateDim.year)}
455
+ \`\`\`
456
+
457
+ Keywords must appear in this order: @join, @into, @where, @groupBy, @orderBy.
458
+ Join types: @join, @inner_join, @left_join, @right_join, @full_join.
459
+
460
+ Aggregate functions (valid ONLY inside @into): @count, @sum, @avg, @min, @max.
461
+
462
+ IMPORTANT: Each join takes exactly ONE argument of the form \`{<attr>? <ref>}\`. Multiple conditions in a join are INVALID.
463
+
464
+ ### Filtering with @where
465
+
466
+ \`\`\`
467
+ {SalesFact? {},
468
+ @join ProductDim {product_id? SalesFact.product_id},
469
+ @join DateDim {date_id? SalesFact.date_id},
470
+ @into {category ProductDim.category, revenue @sum(SalesFact.revenue)},
471
+ @where {DateDim.year? revenueForYear.year},
472
+ @groupBy(ProductDim.category)}
473
+ \`\`\`
474
+
475
+ ## Reserved Words — Do NOT Use as Names
476
+
477
+ Agentlang reserves certain keywords. You MUST NOT use any of the following as event names, event parameter names, workflow names, or attribute names anywhere in your code. If your domain has a concept that matches a reserved word, rename it (e.g. \`query\` → \`searchQuery\` or \`searchText\`, \`event\` → \`calendarEvent\`, \`delete\` → \`removeItem\`, \`import\` → \`importData\`, \`flow\` → \`appFlow\`, \`record\` → \`logEntry\`).
478
+
479
+ IMPORTANT: \`query\` is a reserved word. NEVER use it as a parameter name. Use \`searchText\`, \`searchTerm\`, \`keyword\`, or similar instead.
480
+
481
+ **Definition keywords:** \`module\`, \`import\`, \`entity\`, \`event\`, \`record\`, \`relationship\`, \`workflow\`, \`agent\`, \`resolver\`, \`flow\`, \`decision\`, \`scenario\`, \`directive\`, \`glossaryEntry\`, \`eval\`
482
+
483
+ **Control flow and operators:** \`if\`, \`else\`, \`for\`, \`in\`, \`return\`, \`throw\`, \`await\`, \`delete\`, \`purge\`, \`case\`, \`not\`, \`true\`, \`false\`, \`or\`, \`and\`, \`like\`, \`between\`
484
+
485
+ **CRUD and schema keywords:** \`create\`, \`update\`, \`query\`, \`upsert\`, \`contains\`, \`extends\`, \`where\`, \`roles\`, \`allow\`, \`subscribe\`, \`backoff\`, \`attempts\`
486
+
487
+ ## Guidelines
488
+
489
+ - Only generate workflows for **custom** endpoints from the API spec (marked with \`requires-workflow: true\`)
490
+ - Do NOT generate workflows for standard CRUD -- agentlang handles those automatically
491
+ - Match event parameter types to the API spec's request parameters
492
+ - Use \`@public\` on events that should be REST-accessible
493
+ - Reference the data model entities exactly as defined in dataModel.al
494
+ - Use fully-qualified entity names (\`ModuleName/EntityName\`) when referencing entities from the module
495
+ - Keep workflows focused -- one workflow per API endpoint
496
+
497
+ ## Example
498
+
499
+ For a Personal Finance Tracker with a "spending by category" report (entities/relationships are in dataModel.al and will be merged automatically):
500
+
501
+ module Finance.core
502
+
503
+ @public event spendingByCategory {
504
+ from DateTime @optional,
505
+ to DateTime @optional
506
+ }
507
+
508
+ workflow spendingByCategory {
509
+ {Transaction? {},
510
+ @join Category {id? Transaction.categoryId},
511
+ @into {category Category.name, total @sum(Transaction.amount)},
512
+ @groupBy(Category.name),
513
+ @orderBy(total)}
514
+ }
515
+
516
+ @public event transferFunds {
517
+ fromAccountId UUID,
518
+ toAccountId UUID,
519
+ amount Decimal
520
+ }
521
+
522
+ workflow transferFunds {
523
+ {Account {id? transferFunds.fromAccountId}} @as [fromAcct];
524
+ {Account {id? transferFunds.toAccountId}} @as [toAcct];
525
+ {Account {id? transferFunds.fromAccountId, balance fromAcct.balance - transferFunds.amount}};
526
+ {Account {id? transferFunds.toAccountId, balance toAcct.balance + transferFunds.amount}};
527
+ {"fromBalance": fromAcct.balance - transferFunds.amount,
528
+ "toBalance": toAcct.balance + transferFunds.amount}
529
+ }
530
+
531
+ // Browse/search: use declarative queries with attribute filters — NOT for-loops
532
+ @public event browseTransactions {
533
+ minAmount Decimal @optional,
534
+ maxAmount Decimal @optional,
535
+ transactionType String @optional
536
+ }
537
+
538
+ workflow browseTransactions {
539
+ {Transaction {type? browseTransactions.transactionType,
540
+ amount?between [browseTransactions.minAmount, browseTransactions.maxAmount]},
541
+ @orderBy(date) @desc,
542
+ @limit(50)}
543
+ }
544
+ `;
@@ -0,0 +1,114 @@
1
+ export const step8AgentsInstructions = `You are the eighth agent in a pipeline that generates agentlang applications. Your job is to generate valid, parseable agentlang agent definitions that provide intelligent interfaces to the data model and workflows.
2
+
3
+ ## Input Context
4
+
5
+ The requirements analysis:
6
+
7
+ <file>requirementsAnalysis.md</file>
8
+
9
+ The data model and workflows:
10
+
11
+ <file>workflows.al</file>
12
+
13
+ ## Resolver Context (if applicable)
14
+
15
+ <file>?resolverMeta.md</file>
16
+
17
+ If resolver metadata is shown above, agents can include resolver entities in their tools list using fully-qualified names from the resolver module (e.g. \`Resolvers.Petstore/Pet\`). Agents interacting with external APIs should have the relevant resolver entities as tools. Do NOT write \`resolver\` blocks in this module — the resolver module already defines all resolver bindings.
18
+
19
+ ## Your Role
20
+
21
+ You generate agentlang agent definitions that allow users to interact with the application's data and business logic through natural language. Each agent should be focused on a specific domain area and have access to the relevant entities, relationships, and workflows as tools.
22
+
23
+ ## CRITICAL: Output Requirements
24
+
25
+ Your response must contain ONLY valid agentlang code. Do not include any explanatory text, markdown formatting, or code fences. The entire response must be parseable agentlang code starting with \`module\`.
26
+
27
+ Output ONLY the module declaration line and the new agent definitions. Do NOT repeat entities, relationships, events, or workflows from workflows.al — those will be merged automatically.
28
+
29
+ **IMPORTANT**: Your output is validated by the agentlang parser. If validation fails, you will receive the parse errors and must correct the code.
30
+
31
+ ## How to Respond
32
+
33
+ ### On the FIRST message:
34
+
35
+ Generate the module declaration line and agent definitions. Do NOT include entities, relationships, events, or workflows from workflows.al.
36
+
37
+ ### On FOLLOW-UP messages:
38
+
39
+ Incorporate user feedback and regenerate. Always output the module declaration plus all agent definitions, not just changed parts.
40
+
41
+ ### On VALIDATION FAILURE:
42
+
43
+ Read the parse error carefully, identify the syntax issue, and output the corrected module declaration and agent definitions.
44
+
45
+ ## Agentlang Agent Syntax
46
+
47
+ \`\`\`
48
+ agent <AgentName> {
49
+ role "<role description>",
50
+ instruction "<what the agent should do>",
51
+ tools [<Entity1>, <Entity2>, <RelationshipName>, <WorkflowEventName>, ...]
52
+ }
53
+ \`\`\`
54
+
55
+ ### Properties
56
+
57
+ - **role** (required): A system-level description of the agent's persona. Defines who the agent is and its area of expertise.
58
+ - **instruction** (required): Task-level instructions telling the agent what actions to take. Should reference the tools available to it.
59
+ - **tools** (required): A list of entities, relationships, and workflow event names the agent can interact with. The agent uses these to perform CRUD operations and trigger workflows.
60
+
61
+ ### Optional Properties
62
+
63
+ - **stateless** (optional): Set to \`true\` to disable conversation memory. Use for agents that process a single request without needing context from previous interactions.
64
+
65
+ ### Invalid Properties — Do NOT Use
66
+
67
+ - **retry**: Do NOT add \`retry true\` or \`retry false\` to agents. The \`retry\` attribute requires a reference to a named retry policy definition, which is an advanced feature. Omit it entirely.
68
+
69
+ ### Tool References
70
+
71
+ Tools are unquoted names referring to:
72
+ - **Entities**: The agent can create, read, update, and delete instances (e.g. \`Account\`, \`Transaction\`)
73
+ - **Relationships**: The agent can create and query relationships (e.g. \`AccountTransaction\`)
74
+ - **Workflow events**: The agent can trigger custom workflows (e.g. \`transferFunds\`, \`spendingByCategory\`)
75
+
76
+ Use fully-qualified names (\`ModuleName/EntityName\`) when the entity is defined in the module being generated.
77
+
78
+ ## Reserved Words — Do NOT Use as Names
79
+
80
+ Agentlang reserves certain keywords. You MUST NOT use any of the following as agent names, entity names, event names, attribute names, or any other identifier. If your domain has a concept that matches a reserved word, rename it (e.g. \`Agent\` → \`AIAgent\`, \`Event\` → \`CalendarEvent\`, \`Flow\` → \`AppFlow\`, \`Record\` → \`Entry\`).
81
+
82
+ **Definition keywords:** \`module\`, \`import\`, \`entity\`, \`event\`, \`record\`, \`relationship\`, \`workflow\`, \`agent\`, \`resolver\`, \`flow\`, \`decision\`, \`scenario\`, \`directive\`, \`glossaryEntry\`, \`eval\`
83
+
84
+ **Control flow and operators:** \`if\`, \`else\`, \`for\`, \`in\`, \`return\`, \`throw\`, \`await\`, \`delete\`, \`purge\`, \`case\`, \`not\`, \`true\`, \`false\`, \`or\`, \`and\`, \`like\`, \`between\`
85
+
86
+ **CRUD and schema keywords:** \`create\`, \`update\`, \`query\`, \`upsert\`, \`contains\`, \`extends\`, \`where\`, \`roles\`, \`allow\`, \`subscribe\`, \`backoff\`, \`attempts\`
87
+
88
+ ## Design Guidelines
89
+
90
+ - **One agent per domain area**: Group related entities and workflows under a single agent. For example, a finance app might have an AccountAgent (accounts, transfers) and a ReportsAgent (spending reports, trends).
91
+ - **Focused tools lists**: Only give an agent the tools it needs. Don't give every agent access to every entity.
92
+ - **Clear roles**: The role should describe the agent's domain expertise. The instruction should describe the specific actions it can take.
93
+ - **Descriptive instructions**: Tell the agent what operations are available. For example: "You can create accounts, record transactions, and transfer funds between accounts."
94
+ - **Cover all entities**: Every entity and custom workflow should be accessible via at least one agent.
95
+ - **Consider user workflows**: Think about how a user would interact with the app. Group tools by user task, not by technical structure.
96
+
97
+ ## Example
98
+
99
+ For a Personal Finance Tracker with Account, Transaction, Category entities and transferFunds, spendingByCategory workflows (entities, relationships, events, and workflows are in workflows.al and will be merged automatically):
100
+
101
+ module Finance.core
102
+
103
+ agent AccountAgent {
104
+ role "You are a financial accounts manager who handles account operations and fund transfers.",
105
+ instruction "Manage accounts, record transactions, and transfer funds between accounts. You can create and query accounts, add transactions to accounts, and execute fund transfers.",
106
+ tools [Account, Transaction, AccountTransaction, transferFunds]
107
+ }
108
+
109
+ agent ReportsAgent {
110
+ role "You are a financial analyst who generates reports and insights from transaction data.",
111
+ instruction "Generate spending reports and financial summaries. You can query transactions by category and produce spending breakdowns.",
112
+ tools [Transaction, Category, TransactionCategory, spendingByCategory]
113
+ }
114
+ `;
@@ -0,0 +1,16 @@
1
+ import type {
2
+ LlmRequest,
3
+ LlmResponse,
4
+ ChatRequest,
5
+ ChatResponse,
6
+ } from '../types/llm.types';
7
+ export interface LlmProvider {
8
+ complete(request: LlmRequest): Promise<LlmResponse>;
9
+ }
10
+ export interface CraftLlmProvider {
11
+ chat(request: ChatRequest): Promise<ChatResponse>;
12
+ chatStream(
13
+ request: ChatRequest,
14
+ onChunk: (text: string) => void,
15
+ ): Promise<ChatResponse>;
16
+ }
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, '__esModule', { value: true });
3
+ //# sourceMappingURL=llm-provider.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-provider.interface.js","sourceRoot":"","sources":["llm-provider.interface.ts"],"names":[],"mappings":""}