@bluefly/openstandardagents 0.2.4 → 0.2.5-RC

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 (355) hide show
  1. package/.cursorrules +84 -0
  2. package/.devfile.yaml +87 -0
  3. package/.env.example +25 -3
  4. package/.github/workflows/release.yml +1 -1
  5. package/.kiro/specs/agent-buildkit-templates/design.md +495 -0
  6. package/.kiro/specs/agent-buildkit-templates/requirements.md +165 -0
  7. package/.kiro/specs/kiro-ide-supercharger/README.md +202 -0
  8. package/.kiro/specs/kiro-ide-supercharger/design.md +1005 -0
  9. package/.kiro/specs/kiro-ide-supercharger/requirements.md +141 -0
  10. package/.kiro/specs/kiro-ide-supercharger/tasks.md +507 -0
  11. package/.kiro/specs/website-design-audit/design.md +679 -0
  12. package/.kiro/specs/website-design-audit/requirements.md +199 -0
  13. package/.releaserc.json +5 -4
  14. package/.version.json +6 -0
  15. package/CHANGELOG.md +140 -96
  16. package/CONTRIBUTING.md +23 -5
  17. package/README.md +121 -43
  18. package/bin/ossa +24 -3
  19. package/bin/ossa-validate-all +55 -0
  20. package/bin/ossa-version +23 -0
  21. package/bin/validate-ossa-0.2.4.ts +244 -0
  22. package/bin/validate-ossa-0.2.5-RC.ts +244 -0
  23. package/bin/validate-ossa.ts +273 -0
  24. package/dist/di-container.d.ts +1 -1
  25. package/dist/di-container.d.ts.map +1 -1
  26. package/dist/di-container.js.map +1 -1
  27. package/dist/repositories/schema.repository.d.ts +17 -2
  28. package/dist/repositories/schema.repository.d.ts.map +1 -1
  29. package/dist/repositories/schema.repository.js +96 -18
  30. package/dist/repositories/schema.repository.js.map +1 -1
  31. package/dist/services/generation.service.d.ts +7 -5
  32. package/dist/services/generation.service.d.ts.map +1 -1
  33. package/dist/services/generation.service.js +92 -44
  34. package/dist/services/generation.service.js.map +1 -1
  35. package/dist/services/gitlab-agent.service.d.ts +94 -0
  36. package/dist/services/gitlab-agent.service.d.ts.map +1 -0
  37. package/dist/services/gitlab-agent.service.js +162 -0
  38. package/dist/services/gitlab-agent.service.js.map +1 -0
  39. package/dist/services/migration.service.d.ts +3 -3
  40. package/dist/services/migration.service.d.ts.map +1 -1
  41. package/dist/services/migration.service.js +108 -61
  42. package/dist/services/migration.service.js.map +1 -1
  43. package/dist/services/release-automation/base-crud.service.d.ts +93 -0
  44. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
  45. package/dist/services/release-automation/base-crud.service.js +68 -0
  46. package/dist/services/release-automation/base-crud.service.js.map +1 -0
  47. package/dist/services/release-automation/index.d.ts +12 -0
  48. package/dist/services/release-automation/index.d.ts.map +1 -0
  49. package/dist/services/release-automation/index.js +12 -0
  50. package/dist/services/release-automation/index.js.map +1 -0
  51. package/dist/services/release-automation/merge-request.service.d.ts +119 -0
  52. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
  53. package/dist/services/release-automation/merge-request.service.js +212 -0
  54. package/dist/services/release-automation/merge-request.service.js.map +1 -0
  55. package/dist/services/release-automation/milestone.service.d.ts +104 -0
  56. package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
  57. package/dist/services/release-automation/milestone.service.js +207 -0
  58. package/dist/services/release-automation/milestone.service.js.map +1 -0
  59. package/dist/services/release-automation/release.service.d.ts +118 -0
  60. package/dist/services/release-automation/release.service.d.ts.map +1 -0
  61. package/dist/services/release-automation/release.service.js +207 -0
  62. package/dist/services/release-automation/release.service.js.map +1 -0
  63. package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
  64. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
  65. package/dist/services/release-automation/schemas/release.schema.js +269 -0
  66. package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
  67. package/dist/services/release-automation/tag.service.d.ts +99 -0
  68. package/dist/services/release-automation/tag.service.d.ts.map +1 -0
  69. package/dist/services/release-automation/tag.service.js +180 -0
  70. package/dist/services/release-automation/tag.service.js.map +1 -0
  71. package/dist/services/release-automation/webhook.service.d.ts +37 -0
  72. package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
  73. package/dist/services/release-automation/webhook.service.js +173 -0
  74. package/dist/services/release-automation/webhook.service.js.map +1 -0
  75. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  76. package/dist/services/runtime/openai.adapter.js.map +1 -1
  77. package/dist/services/validation.service.d.ts.map +1 -1
  78. package/dist/services/validation.service.js +24 -11
  79. package/dist/services/validation.service.js.map +1 -1
  80. package/dist/services/validators/anthropic.validator.d.ts +2 -2
  81. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  82. package/dist/services/validators/anthropic.validator.js +14 -9
  83. package/dist/services/validators/anthropic.validator.js.map +1 -1
  84. package/dist/services/validators/autogen.validator.d.ts +2 -2
  85. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  86. package/dist/services/validators/autogen.validator.js +18 -15
  87. package/dist/services/validators/autogen.validator.js.map +1 -1
  88. package/dist/services/validators/crewai.validator.d.ts +2 -2
  89. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  90. package/dist/services/validators/crewai.validator.js +18 -17
  91. package/dist/services/validators/crewai.validator.js.map +1 -1
  92. package/dist/services/validators/cursor.validator.d.ts +2 -2
  93. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  94. package/dist/services/validators/cursor.validator.js +15 -11
  95. package/dist/services/validators/cursor.validator.js.map +1 -1
  96. package/dist/services/validators/langchain.validator.d.ts +2 -2
  97. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  98. package/dist/services/validators/langchain.validator.js +14 -11
  99. package/dist/services/validators/langchain.validator.js.map +1 -1
  100. package/dist/services/validators/langflow.validator.d.ts +2 -2
  101. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  102. package/dist/services/validators/langflow.validator.js +14 -9
  103. package/dist/services/validators/langflow.validator.js.map +1 -1
  104. package/dist/services/validators/langgraph.validator.d.ts +2 -2
  105. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  106. package/dist/services/validators/langgraph.validator.js +23 -18
  107. package/dist/services/validators/langgraph.validator.js.map +1 -1
  108. package/dist/services/validators/llamaindex.validator.d.ts +2 -2
  109. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  110. package/dist/services/validators/llamaindex.validator.js +19 -16
  111. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  112. package/dist/services/validators/openai.validator.d.ts +2 -2
  113. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  114. package/dist/services/validators/openai.validator.js +20 -16
  115. package/dist/services/validators/openai.validator.js.map +1 -1
  116. package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
  117. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  118. package/dist/services/validators/vercel-ai.validator.js +16 -15
  119. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  120. package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  121. package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  122. package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
  123. package/dist/spec/v0.2.3/README.md +9 -9
  124. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  125. package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
  126. package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  127. package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
  128. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
  129. package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
  130. package/dist/spec/v0.2.5/README.md +72 -0
  131. package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  132. package/dist/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
  133. package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  134. package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  135. package/dist/spec/v0.2.5-RC/README.md +72 -0
  136. package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  137. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  138. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  139. package/dist/types/index.d.ts +6 -1
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/docs/issue-19-completion-summary.md +648 -0
  142. package/docs/issue-19-validation.md +351 -0
  143. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  144. package/examples/autogen/multi-agent.ossa.json +1 -1
  145. package/examples/bridges/Dockerfile.production +1 -1
  146. package/examples/crewai/research-team.ossa.json +1 -1
  147. package/examples/cursor/code-review-agent.ossa.json +1 -1
  148. package/examples/enterprise/agent.yml +1 -1
  149. package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
  150. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  151. package/examples/langchain/chain-agent.ossa.json +1 -1
  152. package/examples/langflow/workflow-agent.ossa.json +1 -1
  153. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  154. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  155. package/examples/openai/basic-agent.ossa.yaml +61 -0
  156. package/examples/openai/multi-tool-agent.ossa.json +165 -0
  157. package/examples/openai/swarm-agent.ossa.json +1 -1
  158. package/examples/openapi-extensions/README.md +1 -1
  159. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  160. package/examples/vercel/edge-agent.ossa.json +1 -1
  161. package/infrastructure/gitlab-agent/rbac.yaml +126 -0
  162. package/infrastructure/gitlab-agent/values.yaml +150 -0
  163. package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
  164. package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
  165. package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
  166. package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
  167. package/infrastructure/k8s/monitoring/README.md +73 -0
  168. package/infrastructure/k8s/monitoring/deploy.sh +38 -0
  169. package/openapi/CHANGELOG.md +21 -0
  170. package/openapi/README.md +46 -0
  171. package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
  172. package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
  173. package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
  174. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
  175. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
  176. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
  177. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
  178. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
  179. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
  180. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
  181. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
  182. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
  183. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
  184. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
  185. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
  186. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
  187. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
  188. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
  189. package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
  190. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
  191. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
  192. package/package.json +31 -21
  193. package/release.config.js +20 -5
  194. package/scripts/bump-version.ts +57 -0
  195. package/scripts/enhanced-version-manager.ts +257 -0
  196. package/scripts/gen-types.ts +51 -0
  197. package/scripts/gen-zod.ts +51 -0
  198. package/scripts/lib/exec.ts +37 -0
  199. package/scripts/lib/file-ops.ts +58 -0
  200. package/scripts/lib/version.ts +83 -0
  201. package/scripts/process-doc-templates.ts +37 -0
  202. package/scripts/schemas/package.schema.ts +75 -0
  203. package/scripts/setup-branch-protection.sh +33 -0
  204. package/scripts/sync-version.ts +39 -0
  205. package/scripts/sync-versions.ts +488 -0
  206. package/scripts/validate-schema.ts +49 -0
  207. package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  208. package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  209. package/spec/v0.2.3/CHANGELOG.md +7 -7
  210. package/spec/v0.2.3/README.md +9 -9
  211. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  212. package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
  213. package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
  214. package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
  215. package/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
  216. package/spec/v0.2.5/CHANGELOG.md +401 -0
  217. package/spec/v0.2.5/README.md +72 -0
  218. package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  219. package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
  220. package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  221. package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  222. package/spec/v0.2.5-RC/README.md +72 -0
  223. package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
  224. package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  225. package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  226. package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
  227. package/website/Dockerfile +18 -5
  228. package/website/app/about/page.tsx +7 -7
  229. package/website/app/blog/[slug]/page.tsx +61 -20
  230. package/website/app/blog/page.tsx +120 -33
  231. package/website/app/design-guide/page.tsx +511 -0
  232. package/website/app/docs/[[...slug]]/page.tsx +641 -143
  233. package/website/app/examples/page.tsx +51 -41
  234. package/website/app/{globals.css → globals.scss} +50 -23
  235. package/website/app/layout.tsx +2 -2
  236. package/website/app/license/page.tsx +183 -0
  237. package/website/app/not-found.tsx +18 -0
  238. package/website/app/page.tsx +144 -79
  239. package/website/app/playground/page.tsx +25 -45
  240. package/website/app/schema/page.tsx +423 -392
  241. package/website/app/specification/page.tsx +245 -169
  242. package/website/components/Logo.tsx +75 -2
  243. package/website/components/docs/DocsSidebar.tsx +40 -3
  244. package/website/components/docs/MarkdownContent.tsx +265 -47
  245. package/website/components/docs/VersionSelector.tsx +64 -8
  246. package/website/components/examples/ExamplesViewer.tsx +2 -2
  247. package/website/components/layout/Footer.tsx +6 -1
  248. package/website/components/layout/Header.tsx +31 -33
  249. package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
  250. package/website/components/schema/SchemaExplorer.tsx +4 -4
  251. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
  252. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
  253. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
  254. package/website/content/blog/introducing-ossa-framework.md +1 -1
  255. package/website/content/blog/ossa-production-results.md +5 -5
  256. package/website/content/blog/welcome-to-ossa.md +2 -2
  257. package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
  258. package/website/content/docs/00-HOME.md +18 -25
  259. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +8 -8
  260. package/website/content/docs/OpenAPI-Extensions.md +576 -140
  261. package/website/content/docs/adapters/openai-adapter.md +693 -0
  262. package/website/content/docs/architecture/execution-flow.md +3 -3
  263. package/website/content/docs/architecture/multi-agent-systems.md +4 -4
  264. package/website/content/docs/architecture/overview.md +4 -4
  265. package/website/content/docs/architecture/stack-integration.md +4 -4
  266. package/website/content/docs/changelog.md +4 -4
  267. package/website/content/docs/contributing.md +2 -2
  268. package/website/content/docs/ecosystem/framework-support.md +0 -2
  269. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  270. package/website/content/docs/examples/Migration-Guides.md +2 -2
  271. package/website/content/docs/for-audiences/{architects.md → Architects.md} +1 -1
  272. package/website/content/docs/for-audiences/{developers.md → Developers.md} +3 -3
  273. package/website/content/docs/for-audiences/Enterprises.md +2 -2
  274. package/website/content/docs/for-audiences/Students-Researchers.md +1 -1
  275. package/website/content/docs/getting-started/{5-minute-overview.md → 5-Minute-Overview.md} +2 -2
  276. package/website/content/docs/getting-started/{first-agent.md → First-Agent.md} +1 -1
  277. package/website/content/docs/getting-started/Hello-World.md +3 -3
  278. package/website/content/docs/getting-started/{installation.md → Installation.md} +7 -7
  279. package/website/content/docs/getting-started/index.md +92 -0
  280. package/website/content/docs/getting-started/running-agents.md +215 -13
  281. package/{docs → website/content/docs}/getting-started.md +10 -6
  282. package/website/content/docs/integrations/aiflow.md +2 -2
  283. package/website/content/docs/integrations/drupal.md +2 -2
  284. package/website/content/docs/migration-guides/README.md +1 -1
  285. package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
  286. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
  287. package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
  288. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
  289. package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
  290. package/website/content/docs/migration-guides/index.md +1 -1
  291. package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
  292. package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
  293. package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
  294. package/website/content/docs/openapi-extensions/examples.md +9 -9
  295. package/website/content/docs/openapi-extensions/index.md +59 -3
  296. package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
  297. package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
  298. package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
  299. package/website/content/docs/pre-release/index.md +10 -10
  300. package/website/content/docs/readme.md +35 -0
  301. package/website/content/docs/schema-reference/agent-spec.md +2 -2
  302. package/website/content/docs/schema-reference/autonomy.md +5 -5
  303. package/website/content/docs/schema-reference/constraints.md +5 -5
  304. package/website/content/docs/schema-reference/llm-config.md +1 -1
  305. package/website/content/docs/schema-reference/observability.md +5 -5
  306. package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
  307. package/website/content/docs/schema-reference/taxonomy.md +3 -3
  308. package/website/content/docs/use-cases/00-index.md +1 -1
  309. package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
  310. package/website/lib/version.ts +18 -1
  311. package/website/lib/versions.json +78 -0
  312. package/website/next.config.ts +3 -1
  313. package/website/package-lock.json +552 -18
  314. package/website/package.json +11 -5
  315. package/website/postcss.config.mjs +1 -1
  316. package/website/scripts/fetch-versions.js +166 -0
  317. package/website/scripts/generate-examples-index.js +163 -0
  318. package/website/scripts/merge-docs-to-wiki.ts +207 -0
  319. package/website/scripts/sync-version.js +28 -0
  320. package/website/scripts/sync-wiki.ts +64 -3
  321. package/website/scripts/upload-wiki.ts +199 -0
  322. package/website/styles/_variables.scss +36 -0
  323. package/website/tailwind.config.ts +93 -22
  324. package/.releaserc.json.disabled +0 -81
  325. package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  326. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  327. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  328. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  329. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  330. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  331. package/docs/README.md +0 -31
  332. package/docs/agent-openapi-spec.yml +0 -942
  333. package/docs/openapi-extensions.md +0 -930
  334. package/docs/schemas/openapi-extensions.schema.json +0 -486
  335. package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
  336. package/ossa-website-swarm-tasks.json +0 -105
  337. package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  338. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  339. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  340. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  341. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  342. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  343. package/website/app/api/validate/route.ts +0 -88
  344. package/website/next.config.js +0 -17
  345. package/website/postcss.config.js +0 -7
  346. package/website/tailwind.config.js +0 -58
  347. /package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
  348. /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
  349. /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
  350. /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
  351. /package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
  352. /package/website/content/docs/{examples.md → Examples.md} +0 -0
  353. /package/website/content/docs/core-concepts/{project-structure.md → Project-Structure.md} +0 -0
  354. /package/website/content/docs/migration-guides/{00-index.md → 00-INDEX.md} +0 -0
  355. /package/{docs/migration → website/content/docs/migration-guides}/migration-manifest.json +0 -0
@@ -4,13 +4,9 @@ title: "OpenAPI Extensions"
4
4
 
5
5
  # OSSA OpenAPI/Swagger Specification Extensions
6
6
 
7
- > **Note**: This content is ready to copy-paste into GitLab Wiki pages.
8
- > Main page: `OpenAPI Extensions`
9
- > URL: `/docs/openapi-extensions` (relative to wiki)
10
-
11
7
  ## Overview
12
8
 
13
- OSSA (Open Standard for Scalable 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.
9
+ 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.
14
10
 
15
11
  **Key Benefits:**
16
12
  - **Agent Discovery**: OpenAPI specs become agent manifests that describe capabilities
@@ -22,9 +18,20 @@ OSSA (Open Standard for Scalable Agents) extends OpenAPI 3.1 specifications with
22
18
  ## Table of Contents
23
19
 
24
20
  1. [Root-Level Extensions](#root-level-extensions)
21
+ - [x-ossa-metadata](#x-ossa-metadata)
22
+ - [x-ossa](#x-ossa)
23
+ - [x-agent](#x-agent)
25
24
  2. [Operation-Level Extensions](#operation-level-extensions)
25
+ - [x-ossa-capability](#x-ossa-capability)
26
+ - [x-ossa-autonomy](#x-ossa-autonomy)
27
+ - [x-ossa-constraints](#x-ossa-constraints)
28
+ - [x-ossa-tools](#x-ossa-tools)
29
+ - [x-ossa-llm](#x-ossa-llm)
26
30
  3. [Parameter Extensions](#parameter-extensions)
31
+ - [x-ossa-agent-id](#x-ossa-agent-id)
32
+ - [x-ossa-version](#x-ossa-version)
27
33
  4. [Schema Extensions](#schema-extensions)
34
+ - [x-ossa-capability-schema](#x-ossa-capability-schema)
28
35
  5. [Complete Examples](#complete-examples)
29
36
  6. [Integration with OSSA Manifests](#integration-with-ossa-manifests)
30
37
 
@@ -40,7 +47,29 @@ Embeds comprehensive OSSA agent metadata in OpenAPI spec root. Provides governan
40
47
 
41
48
  **Location**: Root level of OpenAPI spec
42
49
 
43
- **Example**:
50
+ **Schema**:
51
+
52
+ ```yaml
53
+ x-ossa-metadata:
54
+ version: string # OSSA specification version (e.g., "0.2.x", "1.0.0")
55
+ compliance:
56
+ level: string # "basic" | "standard" | "advanced" | "enterprise"
57
+ frameworks: string[] # List of compliance frameworks
58
+ governance:
59
+ approved: boolean # Whether specification has been approved
60
+ approvedBy: string # Entity that approved (optional)
61
+ approvalDate: string # Date of approval in YYYY-MM-DD format (optional)
62
+ security:
63
+ classification: string # "public" | "internal" | "confidential" | "restricted"
64
+ authentication: string # "required" | "optional" | "none"
65
+ encryption: string # Encryption requirements (e.g., "tls1.3")
66
+ observability:
67
+ tracing: boolean # Enable distributed tracing
68
+ metrics: boolean # Enable metrics collection
69
+ logging: boolean # Enable structured logging
70
+ ```
71
+
72
+ **OpenAPI Example**:
44
73
 
45
74
  ```yaml
46
75
  openapi: 3.1.0
@@ -49,7 +78,7 @@ info:
49
78
  version: 1.0.0
50
79
 
51
80
  x-ossa-metadata:
52
- version: 0.2.2
81
+ version: 0.2.x
53
82
  compliance:
54
83
  level: enterprise
55
84
  frameworks:
@@ -68,9 +97,46 @@ x-ossa-metadata:
68
97
  tracing: true
69
98
  metrics: true
70
99
  logging: true
100
+
101
+ paths:
102
+ # ... paths ...
103
+ ```
104
+
105
+ **JSON Example**:
106
+
107
+ ```json
108
+ {
109
+ "openapi": "3.1.0",
110
+ "info": {
111
+ "title": "Kubernetes Troubleshooter Agent API",
112
+ "version": "1.0.0"
113
+ },
114
+ "x-ossa-metadata": {
115
+ "version": "0.2.2",
116
+ "compliance": {
117
+ "level": "enterprise",
118
+ "frameworks": ["OSSA", "OpenAPI 3.1", "RFC7807"]
119
+ },
120
+ "governance": {
121
+ "approved": true,
122
+ "approvedBy": "Platform Team",
123
+ "approvalDate": "2024-01-15"
124
+ },
125
+ "security": {
126
+ "classification": "internal",
127
+ "authentication": "required",
128
+ "encryption": "tls1.3"
129
+ },
130
+ "observability": {
131
+ "tracing": true,
132
+ "metrics": true,
133
+ "logging": true
134
+ }
135
+ }
136
+ }
71
137
  ```
72
138
 
73
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-metadata)
139
+ ---
74
140
 
75
141
  ### x-ossa
76
142
 
@@ -78,11 +144,42 @@ Core OSSA compliance information with agent identification and validation metada
78
144
 
79
145
  **Location**: Root level or `info` section of OpenAPI spec
80
146
 
81
- **Example**:
147
+ **Schema**:
148
+
149
+ ```yaml
150
+ x-ossa:
151
+ version: string # OSSA specification version
152
+ agent:
153
+ id: string # Unique agent identifier (DNS-不为subdomain format)
154
+ type: string # Agent type (see enum below)
155
+ compliance:
156
+ standards: string[] # Architectural standards
157
+ validated: boolean # Whether agent has been validated
158
+ validatedAt: string # ISO 8601 timestamp of validation
159
+ ```
160
+
161
+ **Agent Types**:
162
+ - `orchestrator` - Coordinates multiple agents and workflows
163
+ - `worker` - Performs specific tasks and operations
164
+ - `specialist` - Specialized domain expertise
165
+ - `critic` - Reviews and validates agent outputs
166
+ - `judge` - Makes decisions and evaluates outcomes
167
+ - `monitor` - Observes and reports on system state
168
+ - `gateway` - Entry point for agent communication
169
+ - `governor` - Enforces policies and compliance
170
+ - `integrator` - Connects systems and protocols
171
+ - `voice` - Handles audio/speech interactions
172
+
173
+ **OpenAPI Example**:
82
174
 
83
175
  ```yaml
176
+ openapi: 3.1.0
177
+ info:
178
+ title: My Agent API
179
+ version: 1.0.0
180
+
84
181
  x-ossa:
85
- version: 0.2.2
182
+ version: 0.2.x
86
183
  agent:
87
184
  id: k8s-troubleshooter
88
185
  type: worker
@@ -95,9 +192,12 @@ x-ossa:
95
192
  - type-safe
96
193
  validated: true
97
194
  validatedAt: "2024-01-15T10:30:00Z"
195
+
196
+ paths:
197
+ # ... paths ...
98
198
  ```
99
199
 
100
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa)
200
+ ---
101
201
 
102
202
  ### x-agent
103
203
 
@@ -105,9 +205,24 @@ Agent-specific capabilities, tools, environment, and rules configuration.
105
205
 
106
206
  **Location**: Root level or `info` section of OpenAPI spec
107
207
 
108
- **Example**:
208
+ **Schema**:
109
209
 
110
210
  ```yaml
211
+ x-agent:
212
+ capabilities: string[] # List of agent capability names
213
+ tools: string[] # List of tools/MCP servers available
214
+ environment: object # Environment-specific configuration (key-value pairs)
215
+ rules: string[] # List of rules or policies the agent follows
216
+ ```
217
+
218
+ **OpenAPI Example**:
219
+
220
+ ```yaml
221
+ openapi: 3.1.0
222
+ info:
223
+ title: Data Processing Agent API
224
+ version: 1.0.0
225
+
111
226
  x-agent:
112
227
  capabilities:
113
228
  - data-transformation
@@ -116,15 +231,19 @@ x-agent:
116
231
  tools:
117
232
  - postgres-mcp
118
233
  - redis-mcp
234
+ - file-system-mcp
119
235
  environment:
120
236
  processingTimeout: 300
121
237
  maxFileSize: "100MB"
238
+ enableCaching: true
122
239
  rules:
123
240
  - no-external-api-calls
124
241
  - validate-all-inputs
125
- ```
242
+ - encrypt-sensitive-data
126
243
 
127
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-agent)
244
+ paths:
245
+ # ... paths ...
246
+ ```
128
247
 
129
248
  ---
130
249
 
@@ -134,11 +253,25 @@ Extensions that can be added to individual OpenAPI operations (GET, POST, PUT, D
134
253
 
135
254
  ### x-ossa-capability
136
255
 
137
- Links an OpenAPI operation to an OSSA agent capability.
256
+ Links an OpenAPI operation to an OSSA agent capability. Can be a simple string reference or a detailed capability object.
138
257
 
139
258
  **Location**: Operation object within path item
140
259
 
141
- **Example**:
260
+ **Schema**:
261
+
262
+ ```yaml
263
+ # Simple string reference
264
+ x-ossa-capability: "capability-name"
265
+
266
+ # Or detailed object
267
+ x-ossa-capability:
268
+ name: string # Capability name
269
+ description: string # Capability description (optional)
270
+ inputSchema: object # JSON Schema for capability input (optional)
271
+ outputSchema: object # JSON Schema for capability output (optional)
272
+ ```
273
+
274
+ **OpenAPI Example**:
142
275
 
143
276
  ```yaml
144
277
  paths:
@@ -149,13 +282,29 @@ paths:
149
282
  x-ossa-capability:
150
283
  name: data-transformation
151
284
  description: Transforms CSV data to JSON format
285
+ inputSchema:
286
+ type: object
287
+ required: [csvData]
288
+ properties:
289
+ csvData:
290
+ type: string
291
+ description: CSV content to transform
292
+ outputSchema:
293
+ type: object
294
+ properties:
295
+ jsonData:
296
+ type: array
297
+ items:
298
+ type: object
152
299
  requestBody:
153
300
  # ... request body ...
154
301
  responses:
155
302
  # ... responses ...
156
303
  ```
157
304
 
158
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-capability)
305
+ **Note**: The `inputSchema` and `outputSchema` should match the OpenAPI `requestBody` and `responses` schemas respectively, providing additional capability-level metadata.
306
+
307
+ ---
159
308
 
160
309
  ### x-ossa-autonomy
161
310
 
@@ -163,12 +312,25 @@ Defines autonomy level and approval requirements for operation execution.
163
312
 
164
313
  **Location**: Operation object within path item
165
314
 
315
+ **Schema**:
316
+
317
+ ```yaml
318
+ x-ossa-autonomy:
319
+ level: string # "supervised" | "autonomous" | "semi-autonomous"
320
+ approval_required: boolean # Whether human approval is required
321
+ allowed_actions: string[] # List of allowed actions (optional)
322
+ blocked_actions: string[] # List of blocked actions (optional)
323
+ ```
324
+
166
325
  **Autonomy Levels**:
167
- - `supervised` - Requires human approval before execution
168
- - `semi-autonomous` - Can execute with automatic approval under certain conditions
169
- - `autonomous` - Can execute without human intervention
170
326
 
171
- **Example**:
327
+ | Level | Description |
328
+ |-------|-------------|
329
+ | `supervised` | Requires human approval before execution |
330
+ | `semi-autonomous` | Can execute with automatic approval under certain conditions |
331
+ | `autonomous` | Can execute without human intervention |
332
+
333
+ **OpenAPI Example**:
172
334
 
173
335
  ```yaml
174
336
  paths:
@@ -184,9 +346,14 @@ paths:
184
346
  - validate_deletion
185
347
  blocked_actions:
186
348
  - permanent_delete
349
+ - cascade_delete
350
+ parameters:
351
+ # ... parameters ...
352
+ responses:
353
+ # ... responses ...
187
354
  ```
188
355
 
189
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-autonomy)
356
+ ---
190
357
 
191
358
  ### x-ossa-constraints
192
359
 
@@ -194,7 +361,23 @@ Defines cost, token, performance, and time constraints for operation execution.
194
361
 
195
362
  **Location**: Operation object within path item
196
363
 
197
- **Example**:
364
+ **Schema**:
365
+
366
+ ```yaml
367
+ x-ossa-constraints:
368
+ cost:
369
+ maxTokensPerDay: integer # Maximum tokens allowed per day
370
+ maxTokensPerRequest: integer # Maximum tokens allowed per request
371
+ maxCostPerDay: number # Maximum cost in USD per day
372
+ currency: string # Currency code (default: "USD")
373
+ performance:
374
+ maxLatencySeconds: number # Maximum acceptable latency in seconds
375
+ maxConcurrentRequests: integer # Maximum concurrent requests
376
+ time:
377
+ maxExecutionTime: integer # Maximum execution time in seconds
378
+ ```
379
+
380
+ **OpenAPI Example**:
198
381
 
199
382
  ```yaml
200
383
  paths:
@@ -213,9 +396,13 @@ paths:
213
396
  maxConcurrentRequests: 5
214
397
  time:
215
398
  maxExecutionTime: 300
399
+ requestBody:
400
+ # ... request body ...
401
+ responses:
402
+ # ... responses ...
216
403
  ```
217
404
 
218
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-constraints)
405
+ ---
219
406
 
220
407
  ### x-ossa-tools
221
408
 
@@ -223,7 +410,17 @@ Specifies MCP servers or tools required for operation execution.
223
410
 
224
411
  **Location**: Operation object within path item
225
412
 
226
- **Example**:
413
+ **Schema**:
414
+
415
+ ```yaml
416
+ x-ossa-tools:
417
+ - type: string # "mcp" | "http" | "custom"
418
+ server: string # Tool server identifier or URL
419
+ namespace: string # Namespace for the tool (optional, for MCP servers)
420
+ capabilities: string[] # List of tool capabilities (optional)
421
+ ```
422
+
423
+ **OpenAPI Example**:
227
424
 
228
425
  ```yaml
229
426
  paths:
@@ -239,17 +436,38 @@ paths:
239
436
  - get_pods
240
437
  - get_logs
241
438
  - get_events
439
+ - describe_resource
440
+ - type: mcp
441
+ server: buildkit-agent-protocol
442
+ namespace: default
443
+ capabilities:
444
+ - search_documentation
445
+ - analyze_logs
446
+ requestBody:
447
+ # ... request body ...
448
+ responses:
449
+ # ... responses ...
242
450
  ```
243
451
 
244
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-tools)
452
+ ---
245
453
 
246
454
  ### x-ossa-llm
247
455
 
248
- Overrides LLM configuration for a specific operation.
456
+ Overrides LLM configuration for a specific operation. Useful when different operations require different models or settings.
249
457
 
250
458
  **Location**: Operation object within path item
251
459
 
252
- **Example**:
460
+ **Schema**:
461
+
462
+ ```yaml
463
+ x-ossa-llm:
464
+ provider: string # "openai" | "anthropic" | "google" | "azure" | "custom"
465
+ model: string # Model identifier (e.g., "gpt-4", "claude-3-opus")
466
+ temperature: number # Sampling temperature (0-2, optional)
467
+ maxTokens: integer # Maximum tokens in response (optional)
468
+ ```
469
+
470
+ **OpenAPI Example**:
253
471
 
254
472
  ```yaml
255
473
  paths:
@@ -262,9 +480,13 @@ paths:
262
480
  model: gpt-4
263
481
  temperature: 0.2
264
482
  maxTokens: 4000
483
+ requestBody:
484
+ # ... request body ...
485
+ responses:
486
+ # ... responses ...
265
487
  ```
266
488
 
267
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-llm)
489
+ **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.
268
490
 
269
491
  ---
270
492
 
@@ -276,7 +498,9 @@ Extensions for OpenAPI parameters (headers, query params, path params, cookies).
276
498
 
277
499
  Standard header parameter for agent identification in agent-to-agent communication.
278
500
 
279
- **Example**:
501
+ **Location**: Parameter definition in `components.parameters` or operation-level `parameters`
502
+
503
+ **OpenAPI Example**:
280
504
 
281
505
  ```yaml
282
506
  components:
@@ -289,15 +513,26 @@ components:
289
513
  schema:
290
514
  type: string
291
515
  pattern: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
516
+ example: "k8s-troubleshooter"
517
+
518
+ paths:
519
+ /api/v1/capabilities:
520
+ get:
521
+ summary: Get agent capabilities
522
+ parameters:
523
+ - $ref: '#/components/parameters/X-Ossa-Agent-Id'
524
+ mathbb
292
525
  ```
293
526
 
294
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-agent-id)
527
+ ---
295
528
 
296
529
  ### x-ossa-version
297
530
 
298
531
  Standard header parameter for OSSA specification version in requests.
299
532
 
300
- **Example**:
533
+ **Location**: Parameter definition in `components.parameters` or operation-level `parameters`
534
+
535
+ **OpenAPI Example**:
301
536
 
302
537
  ```yaml
303
538
  components:
@@ -310,9 +545,15 @@ components:
310
545
  schema:
311
546
  type: string
312
547
  pattern: "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
313
- ```
548
+ example: "0.2.2"
314
549
 
315
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-version)
550
+ paths:
551
+ /api/v1/execute:
552
+ post:
553
+ summary: Execute agent capability
554
+ parameters:
555
+ - $ref: '#/components/parameters/X-Ossa-Version'
556
+ ```
316
557
 
317
558
  ---
318
559
 
@@ -326,7 +567,19 @@ Extends schema definition with capability metadata, linking OpenAPI schemas to O
326
567
 
327
568
  **Location**: Schema definition in `components.schemas`
328
569
 
329
- **Example**:
570
+ **Schema**:
571
+
572
+ ```yaml
573
+ x-ossa-capability-schema:
574
+ capabilityName: string # Name of the capability this schema represents
575
+ input: boolean # Whether this is an input schema (default: false)
576
+ output: boolean # Whether this is an output schema (default: false)
577
+ validation:
578
+ required: boolean # Whether validation is required (optional)
579
+ strict: boolean # Whether to use strict validation (optional)
580
+ ```
581
+
582
+ **OpenAPI Example**:
330
583
 
331
584
  ```yaml
332
585
  components:
@@ -337,15 +590,25 @@ components:
337
590
  properties:
338
591
  csvData:
339
592
  type: string
593
+ description: CSV content to process
340
594
  x-ossa-capability-schema:
341
595
  capabilityName: data-transformation
342
596
  input: true
343
597
  validation:
344
598
  required: true
345
599
  strict: true
346
- ```
347
600
 
348
- **See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-capability-schema)
601
+ DataProcessingOutput:
602
+ type: object
603
+ properties:
604
+ jsonData:
605
+ type: array
606
+ items:
607
+ type: object
608
+ x-ossa-capability-schema:
609
+ capabilityName: data-transformation
610
+ output: true
611
+ ```
349
612
 
350
613
  ---
351
614
 
@@ -353,15 +616,214 @@ components:
353
616
 
354
617
  ### Minimal Agent API
355
618
 
356
- See: [`examples/openapi-extensions/minimal-agent-api.openapi.yml`](https://github.com/blueflyio/openstandardagents/blob/main/examples/openapi-extensions/minimal-agent-api.openapi.yml)
619
+ A minimal example showing basic OSSA extensions:
620
+
621
+ ```yaml
622
+ openapi: 3.1.0
623
+ info:
624
+ title: Hello World Agent
625
+ version: 1.0.0
626
+ description: Minimal OSSA-compliant agent API
627
+
628
+ x-ossa-metadata:
629
+ version: 0.2.x
630
+ compliance:
631
+ level: basic
632
+ frameworks: [OSSA, OpenAPI 3.1]
633
+
634
+ x-ossa:
635
+ version: 0.2.x
636
+ agent:
637
+ id: hello-world-agent
638
+ type: worker
639
+ compliance:
640
+ standards: [openapi-first]
641
+ validated: true
642
+ validatedAt: "2024-01-15T10:00:00Z"
643
+
644
+ paths:
645
+ /greet:
646
+ post:
647
+ summary: Generate greeting
648
+ operationId: greet
649
+ x-ossa-capability: greeting
650
+ x-ossa-autonomy:
651
+ level: autonomous
652
+ approval_required: false
653
+ x-ossa-llm:
654
+ provider: openai
655
+ model: gpt-3.5-turbo
656
+ temperature: 0.7
657
+ requestBody:
658
+ required: true
659
+ content:
660
+ application/json:
661
+ schema:
662
+ type: object
663
+ required: [name]
664
+ properties:
665
+ name:
666
+ type: string
667
+ responses:
668
+ '200':
669
+ description: Greeting generated
670
+ content:
671
+ application/json:
672
+ schema:
673
+ type: object
674
+ properties:
675
+ message:
676
+ type: string
677
+ ```
678
+
679
+ ### Full Worker Agent API
357
680
 
358
- ### Worker Agent API
681
+ A complete example showing all extensions:
359
682
 
360
- See: [`examples/openapi-extensions/worker-agent-api.openapi.yml`](https://github.com/blueflyio/openstandardagents/blob/main/examples/openapi-extensions/worker-agent-api.openapi.yml)
683
+ ```yaml
684
+ openapi: 3.1.0
685
+ info:
686
+ title: Kubernetes Troubleshooter Agent API
687
+ version: 1.0.0
688
+ description: |
689
+ Kubernetes cluster troubleshooting agent with diagnostic capabilities.
690
+ Supports pod inspection, log analysis, and event correlation.
361
691
 
362
- ### Orchestrator Agent API
692
+ x-ossa-metadata:
693
+ version: 0.2.x
694
+ compliance:
695
+ level: enterprise
696
+ frameworks:
697
+ - OSSA
698
+ - OpenAPI 3.1
699
+ - RFC7807
700
+ governance:
701
+ approved: true
702
+ approvedBy: Platform Team
703
+ approvalDate: 2024-01-15
704
+ security:
705
+ classification: internal
706
+ authentication: required
707
+ encryption: tls1.3
708
+ observability:
709
+ tracing: true
710
+ metrics: true
711
+ logging: true
363
712
 
364
- See: [`examples/openapi-extensions/orchestrator-agent-api.openapi.yml`](https://github.com/blueflyio/openstandardagents/blob/main/examples/openapi-extensions/orchestrator-agent-api.openapi.yml)
713
+ x-ossa:
714
+ version: 0.2.x
715
+ agent:
716
+ id: k8s-troubleshooter
717
+ type: worker
718
+ compliance:
719
+ standards:
720
+ - openapi-first
721
+ - dry
722
+ - crud
723
+ - solid
724
+ - type-safe
725
+ validated: true
726
+ validatedAt: "2024-01-15T10:30:00Z"
727
+
728
+ x-agent:
729
+ capabilities:
730
+ - pod-diagnostics
731
+ - log-analysis
732
+ - event-correlation
733
+ tools:
734
+ - kubernetes-mcp
735
+ - buildkit-agent-protocol
736
+ environment:
737
+ defaultNamespace: default
738
+ logRetention: 7d
739
+ rules:
740
+ - read-only-operations
741
+ - require-approval-for-writes
742
+
743
+ components:
744
+ parameters:
745
+ X-Ossa-Agent-Id:
746
+ name: X-OSSA-Agent-ID
747
+ in: header
748
+ description: Agent identifier
749
+ schema:
750
+ type: string
751
+
752
+ paths:
753
+ /api/v1/diagnose/pod:
754
+ post:
755
+ summary: Diagnose pod issues
756
+ operationId: diagnosePod
757
+ tags: [Diagnostics]
758
+ x-ossa-capability:
759
+ name: pod-diagnostics
760
+ description: Diagnose Kubernetes pod failures and issues
761
+ x-ossa-autonomy:
762
+ level: supervised
763
+ approval_required: true
764
+ allowed_actions:
765
+ - read_pods
766
+ - read_logs
767
+ - read_events
768
+ blocked_actions:
769
+ - delete_pods
770
+ - modify_configs
771
+ x-ossa-constraints:
772
+ cost:
773
+ maxTokensPerDay: 50000
774
+ maxTokensPerRequest: 4000
775
+ maxCostPerDay: 10.0
776
+ currency: USD
777
+ performance:
778
+ maxLatencySeconds: 30
779
+ maxConcurrentRequests: 5
780
+ x-ossa-tools:
781
+ - type: mcp
782
+ server: kubernetes-mcp
783
+ namespace: default
784
+ capabilities:
785
+ - get_pods
786
+ - get_logs
787
+ - get_events
788
+ - describe_resource
789
+ x-ossa-llm:
790
+ provider: openai
791
+ model: gpt-4
792
+ temperature: 0.2
793
+ maxTokens: 4000
794
+ parameters:
795
+ - $ref: '#/components/parameters/X-Ossa-Agent-Id'
796
+ requestBody:
797
+ required: true
798
+ content:
799
+ application/json:
800
+ schema:
801
+ type: object
802
+ required: [podName, namespace]
803
+ properties:
804
+ podName:
805
+ type: string
806
+ namespace:
807
+ type: string
808
+ responses:
809
+ '200':
810
+ description: Diagnosis complete
811
+ content:
812
+ application/json:
813
+ schema:
814
+ type: object
815
+ properties:
816
+ status:
817
+ type: string
818
+ issues:
819
+ type: array
820
+ items:
821
+ type: object
822
+ recommendations:
823
+ type: array
824
+ items:
825
+ type: string
826
+ ```
365
827
 
366
828
  ---
367
829
 
@@ -369,130 +831,104 @@ See: [`examples/openapi-extensions/orchestrator-agent-api.openapi.yml`](https://
369
831
 
370
832
  OSSA OpenAPI extensions complement OSSA agent manifests (`.ossa.yaml` files). They serve different but related purposes:
371
833
 
372
- - **OSSA Agent Manifest** (`.ossa.yaml`) - Declarative agent definition with full configuration
373
- - **OpenAPI Specification with OSSA Extensions** - API interface definition with agent metadata
834
+ ### OSSA Agent Manifest (`.ossa.yaml`)
835
+ - **Purpose**: Declarative agent definition with full configuration
836
+ - **Contains**: Role, LLM config, tools, autonomy, constraints, extensions
837
+ - **Used For**: Agent deployment, runtime configuration, framework integration
374
838
 
375
- See [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#integration-with-ossa-manifests) for details.
839
+ ### OpenAPI Specification with OSSA Extensions
840
+ - **Purpose**: API interface definition with agent metadata
841
+ - **Contains**: HTTP endpoints, request/response schemas, agent capabilities
842
+ - **Used For**: API documentation, client generation, runtime API validation
376
843
 
377
- ---
844
+ ### Bidirectional Mapping
378
845
 
379
- ## Quick Reference
380
-
381
- | Extension | Location | Purpose |
382
- |-----------|----------|---------|
383
- | `x-ossa-metadata` | Root | Comprehensive agent metadata |
384
- | `x-ossa` | Root | Core OSSA compliance info |
385
- | `x-agent` | Root | Agent capabilities & config |
386
- | `x-ossa-capability` | Operation | Link operation to capability |
387
- | `x-ossa-autonomy` | Operation | Define autonomy level |
388
- | `x-ossa-constraints` | Operation | Cost & performance limits |
389
- | `x-ossa-tools` | Operation | Required MCP servers/tools |
390
- | `x-ossa-llm` | Operation | Override LLM config |
391
- | `x-ossa-agent-id` | Parameter | Agent identification header |
392
- | `x-ossa-version` | Parameter | OSSA version header |
393
- | `x-ossa-capability-schema` | Schema | Capability schema metadata |
846
+ An agent can have both:
394
847
 
395
- ---
848
+ 1. **OSSA Manifest** (`agent.ossa.yaml`) - Defines the agent's behavior
849
+ 2. **OpenAPI Spec** (`agent.openapi.yaml`) - Defines the agent's HTTP interface
396
850
 
397
- ## Resources
851
+ The OpenAPI spec should reference capabilities and tools defined in the manifest:
398
852
 
399
- - **Full Documentation**: [docs/openapi-extensions.md](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md)
400
- - **JSON Schema**: [docs/schemas/openapi-extensions.schema.json](https://github.com/blueflyio/openstandardagents/blob/main/docs/schemas/openapi-extensions.schema.json)
401
- - **Examples**: [examples/openapi-extensions/](https://github.com/blueflyio/openstandardagents/tree/main/examples/openapi-extensions)
402
- - **OSSA Specification**: [spec/v0.2.2/OSSA-SPECIFICATION-v0.2.2.md](https://github.com/blueflyio/openstandardagents/blob/main/spec/v0.2.2/OSSA-SPECIFICATION-v0.2.2.md)
403
- - **npm Package**: [@bluefly/openstandardagents](https://www.npmjs.com/package/@bluefly/openstandardagents)
853
+ ```yaml
854
+ # agent.ossa.yaml
855
+ apiVersion: ossa/v0.2.x
856
+ kind: Agent
857
+ metadata:
858
+ name: k8s-troubleshooter
859
+ spec:
860
+ capabilities:
861
+ - pod-diagnostics
862
+ tools:
863
+ - type: mcp
864
+ server: kubernetes-mcp
404
865
 
405
866
  ---
406
867
 
407
- *For complete documentation with all examples and details, see the [main documentation file](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md).*
408
-
868
+ # agent.openapi.yaml
869
+ openapi: 3.1.0
870
+ x-ossa:
871
+ agent:
872
+ id: k8s-troubleshooter # References manifest metadata.name
873
+ paths:
874
+ /api/v1/diagnose/pod:
875
+ post:
876
+ x-ossa-capability: pod-diagnostics # References manifest capability
877
+ x-ossa-tools:
878
+ - type: mcp
879
+ server: kubernetes-mcp # References manifest tool
880
+ ```
409
881
 
410
- ---
882
+ ### Best Practices
411
883
 
412
- ## Governance & Autonomy Guidance
884
+ 1. **Keep in Sync**: Ensure OpenAPI extensions reference capabilities/tools from the manifest
885
+ 2. **Single Source of Truth**: Use manifest for agent behavior, OpenAPI for API contract
886
+ 3. **Version Together**: When updating agent capabilities, update both files
887
+ 4. **Validate Both**: Use `ossa validate` for manifest and OpenAPI validation for spec
413
888
 
414
- ### Autonomy Levels
889
+ ---
415
890
 
416
- - **supervised**: Human must approve before execution
417
- - **semi-autonomous**: Human approves plan, agent executes bounded actions
418
- - **autonomous**: No pre-approval; audit + guardrails required
891
+ ## Tools & Validation
419
892
 
420
- ### Recommended Policies
893
+ ### CLI Validation
421
894
 
422
- - Always define `x-ossa-autonomy.level` and `approval_required` per operation
423
- - Denylist high-risk actions in `blocked_actions`
424
- - Constrain costs/latency via `x-ossa-constraints`
425
- - Require `x-ossa-agent-id` and `x-ossa-version` headers for traceability
895
+ The OSSA CLI can validate OpenAPI specs with OSSA extensions:
426
896
 
427
- ### Example Policy Snippets
897
+ ```bash
898
+ # Validate OpenAPI spec with OSSA extensions
899
+ ossa validate --openapi agent.openapi.yaml
428
900
 
429
- ```yaml
430
- x-ossa-autonomy:
431
- level: supervised
432
- approval_required: true
433
- allowed_actions: [read_only]
434
- blocked_actions: [write_resource, exec_shell]
901
+ # Validate both manifest and OpenAPI spec
902
+ ossa validate agent.ossa.yaml agent.openapi.yaml
435
903
  ```
436
904
 
437
- ```yaml
438
- x-ossa-constraints:
439
- cost:
440
- maxTokensPerRequest: 2000
441
- maxCostPerDay: 5
442
- currency: USD
443
- performance:
444
- maxLatencySeconds: 30
445
- maxConcurrentRequests: 3
446
- ```
905
+ ### IDE Support
447
906
 
448
- ### Audit/Observability
907
+ - **VS Code**: Install OpenAPI extension + OSSA extension (when available)
908
+ - **IntelliJ**: OpenAPI plugin recognizes custom extensions
909
+ - **Online Editors**: Swagger Editor and Stoplight Studio support custom extensions
449
910
 
450
- Enable in root `x-ossa-metadata.observability` and propagate request IDs across calls.
911
+ ### OpenAPI Tool Compatibility
451
912
 
452
- ---
913
+ Most OpenAPI tools ignore unknown extensions (per OpenAPI spec), so OSSA extensions won't break existing tooling. However, OSSA-aware tools can:
453
914
 
454
- ## Advanced Examples
915
+ - Generate agent clients with capability awareness
916
+ - Validate autonomy and constraint requirements
917
+ - Document tool requirements and MCP server dependencies
918
+ - Generate compliance reports from metadata
455
919
 
456
- ### Idempotent Write Guard
920
+ ---
457
921
 
458
- ```yaml
459
- paths:
460
- /api/v1/config/update:
461
- post:
462
- x-ossa-capability:
463
- name: config-update
464
- description: Safe config updates with dry-run
465
- input: true
466
- output: true
467
- x-ossa-autonomy:
468
- level: semi-autonomous
469
- approval_required: true
470
- blocked_actions: [restart_cluster]
471
- x-ossa-constraints:
472
- performance:
473
- maxLatencySeconds: 60
474
- parameters:
475
- - name: X-Request-Id
476
- in: header
477
- required: true
478
- schema:
479
- type: string
480
- ```
922
+ ## References
481
923
 
482
- ### Dual-LLM Strategy Per Operation
924
+ - [OSSA Specification v0.2.x](Specification/v0.2.x/OSSA-SPECIFICATION-v0.2.x.md)
925
+ - [OSSA JSON Schema](Specification/v0.2.x/ossa-0.2.x.schema.json)
926
+ - [OpenAPI 3.1 Specification](https://spec.openapis.org/oas/v3.1.0)
927
+ - [OpenAPI Extensions Schema](../schemas/openapi-extensions.schema.json)
928
+ - [OSSA Examples](../../examples/)
929
+ - [GitHub Repository](https://github.com/blueflyio/openstandardagents)
483
930
 
484
- ```yaml
485
- x-ossa-llm:
486
- provider: openai
487
- model: gpt-4o
488
- temperature: 0.2
489
- ```
931
+ ---
490
932
 
491
- ```yaml
492
- x-ossa-llm:
493
- provider: anthropic
494
- model: claude-3-5-sonnet
495
- temperature: 0.1
496
- ```
933
+ **OSSA OpenAPI Extensions: Making AI agents discoverable, interoperable, and enterprise-ready.**
497
934
 
498
- Use staging flags to A/B test safety/performance.