@bluefly/openstandardagents 0.2.7 → 0.2.9

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 (327) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/AGENTS.md +245 -0
  4. package/.github/agents/github-issue-triage.ossa.yaml +99 -0
  5. package/.github/agents/github-pr-triage.ossa.yaml +137 -0
  6. package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
  7. package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
  8. package/.version.json +2 -2
  9. package/.wiki-config.json +24 -0
  10. package/CHANGELOG.md +44 -18
  11. package/CODEOWNERS +75 -0
  12. package/CONTRIBUTING.md +103 -4
  13. package/README.md +178 -243
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/repositories/schema.repository.d.ts +6 -1
  19. package/dist/repositories/schema.repository.d.ts.map +1 -1
  20. package/dist/repositories/schema.repository.js +49 -27
  21. package/dist/repositories/schema.repository.js.map +1 -1
  22. package/dist/services/migration.service.d.ts +4 -3
  23. package/dist/services/migration.service.d.ts.map +1 -1
  24. package/dist/services/migration.service.js +11 -10
  25. package/dist/services/migration.service.js.map +1 -1
  26. package/dist/services/release-automation/release.service.js +1 -1
  27. package/dist/services/release-automation/release.service.js.map +1 -1
  28. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  29. package/dist/services/release-automation/webhook.service.js +3 -3
  30. package/dist/services/release-automation/webhook.service.js.map +1 -1
  31. package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
  32. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  33. package/dist/services/runtime/claude/claude-adapter.js +2 -2
  34. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  35. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  36. package/dist/spec/v0.2.8/README.md +72 -0
  37. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  38. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  39. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  40. package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  41. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  42. package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
  43. package/dist/spec/v0.2.9/agent.md +1946 -0
  44. package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
  45. package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
  46. package/dist/spec/v0.2.9/capability-schema.md +576 -0
  47. package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
  48. package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
  49. package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  50. package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  51. package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
  52. package/dist/spec/v0.2.9/security-model.md +1245 -0
  53. package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
  54. package/dist/spec/v0.2.9/types.ts +522 -0
  55. package/dist/types/index.d.ts +3 -2
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/policy.d.ts +377 -0
  58. package/dist/types/policy.d.ts.map +1 -0
  59. package/dist/types/policy.js +84 -0
  60. package/dist/types/policy.js.map +1 -0
  61. package/dist/utils/index.d.ts +6 -0
  62. package/dist/utils/index.d.ts.map +1 -0
  63. package/dist/utils/index.js +6 -0
  64. package/dist/utils/index.js.map +1 -0
  65. package/dist/utils/version.d.ts +68 -0
  66. package/dist/utils/version.d.ts.map +1 -0
  67. package/dist/utils/version.js +156 -0
  68. package/dist/utils/version.js.map +1 -0
  69. package/docs/specs/policy-dsl.md +925 -0
  70. package/eslint-report.json +1 -0
  71. package/examples/adk-integration/code-review-workflow.yml +1 -1
  72. package/examples/adk-integration/customer-support.yml +1 -1
  73. package/examples/adk-integration/data-pipeline.yml +1 -1
  74. package/examples/advanced/reasoning-agent.yaml +136 -0
  75. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  76. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  77. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  78. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  79. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  80. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  81. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  82. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  83. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  84. package/examples/agents-md/code-agent.ossa.json +100 -0
  85. package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
  86. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  87. package/examples/autogen/multi-agent.ossa.json +1 -1
  88. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  89. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  90. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  91. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  92. package/examples/crewai/research-team.ossa.json +1 -1
  93. package/examples/cursor/code-review-agent.ossa.json +1 -1
  94. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  95. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  96. package/examples/extensions/agents-md-v1.yml +175 -0
  97. package/examples/extensions/drupal-v1.yml +1 -1
  98. package/examples/extensions/kagent-v1.yml +1 -1
  99. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  100. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  101. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  102. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  103. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  104. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  105. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  106. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  107. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  108. package/examples/langchain/chain-agent.ossa.json +1 -1
  109. package/examples/langflow/workflow-agent.ossa.json +1 -1
  110. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  111. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  112. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  113. package/examples/multi-agent/README.md +74 -0
  114. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  115. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  116. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  117. package/examples/openai/basic-agent.ossa.yaml +1 -1
  118. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  119. package/examples/openai/swarm-agent.ossa.json +1 -1
  120. package/examples/production/document-analyzer-openai.yml +1 -1
  121. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  122. package/examples/spec-examples/audit-agent.yml +1 -1
  123. package/examples/spec-examples/chat-agent.yml +1 -1
  124. package/examples/spec-examples/compliance-agent.yml +1 -1
  125. package/examples/spec-examples/monitoring-agent.yml +1 -1
  126. package/examples/spec-examples/workflow-agent.yml +1 -1
  127. package/examples/templates/ossa-compliance.yaml +1 -1
  128. package/examples/vercel/edge-agent.ossa.json +1 -1
  129. package/gl-code-quality-report.json +62 -0
  130. package/llms-ctx-full.txt +39 -0
  131. package/llms-ctx.txt +39 -0
  132. package/llms.txt +47 -0
  133. package/package.json +6 -3
  134. package/scripts/README.md +25 -0
  135. package/scripts/compliance-audit.ts +796 -0
  136. package/scripts/eslint-to-codequality.cjs +34 -0
  137. package/scripts/generate-agents-catalog.ts +2 -1
  138. package/scripts/generate-api-docs.ts +2 -1
  139. package/scripts/generate-examples-docs.ts +2 -1
  140. package/scripts/generate-llms-ctx.sh +17 -0
  141. package/scripts/generate-schema-docs.ts +31 -10
  142. package/scripts/sync-version.js +4 -12
  143. package/scripts/validate-schema.ts +2 -1
  144. package/spec/v0.2.8/CHANGELOG.md +401 -0
  145. package/spec/v0.2.8/README.md +72 -0
  146. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  147. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  148. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  149. package/spec/{v0.2.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  150. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  151. package/spec/v0.2.9/a2a-protocol.md +1337 -0
  152. package/spec/v0.2.9/agent.md +1946 -0
  153. package/spec/v0.2.9/capabilities/index.yaml +25 -0
  154. package/spec/v0.2.9/capabilities/memory.yaml +251 -0
  155. package/spec/v0.2.9/capability-schema.md +576 -0
  156. package/spec/v0.2.9/compliance-profiles.md +533 -0
  157. package/spec/v0.2.9/conformance-testing.md +1527 -0
  158. package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  159. package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  160. package/spec/v0.2.9/runtime-semantics.md +464 -0
  161. package/spec/v0.2.9/security-model.md +1245 -0
  162. package/spec/v0.2.9/semantic-conventions.md +347 -0
  163. package/spec/v0.2.9/types.ts +522 -0
  164. package/test-results/junit.xml +337 -0
  165. package/.github/workflows/pr-comment.yml +0 -33
  166. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  167. package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
  168. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  169. package/scripts/lib/exec.ts +0 -37
  170. package/scripts/lib/file-ops.ts +0 -58
  171. package/scripts/lib/version.ts +0 -83
  172. package/website/.lighthouserc.ts +0 -24
  173. package/website/.prettierrc +0 -10
  174. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
  175. package/website/Dockerfile +0 -30
  176. package/website/app/about/page.tsx +0 -304
  177. package/website/app/blog/[slug]/page.tsx +0 -208
  178. package/website/app/blog/page.tsx +0 -249
  179. package/website/app/design-guide/page.tsx +0 -511
  180. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  181. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  182. package/website/app/ecosystem/page.tsx +0 -410
  183. package/website/app/examples/page.tsx +0 -133
  184. package/website/app/globals.scss +0 -370
  185. package/website/app/layout.tsx +0 -106
  186. package/website/app/license/page.tsx +0 -183
  187. package/website/app/not-found.tsx +0 -18
  188. package/website/app/page.tsx +0 -686
  189. package/website/app/page.tsx.bak +0 -679
  190. package/website/app/page.tsx.bak2 +0 -649
  191. package/website/app/playground/page.tsx +0 -487
  192. package/website/app/robots.ts +0 -19
  193. package/website/app/rss.xml/route.ts +0 -74
  194. package/website/app/schema/page.tsx +0 -1001
  195. package/website/app/sitemap.ts +0 -56
  196. package/website/app/specification/page.tsx +0 -287
  197. package/website/components/InstallCommand.tsx +0 -96
  198. package/website/components/Logo.tsx +0 -97
  199. package/website/components/StructuredData.tsx +0 -65
  200. package/website/components/docs/DocsSearch.tsx +0 -104
  201. package/website/components/docs/DocsSidebar.tsx +0 -155
  202. package/website/components/docs/MarkdownContent.tsx +0 -401
  203. package/website/components/docs/VersionSelector.tsx +0 -105
  204. package/website/components/examples/ExamplesViewer.tsx +0 -293
  205. package/website/components/layout/Footer.tsx +0 -116
  206. package/website/components/layout/Header.tsx +0 -172
  207. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  208. package/website/components/schema/SchemaExplorer.tsx +0 -213
  209. package/website/components/ui/Badge.tsx +0 -82
  210. package/website/components/ui/Button.tsx +0 -116
  211. package/website/components/ui/Card.tsx +0 -167
  212. package/website/components/ui/Checkbox.tsx +0 -141
  213. package/website/components/ui/Input.tsx +0 -169
  214. package/website/components/ui/Radio.tsx +0 -141
  215. package/website/components/ui/Select.tsx +0 -182
  216. package/website/components/ui/Tag.tsx +0 -158
  217. package/website/components/ui/Textarea.tsx +0 -195
  218. package/website/components/ui/index.ts +0 -11
  219. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  220. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  221. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  222. package/website/content/blog/introducing-ossa-framework.md +0 -328
  223. package/website/content/blog/ossa-production-results.md +0 -279
  224. package/website/content/blog/welcome-to-ossa.md +0 -43
  225. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  226. package/website/content/docs/00-home.md +0 -153
  227. package/website/content/docs/adapters/openai-adapter.md +0 -693
  228. package/website/content/docs/agents/catalog.md +0 -28
  229. package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
  230. package/website/content/docs/api-reference/index.md +0 -38
  231. package/website/content/docs/api-reference/ossa-core-api.md +0 -634
  232. package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
  233. package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
  234. package/website/content/docs/architecture/execution-flow.md +0 -335
  235. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  236. package/website/content/docs/architecture/overview.md +0 -121
  237. package/website/content/docs/architecture/stack-integration.md +0 -461
  238. package/website/content/docs/changelog.md +0 -246
  239. package/website/content/docs/cli-reference/index.md +0 -111
  240. package/website/content/docs/cli-reference/ossa-agents.md +0 -70
  241. package/website/content/docs/cli-reference/ossa-export.md +0 -56
  242. package/website/content/docs/cli-reference/ossa-generate.md +0 -66
  243. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
  244. package/website/content/docs/cli-reference/ossa-import.md +0 -56
  245. package/website/content/docs/cli-reference/ossa-init.md +0 -57
  246. package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
  247. package/website/content/docs/cli-reference/ossa-run.md +0 -66
  248. package/website/content/docs/cli-reference/ossa-schema.md +0 -57
  249. package/website/content/docs/cli-reference/ossa-setup.md +0 -57
  250. package/website/content/docs/cli-reference/ossa-validate.md +0 -66
  251. package/website/content/docs/configuration/index.md +0 -97
  252. package/website/content/docs/contributing.md +0 -599
  253. package/website/content/docs/deployment/github-mirroring.md +0 -924
  254. package/website/content/docs/documentation.md +0 -100
  255. package/website/content/docs/ecosystem/framework-support.md +0 -1361
  256. package/website/content/docs/ecosystem/overview.md +0 -366
  257. package/website/content/docs/errors/index.md +0 -10
  258. package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
  259. package/website/content/docs/examples/catalog.md +0 -300
  260. package/website/content/docs/for-audiences/students-researchers.md +0 -122
  261. package/website/content/docs/getting-started/index.md +0 -92
  262. package/website/content/docs/getting-started/installation.md +0 -155
  263. package/website/content/docs/getting-started/running-agents.md +0 -309
  264. package/website/content/docs/getting-started.md +0 -91
  265. package/website/content/docs/integrations/aiflow.md +0 -104
  266. package/website/content/docs/integrations/drupal.md +0 -105
  267. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  268. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  269. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  270. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  271. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  272. package/website/content/docs/migration-guides/index.md +0 -133
  273. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  274. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  275. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  276. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  277. package/website/content/docs/openapi-extensions/examples.md +0 -550
  278. package/website/content/docs/openapi-extensions/index.md +0 -551
  279. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  280. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  281. package/website/content/docs/ossa-compliant-badge.md +0 -251
  282. package/website/content/docs/pre-release/index.md +0 -175
  283. package/website/content/docs/quick-reference.md +0 -17
  284. package/website/content/docs/readme.md +0 -35
  285. package/website/content/docs/releases/v0.2.6.md +0 -99
  286. package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
  287. package/website/content/docs/schema-reference/agent-id.md +0 -52
  288. package/website/content/docs/schema-reference/agent-name.md +0 -50
  289. package/website/content/docs/schema-reference/agent-role.md +0 -54
  290. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  291. package/website/content/docs/schema-reference/agent-version.md +0 -50
  292. package/website/content/docs/schema-reference/autonomy.md +0 -568
  293. package/website/content/docs/schema-reference/constraints.md +0 -543
  294. package/website/content/docs/schema-reference/index.md +0 -45
  295. package/website/content/docs/schema-reference/llm-config.md +0 -445
  296. package/website/content/docs/schema-reference/observability.md +0 -654
  297. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  298. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  299. package/website/content/docs/schema-reference/tools.md +0 -628
  300. package/website/content/docs/templates/blog-post.md +0 -43
  301. package/website/content/docs/types-reference/index.md +0 -105
  302. package/website/content/docs/use-cases/00-index.md +0 -395
  303. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  304. package/website/content/docs/use-cases/customer-support.md +0 -1234
  305. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  306. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  307. package/website/content/docs/versioning.md +0 -288
  308. package/website/dev.sh +0 -53
  309. package/website/docker-compose.dev.yml +0 -36
  310. package/website/lib/version.ts +0 -35
  311. package/website/lib/versions.json +0 -103
  312. package/website/next.config.ts +0 -18
  313. package/website/nginx.conf +0 -32
  314. package/website/package-lock.json +0 -9679
  315. package/website/package.json +0 -59
  316. package/website/postcss.config.mjs +0 -9
  317. package/website/scripts/fetch-versions.js +0 -166
  318. package/website/scripts/generate-examples-index.js +0 -163
  319. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  320. package/website/scripts/sync-version.js +0 -72
  321. package/website/scripts/sync-wiki.ts +0 -322
  322. package/website/scripts/upload-wiki.ts +0 -199
  323. package/website/styles/_spacing.scss +0 -453
  324. package/website/styles/_tokens.scss +0 -245
  325. package/website/styles/_typography.scss +0 -361
  326. package/website/styles/_variables.scss +0 -287
  327. package/website/tailwind.config.ts +0 -170
@@ -1,550 +0,0 @@
1
- # Complete Examples
2
-
3
- Real-world OpenAPI specifications with OSSA extensions.
4
-
5
- ---
6
-
7
- ## Minimal Agent API
8
-
9
- A minimal example showing basic OSSA extensions:
10
-
11
- ```yaml
12
- openapi: 3.1.0
13
- info:
14
- title: Hello World Agent
15
- version: 1.0.0
16
- description: Minimal OSSA-compliant agent API
17
-
18
- x-ossa-metadata:
19
- version: 0.2.x
20
- compliance:
21
- level: basic
22
- frameworks: [OSSA, OpenAPI 3.1]
23
-
24
- x-ossa:
25
- version: 0.2.x
26
- agent:
27
- id: hello-world-agent
28
- type: worker
29
- compliance:
30
- standards: [openapi-first]
31
- validated: true
32
- validatedAt: "2024-01-15T10:00:00Z"
33
-
34
- paths:
35
- /greet:
36
- post:
37
- summary: Generate greeting
38
- operationId: greet
39
- x-ossa-capability: greeting
40
- x-ossa-autonomy:
41
- level: autonomous
42
- approval_required: false
43
- x-ossa-llm:
44
- provider: openai
45
- model: gpt-3.5-turbo
46
- temperature: 0.7
47
- requestBody:
48
- required: true
49
- content:
50
- application/json:
51
- schema:
52
- type: object
53
- required: [name]
54
- properties:
55
- name:
56
- type: string
57
- responses:
58
- '200':
59
- description: Greeting generated
60
- content:
61
- application/json:
62
- schema:
63
- type: object
64
- properties:
65
- message:
66
- type: string
67
- ```
68
-
69
- ### Key Features
70
-
71
- - **Basic compliance** - Minimal OSSA metadata
72
- - **Single capability** - One greeting capability
73
- - **Autonomous execution** - No approval required
74
- - **Simple LLM config** - Default GPT-3.5 Turbo
75
-
76
- ---
77
-
78
- ## Full Worker Agent API
79
-
80
- A complete example showing all extensions:
81
-
82
- ```yaml
83
- openapi: 3.1.0
84
- info:
85
- title: Kubernetes Troubleshooter Agent API
86
- version: 1.0.0
87
- description: |
88
- Kubernetes cluster troubleshooting agent with diagnostic capabilities.
89
- Supports pod inspection, log analysis, and event correlation.
90
-
91
- x-ossa-metadata:
92
- version: 0.2.x
93
- compliance:
94
- level: enterprise
95
- frameworks:
96
- - OSSA
97
- - OpenAPI 3.1
98
- - RFC7807
99
- governance:
100
- approved: true
101
- approvedBy: Platform Team
102
- approvalDate: 2024-01-15
103
- security:
104
- classification: internal
105
- authentication: required
106
- encryption: tls1.3
107
- observability:
108
- tracing: true
109
- metrics: true
110
- logging: true
111
-
112
- x-ossa:
113
- version: 0.2.x
114
- agent:
115
- id: k8s-troubleshooter
116
- type: worker
117
- compliance:
118
- standards:
119
- - openapi-first
120
- - dry
121
- - crud
122
- - solid
123
- - type-safe
124
- validated: true
125
- validatedAt: "2024-01-15T10:30:00Z"
126
-
127
- x-agent:
128
- capabilities:
129
- - pod-diagnostics
130
- - log-analysis
131
- - event-correlation
132
- tools:
133
- - kubernetes-mcp
134
- - buildkit-agent-protocol
135
- environment:
136
- defaultNamespace: default
137
- logRetention: 7d
138
- rules:
139
- - read-only-operations
140
- - require-approval-for-writes
141
-
142
- components:
143
- parameters:
144
- X-Ossa-Agent-Id:
145
- name: X-OSSA-Agent-ID
146
- in: header
147
- description: Agent identifier
148
- schema:
149
- type: string
150
- pattern: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
151
- example: "k8s-troubleshooter"
152
-
153
- paths:
154
- /api/v1/diagnose/pod:
155
- post:
156
- summary: Diagnose pod issues
157
- operationId: diagnosePod
158
- tags: [Diagnostics]
159
- x-ossa-capability:
160
- name: pod-diagnostics
161
- description: Diagnose Kubernetes pod failures and issues
162
- x-ossa-autonomy:
163
- level: supervised
164
- approval_required: true
165
- allowed_actions:
166
- - read_pods
167
- - read_logs
168
- - read_events
169
- blocked_actions:
170
- - delete_pods
171
- - modify_configs
172
- x-ossa-constraints:
173
- cost:
174
- maxTokensPerDay: 50000
175
- maxTokensPerRequest: 4000
176
- maxCostPerDay: 10.0
177
- currency: USD
178
- performance:
179
- maxLatencySeconds: 30
180
- maxConcurrentRequests: 5
181
- time:
182
- maxExecutionTime: 300
183
- x-ossa-tools:
184
- - type: mcp
185
- server: kubernetes-mcp
186
- namespace: default
187
- capabilities:
188
- - get_pods
189
- - get_logs
190
- - get_events
191
- - describe_resource
192
- x-ossa-llm:
193
- provider: openai
194
- model: gpt-4
195
- temperature: 0.2
196
- maxTokens: 4000
197
- parameters:
198
- - $ref: '#/components/parameters/X-Ossa-Agent-Id'
199
- requestBody:
200
- required: true
201
- content:
202
- application/json:
203
- schema:
204
- type: object
205
- required: [podName, namespace]
206
- properties:
207
- podName:
208
- type: string
209
- description: Name of the pod to diagnose
210
- example: "nginx-deployment-7d5c6d8b4f-abc123"
211
- namespace:
212
- type: string
213
- description: Kubernetes namespace
214
- example: "default"
215
- responses:
216
- '200':
217
- description: Diagnosis complete
218
- content:
219
- application/json:
220
- schema:
221
- type: object
222
- properties:
223
- status:
224
- type: string
225
- enum: [healthy, degraded, failing]
226
- issues:
227
- type: array
228
- items:
229
- type: object
230
- properties:
231
- severity:
232
- type: string
233
- enum: [low, medium, high, critical]
234
- category:
235
- type: string
236
- description:
237
- type: string
238
- recommendations:
239
- type: array
240
- items:
241
- type: string
242
- '400':
243
- description: Invalid request
244
- '403':
245
- description: Approval required
246
- '500':
247
- description: Internal error
248
- ```
249
-
250
- ### Key Features
251
-
252
- - **Enterprise compliance** - Full governance and security metadata
253
- - **Supervised autonomy** - Requires approval for execution
254
- - **Cost constraints** - Token and budget limits
255
- - **MCP integration** - Kubernetes MCP server tools
256
- - **Full observability** - Tracing, metrics, logging enabled
257
-
258
- ---
259
-
260
- ## Data Processing Agent
261
-
262
- Example showing schema extensions and capability mapping:
263
-
264
- ```yaml
265
- openapi: 3.1.0
266
- info:
267
- title: Data Processing Agent API
268
- version: 1.0.0
269
-
270
- x-ossa-metadata:
271
- version: 0.2.x
272
- compliance:
273
- level: standard
274
- frameworks: [OSSA, OpenAPI 3.1]
275
-
276
- x-ossa:
277
- version: 0.2.x
278
- agent:
279
- id: data-processor
280
- type: worker
281
- compliance:
282
- standards: [openapi-first, type-safe]
283
- validated: true
284
-
285
- x-agent:
286
- capabilities:
287
- - data-transformation
288
- - csv-parsing
289
- - json-validation
290
- tools:
291
- - file-system-mcp
292
- - postgres-mcp
293
- environment:
294
- processingTimeout: 300
295
- maxFileSize: "100MB"
296
-
297
- components:
298
- schemas:
299
- DataProcessingInput:
300
- type: object
301
- required: [csvData]
302
- properties:
303
- csvData:
304
- type: string
305
- description: CSV content to process
306
- x-ossa-capability-schema:
307
- capabilityName: data-transformation
308
- input: true
309
- validation:
310
- required: true
311
- strict: true
312
-
313
- DataProcessingOutput:
314
- type: object
315
- properties:
316
- jsonData:
317
- type: array
318
- items:
319
- type: object
320
- rowCount:
321
- type: integer
322
- x-ossa-capability-schema:
323
- capabilityName: data-transformation
324
- output: true
325
-
326
- paths:
327
- /api/v1/transform:
328
- post:
329
- summary: Transform CSV to JSON
330
- operationId: transformData
331
- x-ossa-capability:
332
- name: data-transformation
333
- description: Transforms CSV data to JSON format
334
- x-ossa-autonomy:
335
- level: autonomous
336
- approval_required: false
337
- x-ossa-constraints:
338
- cost:
339
- maxTokensPerRequest: 2000
340
- performance:
341
- maxLatencySeconds: 10
342
- time:
343
- maxExecutionTime: 60
344
- requestBody:
345
- required: true
346
- content:
347
- application/json:
348
- schema:
349
- $ref: '#/components/schemas/DataProcessingInput'
350
- responses:
351
- '200':
352
- description: Data transformed successfully
353
- content:
354
- application/json:
355
- schema:
356
- $ref: '#/components/schemas/DataProcessingOutput'
357
- ```
358
-
359
- ### Key Features
360
-
361
- - **Schema extensions** - Links schemas to capabilities
362
- - **Type safety** - Strict validation on input/output
363
- - **Autonomous processing** - No approval needed
364
- - **Performance constraints** - Fast processing requirements
365
-
366
- ---
367
-
368
- ## Integration with OSSA Manifests
369
-
370
- OSSA OpenAPI extensions complement OSSA agent manifests (`.ossa.yaml` files). They serve different but related purposes.
371
-
372
- ### OSSA Agent Manifest (`.ossa.yaml`)
373
-
374
- - **Purpose**: Declarative agent definition with full configuration
375
- - **Contains**: Role, LLM config, tools, autonomy, constraints, extensions
376
- - **Used For**: Agent deployment, runtime configuration, framework integration
377
-
378
- ### OpenAPI Specification with OSSA Extensions
379
-
380
- - **Purpose**: API interface definition with agent metadata
381
- - **Contains**: HTTP endpoints, request/response schemas, agent capabilities
382
- - **Used For**: API documentation, client generation, runtime API validation
383
-
384
- ### Bidirectional Mapping
385
-
386
- An agent can have both:
387
-
388
- 1. **OSSA Manifest** (`agent.ossa.yaml`) - Defines the agent's behavior
389
- 2. **OpenAPI Spec** (`agent.openapi.yaml`) - Defines the agent's HTTP interface
390
-
391
- The OpenAPI spec should reference capabilities and tools defined in the manifest:
392
-
393
- **agent.ossa.yaml**:
394
- ```yaml
395
- apiVersion: ossa/v0.2.x
396
- kind: Agent
397
- metadata:
398
- name: k8s-troubleshooter
399
- spec:
400
- capabilities:
401
- - pod-diagnostics
402
- tools:
403
- - type: mcp
404
- server: kubernetes-mcp
405
- llm:
406
- provider: openai
407
- model: gpt-4
408
- temperature: 0.2
409
- ```
410
-
411
- **agent.openapi.yaml**:
412
- ```yaml
413
- openapi: 3.1.0
414
- x-ossa:
415
- agent:
416
- id: k8s-troubleshooter # References manifest metadata.name
417
-
418
- paths:
419
- /api/v1/diagnose/pod:
420
- post:
421
- x-ossa-capability: pod-diagnostics # References manifest capability
422
- x-ossa-tools:
423
- - type: mcp
424
- server: kubernetes-mcp # References manifest tool
425
- x-ossa-llm:
426
- provider: openai
427
- model: gpt-4
428
- temperature: 0.2
429
- ```
430
-
431
- ### Best Practices
432
-
433
- 1. **Keep in Sync** - Ensure OpenAPI extensions reference capabilities/tools from the manifest
434
- 2. **Single Source of Truth** - Use manifest for agent behavior, OpenAPI for API contract
435
- 3. **Version Together** - When updating agent capabilities, update both files
436
- 4. **Validate Both** - Use `ossa validate` for manifest and OpenAPI validation for spec
437
-
438
- ### Validation Workflow
439
-
440
- ```bash
441
- # Validate OSSA manifest
442
- ossa validate agent.ossa.yaml
443
-
444
- # Validate OpenAPI spec with OSSA extensions
445
- ossa validate --openapi agent.openapi.yaml
446
-
447
- # Validate both together
448
- ossa validate agent.ossa.yaml agent.openapi.yaml
449
- ```
450
-
451
- ---
452
-
453
- ## Multi-Capability Agent
454
-
455
- Example with multiple capabilities and different autonomy levels:
456
-
457
- ```yaml
458
- openapi: 3.1.0
459
- info:
460
- title: DevOps Assistant Agent
461
- version: 1.0.0
462
-
463
- x-ossa:
464
- version: 0.2.x
465
- agent:
466
- id: devops-assistant
467
- type: worker
468
-
469
- x-agent:
470
- capabilities:
471
- - read-metrics
472
- - analyze-logs
473
- - suggest-fixes
474
- - apply-fixes
475
- tools:
476
- - prometheus-mcp
477
- - grafana-mcp
478
- - kubernetes-mcp
479
-
480
- paths:
481
- /api/v1/metrics/read:
482
- get:
483
- summary: Read current metrics
484
- x-ossa-capability: read-metrics
485
- x-ossa-autonomy:
486
- level: autonomous
487
- approval_required: false
488
- responses:
489
- '200':
490
- description: Metrics retrieved
491
-
492
- /api/v1/logs/analyze:
493
- post:
494
- summary: Analyze logs for issues
495
- x-ossa-capability: analyze-logs
496
- x-ossa-autonomy:
497
- level: autonomous
498
- approval_required: false
499
- x-ossa-llm:
500
- provider: openai
501
- model: gpt-4
502
- responses:
503
- '200':
504
- description: Analysis complete
505
-
506
- /api/v1/fixes/suggest:
507
- post:
508
- summary: Suggest fixes for issues
509
- x-ossa-capability: suggest-fixes
510
- x-ossa-autonomy:
511
- level: semi-autonomous
512
- approval_required: false
513
- responses:
514
- '200':
515
- description: Suggestions generated
516
-
517
- /api/v1/fixes/apply:
518
- post:
519
- summary: Apply fixes to infrastructure
520
- x-ossa-capability: apply-fixes
521
- x-ossa-autonomy:
522
- level: supervised
523
- approval_required: true
524
- allowed_actions:
525
- - restart_pod
526
- - scale_deployment
527
- blocked_actions:
528
- - delete_namespace
529
- - modify_rbac
530
- responses:
531
- '200':
532
- description: Fixes applied
533
- '403':
534
- description: Approval required
535
- ```
536
-
537
- ### Key Features
538
-
539
- - **Progressive autonomy** - Read operations autonomous, write operations supervised
540
- - **Capability-based permissions** - Different autonomy per capability
541
- - **Safety controls** - Blocked actions prevent destructive operations
542
-
543
- ---
544
-
545
- ## References
546
-
547
- - [Root-Level Extensions](root-extensions)
548
- - [Operation-Level Extensions](operation-extensions)
549
- - [OSSA Specification](/docs/specification)
550
- - [OpenAPI 3.1 Specification](https://spec.openapis.org/oas/v3.1.0)