@bluefly/openstandardagents 0.3.5 → 0.3.6

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 (650) hide show
  1. package/.version.json +7 -0
  2. package/CHANGELOG.md +60 -1
  3. package/README.md +41 -31
  4. package/bin/ossa +2 -23
  5. package/bin/postinstall +3 -2
  6. package/dist/adapters/crewai/converter.d.ts +17 -0
  7. package/dist/adapters/crewai/converter.d.ts.map +1 -0
  8. package/dist/adapters/crewai/converter.js +110 -0
  9. package/dist/adapters/crewai/converter.js.map +1 -0
  10. package/dist/adapters/crewai/index.d.ts +7 -0
  11. package/dist/adapters/crewai/index.d.ts.map +1 -0
  12. package/dist/adapters/crewai/index.js +6 -0
  13. package/dist/adapters/crewai/index.js.map +1 -0
  14. package/dist/adapters/crewai/types.d.ts +29 -0
  15. package/dist/adapters/crewai/types.d.ts.map +1 -0
  16. package/dist/adapters/crewai/types.js +5 -0
  17. package/dist/adapters/crewai/types.js.map +1 -0
  18. package/dist/adapters/docker/generators.d.ts +19 -0
  19. package/dist/adapters/docker/generators.d.ts.map +1 -0
  20. package/dist/adapters/docker/generators.js +93 -0
  21. package/dist/adapters/docker/generators.js.map +1 -0
  22. package/dist/adapters/docker/index.d.ts +7 -0
  23. package/dist/adapters/docker/index.d.ts.map +1 -0
  24. package/dist/adapters/docker/index.js +6 -0
  25. package/dist/adapters/docker/index.js.map +1 -0
  26. package/dist/adapters/docker/types.d.ts +17 -0
  27. package/dist/adapters/docker/types.d.ts.map +1 -0
  28. package/dist/adapters/docker/types.js +5 -0
  29. package/dist/adapters/docker/types.js.map +1 -0
  30. package/dist/adapters/gitlab/converter.d.ts +25 -0
  31. package/dist/adapters/gitlab/converter.d.ts.map +1 -0
  32. package/dist/adapters/gitlab/converter.js +96 -0
  33. package/dist/adapters/gitlab/converter.js.map +1 -0
  34. package/dist/adapters/gitlab/index.d.ts +7 -0
  35. package/dist/adapters/gitlab/index.d.ts.map +1 -0
  36. package/dist/adapters/gitlab/index.js +6 -0
  37. package/dist/adapters/gitlab/index.js.map +1 -0
  38. package/dist/adapters/gitlab/types.d.ts +22 -0
  39. package/dist/adapters/gitlab/types.d.ts.map +1 -0
  40. package/dist/adapters/gitlab/types.js +5 -0
  41. package/dist/adapters/gitlab/types.js.map +1 -0
  42. package/dist/adapters/kubernetes/generator.d.ts +29 -0
  43. package/dist/adapters/kubernetes/generator.d.ts.map +1 -0
  44. package/dist/adapters/kubernetes/generator.js +133 -0
  45. package/dist/adapters/kubernetes/generator.js.map +1 -0
  46. package/dist/adapters/kubernetes/index.d.ts +7 -0
  47. package/dist/adapters/kubernetes/index.d.ts.map +1 -0
  48. package/dist/adapters/kubernetes/index.js +6 -0
  49. package/dist/adapters/kubernetes/index.js.map +1 -0
  50. package/dist/adapters/kubernetes/types.d.ts +17 -0
  51. package/dist/adapters/kubernetes/types.d.ts.map +1 -0
  52. package/dist/adapters/kubernetes/types.js +5 -0
  53. package/dist/adapters/kubernetes/types.js.map +1 -0
  54. package/dist/adapters/langchain/converter.d.ts +21 -0
  55. package/dist/adapters/langchain/converter.d.ts.map +1 -0
  56. package/dist/adapters/langchain/converter.js +143 -0
  57. package/dist/adapters/langchain/converter.js.map +1 -0
  58. package/dist/adapters/langchain/index.d.ts +7 -0
  59. package/dist/adapters/langchain/index.d.ts.map +1 -0
  60. package/dist/adapters/langchain/index.js +6 -0
  61. package/dist/adapters/langchain/index.js.map +1 -0
  62. package/dist/adapters/langchain/types.d.ts +27 -0
  63. package/dist/adapters/langchain/types.d.ts.map +1 -0
  64. package/dist/adapters/langchain/types.js +5 -0
  65. package/dist/adapters/langchain/types.js.map +1 -0
  66. package/dist/adapters/n8n/converter.d.ts +17 -0
  67. package/dist/adapters/n8n/converter.d.ts.map +1 -0
  68. package/dist/adapters/n8n/converter.js +77 -0
  69. package/dist/adapters/n8n/converter.js.map +1 -0
  70. package/dist/adapters/n8n/index.d.ts +7 -0
  71. package/dist/adapters/n8n/index.d.ts.map +1 -0
  72. package/dist/adapters/n8n/index.js +6 -0
  73. package/dist/adapters/n8n/index.js.map +1 -0
  74. package/dist/adapters/n8n/types.d.ts +23 -0
  75. package/dist/adapters/n8n/types.d.ts.map +1 -0
  76. package/dist/adapters/n8n/types.js +5 -0
  77. package/dist/adapters/n8n/types.js.map +1 -0
  78. package/dist/adapters/opentelemetry.adapter.d.ts +1 -1
  79. package/dist/adapters/temporal/converter.d.ts +17 -0
  80. package/dist/adapters/temporal/converter.d.ts.map +1 -0
  81. package/dist/adapters/temporal/converter.js +96 -0
  82. package/dist/adapters/temporal/converter.js.map +1 -0
  83. package/dist/adapters/temporal/index.d.ts +7 -0
  84. package/dist/adapters/temporal/index.d.ts.map +1 -0
  85. package/dist/adapters/temporal/index.js +6 -0
  86. package/dist/adapters/temporal/index.js.map +1 -0
  87. package/dist/adapters/temporal/types.d.ts +23 -0
  88. package/dist/adapters/temporal/types.d.ts.map +1 -0
  89. package/dist/adapters/temporal/types.js +5 -0
  90. package/dist/adapters/temporal/types.js.map +1 -0
  91. package/dist/bot/agent-compliance.js +1 -1
  92. package/dist/bot/agent-compliance.js.map +1 -1
  93. package/dist/bot/agent-security_scanner.d.ts +1 -1
  94. package/dist/bot/agent-security_scanner.d.ts.map +1 -1
  95. package/dist/bot/agent-security_scanner.js.map +1 -1
  96. package/dist/cli/commands/agent-create.command.d.ts +18 -0
  97. package/dist/cli/commands/agent-create.command.d.ts.map +1 -0
  98. package/dist/cli/commands/agent-create.command.js +437 -0
  99. package/dist/cli/commands/agent-create.command.js.map +1 -0
  100. package/dist/cli/commands/agent-wizard.command.d.ts +21 -0
  101. package/dist/cli/commands/agent-wizard.command.d.ts.map +1 -0
  102. package/dist/cli/commands/agent-wizard.command.js +1136 -0
  103. package/dist/cli/commands/agent-wizard.command.js.map +1 -0
  104. package/dist/cli/commands/agents-md/batch.command.d.ts +3 -0
  105. package/dist/cli/commands/agents-md/batch.command.d.ts.map +1 -0
  106. package/dist/cli/commands/agents-md/batch.command.js +63 -0
  107. package/dist/cli/commands/agents-md/batch.command.js.map +1 -0
  108. package/dist/cli/commands/agents-md/generate.command.d.ts +3 -0
  109. package/dist/cli/commands/agents-md/generate.command.d.ts.map +1 -0
  110. package/dist/cli/commands/agents-md/generate.command.js +43 -0
  111. package/dist/cli/commands/agents-md/generate.command.js.map +1 -0
  112. package/dist/cli/commands/agents-md/list.command.d.ts +3 -0
  113. package/dist/cli/commands/agents-md/list.command.d.ts.map +1 -0
  114. package/dist/cli/commands/agents-md/list.command.js +59 -0
  115. package/dist/cli/commands/agents-md/list.command.js.map +1 -0
  116. package/dist/cli/commands/agents-md/validate.command.d.ts +3 -0
  117. package/dist/cli/commands/agents-md/validate.command.d.ts.map +1 -0
  118. package/dist/cli/commands/agents-md/validate.command.js +42 -0
  119. package/dist/cli/commands/agents-md/validate.command.js.map +1 -0
  120. package/dist/cli/commands/agents-md.command.d.ts +1 -1
  121. package/dist/cli/commands/agents-md.command.d.ts.map +1 -1
  122. package/dist/cli/commands/agents-md.command.js +40 -122
  123. package/dist/cli/commands/agents-md.command.js.map +1 -1
  124. package/dist/cli/commands/audit.d.ts +8 -0
  125. package/dist/cli/commands/audit.d.ts.map +1 -0
  126. package/dist/cli/commands/audit.js +238 -0
  127. package/dist/cli/commands/audit.js.map +1 -0
  128. package/dist/cli/commands/build.command.d.ts +7 -0
  129. package/dist/cli/commands/build.command.d.ts.map +1 -0
  130. package/dist/cli/commands/build.command.js +314 -0
  131. package/dist/cli/commands/build.command.js.map +1 -0
  132. package/dist/cli/commands/capability/validate.d.ts +3 -0
  133. package/dist/cli/commands/capability/validate.d.ts.map +1 -0
  134. package/dist/cli/commands/capability/validate.js +60 -0
  135. package/dist/cli/commands/capability/validate.js.map +1 -0
  136. package/dist/cli/commands/deploy.command.d.ts +5 -2
  137. package/dist/cli/commands/deploy.command.d.ts.map +1 -1
  138. package/dist/cli/commands/deploy.command.js +50 -154
  139. package/dist/cli/commands/deploy.command.js.map +1 -1
  140. package/dist/cli/commands/enhance.command.d.ts +10 -0
  141. package/dist/cli/commands/enhance.command.d.ts.map +1 -0
  142. package/dist/cli/commands/enhance.command.js +119 -0
  143. package/dist/cli/commands/enhance.command.js.map +1 -0
  144. package/dist/cli/commands/examples.command.d.ts +10 -0
  145. package/dist/cli/commands/examples.command.d.ts.map +1 -0
  146. package/dist/cli/commands/examples.command.js +73 -0
  147. package/dist/cli/commands/examples.command.js.map +1 -0
  148. package/dist/cli/commands/export.command.d.ts +2 -2
  149. package/dist/cli/commands/export.command.d.ts.map +1 -1
  150. package/dist/cli/commands/export.command.js +109 -37
  151. package/dist/cli/commands/export.command.js.map +1 -1
  152. package/dist/cli/commands/generate/conformance.d.ts +3 -0
  153. package/dist/cli/commands/generate/conformance.d.ts.map +1 -0
  154. package/dist/cli/commands/generate/conformance.js +106 -0
  155. package/dist/cli/commands/generate/conformance.js.map +1 -0
  156. package/dist/cli/commands/github-sync.command.js +1 -1
  157. package/dist/cli/commands/identity/plan.d.ts +3 -0
  158. package/dist/cli/commands/identity/plan.d.ts.map +1 -0
  159. package/dist/cli/commands/identity/plan.js +198 -0
  160. package/dist/cli/commands/identity/plan.js.map +1 -0
  161. package/dist/cli/commands/install.command.d.ts.map +1 -1
  162. package/dist/cli/commands/install.command.js +29 -32
  163. package/dist/cli/commands/install.command.js.map +1 -1
  164. package/dist/cli/commands/knowledge-index.command.d.ts +11 -0
  165. package/dist/cli/commands/knowledge-index.command.d.ts.map +1 -0
  166. package/dist/cli/commands/knowledge-index.command.js +111 -0
  167. package/dist/cli/commands/knowledge-index.command.js.map +1 -0
  168. package/dist/cli/commands/knowledge-query.command.d.ts +11 -0
  169. package/dist/cli/commands/knowledge-query.command.d.ts.map +1 -0
  170. package/dist/cli/commands/knowledge-query.command.js +118 -0
  171. package/dist/cli/commands/knowledge-query.command.js.map +1 -0
  172. package/dist/cli/commands/knowledge.command.d.ts +11 -0
  173. package/dist/cli/commands/knowledge.command.d.ts.map +1 -0
  174. package/dist/cli/commands/knowledge.command.js +16 -0
  175. package/dist/cli/commands/knowledge.command.js.map +1 -0
  176. package/dist/cli/commands/migrate.command.d.ts +2 -17
  177. package/dist/cli/commands/migrate.command.d.ts.map +1 -1
  178. package/dist/cli/commands/migrate.command.js +86 -144
  179. package/dist/cli/commands/migrate.command.js.map +1 -1
  180. package/dist/cli/commands/publish.command.d.ts.map +1 -1
  181. package/dist/cli/commands/publish.command.js +36 -106
  182. package/dist/cli/commands/publish.command.js.map +1 -1
  183. package/dist/cli/commands/release.command.d.ts +10 -0
  184. package/dist/cli/commands/release.command.d.ts.map +1 -0
  185. package/dist/cli/commands/release.command.js +73 -0
  186. package/dist/cli/commands/release.command.js.map +1 -0
  187. package/dist/cli/commands/scaffold.command.d.ts.map +1 -1
  188. package/dist/cli/commands/scaffold.command.js +14 -4
  189. package/dist/cli/commands/scaffold.command.js.map +1 -1
  190. package/dist/cli/commands/search.command.d.ts.map +1 -1
  191. package/dist/cli/commands/search.command.js +33 -33
  192. package/dist/cli/commands/search.command.js.map +1 -1
  193. package/dist/cli/commands/skills.command.d.ts +10 -0
  194. package/dist/cli/commands/skills.command.d.ts.map +1 -0
  195. package/dist/cli/commands/skills.command.js +135 -0
  196. package/dist/cli/commands/skills.command.js.map +1 -0
  197. package/dist/cli/commands/taxonomy.command.d.ts +10 -0
  198. package/dist/cli/commands/taxonomy.command.d.ts.map +1 -0
  199. package/dist/cli/commands/taxonomy.command.js +379 -0
  200. package/dist/cli/commands/taxonomy.command.js.map +1 -0
  201. package/dist/cli/commands/template.command.d.ts +7 -0
  202. package/dist/cli/commands/template.command.d.ts.map +1 -0
  203. package/dist/cli/commands/template.command.js +159 -0
  204. package/dist/cli/commands/template.command.js.map +1 -0
  205. package/dist/cli/commands/update.command.d.ts +3 -0
  206. package/dist/cli/commands/update.command.d.ts.map +1 -0
  207. package/dist/cli/commands/update.command.js +43 -0
  208. package/dist/cli/commands/update.command.js.map +1 -0
  209. package/dist/cli/commands/validate.command.d.ts.map +1 -1
  210. package/dist/cli/commands/validate.command.js +43 -0
  211. package/dist/cli/commands/validate.command.js.map +1 -1
  212. package/dist/cli/commands/wizard.command.d.ts.map +1 -1
  213. package/dist/cli/commands/wizard.command.js +29 -3
  214. package/dist/cli/commands/wizard.command.js.map +1 -1
  215. package/dist/cli/commands/workspace.command.js +3 -1
  216. package/dist/cli/commands/workspace.command.js.map +1 -1
  217. package/dist/cli/index.d.ts +2 -11
  218. package/dist/cli/index.d.ts.map +1 -1
  219. package/dist/cli/index.js +24 -229
  220. package/dist/cli/index.js.map +1 -1
  221. package/dist/cli/utils/error-formatter.js.map +1 -1
  222. package/dist/cli/utils/output.d.ts +1 -0
  223. package/dist/cli/utils/output.d.ts.map +1 -1
  224. package/dist/cli/utils/output.js +2 -1
  225. package/dist/cli/utils/output.js.map +1 -1
  226. package/dist/cli/wizard/data/agent-types.d.ts +7 -0
  227. package/dist/cli/wizard/data/agent-types.d.ts.map +1 -0
  228. package/dist/cli/wizard/data/agent-types.js +192 -0
  229. package/dist/cli/wizard/data/agent-types.js.map +1 -0
  230. package/dist/cli/wizard/data/llm-providers.d.ts +10 -0
  231. package/dist/cli/wizard/data/llm-providers.d.ts.map +1 -0
  232. package/dist/cli/wizard/data/llm-providers.js +176 -0
  233. package/dist/cli/wizard/data/llm-providers.js.map +1 -0
  234. package/dist/cli/wizard/data/taxonomy.d.ts +39 -0
  235. package/dist/cli/wizard/data/taxonomy.d.ts.map +1 -0
  236. package/dist/cli/wizard/data/taxonomy.js +134 -0
  237. package/dist/cli/wizard/data/taxonomy.js.map +1 -0
  238. package/dist/cli/wizard/data/templates.d.ts +10 -0
  239. package/dist/cli/wizard/data/templates.d.ts.map +1 -0
  240. package/dist/cli/wizard/data/templates.js +228 -0
  241. package/dist/cli/wizard/data/templates.js.map +1 -0
  242. package/dist/cli/wizard/steps/01-agent-type.d.ts +7 -0
  243. package/dist/cli/wizard/steps/01-agent-type.d.ts.map +1 -0
  244. package/dist/cli/wizard/steps/01-agent-type.js +35 -0
  245. package/dist/cli/wizard/steps/01-agent-type.js.map +1 -0
  246. package/dist/cli/wizard/steps/02-basic-info.d.ts +7 -0
  247. package/dist/cli/wizard/steps/02-basic-info.d.ts.map +1 -0
  248. package/dist/cli/wizard/steps/02-basic-info.js +81 -0
  249. package/dist/cli/wizard/steps/02-basic-info.js.map +1 -0
  250. package/dist/cli/wizard/steps/03-domain-capability.d.ts +7 -0
  251. package/dist/cli/wizard/steps/03-domain-capability.d.ts.map +1 -0
  252. package/dist/cli/wizard/steps/03-domain-capability.js +98 -0
  253. package/dist/cli/wizard/steps/03-domain-capability.js.map +1 -0
  254. package/dist/cli/wizard/steps/04-llm-config.d.ts +7 -0
  255. package/dist/cli/wizard/steps/04-llm-config.d.ts.map +1 -0
  256. package/dist/cli/wizard/steps/04-llm-config.js +86 -0
  257. package/dist/cli/wizard/steps/04-llm-config.js.map +1 -0
  258. package/dist/cli/wizard/steps/05-tools.d.ts +7 -0
  259. package/dist/cli/wizard/steps/05-tools.d.ts.map +1 -0
  260. package/dist/cli/wizard/steps/05-tools.js +172 -0
  261. package/dist/cli/wizard/steps/05-tools.js.map +1 -0
  262. package/dist/cli/wizard/steps/06-autonomy.d.ts +7 -0
  263. package/dist/cli/wizard/steps/06-autonomy.d.ts.map +1 -0
  264. package/dist/cli/wizard/steps/06-autonomy.js +87 -0
  265. package/dist/cli/wizard/steps/06-autonomy.js.map +1 -0
  266. package/dist/cli/wizard/steps/07-observability.d.ts +7 -0
  267. package/dist/cli/wizard/steps/07-observability.d.ts.map +1 -0
  268. package/dist/cli/wizard/steps/07-observability.js +149 -0
  269. package/dist/cli/wizard/steps/07-observability.js.map +1 -0
  270. package/dist/cli/wizard/steps/08-deployment.d.ts +7 -0
  271. package/dist/cli/wizard/steps/08-deployment.d.ts.map +1 -0
  272. package/dist/cli/wizard/steps/08-deployment.js +120 -0
  273. package/dist/cli/wizard/steps/08-deployment.js.map +1 -0
  274. package/dist/cli/wizard/steps/09-advanced.d.ts +7 -0
  275. package/dist/cli/wizard/steps/09-advanced.d.ts.map +1 -0
  276. package/dist/cli/wizard/steps/09-advanced.js +160 -0
  277. package/dist/cli/wizard/steps/09-advanced.js.map +1 -0
  278. package/dist/cli/wizard/steps/10-review.d.ts +7 -0
  279. package/dist/cli/wizard/steps/10-review.d.ts.map +1 -0
  280. package/dist/cli/wizard/steps/10-review.js +109 -0
  281. package/dist/cli/wizard/steps/10-review.js.map +1 -0
  282. package/dist/cli/wizard/steps/12-agents-folder.d.ts +7 -0
  283. package/dist/cli/wizard/steps/12-agents-folder.d.ts.map +1 -0
  284. package/dist/cli/wizard/steps/12-agents-folder.js +101 -0
  285. package/dist/cli/wizard/steps/12-agents-folder.js.map +1 -0
  286. package/dist/cli/wizard/steps/13-openapi-generation.d.ts +7 -0
  287. package/dist/cli/wizard/steps/13-openapi-generation.d.ts.map +1 -0
  288. package/dist/cli/wizard/steps/13-openapi-generation.js +60 -0
  289. package/dist/cli/wizard/steps/13-openapi-generation.js.map +1 -0
  290. package/dist/cli/wizard/steps/14-workspace-registration.d.ts +7 -0
  291. package/dist/cli/wizard/steps/14-workspace-registration.d.ts.map +1 -0
  292. package/dist/cli/wizard/steps/14-workspace-registration.js +65 -0
  293. package/dist/cli/wizard/steps/14-workspace-registration.js.map +1 -0
  294. package/dist/cli/wizard/steps/15-cost-estimation.d.ts +7 -0
  295. package/dist/cli/wizard/steps/15-cost-estimation.d.ts.map +1 -0
  296. package/dist/cli/wizard/steps/15-cost-estimation.js +119 -0
  297. package/dist/cli/wizard/steps/15-cost-estimation.js.map +1 -0
  298. package/dist/cli/wizard/steps/16-best-practices.d.ts +7 -0
  299. package/dist/cli/wizard/steps/16-best-practices.d.ts.map +1 -0
  300. package/dist/cli/wizard/steps/16-best-practices.js +180 -0
  301. package/dist/cli/wizard/steps/16-best-practices.js.map +1 -0
  302. package/dist/cli/wizard/steps/index.d.ts +15 -0
  303. package/dist/cli/wizard/steps/index.d.ts.map +1 -0
  304. package/dist/cli/wizard/steps/index.js +15 -0
  305. package/dist/cli/wizard/steps/index.js.map +1 -0
  306. package/dist/cli/wizard/types.d.ts +94 -0
  307. package/dist/cli/wizard/types.d.ts.map +1 -0
  308. package/dist/cli/wizard/types.js +6 -0
  309. package/dist/cli/wizard/types.js.map +1 -0
  310. package/dist/cli/wizard/ui/console.d.ts +26 -0
  311. package/dist/cli/wizard/ui/console.d.ts.map +1 -0
  312. package/dist/cli/wizard/ui/console.js +104 -0
  313. package/dist/cli/wizard/ui/console.js.map +1 -0
  314. package/dist/cli/wizard/validators/index.d.ts +11 -0
  315. package/dist/cli/wizard/validators/index.d.ts.map +1 -0
  316. package/dist/cli/wizard/validators/index.js +35 -0
  317. package/dist/cli/wizard/validators/index.js.map +1 -0
  318. package/dist/di-container.d.ts.map +1 -1
  319. package/dist/di-container.js +16 -0
  320. package/dist/di-container.js.map +1 -1
  321. package/dist/index.d.ts +7 -24
  322. package/dist/index.d.ts.map +1 -1
  323. package/dist/index.js +9 -31
  324. package/dist/index.js.map +1 -1
  325. package/dist/repositories/manifest.repository.js +1 -1
  326. package/dist/repositories/manifest.repository.js.map +1 -1
  327. package/dist/repositories/schema.repository.d.ts.map +1 -1
  328. package/dist/repositories/schema.repository.js +7 -4
  329. package/dist/repositories/schema.repository.js.map +1 -1
  330. package/dist/runtime/langflow.runtime.d.ts +2 -2
  331. package/dist/sdks/kagent/crd-generator.d.ts +21 -0
  332. package/dist/sdks/kagent/crd-generator.d.ts.map +1 -0
  333. package/dist/sdks/kagent/crd-generator.js +101 -0
  334. package/dist/sdks/kagent/crd-generator.js.map +1 -0
  335. package/dist/sdks/kagent/crd-parser.d.ts +13 -0
  336. package/dist/sdks/kagent/crd-parser.d.ts.map +1 -0
  337. package/dist/sdks/kagent/crd-parser.js +91 -0
  338. package/dist/sdks/kagent/crd-parser.js.map +1 -0
  339. package/dist/sdks/kagent/index.d.ts +10 -0
  340. package/dist/sdks/kagent/index.d.ts.map +1 -0
  341. package/dist/sdks/kagent/index.js +9 -0
  342. package/dist/sdks/kagent/index.js.map +1 -0
  343. package/dist/sdks/kagent/runtime-adapter.d.ts +45 -0
  344. package/dist/sdks/kagent/runtime-adapter.d.ts.map +1 -0
  345. package/dist/sdks/kagent/runtime-adapter.js +129 -0
  346. package/dist/sdks/kagent/runtime-adapter.js.map +1 -0
  347. package/dist/sdks/kagent/types.d.ts +91 -0
  348. package/dist/sdks/kagent/types.d.ts.map +1 -0
  349. package/dist/sdks/kagent/types.js +5 -0
  350. package/dist/sdks/kagent/types.js.map +1 -0
  351. package/dist/sdks/kagent/validator.d.ts +17 -0
  352. package/dist/sdks/kagent/validator.d.ts.map +1 -0
  353. package/dist/sdks/kagent/validator.js +73 -0
  354. package/dist/sdks/kagent/validator.js.map +1 -0
  355. package/dist/sdks/shared/types.d.ts +1 -1
  356. package/dist/sdks/typescript/types.d.ts +3 -3
  357. package/dist/sdks/typescript/types.js +3 -3
  358. package/dist/services/agents-md/agents-md.service.d.ts.map +1 -1
  359. package/dist/services/agents-md/agents-md.service.js +0 -6
  360. package/dist/services/agents-md/agents-md.service.js.map +1 -1
  361. package/dist/services/agents-md/repo-agents-md.service.d.ts +87 -0
  362. package/dist/services/agents-md/repo-agents-md.service.d.ts.map +1 -0
  363. package/dist/services/agents-md/repo-agents-md.service.js +202 -0
  364. package/dist/services/agents-md/repo-agents-md.service.js.map +1 -0
  365. package/dist/services/ai-architect.service.d.ts +48 -0
  366. package/dist/services/ai-architect.service.d.ts.map +1 -0
  367. package/dist/services/ai-architect.service.js +273 -0
  368. package/dist/services/ai-architect.service.js.map +1 -0
  369. package/dist/services/audit.d.ts +80 -0
  370. package/dist/services/audit.d.ts.map +1 -0
  371. package/dist/services/audit.js +245 -0
  372. package/dist/services/audit.js.map +1 -0
  373. package/dist/services/codegen/generators/openapi-zod.generator.js +1 -1
  374. package/dist/services/git.service.d.ts +10 -1
  375. package/dist/services/git.service.d.ts.map +1 -1
  376. package/dist/services/git.service.js +42 -2
  377. package/dist/services/git.service.js.map +1 -1
  378. package/dist/services/knowledge-generation.service.d.ts +46 -0
  379. package/dist/services/knowledge-generation.service.d.ts.map +1 -0
  380. package/dist/services/knowledge-generation.service.js +96 -0
  381. package/dist/services/knowledge-generation.service.js.map +1 -0
  382. package/dist/services/knowledge.service.d.ts +88 -0
  383. package/dist/services/knowledge.service.d.ts.map +1 -0
  384. package/dist/services/knowledge.service.js +214 -0
  385. package/dist/services/knowledge.service.js.map +1 -0
  386. package/dist/services/migration-transform.service.d.ts +11 -3
  387. package/dist/services/migration-transform.service.d.ts.map +1 -1
  388. package/dist/services/migration-transform.service.js +69 -10
  389. package/dist/services/migration-transform.service.js.map +1 -1
  390. package/dist/services/registry.service.d.ts +34 -0
  391. package/dist/services/registry.service.d.ts.map +1 -0
  392. package/dist/services/registry.service.js +161 -0
  393. package/dist/services/registry.service.js.map +1 -0
  394. package/dist/services/release-automation/release-agent.service.d.ts +39 -0
  395. package/dist/services/release-automation/release-agent.service.d.ts.map +1 -0
  396. package/dist/services/release-automation/release-agent.service.js +42 -0
  397. package/dist/services/release-automation/release-agent.service.js.map +1 -0
  398. package/dist/services/skills/claude-skills.service.d.ts +51 -0
  399. package/dist/services/skills/claude-skills.service.d.ts.map +1 -0
  400. package/dist/services/skills/claude-skills.service.js +252 -0
  401. package/dist/services/skills/claude-skills.service.js.map +1 -0
  402. package/dist/services/structure/agents-folder.service.d.ts +37 -0
  403. package/dist/services/structure/agents-folder.service.d.ts.map +1 -0
  404. package/dist/services/structure/agents-folder.service.js +318 -0
  405. package/dist/services/structure/agents-folder.service.js.map +1 -0
  406. package/dist/services/taxonomy-validator.service.d.ts +25 -0
  407. package/dist/services/taxonomy-validator.service.d.ts.map +1 -0
  408. package/dist/services/taxonomy-validator.service.js +149 -0
  409. package/dist/services/taxonomy-validator.service.js.map +1 -0
  410. package/dist/services/taxonomy.service.d.ts +132 -0
  411. package/dist/services/taxonomy.service.d.ts.map +1 -0
  412. package/dist/services/taxonomy.service.js +330 -0
  413. package/dist/services/taxonomy.service.js.map +1 -0
  414. package/dist/services/template-processor.service.d.ts +34 -0
  415. package/dist/services/template-processor.service.d.ts.map +1 -0
  416. package/dist/services/template-processor.service.js +112 -0
  417. package/dist/services/template-processor.service.js.map +1 -0
  418. package/dist/services/template.service.d.ts +54 -0
  419. package/dist/services/template.service.d.ts.map +1 -0
  420. package/dist/services/template.service.js +154 -0
  421. package/dist/services/template.service.js.map +1 -0
  422. package/dist/spec/ossa-audit-api.yaml +311 -0
  423. package/dist/spec/registry/registry-api.yaml +144 -0
  424. package/dist/spec/schema/components/adapter.schema.json +33 -0
  425. package/dist/spec/schema/components/identity.schema.json +78 -0
  426. package/dist/spec/v0.3/CHANGELOG.md +2 -2
  427. package/dist/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +552 -0
  428. package/dist/spec/v0.3/README.md +2 -2
  429. package/dist/spec/v0.3/ossa-0.3.6.schema.json +17604 -0
  430. package/dist/spec/v0.3/ossa-v0.3.schema.json +15824 -0
  431. package/dist/spec/v0.3.6/CHANGELOG.md +171 -0
  432. package/dist/spec/v0.3.6/README.md +382 -0
  433. package/dist/spec/v0.3.6/taxonomy.yaml +506 -0
  434. package/dist/testing/fixtures.d.ts.map +1 -1
  435. package/dist/testing/fixtures.js +6 -0
  436. package/dist/testing/fixtures.js.map +1 -1
  437. package/dist/testing/runner.d.ts.map +1 -1
  438. package/dist/testing/runner.js +4 -20
  439. package/dist/testing/runner.js.map +1 -1
  440. package/dist/types/architect.d.ts +48 -0
  441. package/dist/types/architect.d.ts.map +1 -0
  442. package/dist/types/architect.js +7 -0
  443. package/dist/types/architect.js.map +1 -0
  444. package/dist/types/identity.d.ts +78 -401
  445. package/dist/types/identity.d.ts.map +1 -1
  446. package/dist/types/identity.js +5 -7
  447. package/dist/types/identity.js.map +1 -1
  448. package/dist/types/identity.zod.d.ts +5 -5
  449. package/dist/types/index.d.ts +69 -41
  450. package/dist/types/index.d.ts.map +1 -1
  451. package/dist/types/index.js +4 -0
  452. package/dist/types/index.js.map +1 -1
  453. package/dist/types/personality.zod.d.ts +24 -24
  454. package/dist/types/prompts.zod.d.ts +4 -4
  455. package/dist/utils/version.d.ts.map +1 -1
  456. package/dist/utils/version.js +73 -46
  457. package/dist/utils/version.js.map +1 -1
  458. package/dist/validation/__tests__/error-codes.test.d.ts +5 -0
  459. package/dist/validation/__tests__/error-codes.test.d.ts.map +1 -0
  460. package/dist/validation/__tests__/error-codes.test.js +252 -0
  461. package/dist/validation/__tests__/error-codes.test.js.map +1 -0
  462. package/dist/validation/enhanced-validator.d.ts +38 -0
  463. package/dist/validation/enhanced-validator.d.ts.map +1 -0
  464. package/dist/validation/enhanced-validator.js +242 -0
  465. package/dist/validation/enhanced-validator.js.map +1 -0
  466. package/dist/validation/error-codes.d.ts +170 -0
  467. package/dist/validation/error-codes.d.ts.map +1 -0
  468. package/dist/validation/error-codes.js +1159 -0
  469. package/dist/validation/error-codes.js.map +1 -0
  470. package/dist/validation/error-formatter.d.ts +81 -0
  471. package/dist/validation/error-formatter.d.ts.map +1 -0
  472. package/dist/validation/error-formatter.js +375 -0
  473. package/dist/validation/error-formatter.js.map +1 -0
  474. package/dist/validation/index.d.ts +16 -0
  475. package/dist/validation/index.d.ts.map +1 -0
  476. package/dist/validation/index.js +20 -0
  477. package/dist/validation/index.js.map +1 -0
  478. package/dist/validation/linter.d.ts +36 -0
  479. package/dist/validation/linter.d.ts.map +1 -0
  480. package/dist/validation/linter.js +453 -0
  481. package/dist/validation/linter.js.map +1 -0
  482. package/dist/validation/validator.d.ts +38 -0
  483. package/dist/validation/validator.d.ts.map +1 -0
  484. package/dist/validation/validator.js +262 -0
  485. package/dist/validation/validator.js.map +1 -0
  486. package/examples/a2a/agent-handoff.ossa.yaml +1 -1
  487. package/examples/a2a/service-discovery.ossa.yaml +1 -1
  488. package/examples/adapters/drupal-eca-mapping.yaml +1 -1
  489. package/examples/adapters/drupal-eca-task.yaml +1 -1
  490. package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
  491. package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
  492. package/examples/adapters/mistral-agent.yaml +1 -1
  493. package/examples/adapters/symfony-messenger-task.yaml +1 -1
  494. package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
  495. package/examples/advanced/reasoning-agent.yaml +1 -1
  496. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  497. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  498. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  499. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  500. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  501. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  502. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  503. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  504. package/examples/agents/architecture-healer-enterprise.yaml +1 -1
  505. package/examples/agents/dependency-healer-npm.yaml +1 -1
  506. package/examples/agents/spec-healer-openapi.yaml +1 -1
  507. package/examples/agents/wiki-healer-production.yaml +1 -1
  508. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  509. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
  510. package/examples/build-once-use-everywhere/README.md +184 -0
  511. package/examples/build-once-use-everywhere/agent.ossa.yaml +38 -0
  512. package/examples/build-once-use-everywhere/deploy-config.yaml +32 -0
  513. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  514. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  515. package/examples/contracts/data-consumer.ossa.yaml +1 -1
  516. package/examples/contracts/data-producer-v2.ossa.yaml +5 -3
  517. package/examples/contracts/data-producer.ossa.yaml +1 -1
  518. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  519. package/examples/economics/marketplace-agent.ossa.json +210 -0
  520. package/examples/extensions/encryption-multi-provider.yaml +4 -4
  521. package/examples/extensions/knowledge-sources.yaml +1 -1
  522. package/examples/extensions/mcp-full-featured.yaml +1 -1
  523. package/examples/genetics/breeding-agent.ossa.json +194 -0
  524. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  525. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  526. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  527. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  528. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  529. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  530. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +1 -1
  531. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  532. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  533. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  534. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  535. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  536. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  537. package/examples/lifecycle/mentoring-agent.ossa.json +293 -0
  538. package/examples/mcp/database-mcp.ossa.yaml +1 -1
  539. package/examples/mcp/filesystem-mcp.ossa.yaml +1 -1
  540. package/examples/messaging/dependency-healer.ossa.yaml +1 -1
  541. package/examples/messaging/incident-responder.ossa.yaml +1 -1
  542. package/examples/messaging/routing-rules.ossa.yaml +1 -1
  543. package/examples/messaging/security-scanner.ossa.yaml +1 -1
  544. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  545. package/examples/migrations/crewai-to-ossa/README.md +66 -0
  546. package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +2 -2
  547. package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +2 -2
  548. package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +2 -2
  549. package/examples/migrations/langchain/04-config-based-after.ossa.yaml +2 -2
  550. package/examples/migrations/langchain-to-ossa/README.md +73 -0
  551. package/examples/migrations/swarm-to-ossa/COMPARISON.md +350 -0
  552. package/examples/migrations/swarm-to-ossa/INDEX.md +355 -0
  553. package/examples/migrations/swarm-to-ossa/MIGRATION-FLOW.md +410 -0
  554. package/examples/migrations/swarm-to-ossa/QUICKSTART.md +453 -0
  555. package/examples/migrations/swarm-to-ossa/README.md +665 -0
  556. package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +482 -0
  557. package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +315 -0
  558. package/examples/migrations/swarm-to-ossa/before-handoffs.py +373 -0
  559. package/examples/migrations/swarm-to-ossa/before-triage-agent.py +234 -0
  560. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  561. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  562. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  563. package/examples/multi-platform/single-manifest/README.md +72 -0
  564. package/examples/multi-platform/single-manifest/agent.ossa.yaml +32 -0
  565. package/examples/observability/activity-stream-full.yaml +1 -1
  566. package/examples/openai/basic-agent.ossa.yaml +1 -1
  567. package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +1 -1
  568. package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +1 -1
  569. package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +1 -1
  570. package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +1 -1
  571. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  572. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
  573. package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
  574. package/examples/registry/agents/code-reviewer/agent.yaml +1 -1
  575. package/examples/registry/agents/security-scanner/agent.yaml +1 -1
  576. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
  577. package/examples/schema/reusable-components.yaml +1 -1
  578. package/examples/showcase/ci-pipeline.ossa.yaml +1 -1
  579. package/examples/showcase/code-assistant.ossa.yaml +1 -1
  580. package/examples/showcase/code-reviewer.ossa.yaml +1 -1
  581. package/examples/showcase/compliance-validator.ossa.yaml +1 -1
  582. package/examples/showcase/content-writer.ossa.yaml +1 -1
  583. package/examples/showcase/data-transformer.ossa.yaml +1 -1
  584. package/examples/showcase/doc-generator.ossa.yaml +1 -1
  585. package/examples/showcase/security-scanner.ossa.yaml +1 -1
  586. package/examples/showcase/test-generator.ossa.yaml +1 -1
  587. package/examples/showcase/workflow-orchestrator.ossa.yaml +1 -1
  588. package/examples/swarm/pso-optimizer.ossa.json +171 -0
  589. package/examples/tasks/batch-email-sender.yaml +1 -1
  590. package/examples/tasks/data-transform.yaml +1 -1
  591. package/examples/tasks/publish-content.yaml +1 -1
  592. package/examples/templates/ossa-compliance.yaml +1 -1
  593. package/examples/unified/security-scanner.ossa.yaml +1 -1
  594. package/examples/v0.3.6/full-featured-v0.3.6.ossa.yaml +304 -0
  595. package/examples/v0.3.6/gitlab-duo-composite-identity.ossa.yaml +119 -0
  596. package/examples/v0.3.6/knowledge-graph-integration.ossa.yaml +109 -0
  597. package/examples/v0.3.6/token-efficiency-economy.ossa.yaml +111 -0
  598. package/examples/v0.3.6-features/README.md +433 -0
  599. package/examples/v0.3.6-features/genetics-breeding-advanced.ossa.yaml +496 -0
  600. package/examples/v0.3.6-features/genetics-breeding-simple.ossa.yaml +304 -0
  601. package/examples/v0.3.6-features/genetics-fitness-scoring.ossa.yaml +551 -0
  602. package/examples/validation/error-codes-demo.ts +254 -0
  603. package/examples/workflows/batch-email-campaign.yaml +1 -1
  604. package/examples/workflows/content-review-publish.yaml +1 -1
  605. package/examples/workflows/simple-etl.yaml +1 -1
  606. package/openapi/agents-md-service.yaml +338 -0
  607. package/openapi/cli-commands.openapi.yaml +0 -28
  608. package/openapi/ossa-cli-enhancements.openapi.yaml +148 -0
  609. package/openapi/release-automation.openapi.yaml +144 -0
  610. package/package.json +35 -12
  611. package/schemas/capability-contract.v0.json +116 -0
  612. package/schemas/identity.lock.schema.json +59 -0
  613. package/schemas/identity.plan.schema.json +132 -0
  614. package/spec/ossa-audit-api.yaml +311 -0
  615. package/spec/registry/registry-api.yaml +144 -0
  616. package/spec/schema/components/adapter.schema.json +33 -0
  617. package/spec/schema/components/identity.schema.json +78 -0
  618. package/spec/v0.3/CHANGELOG.md +2 -2
  619. package/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +552 -0
  620. package/spec/v0.3/README.md +2 -2
  621. package/spec/v0.3/ossa-0.3.6.schema.json +17604 -0
  622. package/spec/v0.3/ossa-v0.3.schema.json +15824 -0
  623. package/spec/v0.3.6/CHANGELOG.md +171 -0
  624. package/spec/v0.3.6/README.md +382 -0
  625. package/spec/v0.3.6/taxonomy.yaml +506 -0
  626. package/src/dev-cli/src/index.ts +0 -0
  627. package/templates/agent-types/analyzer/cost-analyzer.yaml +38 -0
  628. package/templates/agent-types/analyzer/performance-profiler.yaml +38 -0
  629. package/templates/agent-types/analyzer/security-scanner.yaml +36 -0
  630. package/templates/agent-types/backend/api-validator.yaml +37 -0
  631. package/templates/agent-types/backend/load-balancer.yaml +39 -0
  632. package/templates/agent-types/content/content-generator.yaml +40 -0
  633. package/templates/agent-types/content/seo-optimizer.yaml +39 -0
  634. package/templates/agent-types/data/data-processor.yaml +38 -0
  635. package/templates/agent-types/data/report-generator.yaml +40 -0
  636. package/templates/agent-types/development/code-generator.yaml +39 -0
  637. package/templates/agent-types/development/dependency-updater.yaml +38 -0
  638. package/templates/agent-types/frontend/accessibility-checker.yaml +38 -0
  639. package/templates/agent-types/frontend/ui-tester.yaml +38 -0
  640. package/templates/agent-types/infrastructure/deployment-automator.yaml +39 -0
  641. package/templates/agent-types/infrastructure/resource-optimizer.yaml +38 -0
  642. package/templates/agent-types/monitor/health-checker.yaml +37 -0
  643. package/templates/agent-types/monitor/log-analyzer.yaml +37 -0
  644. package/templates/agent-types/orchestrator/multi-agent-coordinator.yaml +38 -0
  645. package/templates/agent-types/orchestrator/workflow-manager.yaml +39 -0
  646. package/templates/agent-types/security/compliance-checker.yaml +38 -0
  647. package/templates/agent-types/security/vulnerability-scanner.yaml +38 -0
  648. package/templates/agent-types/worker/api-tester.yaml +43 -0
  649. package/templates/agent-types/worker/code-reviewer.yaml +39 -0
  650. package/templates/agent-types/worker/database-migrator.yaml +38 -0
@@ -0,0 +1,318 @@
1
+ /**
2
+ * Agent Folder Structure Service
3
+ *
4
+ * Creates complete, standardized .agents folder structure following
5
+ * OpenAPI-first, API-first, Zod, CRUD, SOLID, and DRY principles.
6
+ *
7
+ * SOLID: Single Responsibility - Only creates folder structure
8
+ * DRY: Single source of truth (manifest), all code generated
9
+ */
10
+ import * as fs from 'fs';
11
+ import * as path from 'path';
12
+ export class AgentsFolderService {
13
+ /**
14
+ * Generate complete agent folder structure
15
+ */
16
+ generateStructure(agentName, basePath = '.agents') {
17
+ const agentDir = path.join(basePath, agentName);
18
+ const directories = [
19
+ // Core structure
20
+ agentDir,
21
+ path.join(agentDir, 'prompts'),
22
+ path.join(agentDir, 'prompts', 'examples'),
23
+ path.join(agentDir, 'tools'),
24
+ path.join(agentDir, 'tools', 'functions'),
25
+ path.join(agentDir, 'tools', 'schemas'),
26
+ path.join(agentDir, 'skills'),
27
+ path.join(agentDir, 'config'),
28
+ path.join(agentDir, 'api'),
29
+ path.join(agentDir, 'src'),
30
+ path.join(agentDir, 'src', 'adapters'),
31
+ path.join(agentDir, 'src', 'runtime'),
32
+ path.join(agentDir, 'src', 'mcp'),
33
+ path.join(agentDir, 'tests'),
34
+ path.join(agentDir, 'tests', 'unit'),
35
+ path.join(agentDir, 'tests', 'integration'),
36
+ path.join(agentDir, 'tests', 'fixtures'),
37
+ path.join(agentDir, 'docs'),
38
+ path.join(agentDir, 'docker'),
39
+ path.join(agentDir, 'k8s'),
40
+ ];
41
+ const files = [
42
+ // Core manifest (will be created by wizard/scaffold)
43
+ {
44
+ path: path.join(agentDir, 'manifest.ossa.yaml'),
45
+ content: '# OSSA Manifest - Single Source of Truth\n# Generated by ossa wizard\n',
46
+ description: 'OSSA manifest (single source of truth)',
47
+ },
48
+ // OpenAPI spec placeholder (will be generated)
49
+ {
50
+ path: path.join(agentDir, 'openapi.yaml'),
51
+ content: '# OpenAPI 3.1 Specification\n# Generated from manifest.ossa.yaml\n# Use: ossa generate openapi\n',
52
+ description: 'OpenAPI spec (generated from manifest)',
53
+ },
54
+ // Zod schemas placeholder (will be generated)
55
+ {
56
+ path: path.join(agentDir, 'zod-schemas.ts'),
57
+ content: '// Zod schemas generated from OpenAPI\n// Use: ossa generate zod\n',
58
+ description: 'Zod schemas (generated from OpenAPI)',
59
+ },
60
+ // API client placeholder (will be generated)
61
+ {
62
+ path: path.join(agentDir, 'api-client.ts'),
63
+ content: '// Type-safe API client generated from OpenAPI\n// Use: ossa generate client\n',
64
+ description: 'API client (generated from OpenAPI)',
65
+ },
66
+ // Prompt templates
67
+ {
68
+ path: path.join(agentDir, 'prompts', 'system.txt'),
69
+ content: "# System Prompt\n# Define the agent's role and behavior\n",
70
+ description: 'System prompt template',
71
+ },
72
+ {
73
+ path: path.join(agentDir, 'prompts', 'user-template.jinja2'),
74
+ content: '# User Prompt Template\n# Jinja2 template for user prompts\n',
75
+ description: 'User prompt template (Jinja2)',
76
+ },
77
+ // Tools configuration
78
+ {
79
+ path: path.join(agentDir, 'tools', 'tools.yaml'),
80
+ content: '# Tool Registry\n# MCP-first tool definitions\n',
81
+ description: 'Tool registry (MCP-first)',
82
+ },
83
+ {
84
+ path: path.join(agentDir, 'tools', 'mcp-servers.yaml'),
85
+ content: '# MCP Server Configurations\n# Model Context Protocol servers\n',
86
+ description: 'MCP server configurations',
87
+ },
88
+ // Config files
89
+ {
90
+ path: path.join(agentDir, 'config', 'development.yaml'),
91
+ content: '# Development Configuration\n',
92
+ description: 'Development config',
93
+ },
94
+ {
95
+ path: path.join(agentDir, 'config', 'staging.yaml'),
96
+ content: '# Staging Configuration\n',
97
+ description: 'Staging config',
98
+ },
99
+ {
100
+ path: path.join(agentDir, 'config', 'production.yaml'),
101
+ content: '# Production Configuration\n',
102
+ description: 'Production config',
103
+ },
104
+ {
105
+ path: path.join(agentDir, 'config', 'local.yaml'),
106
+ content: '# Local Configuration\n',
107
+ description: 'Local config',
108
+ },
109
+ // API structure (CRUD)
110
+ {
111
+ path: path.join(agentDir, 'api', 'routes.ts'),
112
+ content: `// REST API Routes\n// Generated from OpenAPI spec\nimport { Router } from 'express';\n\nconst router = Router();\n\n// Routes will be generated from OpenAPI spec\n\nexport default router;\n`,
113
+ description: 'API routes (generated from OpenAPI)',
114
+ },
115
+ {
116
+ path: path.join(agentDir, 'api', 'controllers.ts'),
117
+ content: `// API Controllers (SOLID)\n// Single Responsibility: HTTP handling only\n\nimport type { Request, Response } from 'express';\n\nexport class AgentController {\n // Controllers will be generated\n}\n`,
118
+ description: 'API controllers (SOLID)',
119
+ },
120
+ {
121
+ path: path.join(agentDir, 'api', 'services.ts'),
122
+ content: `// Business Logic Services (SOLID)\n// Single Responsibility: Business logic only\n\nexport class AgentService {\n // Services will be generated\n}\n`,
123
+ description: 'Business logic services (SOLID)',
124
+ },
125
+ {
126
+ path: path.join(agentDir, 'api', 'repositories.ts'),
127
+ content: `// Data Access Repositories (SOLID)\n// Single Responsibility: Data access only\n\nexport interface IAgentRepository {\n // Repository interface will be generated\n}\n`,
128
+ description: 'Data access repositories (SOLID)',
129
+ },
130
+ {
131
+ path: path.join(agentDir, 'api', 'middleware.ts'),
132
+ content: `// API Middleware\n// Validation, auth, error handling\n\nimport { z } from 'zod';\n\n// Middleware will be generated\n`,
133
+ description: 'API middleware (validation, auth)',
134
+ },
135
+ // Source code structure
136
+ {
137
+ path: path.join(agentDir, 'src', 'index.ts'),
138
+ content: `// Agent Entry Point\n// Platform-agnostic runtime\n\nimport { AgentRuntime } from './runtime/agent-runtime.js';\n\nexport { AgentRuntime };\n`,
139
+ description: 'Agent entry point',
140
+ },
141
+ {
142
+ path: path.join(agentDir, 'src', 'adapters', 'base.adapter.ts'),
143
+ content: `// Base LLM Adapter Interface (SOLID)\n// All adapters must implement this interface\n\nexport interface BaseAdapter {\n initialize(manifest: OssaManifest): void;\n chat(message: string, options?: RunOptions): Promise<string>;\n chatStream(message: string, options?: RunOptions): AsyncGenerator<string>;\n registerToolHandler(name: string, handler: ToolHandler): void;\n getConversationHistory(): Message[];\n clearHistory(): void;\n getAgentInfo(): AgentInfo;\n}\n`,
144
+ description: 'Base adapter interface (SOLID)',
145
+ },
146
+ {
147
+ path: path.join(agentDir, 'src', 'runtime', 'agent-runtime.ts'),
148
+ content: `// Agent Runtime\n// Platform-agnostic runtime binding\n\nimport { loadManifest } from '@ossa/sdk';\nimport { getAdapter } from '../adapters.js';\n\nexport class AgentRuntime {\n private adapter: BaseAdapter;\n\n async initialize(manifestPath: string) {\n const manifest = await loadManifest(manifestPath);\n const provider = manifest.spec.llm?.provider || 'anthropic';\n this.adapter = getAdapter(provider);\n this.adapter.initialize(manifest);\n }\n\n async chat(message: string) {\n return this.adapter.chat(message);\n }\n}\n`,
149
+ description: 'Agent runtime (platform-agnostic)',
150
+ },
151
+ {
152
+ path: path.join(agentDir, 'src', 'mcp', 'mcp-client.ts'),
153
+ content: `// MCP Client\n// Model Context Protocol integration\n\nimport { Client } from '@modelcontextprotocol/sdk/client';\n\nexport class MCPClient {\n // MCP client implementation\n}\n`,
154
+ description: 'MCP client integration',
155
+ },
156
+ // Test structure
157
+ {
158
+ path: path.join(agentDir, 'tests', 'unit', 'adapters.test.ts'),
159
+ content: `// Adapter Unit Tests\nimport { describe, it, expect } from 'vitest';\n\n// Tests will be generated\n`,
160
+ description: 'Adapter unit tests',
161
+ },
162
+ {
163
+ path: path.join(agentDir, 'tests', 'unit', 'api.test.ts'),
164
+ content: `// API Unit Tests\nimport { describe, it, expect } from 'vitest';\n\n// Tests will be generated\n`,
165
+ description: 'API unit tests',
166
+ },
167
+ {
168
+ path: path.join(agentDir, 'tests', 'integration', 'agent.test.ts'),
169
+ content: `// Agent Integration Tests\nimport { describe, it, expect } from 'vitest';\n\n// Tests will be generated\n`,
170
+ description: 'Agent integration tests',
171
+ },
172
+ // Documentation
173
+ {
174
+ path: path.join(agentDir, 'docs', 'architecture.md'),
175
+ content: `# Architecture Documentation\n\n## Overview\n\nThis agent follows OpenAPI-first, API-first, Zod, CRUD, SOLID, and DRY principles.\n\n## Structure\n\n- \`manifest.ossa.yaml\` - Single source of truth\n- \`openapi.yaml\` - Generated from manifest\n- \`zod-schemas.ts\` - Generated from OpenAPI\n- \`api-client.ts\` - Generated from OpenAPI\n`,
176
+ description: 'Architecture documentation',
177
+ },
178
+ {
179
+ path: path.join(agentDir, 'docs', 'api.md'),
180
+ content: `# API Documentation\n\nGenerated from OpenAPI spec.\n\nUse: \`ossa docs generate\`\n`,
181
+ description: 'API documentation (from OpenAPI)',
182
+ },
183
+ // Docker
184
+ {
185
+ path: path.join(agentDir, 'docker', 'Dockerfile'),
186
+ content: `# Dockerfile\n# Multi-stage build for production\n\nFROM node:20-alpine AS builder\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci\nCOPY . .\nRUN npm run build\n\nFROM node:20-alpine\nWORKDIR /app\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/node_modules ./node_modules\nCMD ["node", "dist/index.js"]\n`,
187
+ description: 'Dockerfile',
188
+ },
189
+ // Kubernetes
190
+ {
191
+ path: path.join(agentDir, 'k8s', 'deployment.yaml'),
192
+ content: `# Kubernetes Deployment\n# Generated from manifest\n\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: ${agentName}\nspec:\n replicas: 1\n selector:\n matchLabels:\n app: ${agentName}\n template:\n metadata:\n labels:\n app: ${agentName}\n spec:\n containers:\n - name: ${agentName}\n image: ${agentName}:latest\n`,
193
+ description: 'Kubernetes deployment',
194
+ },
195
+ // Root files
196
+ {
197
+ path: path.join(agentDir, 'package.json'),
198
+ content: JSON.stringify({
199
+ name: agentName,
200
+ version: '1.0.0',
201
+ type: 'module',
202
+ main: 'dist/index.js',
203
+ scripts: {
204
+ build: 'tsc',
205
+ test: 'vitest',
206
+ validate: 'ossa validate manifest.ossa.yaml',
207
+ 'generate:openapi': 'ossa generate openapi manifest.ossa.yaml',
208
+ 'generate:zod': 'ossa generate zod openapi.yaml',
209
+ 'generate:client': 'ossa generate client openapi.yaml',
210
+ },
211
+ dependencies: {
212
+ '@ossa/sdk': '^0.3.5',
213
+ zod: '^3.22.0',
214
+ },
215
+ devDependencies: {
216
+ '@types/node': '^20.0.0',
217
+ typescript: '^5.0.0',
218
+ vitest: '^1.0.0',
219
+ },
220
+ }, null, 2),
221
+ description: 'package.json',
222
+ },
223
+ {
224
+ path: path.join(agentDir, 'tsconfig.json'),
225
+ content: JSON.stringify({
226
+ compilerOptions: {
227
+ target: 'ES2022',
228
+ module: 'ESNext',
229
+ lib: ['ES2022'],
230
+ moduleResolution: 'node',
231
+ outDir: './dist',
232
+ rootDir: './src',
233
+ strict: true,
234
+ esModuleInterop: true,
235
+ skipLibCheck: true,
236
+ forceConsistentCasingInFileNames: true,
237
+ },
238
+ include: ['src/**/*'],
239
+ exclude: ['node_modules', 'dist', 'tests'],
240
+ }, null, 2),
241
+ description: 'TypeScript config',
242
+ },
243
+ {
244
+ path: path.join(agentDir, 'AGENTS.md'),
245
+ content: `# AGENTS.md\n\n## Dev environment tips\n\n- Use Node.js 20+\n- Run \`npm install\` to install dependencies\n- Run \`npm run build\` to build\n\n## Testing instructions\n\n- Run \`npm test\` for unit tests\n- Run \`npm run test:integration\` for integration tests\n\n## PR instructions\n\n- Use conventional commits\n- Run \`npm run validate\` before committing\n`,
246
+ description: 'AGENTS.md (AAIF standard)',
247
+ },
248
+ {
249
+ path: path.join(agentDir, 'README.md'),
250
+ content: `# ${agentName}\n\nOSSA-compliant agent following OpenAPI-first, API-first, Zod, CRUD, SOLID, and DRY principles.\n\n## Structure\n\n- \`manifest.ossa.yaml\` - Single source of truth\n- \`openapi.yaml\` - Generated from manifest\n- \`zod-schemas.ts\` - Generated from OpenAPI\n- \`api-client.ts\` - Generated from OpenAPI\n\n## Usage\n\n\`\`\`bash\n# Validate manifest\nossa validate manifest.ossa.yaml\n\n# Generate OpenAPI\nossa generate openapi manifest.ossa.yaml\n\n# Generate Zod schemas\nossa generate zod openapi.yaml\n\n# Generate API client\nossa generate client openapi.yaml\n\`\`\`\n`,
251
+ description: 'README.md',
252
+ },
253
+ ];
254
+ return {
255
+ agentName,
256
+ basePath,
257
+ directories,
258
+ files,
259
+ };
260
+ }
261
+ /**
262
+ * Create folder structure on filesystem
263
+ */
264
+ createStructure(structure, overwrite = false) {
265
+ // Create directories
266
+ for (const dir of structure.directories) {
267
+ if (fs.existsSync(dir) && !overwrite) {
268
+ continue;
269
+ }
270
+ fs.mkdirSync(dir, { recursive: true });
271
+ }
272
+ // Create files
273
+ for (const file of structure.files) {
274
+ if (fs.existsSync(file.path) && !overwrite) {
275
+ continue;
276
+ }
277
+ fs.writeFileSync(file.path, file.content, 'utf-8');
278
+ }
279
+ }
280
+ /**
281
+ * Validate folder structure
282
+ */
283
+ validateStructure(agentDir) {
284
+ const errors = [];
285
+ const requiredDirs = [
286
+ 'prompts',
287
+ 'tools',
288
+ 'config',
289
+ 'api',
290
+ 'src',
291
+ 'tests',
292
+ 'docs',
293
+ ];
294
+ const requiredFiles = [
295
+ 'manifest.ossa.yaml',
296
+ 'package.json',
297
+ 'tsconfig.json',
298
+ 'README.md',
299
+ ];
300
+ for (const dir of requiredDirs) {
301
+ const dirPath = path.join(agentDir, dir);
302
+ if (!fs.existsSync(dirPath)) {
303
+ errors.push(`Missing directory: ${dir}`);
304
+ }
305
+ }
306
+ for (const file of requiredFiles) {
307
+ const filePath = path.join(agentDir, file);
308
+ if (!fs.existsSync(filePath)) {
309
+ errors.push(`Missing file: ${file}`);
310
+ }
311
+ }
312
+ return {
313
+ valid: errors.length === 0,
314
+ errors,
315
+ };
316
+ }
317
+ }
318
+ //# sourceMappingURL=agents-folder.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-folder.service.js","sourceRoot":"","sources":["../../../src/services/structure/agents-folder.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { OssaAgent } from '../types/index.js';
2
+ export interface TaxonomyValidationResult {
3
+ valid: boolean;
4
+ errors: string[];
5
+ warnings: string[];
6
+ conflicts: TaxonomyConflict[];
7
+ }
8
+ export interface TaxonomyConflict {
9
+ field: string;
10
+ value: string;
11
+ reason: string;
12
+ suggestion?: string;
13
+ }
14
+ export declare class TaxonomyValidatorService {
15
+ private taxonomyService;
16
+ constructor();
17
+ validate(manifest: OssaAgent): Promise<TaxonomyValidationResult>;
18
+ private checkConflicts;
19
+ private checkConsistency;
20
+ validateAgainstSpec(taxonomy: Record<string, unknown>): Promise<{
21
+ valid: boolean;
22
+ errors: string[];
23
+ }>;
24
+ }
25
+ //# sourceMappingURL=taxonomy-validator.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomy-validator.service.d.ts","sourceRoot":"","sources":["../../src/services/taxonomy-validator.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,eAAe,CAAkB;;IAMnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA6EtE,OAAO,CAAC,cAAc;IAmDtB,OAAO,CAAC,gBAAgB;IA8BlB,mBAAmB,CACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CA8BjD"}
@@ -0,0 +1,149 @@
1
+ import { TaxonomyService } from './taxonomy.service.js';
2
+ import { container } from '../di-container.js';
3
+ export class TaxonomyValidatorService {
4
+ taxonomyService;
5
+ constructor() {
6
+ this.taxonomyService = container.get(TaxonomyService);
7
+ }
8
+ async validate(manifest) {
9
+ const result = {
10
+ valid: true,
11
+ errors: [],
12
+ warnings: [],
13
+ conflicts: [],
14
+ };
15
+ const taxonomy = manifest.spec?.taxonomy;
16
+ if (!taxonomy) {
17
+ result.warnings.push('No taxonomy specified in manifest');
18
+ return result;
19
+ }
20
+ const taxonomySpec = await this.taxonomyService.loadTaxonomy();
21
+ // Validate maturity level
22
+ if (taxonomy.maturity) {
23
+ const maturity = taxonomy.maturity;
24
+ if (!taxonomySpec.maturity_levels?.[maturity]) {
25
+ result.errors.push(`Invalid maturity level: ${maturity}`);
26
+ result.valid = false;
27
+ }
28
+ }
29
+ // Validate deployment pattern
30
+ if (taxonomy.deployment_pattern) {
31
+ const deployment = taxonomy.deployment_pattern;
32
+ if (!taxonomySpec.deployment_patterns?.[deployment]) {
33
+ result.errors.push(`Invalid deployment pattern: ${deployment}`);
34
+ result.valid = false;
35
+ }
36
+ }
37
+ // Validate integration pattern
38
+ if (taxonomy.integration_pattern) {
39
+ const integration = taxonomy.integration_pattern;
40
+ if (!taxonomySpec.integration_patterns?.[integration]) {
41
+ result.errors.push(`Invalid integration pattern: ${integration}`);
42
+ result.valid = false;
43
+ }
44
+ }
45
+ // Validate cost profile
46
+ if (taxonomy.cost_profile) {
47
+ const cost = taxonomy.cost_profile;
48
+ if (!taxonomySpec.cost_profiles?.[cost]) {
49
+ result.errors.push(`Invalid cost profile: ${cost}`);
50
+ result.valid = false;
51
+ }
52
+ }
53
+ // Validate performance tier
54
+ if (taxonomy.performance_tier) {
55
+ const performance = taxonomy.performance_tier;
56
+ if (!taxonomySpec.performance_tiers?.[performance]) {
57
+ result.errors.push(`Invalid performance tier: ${performance}`);
58
+ result.valid = false;
59
+ }
60
+ }
61
+ // Check for conflicts
62
+ const conflicts = this.checkConflicts(taxonomy, manifest);
63
+ result.conflicts = conflicts;
64
+ if (conflicts.length > 0) {
65
+ result.warnings.push(`${conflicts.length} taxonomy conflict(s) detected`);
66
+ }
67
+ // Check consistency
68
+ const consistencyIssues = this.checkConsistency(taxonomy, manifest);
69
+ result.warnings.push(...consistencyIssues);
70
+ return result;
71
+ }
72
+ checkConflicts(taxonomy, manifest) {
73
+ const conflicts = [];
74
+ // Check maturity vs deployment pattern conflicts
75
+ if (taxonomy.maturity === 'prototype' &&
76
+ taxonomy.deployment_pattern === 'serverless') {
77
+ conflicts.push({
78
+ field: 'deployment_pattern',
79
+ value: taxonomy.deployment_pattern,
80
+ reason: 'Prototype agents typically use container deployment for easier debugging',
81
+ suggestion: 'container',
82
+ });
83
+ }
84
+ // Check cost profile vs performance tier conflicts
85
+ if (taxonomy.cost_profile === 'low' &&
86
+ taxonomy.performance_tier === 'real-time') {
87
+ conflicts.push({
88
+ field: 'performance_tier',
89
+ value: taxonomy.performance_tier,
90
+ reason: 'Real-time performance typically requires higher cost infrastructure',
91
+ suggestion: 'near-real-time',
92
+ });
93
+ }
94
+ // Check integration pattern vs deployment pattern conflicts
95
+ if (taxonomy.integration_pattern === 'streaming' &&
96
+ taxonomy.deployment_pattern === 'serverless') {
97
+ conflicts.push({
98
+ field: 'deployment_pattern',
99
+ value: taxonomy.deployment_pattern,
100
+ reason: 'Streaming integration typically requires container or edge deployment',
101
+ suggestion: 'container',
102
+ });
103
+ }
104
+ return conflicts;
105
+ }
106
+ checkConsistency(taxonomy, manifest) {
107
+ const issues = [];
108
+ // Check domain consistency
109
+ const domain = taxonomy.domain;
110
+ const labels = manifest.metadata?.labels || {};
111
+ const labelDomain = labels['ossa.ai/domain'];
112
+ if (domain && labelDomain && domain !== labelDomain) {
113
+ issues.push(`Taxonomy domain (${domain}) differs from label domain (${labelDomain})`);
114
+ }
115
+ // Check agent type consistency
116
+ const agentType = taxonomy.agent_type;
117
+ const labelType = labels['ossa.ai/type'];
118
+ if (agentType && labelType && agentType !== labelType) {
119
+ issues.push(`Taxonomy agent type (${agentType}) differs from label type (${labelType})`);
120
+ }
121
+ return issues;
122
+ }
123
+ async validateAgainstSpec(taxonomy) {
124
+ const taxonomySpec = await this.taxonomyService.loadTaxonomy();
125
+ const errors = [];
126
+ // Validate all taxonomy fields against spec
127
+ const fields = [
128
+ 'maturity',
129
+ 'deployment_pattern',
130
+ 'integration_pattern',
131
+ 'cost_profile',
132
+ 'performance_tier',
133
+ ];
134
+ for (const field of fields) {
135
+ const value = taxonomy[field];
136
+ if (!value)
137
+ continue;
138
+ const specSection = taxonomySpec[`${field}s`];
139
+ if (!specSection || !specSection[value]) {
140
+ errors.push(`Invalid ${field}: ${value}`);
141
+ }
142
+ }
143
+ return {
144
+ valid: errors.length === 0,
145
+ errors,
146
+ };
147
+ }
148
+ }
149
+ //# sourceMappingURL=taxonomy-validator.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomy-validator.service.js","sourceRoot":"","sources":["../../src/services/taxonomy-validator.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Taxonomy Service
3
+ * Classification engine for OSSA agents with 20+ classification dimensions
4
+ */
5
+ import type { OssaAgent } from '../types/index.js';
6
+ export interface TaxonomyClassification {
7
+ domain: string;
8
+ subdomain?: string;
9
+ capability?: string;
10
+ concerns?: string[];
11
+ maturity?: 'prototype' | 'beta' | 'stable' | 'production';
12
+ deploymentPattern?: 'serverless' | 'container' | 'edge' | 'hybrid';
13
+ integrationPattern?: 'api-first' | 'event-driven' | 'batch' | 'streaming';
14
+ costProfile?: 'low' | 'medium' | 'high' | 'enterprise';
15
+ performanceTier?: 'real-time' | 'near-real-time' | 'batch';
16
+ agentType?: string;
17
+ }
18
+ export interface TaxonomyRecommendation {
19
+ classification: TaxonomyClassification;
20
+ confidence: number;
21
+ reasoning: string[];
22
+ alternatives?: TaxonomyClassification[];
23
+ }
24
+ export interface TaxonomySpec {
25
+ domains: Record<string, {
26
+ description: string;
27
+ subdomains?: string[];
28
+ examples?: string[];
29
+ }>;
30
+ concerns?: Record<string, {
31
+ description: string;
32
+ applies_to: string[];
33
+ }>;
34
+ maturity_levels?: Record<string, {
35
+ description: string;
36
+ stability: string;
37
+ testing_required: string;
38
+ documentation_required: string;
39
+ use_cases: string[];
40
+ }>;
41
+ deployment_patterns?: Record<string, {
42
+ description: string;
43
+ examples: string[];
44
+ characteristics: string[];
45
+ use_cases: string[];
46
+ }>;
47
+ integration_patterns?: Record<string, {
48
+ description: string;
49
+ protocols: string[];
50
+ characteristics: string[];
51
+ use_cases: string[];
52
+ }>;
53
+ cost_profiles?: Record<string, {
54
+ description: string;
55
+ estimated_monthly_cost: string;
56
+ characteristics: string[];
57
+ use_cases: string[];
58
+ }>;
59
+ performance_tiers?: Record<string, {
60
+ description: string;
61
+ latency_requirement: string;
62
+ throughput: string;
63
+ use_cases: string[];
64
+ }>;
65
+ agent_types?: Record<string, {
66
+ description: string;
67
+ typical_domains: string[];
68
+ recommended_tier?: string;
69
+ }>;
70
+ }
71
+ export declare class TaxonomyService {
72
+ /**
73
+ * Load taxonomy specification
74
+ */
75
+ loadTaxonomy(): Promise<TaxonomySpec>;
76
+ /**
77
+ * Classify agent based on manifest
78
+ */
79
+ classifyAgent(manifest: OssaAgent): Promise<TaxonomyClassification>;
80
+ /**
81
+ * Recommend taxonomy based on use case
82
+ */
83
+ recommendTaxonomy(useCase: string, agentType?: string): Promise<TaxonomyRecommendation>;
84
+ /**
85
+ * Validate taxonomy classification
86
+ */
87
+ validateTaxonomy(classification: TaxonomyClassification): Promise<{
88
+ valid: boolean;
89
+ errors: string[];
90
+ }>;
91
+ /**
92
+ * Infer domain from agent manifest
93
+ */
94
+ private inferDomain;
95
+ /**
96
+ * Infer agent type from manifest
97
+ */
98
+ private inferAgentType;
99
+ /**
100
+ * Match domain from use case
101
+ */
102
+ private matchDomainFromUseCase;
103
+ /**
104
+ * Match subdomain from use case
105
+ */
106
+ private matchSubdomainFromUseCase;
107
+ /**
108
+ * Match concerns from use case
109
+ */
110
+ private matchConcernsFromUseCase;
111
+ /**
112
+ * Infer deployment pattern from use case
113
+ */
114
+ private inferDeploymentPattern;
115
+ /**
116
+ * Infer integration pattern from use case
117
+ */
118
+ private inferIntegrationPattern;
119
+ /**
120
+ * Infer cost profile from use case
121
+ */
122
+ private inferCostProfile;
123
+ /**
124
+ * Infer performance tier from use case
125
+ */
126
+ private inferPerformanceTier;
127
+ /**
128
+ * Infer agent type from use case
129
+ */
130
+ private inferAgentTypeFromUseCase;
131
+ }
132
+ //# sourceMappingURL=taxonomy.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomy.service.d.ts","sourceRoot":"","sources":["../../src/services/taxonomy.service.ts"],"names":[],"mappings":"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"}