@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,930 @@
1
+ # OSSA OpenAPI/Swagger Specification Extensions
2
+
3
+ ## Overview
4
+
5
+ OSSA (Open Standard for Scalable AI Agents) extends OpenAPI 3.1 specifications with AI agent-specific metadata, capabilities, and configuration. These extensions enable OpenAPI specs to describe not just REST APIs, but the full agent behavior including autonomy levels, LLM configuration, tool usage, and compliance requirements.
6
+
7
+ **Key Benefits:**
8
+ - **Agent Discovery**: OpenAPI specs become agent manifests that describe capabilities
9
+ - **Type Safety**: Full TypeScript types and JSON Schema validation
10
+ - **Tool Integration**: Declare MCP servers and tools directly in API specs
11
+ - **Compliance**: Built-in support for governance, security, and observability
12
+ - **Framework Agnostic**: Works with any agent runtime (LangChain, CrewAI, kAgent, etc.)
13
+
14
+ ## Table of Contents
15
+
16
+ 1. [Root-Level Extensions](#root-level-extensions)
17
+ - [x-ossa-metadata](#x-ossa-metadata)
18
+ - [x-ossa](#x-ossa)
19
+ - [x-agent](#x-agent)
20
+ 2. [Operation-Level Extensions](#operation-level-extensions)
21
+ - [x-ossa-capability](#x-ossa-capability)
22
+ - [x-ossa-autonomy](#x-ossa-autonomy)
23
+ - [x-ossa-constraints](#x-ossa-constraints)
24
+ - [x-ossa-tools](#x-ossa-tools)
25
+ - [x-ossa-llm](#x-ossa-llm)
26
+ 3. [Parameter Extensions](#parameter-extensions)
27
+ - [x-ossa-agent-id](#x-ossa-agent-id)
28
+ - [x-ossa-version](#x-ossa-version)
29
+ 4. [Schema Extensions](#schema-extensions)
30
+ - [x-ossa-capability-schema](#x-ossa-capability-schema)
31
+ 5. [Complete Examples](#complete-examples)
32
+ 6. [Integration with OSSA Manifests](#integration-with-ossa-manifests)
33
+
34
+ ---
35
+
36
+ ## Root-Level Extensions
37
+
38
+ Extensions that can be added at the root level of an OpenAPI 3.1 specification.
39
+
40
+ ### x-ossa-metadata
41
+
42
+ Embeds comprehensive OSSA agent metadata in OpenAPI spec root. Provides governance, compliance, security, and observability metadata.
43
+
44
+ **Location**: Root level of OpenAPI spec
45
+
46
+ **Schema**:
47
+
48
+ ```yaml
49
+ x-ossa-metadata:
50
+ version: string # OSSA specification version (e.g., "0.2.2", "1.0.0")
51
+ compliance:
52
+ level: string # "basic" | "standard" | "advanced" | "enterprise"
53
+ frameworks: string[] # List of compliance frameworks
54
+ governance:
55
+ approved: boolean # Whether specification has been approved
56
+ approvedBy: string # Entity that approved (optional)
57
+ approvalDate: string # Date of approval in YYYY-MM-DD format (optional)
58
+ security:
59
+ classification: string # "public" | "internal" | "confidential" | "restricted"
60
+ authentication: string # "required" | "optional" | "none"
61
+ encryption: string # Encryption requirements (e.g., "tls1.3")
62
+ observability:
63
+ tracing: boolean # Enable distributed tracing
64
+ metrics: boolean # Enable metrics collection
65
+ logging: boolean # Enable structured logging
66
+ ```
67
+
68
+ **OpenAPI Example**:
69
+
70
+ ```yaml
71
+ openapi: 3.1.0
72
+ info:
73
+ title: Kubernetes Troubleshooter Agent API
74
+ version: 1.0.0
75
+
76
+ x-ossa-metadata:
77
+ version: 0.2.2
78
+ compliance:
79
+ level: enterprise
80
+ frameworks:
81
+ - OSSA
82
+ - OpenAPI 3.1
83
+ - RFC7807
84
+ governance:
85
+ approved: true
86
+ approvedBy: Platform Team
87
+ approvalDate: 2024-01-15
88
+ security:
89
+ classification: internal
90
+ authentication: required
91
+ encryption: tls1.3
92
+ observability:
93
+ tracing: true
94
+ metrics: true
95
+ logging: true
96
+
97
+ paths:
98
+ # ... paths ...
99
+ ```
100
+
101
+ **JSON Example**:
102
+
103
+ ```json
104
+ {
105
+ "openapi": "3.1.0",
106
+ "info": {
107
+ "title": "Kubernetes Troubleshooter Agent API",
108
+ "version": "1.0.0"
109
+ },
110
+ "x-ossa-metadata": {
111
+ "version": "0.2.2",
112
+ "compliance": {
113
+ "level": "enterprise",
114
+ "frameworks": ["OSSA", "OpenAPI 3.1", "RFC7807"]
115
+ },
116
+ "governance": {
117
+ "approved": true,
118
+ "approvedBy": "Platform Team",
119
+ "approvalDate": "2024-01-15"
120
+ },
121
+ "security": {
122
+ "classification": "internal",
123
+ "authentication": "required",
124
+ "encryption": "tls1.3"
125
+ },
126
+ "observability": {
127
+ "tracing": true,
128
+ "metrics": true,
129
+ "logging": true
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ### x-ossa
138
+
139
+ Core OSSA compliance information with agent identification and validation metadata.
140
+
141
+ **Location**: Root level or `info` section of OpenAPI spec
142
+
143
+ **Schema**:
144
+
145
+ ```yaml
146
+ x-ossa:
147
+ version: string # OSSA specification version
148
+ agent:
149
+ id: string # Unique agent identifier (DNS-不为subdomain format)
150
+ type: string # Agent type (see enum below)
151
+ compliance:
152
+ standards: string[] # Architectural standards
153
+ validated: boolean # Whether agent has been validated
154
+ validatedAt: string # ISO 8601 timestamp of validation
155
+ ```
156
+
157
+ **Agent Types**:
158
+ - `orchestrator` - Coordinates multiple agents and workflows
159
+ - `worker` - Performs specific tasks and operations
160
+ - `specialist` - Specialized domain expertise
161
+ - `critic` - Reviews and validates agent outputs
162
+ - `judge` - Makes decisions and evaluates outcomes
163
+ - `monitor` - Observes and reports on system state
164
+ - `gateway` - Entry point for agent communication
165
+ - `governor` - Enforces policies and compliance
166
+ - `integrator` - Connects systems and protocols
167
+ - `voice` - Handles audio/speech interactions
168
+
169
+ **OpenAPI Example**:
170
+
171
+ ```yaml
172
+ openapi: 3.1.0
173
+ info:
174
+ title: My Agent API
175
+ version: 1.0.0
176
+
177
+ x-ossa:
178
+ version: 0.2.2
179
+ agent:
180
+ id: k8s-troubleshooter
181
+ type: worker
182
+ compliance:
183
+ standards:
184
+ - openapi-first
185
+ - dry
186
+ - crud
187
+ - solid
188
+ - type-safe
189
+ validated: true
190
+ validatedAt: "2024-01-15T10:30:00Z"
191
+
192
+ paths:
193
+ # ... paths ...
194
+ ```
195
+
196
+ ---
197
+
198
+ ### x-agent
199
+
200
+ Agent-specific capabilities, tools, environment, and rules configuration.
201
+
202
+ **Location**: Root level or `info` section of OpenAPI spec
203
+
204
+ **Schema**:
205
+
206
+ ```yaml
207
+ x-agent:
208
+ capabilities: string[] # List of agent capability names
209
+ tools: string[] # List of tools/MCP servers available
210
+ environment: object # Environment-specific configuration (key-value pairs)
211
+ rules: string[] # List of rules or policies the agent follows
212
+ ```
213
+
214
+ **OpenAPI Example**:
215
+
216
+ ```yaml
217
+ openapi: 3.1.0
218
+ info:
219
+ title: Data Processing Agent API
220
+ version: 1.0.0
221
+
222
+ x-agent:
223
+ capabilities:
224
+ - data-transformation
225
+ - csv-parsing
226
+ - json-validation
227
+ tools:
228
+ - postgres-mcp
229
+ - redis-mcp
230
+ - file-system-mcp
231
+ environment:
232
+ processingTimeout: 300
233
+ maxFileSize: "100MB"
234
+ enableCaching: true
235
+ rules:
236
+ - no-external-api-calls
237
+ - validate-all-inputs
238
+ - encrypt-sensitive-data
239
+
240
+ paths:
241
+ # ... paths ...
242
+ ```
243
+
244
+ ---
245
+
246
+ ## Operation-Level Extensions
247
+
248
+ Extensions that can be added to individual OpenAPI operations (GET, POST, PUT, DELETE, etc.).
249
+
250
+ ### x-ossa-capability
251
+
252
+ Links an OpenAPI operation to an OSSA agent capability. Can be a simple string reference or a detailed capability object.
253
+
254
+ **Location**: Operation object within path item
255
+
256
+ **Schema**:
257
+
258
+ ```yaml
259
+ # Simple string reference
260
+ x-ossa-capability: "capability-name"
261
+
262
+ # Or detailed object
263
+ x-ossa-capability:
264
+ name: string # Capability name
265
+ description: string # Capability description (optional)
266
+ inputSchema: object # JSON Schema for capability input (optional)
267
+ outputSchema: object # JSON Schema for capability output (optional)
268
+ ```
269
+
270
+ **OpenAPI Example**:
271
+
272
+ ```yaml
273
+ paths:
274
+ /api/v1/process-data:
275
+ post:
276
+ summary: Process incoming data
277
+ operationId: processData
278
+ x-ossa-capability:
279
+ name: data-transformation
280
+ description: Transforms CSV data to JSON format
281
+ inputSchema:
282
+ type: object
283
+ required: [csvData]
284
+ properties:
285
+ csvData:
286
+ type: string
287
+ description: CSV content to transform
288
+ outputSchema:
289
+ type: object
290
+ properties:
291
+ jsonData:
292
+ type: array
293
+ items:
294
+ type: object
295
+ requestBody:
296
+ # ... request body ...
297
+ responses:
298
+ # ... responses ...
299
+ ```
300
+
301
+ **Note**: The `inputSchema` and `outputSchema` should match the OpenAPI `requestBody` and `responses` schemas respectively, providing additional capability-level metadata.
302
+
303
+ ---
304
+
305
+ ### x-ossa-autonomy
306
+
307
+ Defines autonomy level and approval requirements for operation execution.
308
+
309
+ **Location**: Operation object within path item
310
+
311
+ **Schema**:
312
+
313
+ ```yaml
314
+ x-ossa-autonomy:
315
+ level: string # "supervised" | "autonomous" | "semi-autonomous"
316
+ approval_required: boolean # Whether human approval is required
317
+ allowed_actions: string[] # List of allowed actions (optional)
318
+ blocked_actions: string[] # List of blocked actions (optional)
319
+ ```
320
+
321
+ **Autonomy Levels**:
322
+
323
+ | Level | Description |
324
+ |-------|-------------|
325
+ | `supervised` | Requires human approval before execution |
326
+ | `semi-autonomous` | Can execute with automatic approval under certain conditions |
327
+ | `autonomous` | Can execute without human intervention |
328
+
329
+ **OpenAPI Example**:
330
+
331
+ ```yaml
332
+ paths:
333
+ /api/v1/delete-resource:
334
+ delete:
335
+ summary: Delete a resource
336
+ operationId: deleteResource
337
+ x-ossa-autonomy:
338
+ level: supervised
339
+ approval_required: true
340
+ allowed_actions:
341
+ - read_resource
342
+ - validate_deletion
343
+ blocked_actions:
344
+ - permanent_delete
345
+ - cascade_delete
346
+ parameters:
347
+ # ... parameters ...
348
+ responses:
349
+ # ... responses ...
350
+ ```
351
+
352
+ ---
353
+
354
+ ### x-ossa-constraints
355
+
356
+ Defines cost, token, performance, and time constraints for operation execution.
357
+
358
+ **Location**: Operation object within path item
359
+
360
+ **Schema**:
361
+
362
+ ```yaml
363
+ x-ossa-constraints:
364
+ cost:
365
+ maxTokensPerDay: integer # Maximum tokens allowed per day
366
+ maxTokensPerRequest: integer # Maximum tokens allowed per request
367
+ maxCostPerDay: number # Maximum cost in USD per day
368
+ currency: string # Currency code (default: "USD")
369
+ performance:
370
+ maxLatencySeconds: number # Maximum acceptable latency in seconds
371
+ maxConcurrentRequests: integer # Maximum concurrent requests
372
+ time:
373
+ maxExecutionTime: integer # Maximum execution time in seconds
374
+ ```
375
+
376
+ **OpenAPI Example**:
377
+
378
+ ```yaml
379
+ paths:
380
+ /api/v1/generate-report:
381
+ post:
382
+ summary: Generate comprehensive report
383
+ operationId: generateReport
384
+ x-ossa-constraints:
385
+ cost:
386
+ maxTokensPerDay: 50000
387
+ maxTokensPerRequest: 4000
388
+ maxCostPerDay: 10.0
389
+ currency: USD
390
+ performance:
391
+ maxLatencySeconds: 30
392
+ maxConcurrentRequests: 5
393
+ time:
394
+ maxExecutionTime: 300
395
+ requestBody:
396
+ # ... request body ...
397
+ responses:
398
+ # ... responses ...
399
+ ```
400
+
401
+ ---
402
+
403
+ ### x-ossa-tools
404
+
405
+ Specifies MCP servers or tools required for operation execution.
406
+
407
+ **Location**: Operation object within path item
408
+
409
+ **Schema**:
410
+
411
+ ```yaml
412
+ x-ossa-tools:
413
+ - type: string # "mcp" | "http" | "custom"
414
+ server: string # Tool server identifier or URL
415
+ namespace: string # Namespace for the tool (optional, for MCP servers)
416
+ capabilities: string[] # List of tool capabilities (optional)
417
+ ```
418
+
419
+ **OpenAPI Example**:
420
+
421
+ ```yaml
422
+ paths:
423
+ /api/v1/diagnose-issue:
424
+ post:
425
+ summary: Diagnose Kubernetes issue
426
+ operationId: diagnoseIssue
427
+ x-ossa-tools:
428
+ - type: mcp
429
+ server: kubernetes-mcp
430
+ namespace: default
431
+ capabilities:
432
+ - get_pods
433
+ - get_logs
434
+ - get_events
435
+ - describe_resource
436
+ - type: mcp
437
+ server: buildkit-agent-protocol
438
+ namespace: default
439
+ capabilities:
440
+ - search_documentation
441
+ - analyze_logs
442
+ requestBody:
443
+ # ... request body ...
444
+ responses:
445
+ # ... responses ...
446
+ ```
447
+
448
+ ---
449
+
450
+ ### x-ossa-llm
451
+
452
+ Overrides LLM configuration for a specific operation. Useful when different operations require different models or settings.
453
+
454
+ **Location**: Operation object within path item
455
+
456
+ **Schema**:
457
+
458
+ ```yaml
459
+ x-ossa-llm:
460
+ provider: string # "openai" | "anthropic" | "google" | "azure" | "custom"
461
+ model: string # Model identifier (e.g., "gpt-4", "claude-3-opus")
462
+ temperature: number # Sampling temperature (0-2, optional)
463
+ maxTokens: integer # Maximum tokens in response (optional)
464
+ ```
465
+
466
+ **OpenAPI Example**:
467
+
468
+ ```yaml
469
+ paths:
470
+ /api/v1/analyze-code:
471
+ post:
472
+ summary: Analyze code for issues
473
+ operationId: analyzeCode
474
+ x-ossa-llm:
475
+ provider: openai
476
+ model: gpt-4
477
+ temperature: 0.2
478
+ maxTokens: 4000
479
+ requestBody:
480
+ # ... request body ...
481
+ responses:
482
+ # ... responses ...
483
+ ```
484
+
485
+ **Note**: If `x-ossa-llm` is not specified at the operation level, the agent should use the default LLM configuration from the OSSA manifest or root-level configuration.
486
+
487
+ ---
488
+
489
+ ## Parameter Extensions
490
+
491
+ Extensions for OpenAPI parameters (headers, query params, path params, cookies).
492
+
493
+ ### x-ossa-agent-id
494
+
495
+ Standard header parameter for agent identification in agent-to-agent communication.
496
+
497
+ **Location**: Parameter definition in `components.parameters` or operation-level `parameters`
498
+
499
+ **OpenAPI Example**:
500
+
501
+ ```yaml
502
+ components:
503
+ parameters:
504
+ X-Ossa-Agent-Id:
505
+ name: X-OSSA-Agent-ID
506
+ in: header
507
+ description: Unique identifier of the agent making the request
508
+ required: false
509
+ schema:
510
+ type: string
511
+ pattern: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
512
+ example: "k8s-troubleshooter"
513
+
514
+ paths:
515
+ /api/v1/capabilities:
516
+ get:
517
+ summary: Get agent capabilities
518
+ parameters:
519
+ - $ref: '#/components/parameters/X-Ossa-Agent-Id'
520
+ mathbb
521
+ ```
522
+
523
+ ---
524
+
525
+ ### x-ossa-version
526
+
527
+ Standard header parameter for OSSA specification version in requests.
528
+
529
+ **Location**: Parameter definition in `components.parameters` or operation-level `parameters`
530
+
531
+ **OpenAPI Example**:
532
+
533
+ ```yaml
534
+ components:
535
+ parameters:
536
+ X-Ossa-Version:
537
+ name: X-OSSA-Version
538
+ in: header
539
+ description: OSSA specification version the agent supports
540
+ required: false
541
+ schema:
542
+ type: string
543
+ pattern: "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
544
+ example: "0.2.2"
545
+
546
+ paths:
547
+ /api/v1/execute:
548
+ post:
549
+ summary: Execute agent capability
550
+ parameters:
551
+ - $ref: '#/components/parameters/X-Ossa-Version'
552
+ ```
553
+
554
+ ---
555
+
556
+ ## Schema Extensions
557
+
558
+ Extensions for OpenAPI schema definitions.
559
+
560
+ ### x-ossa-capability-schema
561
+
562
+ Extends schema definition with capability metadata, linking OpenAPI schemas to OSSA capabilities.
563
+
564
+ **Location**: Schema definition in `components.schemas`
565
+
566
+ **Schema**:
567
+
568
+ ```yaml
569
+ x-ossa-capability-schema:
570
+ capabilityName: string # Name of the capability this schema represents
571
+ input: boolean # Whether this is an input schema (default: false)
572
+ output: boolean # Whether this is an output schema (default: false)
573
+ validation:
574
+ required: boolean # Whether validation is required (optional)
575
+ strict: boolean # Whether to use strict validation (optional)
576
+ ```
577
+
578
+ **OpenAPI Example**:
579
+
580
+ ```yaml
581
+ components:
582
+ schemas:
583
+ DataProcessingInput:
584
+ type: object
585
+ required: [csvData]
586
+ properties:
587
+ csvData:
588
+ type: string
589
+ description: CSV content to process
590
+ x-ossa-capability-schema:
591
+ capabilityName: data-transformation
592
+ input: true
593
+ validation:
594
+ required: true
595
+ strict: true
596
+
597
+ DataProcessingOutput:
598
+ type: object
599
+ properties:
600
+ jsonData:
601
+ type: array
602
+ items:
603
+ type: object
604
+ x-ossa-capability-schema:
605
+ capabilityName: data-transformation
606
+ output: true
607
+ ```
608
+
609
+ ---
610
+
611
+ ## Complete Examples
612
+
613
+ ### Minimal Agent API
614
+
615
+ A minimal example showing basic OSSA extensions:
616
+
617
+ ```yaml
618
+ openapi: 3.1.0
619
+ info:
620
+ title: Hello World Agent
621
+ version: 1.0.0
622
+ description: Minimal OSSA-compliant agent API
623
+
624
+ x-ossa-metadata:
625
+ version: 0.2.2
626
+ compliance:
627
+ level: basic
628
+ frameworks: [OSSA, OpenAPI 3.1]
629
+
630
+ x-ossa:
631
+ version: 0.2.2
632
+ agent:
633
+ id: hello-world-agent
634
+ type: worker
635
+ compliance:
636
+ standards: [openapi-first]
637
+ validated: true
638
+ validatedAt: "2024-01-15T10:00:00Z"
639
+
640
+ paths:
641
+ /greet:
642
+ post:
643
+ summary: Generate greeting
644
+ operationId: greet
645
+ x-ossa-capability: greeting
646
+ x-ossa-autonomy:
647
+ level: autonomous
648
+ approval_required: false
649
+ x-ossa-llm:
650
+ provider: openai
651
+ model: gpt-3.5-turbo
652
+ temperature: 0.7
653
+ requestBody:
654
+ required: true
655
+ content:
656
+ application/json:
657
+ schema:
658
+ type: object
659
+ required: [name]
660
+ properties:
661
+ name:
662
+ type: string
663
+ responses:
664
+ '200':
665
+ description: Greeting generated
666
+ content:
667
+ application/json:
668
+ schema:
669
+ type: object
670
+ properties:
671
+ message:
672
+ type: string
673
+ ```
674
+
675
+ ### Full Worker Agent API
676
+
677
+ A complete example showing all extensions:
678
+
679
+ ```yaml
680
+ openapi: 3.1.0
681
+ info:
682
+ title: Kubernetes Troubleshooter Agent API
683
+ version: 1.0.0
684
+ description: |
685
+ Kubernetes cluster troubleshooting agent with diagnostic capabilities.
686
+ Supports pod inspection, log analysis, and event correlation.
687
+
688
+ x-ossa-metadata:
689
+ version: 0.2.2
690
+ compliance:
691
+ level: enterprise
692
+ frameworks:
693
+ - OSSA
694
+ - OpenAPI 3.1
695
+ - RFC7807
696
+ governance:
697
+ approved: true
698
+ approvedBy: Platform Team
699
+ approvalDate: 2024-01-15
700
+ security:
701
+ classification: internal
702
+ authentication: required
703
+ encryption: tls1.3
704
+ observability:
705
+ tracing: true
706
+ metrics: true
707
+ logging: true
708
+
709
+ x-ossa:
710
+ version: 0.2.2
711
+ agent:
712
+ id: k8s-troubleshooter
713
+ type: worker
714
+ compliance:
715
+ standards:
716
+ - openapi-first
717
+ - dry
718
+ - crud
719
+ - solid
720
+ - type-safe
721
+ validated: true
722
+ validatedAt: "2024-01-15T10:30:00Z"
723
+
724
+ x-agent:
725
+ capabilities:
726
+ - pod-diagnostics
727
+ - log-analysis
728
+ - event-correlation
729
+ tools:
730
+ - kubernetes-mcp
731
+ - buildkit-agent-protocol
732
+ environment:
733
+ defaultNamespace: default
734
+ logRetention: 7d
735
+ rules:
736
+ - read-only-operations
737
+ - require-approval-for-writes
738
+
739
+ components:
740
+ parameters:
741
+ X-Ossa-Agent-Id:
742
+ name: X-OSSA-Agent-ID
743
+ in: header
744
+ description: Agent identifier
745
+ schema:
746
+ type: string
747
+
748
+ paths:
749
+ /api/v1/diagnose/pod:
750
+ post:
751
+ summary: Diagnose pod issues
752
+ operationId: diagnosePod
753
+ tags: [Diagnostics]
754
+ x-ossa-capability:
755
+ name: pod-diagnostics
756
+ description: Diagnose Kubernetes pod failures and issues
757
+ x-ossa-autonomy:
758
+ level: supervised
759
+ approval_required: true
760
+ allowed_actions:
761
+ - read_pods
762
+ - read_logs
763
+ - read_events
764
+ blocked_actions:
765
+ - delete_pods
766
+ - modify_configs
767
+ x-ossa-constraints:
768
+ cost:
769
+ maxTokensPerDay: 50000
770
+ maxTokensPerRequest: 4000
771
+ maxCostPerDay: 10.0
772
+ currency: USD
773
+ performance:
774
+ maxLatencySeconds: 30
775
+ maxConcurrentRequests: 5
776
+ x-ossa-tools:
777
+ - type: mcp
778
+ server: kubernetes-mcp
779
+ namespace: default
780
+ capabilities:
781
+ - get_pods
782
+ - get_logs
783
+ - get_events
784
+ - describe_resource
785
+ x-ossa-llm:
786
+ provider: openai
787
+ model: gpt-4
788
+ temperature: 0.2
789
+ maxTokens: 4000
790
+ parameters:
791
+ - $ref: '#/components/parameters/X-Ossa-Agent-Id'
792
+ requestBody:
793
+ required: true
794
+ content:
795
+ application/json:
796
+ schema:
797
+ type: object
798
+ required: [podName, namespace]
799
+ properties:
800
+ podName:
801
+ type: string
802
+ namespace:
803
+ type: string
804
+ responses:
805
+ '200':
806
+ description: Diagnosis complete
807
+ content:
808
+ application/json:
809
+ schema:
810
+ type: object
811
+ properties:
812
+ status:
813
+ type: string
814
+ issues:
815
+ type: array
816
+ items:
817
+ type: object
818
+ recommendations:
819
+ type: array
820
+ items:
821
+ type: string
822
+ ```
823
+
824
+ ---
825
+
826
+ ## Integration with OSSA Manifests
827
+
828
+ OSSA OpenAPI extensions complement OSSA agent manifests (`.ossa.yaml` files). They serve different but related purposes:
829
+
830
+ ### OSSA Agent Manifest (`.ossa.yaml`)
831
+ - **Purpose**: Declarative agent definition with full configuration
832
+ - **Contains**: Role, LLM config, tools, autonomy, constraints, extensions
833
+ - **Used For**: Agent deployment, runtime configuration, framework integration
834
+
835
+ ### OpenAPI Specification with OSSA Extensions
836
+ - **Purpose**: API interface definition with agent metadata
837
+ - **Contains**: HTTP endpoints, request/response schemas, agent capabilities
838
+ - **Used For**: API documentation, client generation, runtime API validation
839
+
840
+ ### Bidirectional Mapping
841
+
842
+ An agent can have both:
843
+
844
+ 1. **OSSA Manifest** (`agent.ossa.yaml`) - Defines the agent's behavior
845
+ 2. **OpenAPI Spec** (`agent.openapi.yaml`) - Defines the agent's HTTP interface
846
+
847
+ The OpenAPI spec should reference capabilities and tools defined in the manifest:
848
+
849
+ ```yaml
850
+ # agent.ossa.yaml
851
+ apiVersion: ossa/v0.2.2
852
+ kind: Agent
853
+ metadata:
854
+ name: k8s-troubleshooter
855
+ spec:
856
+ capabilities:
857
+ - pod-diagnostics
858
+ tools:
859
+ - type: mcp
860
+ server: kubernetes-mcp
861
+
862
+ ---
863
+
864
+ # agent.openapi.yaml
865
+ openapi: 3.1.0
866
+ x-ossa:
867
+ agent:
868
+ id: k8s-troubleshooter # References manifest metadata.name
869
+ paths:
870
+ /api/v1/diagnose/pod:
871
+ post:
872
+ x-ossa-capability: pod-diagnostics # References manifest capability
873
+ x-ossa-tools:
874
+ - type: mcp
875
+ server: kubernetes-mcp # References manifest tool
876
+ ```
877
+
878
+ ### Best Practices
879
+
880
+ 1. **Keep in Sync**: Ensure OpenAPI extensions reference capabilities/tools from the manifest
881
+ 2. **Single Source of Truth**: Use manifest for agent behavior, OpenAPI for API contract
882
+ 3. **Version Together**: When updating agent capabilities, update both files
883
+ 4. **Validate Both**: Use `ossa validate` for manifest and OpenAPI validation for spec
884
+
885
+ ---
886
+
887
+ ## Tools & Validation
888
+
889
+ ### CLI Validation
890
+
891
+ The OSSA CLI can validate OpenAPI specs with OSSA extensions:
892
+
893
+ ```bash
894
+ # Validate OpenAPI spec with OSSA extensions
895
+ ossa validate --openapi agent.openapi.yaml
896
+
897
+ # Validate both manifest and OpenAPI spec
898
+ ossa validate agent.ossa.yaml agent.openapi.yaml
899
+ ```
900
+
901
+ ### IDE Support
902
+
903
+ - **VS Code**: Install OpenAPI extension + OSSA extension (when available)
904
+ - **IntelliJ**: OpenAPI plugin recognizes custom extensions
905
+ - **Online Editors**: Swagger Editor and Stoplight Studio support custom extensions
906
+
907
+ ### OpenAPI Tool Compatibility
908
+
909
+ Most OpenAPI tools ignore unknown extensions (per OpenAPI spec), so OSSA extensions won't break existing tooling. However, OSSA-aware tools can:
910
+
911
+ - Generate agent clients with capability awareness
912
+ - Validate autonomy and constraint requirements
913
+ - Document tool requirements and MCP server dependencies
914
+ - Generate compliance reports from metadata
915
+
916
+ ---
917
+
918
+ ## References
919
+
920
+ - [OSSA Specification v0.2.2](../spec/v0.2.2/OSSA-SPECIFICATION-v0.2.2.md)
921
+ - [OSSA JSON Schema](../spec/v0.2.2/ossa-0.2.2.schema.json)
922
+ - [OpenAPI 3.1 Specification](https://spec.openapis.org/oas/v3.1.0)
923
+ - [OpenAPI Extensions Schema](../schemas/openapi-extensions.schema.json)
924
+ - [OSSA Examples](../../examples/)
925
+ - [GitLab Wiki](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard/-/wikis/home)
926
+
927
+ ---
928
+
929
+ **OSSA OpenAPI Extensions: Making AI agents discoverable, interoperable, and enterprise-ready.**
930
+