@bluefly/openstandardagents 0.2.4

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 (371) hide show
  1. package/.env.example +41 -0
  2. package/.eslintrc.cjs +43 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  4. package/.github/dependabot.yml +58 -0
  5. package/.github/workflows/ci.yml +154 -0
  6. package/.github/workflows/codeql.yml +41 -0
  7. package/.github/workflows/dependabot-auto-merge.yml +28 -0
  8. package/.github/workflows/release.yml +103 -0
  9. package/.prettierignore +7 -0
  10. package/.prettierrc.json +10 -0
  11. package/.redocly.yaml +9 -0
  12. package/.releaserc.json +84 -0
  13. package/.releaserc.json.disabled +81 -0
  14. package/CHANGELOG.md +152 -0
  15. package/CONTRIBUTING.md +249 -0
  16. package/LICENSE +190 -0
  17. package/README.md +280 -0
  18. package/bin/ossa +8 -0
  19. package/bin/validate-ossa-0.2.2.ts +244 -0
  20. package/dist/di-container.d.ts +18 -0
  21. package/dist/di-container.d.ts.map +1 -0
  22. package/dist/di-container.js +43 -0
  23. package/dist/di-container.js.map +1 -0
  24. package/dist/index.d.ts +13 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +17 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/repositories/manifest.repository.d.ts +26 -0
  29. package/dist/repositories/manifest.repository.d.ts.map +1 -0
  30. package/dist/repositories/manifest.repository.js +90 -0
  31. package/dist/repositories/manifest.repository.js.map +1 -0
  32. package/dist/repositories/schema.repository.d.ts +30 -0
  33. package/dist/repositories/schema.repository.d.ts.map +1 -0
  34. package/dist/repositories/schema.repository.js +143 -0
  35. package/dist/repositories/schema.repository.js.map +1 -0
  36. package/dist/services/generation.service.d.ts +54 -0
  37. package/dist/services/generation.service.d.ts.map +1 -0
  38. package/dist/services/generation.service.js +298 -0
  39. package/dist/services/generation.service.js.map +1 -0
  40. package/dist/services/migration.service.d.ts +30 -0
  41. package/dist/services/migration.service.d.ts.map +1 -0
  42. package/dist/services/migration.service.js +231 -0
  43. package/dist/services/migration.service.js.map +1 -0
  44. package/dist/services/runtime/openai.adapter.d.ts +94 -0
  45. package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
  46. package/dist/services/runtime/openai.adapter.js +209 -0
  47. package/dist/services/runtime/openai.adapter.js.map +1 -0
  48. package/dist/services/validation.service.d.ts +45 -0
  49. package/dist/services/validation.service.d.ts.map +1 -0
  50. package/dist/services/validation.service.js +362 -0
  51. package/dist/services/validation.service.js.map +1 -0
  52. package/dist/services/validators/anthropic.validator.d.ts +9 -0
  53. package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
  54. package/dist/services/validators/anthropic.validator.js +105 -0
  55. package/dist/services/validators/anthropic.validator.js.map +1 -0
  56. package/dist/services/validators/autogen.validator.d.ts +9 -0
  57. package/dist/services/validators/autogen.validator.d.ts.map +1 -0
  58. package/dist/services/validators/autogen.validator.js +111 -0
  59. package/dist/services/validators/autogen.validator.js.map +1 -0
  60. package/dist/services/validators/crewai.validator.d.ts +9 -0
  61. package/dist/services/validators/crewai.validator.d.ts.map +1 -0
  62. package/dist/services/validators/crewai.validator.js +117 -0
  63. package/dist/services/validators/crewai.validator.js.map +1 -0
  64. package/dist/services/validators/cursor.validator.d.ts +9 -0
  65. package/dist/services/validators/cursor.validator.d.ts.map +1 -0
  66. package/dist/services/validators/cursor.validator.js +88 -0
  67. package/dist/services/validators/cursor.validator.js.map +1 -0
  68. package/dist/services/validators/index.d.ts +15 -0
  69. package/dist/services/validators/index.d.ts.map +1 -0
  70. package/dist/services/validators/index.js +15 -0
  71. package/dist/services/validators/index.js.map +1 -0
  72. package/dist/services/validators/langchain.validator.d.ts +9 -0
  73. package/dist/services/validators/langchain.validator.d.ts.map +1 -0
  74. package/dist/services/validators/langchain.validator.js +103 -0
  75. package/dist/services/validators/langchain.validator.js.map +1 -0
  76. package/dist/services/validators/langflow.validator.d.ts +9 -0
  77. package/dist/services/validators/langflow.validator.d.ts.map +1 -0
  78. package/dist/services/validators/langflow.validator.js +92 -0
  79. package/dist/services/validators/langflow.validator.js.map +1 -0
  80. package/dist/services/validators/langgraph.validator.d.ts +9 -0
  81. package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
  82. package/dist/services/validators/langgraph.validator.js +123 -0
  83. package/dist/services/validators/langgraph.validator.js.map +1 -0
  84. package/dist/services/validators/llamaindex.validator.d.ts +9 -0
  85. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
  86. package/dist/services/validators/llamaindex.validator.js +121 -0
  87. package/dist/services/validators/llamaindex.validator.js.map +1 -0
  88. package/dist/services/validators/openai.validator.d.ts +9 -0
  89. package/dist/services/validators/openai.validator.d.ts.map +1 -0
  90. package/dist/services/validators/openai.validator.js +126 -0
  91. package/dist/services/validators/openai.validator.js.map +1 -0
  92. package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
  93. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
  94. package/dist/services/validators/vercel-ai.validator.js +99 -0
  95. package/dist/services/validators/vercel-ai.validator.js.map +1 -0
  96. package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  97. package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
  98. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  99. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  100. package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
  101. package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
  102. package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  103. package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  104. package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  105. package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
  106. package/dist/spec/v0.2.3/README.md +154 -0
  107. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  108. package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  109. package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  110. package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  111. package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  112. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  113. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  114. package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  115. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  116. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  117. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  118. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  119. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  120. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  121. package/dist/types/index.d.ts +178 -0
  122. package/dist/types/index.d.ts.map +1 -0
  123. package/dist/types/index.js +6 -0
  124. package/dist/types/index.js.map +1 -0
  125. package/dist/types/openapi-extensions.d.ts +164 -0
  126. package/dist/types/openapi-extensions.d.ts.map +1 -0
  127. package/dist/types/openapi-extensions.js +6 -0
  128. package/dist/types/openapi-extensions.js.map +1 -0
  129. package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
  130. package/docs/README.md +31 -0
  131. package/docs/VERSIONING.md +284 -0
  132. package/docs/agent-openapi-spec.yml +942 -0
  133. package/docs/getting-started.md +87 -0
  134. package/docs/migration/general-agent-schema.yml +255 -0
  135. package/docs/migration/migration-manifest.json +64 -0
  136. package/docs/openapi-extensions.md +930 -0
  137. package/docs/schemas/openapi-extensions.schema.json +486 -0
  138. package/examples/adk-integration/code-review-workflow.yml +136 -0
  139. package/examples/adk-integration/customer-support.yml +263 -0
  140. package/examples/adk-integration/data-pipeline.yml +173 -0
  141. package/examples/advanced/patterns/compliance-context-production.json +53 -0
  142. package/examples/advanced/patterns/model-router.ts +274 -0
  143. package/examples/advanced/patterns/smart-model-routing.ts +248 -0
  144. package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
  145. package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
  146. package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
  147. package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
  148. package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
  149. package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
  150. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
  151. package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
  152. package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
  153. package/examples/anthropic/claude-assistant.ossa.json +45 -0
  154. package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
  155. package/examples/autogen/multi-agent.ossa.json +37 -0
  156. package/examples/bridge-configurations.yaml +346 -0
  157. package/examples/bridges/Dockerfile.production +87 -0
  158. package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
  159. package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
  160. package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
  161. package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
  162. package/examples/bridges/aiflow-bridge-example.yml +310 -0
  163. package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
  164. package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
  165. package/examples/bridges/k8s/configmap.yaml +121 -0
  166. package/examples/bridges/k8s/deployment-simple.yaml +34 -0
  167. package/examples/bridges/k8s/deployment.yaml +275 -0
  168. package/examples/bridges/k8s/hpa.yaml +126 -0
  169. package/examples/bridges/k8s/ingress.yaml +155 -0
  170. package/examples/bridges/kagent-bridge-example.yml +94 -0
  171. package/examples/bridges/load-tests/Dockerfile +28 -0
  172. package/examples/bridges/load-tests/k6-load-test.js +302 -0
  173. package/examples/bridges/load-tests/requirements.txt +20 -0
  174. package/examples/bridges/loadtest/k6-scenarios.js +270 -0
  175. package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
  176. package/examples/bridges/phase4/chaos-tests.yaml +226 -0
  177. package/examples/bridges/requirements.txt +24 -0
  178. package/examples/bridges/test_aiflow_integration.py +341 -0
  179. package/examples/common_npm/agent-router.ossa.yaml +182 -0
  180. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
  181. package/examples/compliance-agent.yml +155 -0
  182. package/examples/crewai/research-team.ossa.json +36 -0
  183. package/examples/cursor/code-review-agent.ossa.json +47 -0
  184. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
  185. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
  186. package/examples/enterprise/agent.yml +452 -0
  187. package/examples/extensions/drupal-v1.yml +266 -0
  188. package/examples/extensions/kagent-v1.yml +167 -0
  189. package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
  190. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
  191. package/examples/kagent/README.md +31 -0
  192. package/examples/kagent/compliance-validator.ossa.yaml +111 -0
  193. package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
  194. package/examples/kagent/documentation-agent.ossa.yaml +91 -0
  195. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
  196. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
  197. package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
  198. package/examples/kagent/security-scanner.ossa.yaml +140 -0
  199. package/examples/langchain/chain-agent.ossa.json +42 -0
  200. package/examples/langflow/workflow-agent.ossa.json +39 -0
  201. package/examples/langgraph/state-machine-agent.ossa.json +59 -0
  202. package/examples/llamaindex/rag-agent.ossa.json +41 -0
  203. package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
  204. package/examples/minimal/agent.yml +152 -0
  205. package/examples/minimal/openapi.yaml +95 -0
  206. package/examples/openai/swarm-agent.ossa.json +59 -0
  207. package/examples/openapi-extensions/README.md +87 -0
  208. package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
  209. package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
  210. package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
  211. package/examples/production/agent.yml +713 -0
  212. package/examples/production/document-analyzer-openai.yml +134 -0
  213. package/examples/quickstart/support-agent.ossa.yaml +59 -0
  214. package/examples/service-registry-usage.ts +423 -0
  215. package/examples/spec-examples/audit-agent.yml +147 -0
  216. package/examples/spec-examples/chat-agent.yml +189 -0
  217. package/examples/spec-examples/compliance-agent.yml +204 -0
  218. package/examples/spec-examples/data-processing-agent.yml +132 -0
  219. package/examples/spec-examples/development-agent.yml +138 -0
  220. package/examples/spec-examples/edge-agent.yml +101 -0
  221. package/examples/spec-examples/integration-agent.yml +129 -0
  222. package/examples/spec-examples/monitoring-agent.yml +130 -0
  223. package/examples/spec-examples/serverless-agent.yml +82 -0
  224. package/examples/spec-examples/workflow-agent.yml +223 -0
  225. package/examples/templates/ossa-compliance.yaml +56 -0
  226. package/examples/typescript/advanced/demo-registry.ts +168 -0
  227. package/examples/typescript/mcpb-agent-example.ts +358 -0
  228. package/examples/vercel/edge-agent.ossa.json +43 -0
  229. package/infrastructure/docker-compose.yml +33 -0
  230. package/junit.xml +1 -0
  231. package/openapi/drupal-agent-api.openapi.yaml +348 -0
  232. package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
  233. package/openapi/helm-generator.openapi.yaml +389 -0
  234. package/openapi/ossa-core-api.openapi.yaml +1448 -0
  235. package/openapi/ossa-registry-api.openapi.yaml +980 -0
  236. package/openapi/ossa-registry.openapi.yaml +782 -0
  237. package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
  238. package/openapi/unified-agent-gateway.openapi.yaml +833 -0
  239. package/ossa-website-swarm-tasks.json +105 -0
  240. package/package.json +132 -0
  241. package/release.config.js +64 -0
  242. package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  243. package/spec/v0.1.9/ecosystem-compliance.json +235 -0
  244. package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  245. package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  246. package/spec/v0.1.9/reasoning-compliance.json +654 -0
  247. package/spec/v0.2.2/kagent-enhancements.json +395 -0
  248. package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  249. package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  250. package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  251. package/spec/v0.2.3/CHANGELOG.md +176 -0
  252. package/spec/v0.2.3/README.md +154 -0
  253. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  254. package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  255. package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  256. package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  257. package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  258. package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  259. package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  260. package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  261. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  262. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  263. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  264. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  265. package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  266. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  267. package/test-results.xml +1 -0
  268. package/website/.lighthouserc.js +20 -0
  269. package/website/.prettierrc +10 -0
  270. package/website/Dockerfile +17 -0
  271. package/website/app/about/page.tsx +295 -0
  272. package/website/app/api/validate/route.ts +88 -0
  273. package/website/app/blog/[slug]/page.tsx +167 -0
  274. package/website/app/blog/page.tsx +162 -0
  275. package/website/app/docs/[[...slug]]/page.tsx +349 -0
  276. package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
  277. package/website/app/ecosystem/page.tsx +375 -0
  278. package/website/app/examples/page.tsx +123 -0
  279. package/website/app/globals.css +108 -0
  280. package/website/app/layout.tsx +106 -0
  281. package/website/app/page.tsx +409 -0
  282. package/website/app/playground/page.tsx +507 -0
  283. package/website/app/robots.ts +19 -0
  284. package/website/app/rss.xml/route.ts +74 -0
  285. package/website/app/schema/page.tsx +970 -0
  286. package/website/app/sitemap.ts +56 -0
  287. package/website/app/specification/page.tsx +211 -0
  288. package/website/components/InstallCommand.tsx +96 -0
  289. package/website/components/Logo.tsx +24 -0
  290. package/website/components/StructuredData.tsx +65 -0
  291. package/website/components/docs/DocsSearch.tsx +104 -0
  292. package/website/components/docs/DocsSidebar.tsx +118 -0
  293. package/website/components/docs/MarkdownContent.tsx +183 -0
  294. package/website/components/docs/VersionSelector.tsx +49 -0
  295. package/website/components/examples/ExamplesViewer.tsx +293 -0
  296. package/website/components/layout/Footer.tsx +111 -0
  297. package/website/components/layout/Header.tsx +170 -0
  298. package/website/components/schema/SchemaExplorer.tsx +213 -0
  299. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
  300. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
  301. package/website/content/blog/introducing-ossa-framework.md +328 -0
  302. package/website/content/blog/ossa-production-results.md +279 -0
  303. package/website/content/blog/welcome-to-ossa.md +43 -0
  304. package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
  305. package/website/content/docs/00-HOME.md +160 -0
  306. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  307. package/website/content/docs/OpenAPI-Extensions.md +498 -0
  308. package/website/content/docs/architecture/execution-flow.md +335 -0
  309. package/website/content/docs/architecture/multi-agent-systems.md +737 -0
  310. package/website/content/docs/architecture/overview.md +121 -0
  311. package/website/content/docs/architecture/stack-integration.md +461 -0
  312. package/website/content/docs/changelog.md +246 -0
  313. package/website/content/docs/contributing.md +599 -0
  314. package/website/content/docs/core-concepts/project-structure.md +348 -0
  315. package/website/content/docs/ecosystem/framework-support.md +821 -0
  316. package/website/content/docs/ecosystem/overview.md +366 -0
  317. package/website/content/docs/examples/Migration-Guides.md +214 -0
  318. package/website/content/docs/examples.md +71 -0
  319. package/website/content/docs/for-audiences/Enterprises.md +256 -0
  320. package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
  321. package/website/content/docs/for-audiences/architects.md +224 -0
  322. package/website/content/docs/for-audiences/developers.md +220 -0
  323. package/website/content/docs/getting-started/5-minute-overview.md +85 -0
  324. package/website/content/docs/getting-started/Hello-World.md +184 -0
  325. package/website/content/docs/getting-started/first-agent.md +196 -0
  326. package/website/content/docs/getting-started/installation.md +155 -0
  327. package/website/content/docs/getting-started/running-agents.md +107 -0
  328. package/website/content/docs/integrations/aiflow.md +104 -0
  329. package/website/content/docs/integrations/drupal.md +105 -0
  330. package/website/content/docs/migration-guides/00-index.md +76 -0
  331. package/website/content/docs/migration-guides/README.md +133 -0
  332. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
  333. package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
  334. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
  335. package/website/content/docs/migration-guides/index.md +133 -0
  336. package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
  337. package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
  338. package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
  339. package/website/content/docs/openapi-extensions/examples.md +550 -0
  340. package/website/content/docs/openapi-extensions/index.md +495 -0
  341. package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
  342. package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
  343. package/website/content/docs/pre-release/index.md +175 -0
  344. package/website/content/docs/quick-reference.md +17 -0
  345. package/website/content/docs/schema-reference/agent-spec.md +406 -0
  346. package/website/content/docs/schema-reference/autonomy.md +568 -0
  347. package/website/content/docs/schema-reference/constraints.md +543 -0
  348. package/website/content/docs/schema-reference/index.md +176 -0
  349. package/website/content/docs/schema-reference/llm-config.md +445 -0
  350. package/website/content/docs/schema-reference/observability.md +654 -0
  351. package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
  352. package/website/content/docs/schema-reference/taxonomy.md +509 -0
  353. package/website/content/docs/schema-reference/tools.md +628 -0
  354. package/website/content/docs/templates/blog-post.md +43 -0
  355. package/website/content/docs/use-cases/00-index.md +395 -0
  356. package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
  357. package/website/content/docs/use-cases/customer-support.md +1234 -0
  358. package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
  359. package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
  360. package/website/lib/version.ts +18 -0
  361. package/website/next.config.js +17 -0
  362. package/website/next.config.ts +16 -0
  363. package/website/nginx.conf +32 -0
  364. package/website/package-lock.json +9145 -0
  365. package/website/package.json +53 -0
  366. package/website/postcss.config.js +7 -0
  367. package/website/postcss.config.mjs +9 -0
  368. package/website/scripts/sync-version.js +44 -0
  369. package/website/scripts/sync-wiki.ts +261 -0
  370. package/website/tailwind.config.js +58 -0
  371. package/website/tailwind.config.ts +65 -0
@@ -0,0 +1,362 @@
1
+ /**
2
+ * Validation Service
3
+ * Validates OSSA agent manifests against JSON schemas
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ var __metadata = (this && this.__metadata) || function (k, v) {
12
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
13
+ };
14
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
15
+ return function (target, key) { decorator(target, key, paramIndex); }
16
+ };
17
+ import Ajv from 'ajv';
18
+ import addFormats from 'ajv-formats';
19
+ import { inject, injectable } from 'inversify';
20
+ import { SchemaRepository } from '../repositories/schema.repository.js';
21
+ import { readFileSync, existsSync } from 'node:fs';
22
+ import { join } from 'path';
23
+ import { CursorValidator } from './validators/cursor.validator.js';
24
+ import { OpenAIValidator } from './validators/openai.validator.js';
25
+ import { CrewAIValidator } from './validators/crewai.validator.js';
26
+ import { LangChainValidator } from './validators/langchain.validator.js';
27
+ import { AnthropicValidator } from './validators/anthropic.validator.js';
28
+ import { LangflowValidator } from './validators/langflow.validator.js';
29
+ import { AutoGenValidator } from './validators/autogen.validator.js';
30
+ import { VercelAIValidator } from './validators/vercel-ai.validator.js';
31
+ import { LlamaIndexValidator } from './validators/llamaindex.validator.js';
32
+ import { LangGraphValidator } from './validators/langgraph.validator.js';
33
+ let ValidationService = class ValidationService {
34
+ schemaRepository;
35
+ ajv;
36
+ platformValidators;
37
+ constructor(schemaRepository) {
38
+ this.schemaRepository = schemaRepository;
39
+ this.ajv = new Ajv({
40
+ allErrors: true,
41
+ strict: true,
42
+ validateFormats: true,
43
+ });
44
+ addFormats(this.ajv);
45
+ // Initialize platform validators
46
+ this.platformValidators = new Map();
47
+ this.platformValidators.set('cursor', new CursorValidator());
48
+ this.platformValidators.set('openai_agents', new OpenAIValidator());
49
+ this.platformValidators.set('crewai', new CrewAIValidator());
50
+ this.platformValidators.set('langchain', new LangChainValidator());
51
+ this.platformValidators.set('anthropic', new AnthropicValidator());
52
+ this.platformValidators.set('langflow', new LangflowValidator());
53
+ this.platformValidators.set('autogen', new AutoGenValidator());
54
+ this.platformValidators.set('vercel_ai', new VercelAIValidator());
55
+ this.platformValidators.set('llamaindex', new LlamaIndexValidator());
56
+ this.platformValidators.set('langgraph', new LangGraphValidator());
57
+ }
58
+ /**
59
+ * Validate OSSA agent manifest
60
+ * @param manifest - Manifest object to validate
61
+ * @param version - OSSA version (e.g., '0.2.3', '0.2.2', '0.1.9')
62
+ * @returns Validation result with errors and warnings
63
+ */
64
+ async validate(manifest, version = '0.2.3') {
65
+ try {
66
+ // 1. Load schema for version
67
+ const schema = await this.schemaRepository.getSchema(version);
68
+ // 2. Compile validator
69
+ const validator = this.ajv.compile(schema);
70
+ // 3. Validate against schema
71
+ const valid = validator(manifest);
72
+ // 4. Generate warnings (best practices)
73
+ const warnings = this.generateWarnings(manifest);
74
+ // 5. Run platform-specific validators
75
+ const platformResults = this.validatePlatformExtensions(manifest);
76
+ const allErrors = [
77
+ ...(valid ? [] : validator.errors || []),
78
+ ...platformResults.errors,
79
+ ];
80
+ const allWarnings = [...warnings, ...platformResults.warnings];
81
+ // 6. Return structured result
82
+ return {
83
+ valid: valid && platformResults.valid,
84
+ errors: allErrors,
85
+ warnings: allWarnings,
86
+ manifest: valid && platformResults.valid ? manifest : undefined,
87
+ };
88
+ }
89
+ catch (error) {
90
+ // Handle validation errors
91
+ return {
92
+ valid: false,
93
+ errors: [
94
+ {
95
+ instancePath: '',
96
+ schemaPath: '',
97
+ keyword: 'error',
98
+ params: {},
99
+ message: error instanceof Error
100
+ ? error.message
101
+ : 'Unknown validation error',
102
+ },
103
+ ],
104
+ warnings: [],
105
+ };
106
+ }
107
+ }
108
+ /**
109
+ * Generate warnings for best practices
110
+ * @param manifest - Manifest object to check
111
+ * @returns Array of warning messages
112
+ */
113
+ generateWarnings(manifest) {
114
+ const warnings = [];
115
+ if (!manifest || typeof manifest !== 'object') {
116
+ return warnings;
117
+ }
118
+ const m = manifest;
119
+ const spec = m.spec || m.agent;
120
+ const metadata = m.metadata || m.agent?.metadata;
121
+ if (!spec) {
122
+ return warnings;
123
+ }
124
+ // Check for description
125
+ if (!metadata?.description || metadata.description.trim().length === 0) {
126
+ warnings.push('Best practice: Add agent description for better documentation');
127
+ }
128
+ // Check for LLM configuration
129
+ if (!spec.llm && !m.agent?.llm) {
130
+ warnings.push('Best practice: Specify LLM configuration (provider, model, temperature)');
131
+ }
132
+ // Check for tools/capabilities
133
+ if ((!spec.tools || spec.tools.length === 0) &&
134
+ (!m.agent?.tools || m.agent.tools.length === 0)) {
135
+ warnings.push('Best practice: Define tools/capabilities for the agent to use');
136
+ }
137
+ // Check for observability
138
+ const extensions = m.extensions;
139
+ if (extensions && !spec.observability && !m.agent?.monitoring) {
140
+ warnings.push('Best practice: Configure observability (tracing, metrics, logging)');
141
+ }
142
+ // Check for autonomy configuration
143
+ if (!spec.autonomy && !m.agent?.autonomy) {
144
+ warnings.push('Best practice: Define autonomy level and approval requirements');
145
+ }
146
+ // Check for constraints
147
+ if (!spec.constraints && !m.agent?.constraints) {
148
+ warnings.push('Best practice: Set cost and performance constraints for production use');
149
+ }
150
+ return warnings;
151
+ }
152
+ /**
153
+ * Validate platform-specific extensions
154
+ * @param manifest - Manifest object to validate
155
+ * @returns Combined validation result from all platform validators
156
+ */
157
+ validatePlatformExtensions(manifest) {
158
+ const errors = [];
159
+ const warnings = [];
160
+ let allValid = true;
161
+ if (!manifest.extensions || typeof manifest.extensions !== 'object') {
162
+ return { valid: true, errors: [], warnings: [] };
163
+ }
164
+ // Run each platform validator
165
+ for (const [platform, validator] of this.platformValidators.entries()) {
166
+ if (manifest.extensions[platform]) {
167
+ const result = validator.validate(manifest);
168
+ if (!result.valid) {
169
+ allValid = false;
170
+ }
171
+ errors.push(...result.errors);
172
+ warnings.push(...result.warnings);
173
+ }
174
+ }
175
+ return {
176
+ valid: allValid,
177
+ errors,
178
+ warnings,
179
+ };
180
+ }
181
+ /**
182
+ * Validate multiple manifests
183
+ * @param manifests - Array of manifests to validate
184
+ * @param version - Schema version
185
+ * @returns Array of validation results
186
+ */
187
+ async validateMany(manifests, version = '0.2.3') {
188
+ return Promise.all(manifests.map((manifest) => this.validate(manifest, version)));
189
+ }
190
+ /**
191
+ * Validate OpenAPI spec with OSSA extensions
192
+ * @param openapiSpec - OpenAPI specification object
193
+ * @returns Validation result with errors and warnings for extensions
194
+ */
195
+ async validateOpenAPIExtensions(openapiSpec) {
196
+ try {
197
+ // Load OpenAPI extensions schema
198
+ // Try multiple possible paths (works in both dev and production)
199
+ let extensionSchema = {};
200
+ const possiblePaths = [
201
+ join(process.cwd(), 'docs/schemas/openapi-extensions.schema.json'),
202
+ join(process.cwd(), 'dist/docs/schemas/openapi-extensions.schema.json'),
203
+ join(process.cwd(), 'spec/schemas/openapi-extensions.schema.json'),
204
+ ];
205
+ for (const path of possiblePaths) {
206
+ try {
207
+ if (existsSync(path)) {
208
+ extensionSchema = JSON.parse(readFileSync(path, 'utf-8'));
209
+ break;
210
+ }
211
+ }
212
+ catch {
213
+ // Try next path
214
+ }
215
+ }
216
+ // Extract OSSA extensions from spec
217
+ const spec = openapiSpec;
218
+ const extensions = {};
219
+ // Root-level extensions
220
+ if (spec['x-ossa-metadata']) {
221
+ extensions['x-ossa-metadata'] = spec['x-ossa-metadata'];
222
+ }
223
+ if (spec['x-ossa']) {
224
+ extensions['x-ossa'] = spec['x-ossa'];
225
+ }
226
+ if (spec['x-agent']) {
227
+ extensions['x-agent'] = spec['x-agent'];
228
+ }
229
+ // Operation-level extensions (in paths)
230
+ if (spec.paths && typeof spec.paths === 'object') {
231
+ const paths = spec.paths;
232
+ for (const path of Object.values(paths)) {
233
+ if (path && typeof path === 'object') {
234
+ const pathItem = path;
235
+ for (const operation of Object.values(pathItem)) {
236
+ if (operation &&
237
+ typeof operation === 'object' &&
238
+ 'operationId' in operation) {
239
+ const op = operation;
240
+ if (op['x-ossa-capability']) {
241
+ extensions['x-ossa-capability'] = op['x-ossa-capability'];
242
+ }
243
+ if (op['x-ossa-autonomy']) {
244
+ extensions['x-ossa-autonomy'] = op['x-ossa-autonomy'];
245
+ }
246
+ if (op['x-ossa-constraints']) {
247
+ extensions['x-ossa-constraints'] = op['x-ossa-constraints'];
248
+ }
249
+ if (op['x-ossa-tools']) {
250
+ extensions['x-ossa-tools'] = op['x-ossa-tools'];
251
+ }
252
+ if (op['x-ossa-llm']) {
253
+ extensions['x-ossa-llm'] = op['x-ossa-llm'];
254
+ }
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+ // Validate extensions against schema (basic validation)
261
+ const warnings = [];
262
+ const errors = [];
263
+ // Validate x-ossa-metadata
264
+ if (extensions['x-ossa-metadata']) {
265
+ const metadata = extensions['x-ossa-metadata'];
266
+ if (!metadata.version) {
267
+ errors.push({
268
+ instancePath: '/x-ossa-metadata',
269
+ schemaPath: '',
270
+ keyword: 'required',
271
+ params: { missingProperty: 'version' },
272
+ message: 'x-ossa-metadata must have version field',
273
+ });
274
+ }
275
+ }
276
+ // Validate x-ossa
277
+ if (extensions['x-ossa']) {
278
+ const ossa = extensions['x-ossa'];
279
+ if (!ossa.version) {
280
+ errors.push({
281
+ instancePath: '/x-ossa',
282
+ schemaPath: '',
283
+ keyword: 'required',
284
+ params: { missingProperty: 'version' },
285
+ message: 'x-ossa must have version field',
286
+ });
287
+ }
288
+ if (!ossa.agent || typeof ossa.agent !== 'object') {
289
+ errors.push({
290
+ instancePath: '/x-ossa',
291
+ schemaPath: '',
292
+ keyword: 'required',
293
+ params: { missingProperty: 'agent' },
294
+ message: 'x-ossa must have agent field',
295
+ });
296
+ }
297
+ else {
298
+ const agent = ossa.agent;
299
+ if (!agent.id) {
300
+ errors.push({
301
+ instancePath: '/x-ossa/agent',
302
+ schemaPath: '',
303
+ keyword: 'required',
304
+ params: { missingProperty: 'id' },
305
+ message: 'x-ossa.agent must have id field',
306
+ });
307
+ }
308
+ if (!agent.type) {
309
+ errors.push({
310
+ instancePath: '/x-ossa/agent',
311
+ schemaPath: '',
312
+ keyword: 'required',
313
+ params: { missingProperty: 'type' },
314
+ message: 'x-ossa.agent must have type field',
315
+ });
316
+ }
317
+ }
318
+ }
319
+ // Generate warnings
320
+ if (!extensions['x-ossa-metadata'] && !extensions['x-ossa']) {
321
+ warnings.push('Best practice: Add x-ossa-metadata or x-ossa extension for agent identification');
322
+ }
323
+ // Check for operation-level extensions
324
+ const hasOperationExtensions = extensions['x-ossa-capability'] ||
325
+ extensions['x-ossa-autonomy'] ||
326
+ extensions['x-ossa-constraints'];
327
+ if (!hasOperationExtensions && spec.paths) {
328
+ warnings.push('Best practice: Add x-ossa-capability, x-ossa-autonomy, or x-ossa-constraints to operations');
329
+ }
330
+ return {
331
+ valid: errors.length === 0,
332
+ errors,
333
+ warnings,
334
+ manifest: undefined,
335
+ };
336
+ }
337
+ catch (error) {
338
+ return {
339
+ valid: false,
340
+ errors: [
341
+ {
342
+ instancePath: '',
343
+ schemaPath: '',
344
+ keyword: 'error',
345
+ params: {},
346
+ message: error instanceof Error
347
+ ? error.message
348
+ : 'Unknown validation error',
349
+ },
350
+ ],
351
+ warnings: [],
352
+ };
353
+ }
354
+ }
355
+ };
356
+ ValidationService = __decorate([
357
+ injectable(),
358
+ __param(0, inject(SchemaRepository)),
359
+ __metadata("design:paramtypes", [SchemaRepository])
360
+ ], ValidationService);
361
+ export { ValidationService };
362
+ //# sourceMappingURL=validation.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.service.js","sourceRoot":"","sources":["../../src/services/validation.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Anthropic Platform Validator
3
+ * Validates Anthropic Claude-specific extension configuration
4
+ */
5
+ import type { ValidationResult } from '../../types/index.js';
6
+ export declare class AnthropicValidator {
7
+ validate(manifest: any): ValidationResult;
8
+ }
9
+ //# sourceMappingURL=anthropic.validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.validator.d.ts","sourceRoot":"","sources":["../../../src/services/validators/anthropic.validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBACa,kBAAkB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB;CAuG1C"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Anthropic Platform Validator
3
+ * Validates Anthropic Claude-specific extension configuration
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ import { injectable } from 'inversify';
12
+ let AnthropicValidator = class AnthropicValidator {
13
+ validate(manifest) {
14
+ const errors = [];
15
+ const warnings = [];
16
+ const anthropicExt = manifest.extensions?.anthropic;
17
+ if (!anthropicExt || anthropicExt.enabled === false) {
18
+ return { valid: true, errors: [], warnings: [] };
19
+ }
20
+ // Validate model
21
+ const validModels = [
22
+ 'claude-3-5-sonnet-20241022',
23
+ 'claude-3-5-sonnet-20240620',
24
+ 'claude-3-opus-20240229',
25
+ 'claude-3-sonnet-20240229',
26
+ 'claude-3-haiku-20240307',
27
+ ];
28
+ if (anthropicExt.model && !validModels.includes(anthropicExt.model)) {
29
+ errors.push({
30
+ instancePath: '/extensions/anthropic/model',
31
+ schemaPath: '',
32
+ keyword: 'enum',
33
+ params: { allowedValues: validModels },
34
+ message: `model must be one of: ${validModels.join(', ')}`,
35
+ });
36
+ }
37
+ // Validate system prompt (recommended)
38
+ if (!anthropicExt.system ||
39
+ typeof anthropicExt.system !== 'string' ||
40
+ anthropicExt.system.trim().length === 0) {
41
+ warnings.push('Best practice: Define system prompt for Anthropic Claude agents');
42
+ }
43
+ // Validate max_tokens if provided
44
+ if (anthropicExt.max_tokens !== undefined) {
45
+ if (typeof anthropicExt.max_tokens !== 'number' ||
46
+ anthropicExt.max_tokens < 1 ||
47
+ anthropicExt.max_tokens > 4096) {
48
+ errors.push({
49
+ instancePath: '/extensions/anthropic/max_tokens',
50
+ schemaPath: '',
51
+ keyword: 'range',
52
+ params: { minimum: 1, maximum: 4096 },
53
+ message: 'max_tokens must be between 1 and 4096',
54
+ });
55
+ }
56
+ }
57
+ // Validate temperature if provided
58
+ if (anthropicExt.temperature !== undefined) {
59
+ if (typeof anthropicExt.temperature !== 'number' ||
60
+ anthropicExt.temperature < 0 ||
61
+ anthropicExt.temperature > 1) {
62
+ errors.push({
63
+ instancePath: '/extensions/anthropic/temperature',
64
+ schemaPath: '',
65
+ keyword: 'range',
66
+ params: { minimum: 0, maximum: 1 },
67
+ message: 'temperature must be between 0 and 1',
68
+ });
69
+ }
70
+ }
71
+ // Validate tools if provided
72
+ if (anthropicExt.tools && !Array.isArray(anthropicExt.tools)) {
73
+ errors.push({
74
+ instancePath: '/extensions/anthropic/tools',
75
+ schemaPath: '',
76
+ keyword: 'type',
77
+ params: { type: 'array' },
78
+ message: 'tools must be an array',
79
+ });
80
+ }
81
+ // Validate tool_choice if provided
82
+ if (anthropicExt.tool_choice) {
83
+ const validChoices = ['auto', 'any', 'none'];
84
+ if (!validChoices.includes(anthropicExt.tool_choice)) {
85
+ errors.push({
86
+ instancePath: '/extensions/anthropic/tool_choice',
87
+ schemaPath: '',
88
+ keyword: 'enum',
89
+ params: { allowedValues: validChoices },
90
+ message: `tool_choice must be one of: ${validChoices.join(', ')}`,
91
+ });
92
+ }
93
+ }
94
+ return {
95
+ valid: errors.length === 0,
96
+ errors,
97
+ warnings,
98
+ };
99
+ }
100
+ };
101
+ AnthropicValidator = __decorate([
102
+ injectable()
103
+ ], AnthropicValidator);
104
+ export { AnthropicValidator };
105
+ //# sourceMappingURL=anthropic.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.validator.js","sourceRoot":"","sources":["../../../src/services/validators/anthropic.validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * AutoGen Platform Validator
3
+ * Validates AutoGen-specific extension configuration
4
+ */
5
+ import type { ValidationResult } from '../../types/index.js';
6
+ export declare class AutoGenValidator {
7
+ validate(manifest: any): ValidationResult;
8
+ }
9
+ //# sourceMappingURL=autogen.validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autogen.validator.d.ts","sourceRoot":"","sources":["../../../src/services/validators/autogen.validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBACa,gBAAgB;IAC3B,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB;CA+G1C"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * AutoGen Platform Validator
3
+ * Validates AutoGen-specific extension configuration
4
+ */
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ import { injectable } from 'inversify';
12
+ let AutoGenValidator = class AutoGenValidator {
13
+ validate(manifest) {
14
+ const errors = [];
15
+ const warnings = [];
16
+ const autogenExt = manifest.extensions?.autogen;
17
+ if (!autogenExt || autogenExt.enabled === false) {
18
+ return { valid: true, errors: [], warnings: [] };
19
+ }
20
+ // Validate agent_type
21
+ const validTypes = ['assistant', 'user_proxy', 'groupchat', 'custom'];
22
+ if (autogenExt.agent_type && !validTypes.includes(autogenExt.agent_type)) {
23
+ errors.push({
24
+ instancePath: '/extensions/autogen/agent_type',
25
+ schemaPath: '',
26
+ keyword: 'enum',
27
+ params: { allowedValues: validTypes },
28
+ message: `agent_type must be one of: ${validTypes.join(', ')}`,
29
+ });
30
+ }
31
+ // Validate system_message if provided
32
+ if (autogenExt.system_message !== undefined &&
33
+ typeof autogenExt.system_message !== 'string') {
34
+ errors.push({
35
+ instancePath: '/extensions/autogen/system_message',
36
+ schemaPath: '',
37
+ keyword: 'type',
38
+ params: { type: 'string' },
39
+ message: 'system_message must be a string',
40
+ });
41
+ }
42
+ // Validate max_consecutive_auto_reply if provided
43
+ if (autogenExt.max_consecutive_auto_reply !== undefined) {
44
+ if (typeof autogenExt.max_consecutive_auto_reply !== 'number' ||
45
+ autogenExt.max_consecutive_auto_reply < 0) {
46
+ errors.push({
47
+ instancePath: '/extensions/autogen/max_consecutive_auto_reply',
48
+ schemaPath: '',
49
+ keyword: 'minimum',
50
+ params: { limit: 0 },
51
+ message: 'max_consecutive_auto_reply must be at least 0',
52
+ });
53
+ }
54
+ }
55
+ // Validate human_input_mode if provided
56
+ if (autogenExt.human_input_mode) {
57
+ const validModes = ['NEVER', 'TERMINATE', 'ALWAYS'];
58
+ if (!validModes.includes(autogenExt.human_input_mode)) {
59
+ errors.push({
60
+ instancePath: '/extensions/autogen/human_input_mode',
61
+ schemaPath: '',
62
+ keyword: 'enum',
63
+ params: { allowedValues: validModes },
64
+ message: `human_input_mode must be one of: ${validModes.join(', ')}`,
65
+ });
66
+ }
67
+ }
68
+ // Validate code_execution_config if provided
69
+ if (autogenExt.code_execution_config) {
70
+ if (typeof autogenExt.code_execution_config !== 'object') {
71
+ errors.push({
72
+ instancePath: '/extensions/autogen/code_execution_config',
73
+ schemaPath: '',
74
+ keyword: 'type',
75
+ params: { type: 'object' },
76
+ message: 'code_execution_config must be an object',
77
+ });
78
+ }
79
+ else {
80
+ if (autogenExt.code_execution_config.work_dir &&
81
+ typeof autogenExt.code_execution_config.work_dir !== 'string') {
82
+ errors.push({
83
+ instancePath: '/extensions/autogen/code_execution_config/work_dir',
84
+ schemaPath: '',
85
+ keyword: 'type',
86
+ params: { type: 'string' },
87
+ message: 'work_dir must be a string',
88
+ });
89
+ }
90
+ }
91
+ }
92
+ // Warnings
93
+ if (!autogenExt.system_message) {
94
+ warnings.push('Best practice: Define system_message for AutoGen agents');
95
+ }
96
+ if (autogenExt.agent_type === 'assistant' &&
97
+ autogenExt.max_consecutive_auto_reply === undefined) {
98
+ warnings.push('Best practice: Set max_consecutive_auto_reply for AutoGen assistant agents');
99
+ }
100
+ return {
101
+ valid: errors.length === 0,
102
+ errors,
103
+ warnings,
104
+ };
105
+ }
106
+ };
107
+ AutoGenValidator = __decorate([
108
+ injectable()
109
+ ], AutoGenValidator);
110
+ export { AutoGenValidator };
111
+ //# sourceMappingURL=autogen.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autogen.validator.js","sourceRoot":"","sources":["../../../src/services/validators/autogen.validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * CrewAI Platform Validator
3
+ * Validates CrewAI-specific extension configuration
4
+ */
5
+ import type { ValidationResult } from '../../types/index.js';
6
+ export declare class CrewAIValidator {
7
+ validate(manifest: any): ValidationResult;
8
+ }
9
+ //# sourceMappingURL=crewai.validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crewai.validator.d.ts","sourceRoot":"","sources":["../../../src/services/validators/crewai.validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBACa,eAAe;IAC1B,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB;CAyH1C"}