@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,457 +0,0 @@
1
- # Operation-Level Extensions
2
-
3
- Extensions that can be added to individual OpenAPI operations (GET, POST, PUT, DELETE, etc.).
4
-
5
- ---
6
-
7
- ## x-ossa-capability
8
-
9
- Links an OpenAPI operation to an OSSA agent capability. Can be a simple string reference or a detailed capability object.
10
-
11
- ### Location
12
-
13
- Operation object within path item
14
-
15
- ### Schema
16
-
17
- **Simple string reference**:
18
- ```yaml
19
- x-ossa-capability: "capability-name"
20
- ```
21
-
22
- **Detailed object**:
23
- ```yaml
24
- x-ossa-capability:
25
- name: string # Capability name
26
- description: string # Capability description (optional)
27
- input: boolean # Whether this is an input capability (optional)
28
- output: boolean # Whether this is an output capability (optional)
29
- inputSchema: object # JSON Schema for capability input (optional)
30
- outputSchema: object # JSON Schema for capability output (optional)
31
- ```
32
-
33
- **Schema Reference Table:**
34
-
35
- | Field | Type | Description |
36
- |-------|------|-------------|
37
- | `name` | string | Capability name |
38
- | `description` | string | Capability description (optional) |
39
- | `input` | boolean | Whether this is an input capability (optional) |
40
- | `output` | boolean | Whether this is an output capability (optional) |
41
- | `inputSchema` | object | JSON Schema for capability input (optional) |
42
- | `outputSchema` | object | JSON Schema for capability output (optional) |
43
-
44
- ### Example
45
-
46
- ```yaml
47
- paths:
48
- /api/v1/process-data:
49
- post:
50
- summary: Process incoming data
51
- operationId: processData
52
- x-ossa-capability:
53
- name: data-transformation
54
- description: Transforms CSV data to JSON format
55
- inputSchema:
56
- type: object
57
- required: [csvData]
58
- properties:
59
- csvData:
60
- type: string
61
- description: CSV content to transform
62
- outputSchema:
63
- type: object
64
- properties:
65
- jsonData:
66
- type: array
67
- items:
68
- type: object
69
- requestBody:
70
- # ... request body ...
71
- responses:
72
- # ... responses ...
73
- ```
74
-
75
- ### Use Cases
76
-
77
- - **Capability mapping** - Link API operations to agent capabilities
78
- - **Schema validation** - Provide additional capability-level schemas
79
- - **Documentation** - Describe what capability each operation provides
80
- - **Discovery** - Enable capability-based API discovery
81
-
82
- **Note**: The `inputSchema` and `outputSchema` should match the OpenAPI `requestBody` and `responses` schemas respectively, providing additional capability-level metadata.
83
-
84
- ---
85
-
86
- ## x-ossa-autonomy
87
-
88
- Defines autonomy level and approval requirements for operation execution.
89
-
90
- ### Location
91
-
92
- Operation object within path item
93
-
94
- ### Schema
95
-
96
- ```yaml
97
- x-ossa-autonomy:
98
- level: string # "supervised" | "semi-autonomous" | "autonomous"
99
- approval_required: boolean # Whether human approval is required
100
- allowed_actions: string[] # List of allowed actions (optional)
101
- blocked_actions: string[] # List of blocked actions (optional)
102
- ```
103
-
104
- **Schema Reference Table:**
105
-
106
- | Field | Type | Description |
107
- |-------|------|-------------|
108
- | `level` | string | Autonomy level: "supervised" \| "autonomous" \| "semi-autonomous" |
109
- | `approval_required` | boolean | Whether human approval is required |
110
- | `allowed_actions` | string[] | List of allowed actions (optional) |
111
- | `blocked_actions` | string[] | List of blocked actions (optional) |
112
-
113
- ### Autonomy Levels
114
-
115
- | Level | Description |
116
- |-------|-------------|
117
- | `supervised` | Requires human approval before execution |
118
- | `semi-autonomous` | Can execute with automatic approval under certain conditions |
119
- | `autonomous` | Can execute without human intervention |
120
-
121
- ### Example
122
-
123
- ```yaml
124
- paths:
125
- /api/v1/delete-resource:
126
- delete:
127
- summary: Delete a resource
128
- operationId: deleteResource
129
- x-ossa-autonomy:
130
- level: supervised
131
- approval_required: true
132
- allowed_actions:
133
- - read_resource
134
- - validate_deletion
135
- blocked_actions:
136
- - permanent_delete
137
- - cascade_delete
138
- parameters:
139
- # ... parameters ...
140
- responses:
141
- # ... responses ...
142
- ```
143
-
144
- ### Use Cases
145
-
146
- - **Safety controls** - Require approval for destructive operations
147
- - **Action whitelisting** - Define what actions agent can perform
148
- - **Action blacklisting** - Prevent specific dangerous actions
149
- - **Governance** - Document approval workflows per operation
150
-
151
- ---
152
-
153
- ## x-ossa-constraints
154
-
155
- Defines cost, token, performance, and time constraints for operation execution.
156
-
157
- ### Location
158
-
159
- Operation object within path item
160
-
161
- ### Schema
162
-
163
- ```yaml
164
- x-ossa-constraints:
165
- cost:
166
- maxTokensPerDay: integer # Maximum tokens allowed per day
167
- maxTokensPerRequest: integer # Maximum tokens allowed per request
168
- maxCostPerDay: number # Maximum cost in USD per day
169
- currency: string # Currency code (default: "USD")
170
- performance:
171
- maxLatencySeconds: number # Maximum acceptable latency in seconds
172
- maxConcurrentRequests: integer # Maximum concurrent requests
173
- time:
174
- maxExecutionTime: integer # Maximum execution time in seconds
175
- ```
176
-
177
- **Schema Reference Table:**
178
-
179
- | Field | Type | Description |
180
- |-------|------|-------------|
181
- | `cost.maxTokensPerDay` | integer | Maximum tokens allowed per day |
182
- | `cost.maxTokensPerRequest` | integer | Maximum tokens allowed per request |
183
- | `cost.maxCostPerDay` | number | Maximum cost in USD per day |
184
- | `cost.currency` | string | Currency code (default: "USD") |
185
- | `performance.maxLatencySeconds` | number | Maximum acceptable latency in seconds |
186
- | `performance.maxConcurrentRequests` | integer | Maximum concurrent requests |
187
- | `time.maxExecutionTime` | integer | Maximum execution time in seconds |
188
-
189
- ### Example
190
-
191
- ```yaml
192
- paths:
193
- /api/v1/generate-report:
194
- post:
195
- summary: Generate comprehensive report
196
- operationId: generateReport
197
- x-ossa-constraints:
198
- cost:
199
- maxTokensPerDay: 50000
200
- maxTokensPerRequest: 4000
201
- maxCostPerDay: 10.0
202
- currency: USD
203
- performance:
204
- maxLatencySeconds: 30
205
- maxConcurrentRequests: 5
206
- time:
207
- maxExecutionTime: 300
208
- requestBody:
209
- # ... request body ...
210
- responses:
211
- # ... responses ...
212
- ```
213
-
214
- ### Use Cases
215
-
216
- - **Cost control** - Prevent runaway LLM costs
217
- - **Performance SLAs** - Define acceptable latency and throughput
218
- - **Resource limits** - Control concurrent execution
219
- - **Timeout handling** - Set maximum execution time
220
-
221
- ---
222
-
223
- ## x-ossa-tools
224
-
225
- Specifies MCP servers or tools required for operation execution.
226
-
227
- ### Location
228
-
229
- Operation object within path item
230
-
231
- ### Schema
232
-
233
- Each tool is an object in an array:
234
-
235
- ```yaml
236
- x-ossa-tools:
237
- - type: string # "mcp" | "http" | "custom"
238
- server: string # Tool server identifier or URL
239
- namespace: string # Namespace for the tool (optional, for MCP servers)
240
- capabilities: string[] # List of tool capabilities (optional)
241
- ```
242
-
243
- **Schema Reference Table:**
244
-
245
- | Field | Type | Description |
246
- |-------|------|-------------|
247
- | `type` | string | Tool type: "mcp" \| "http" \| "custom" |
248
- | `server` | string | Tool server identifier or URL |
249
- | `namespace` | string | Namespace for the tool (optional, for MCP servers) |
250
- | `capabilities` | string[] | List of tool capabilities (optional) |
251
-
252
- ### Example
253
-
254
- ```yaml
255
- paths:
256
- /api/v1/diagnose-issue:
257
- post:
258
- summary: Diagnose Kubernetes issue
259
- operationId: diagnoseIssue
260
- x-ossa-tools:
261
- - type: mcp
262
- server: kubernetes-mcp
263
- namespace: default
264
- capabilities:
265
- - get_pods
266
- - get_logs
267
- - get_events
268
- - describe_resource
269
- - type: mcp
270
- server: buildkit-agent-protocol
271
- namespace: default
272
- capabilities:
273
- - search_documentation
274
- - analyze_logs
275
- requestBody:
276
- # ... request body ...
277
- responses:
278
- # ... responses ...
279
- ```
280
-
281
- ### Use Cases
282
-
283
- - **Tool requirements** - Document MCP servers needed per operation
284
- - **Capability dependencies** - List specific tool capabilities required
285
- - **Runtime validation** - Verify required tools are available
286
- - **Documentation** - Auto-generate tool dependency graphs
287
-
288
- ---
289
-
290
- ## x-ossa-llm
291
-
292
- Overrides LLM configuration for a specific operation. Useful when different operations require different models or settings.
293
-
294
- ### Location
295
-
296
- Operation object within path item
297
-
298
- ### Schema
299
-
300
- ```yaml
301
- x-ossa-llm:
302
- provider: string # "openai" | "anthropic" | "google" | "azure" | "custom"
303
- model: string # Model identifier (e.g., "gpt-4", "claude-3-opus")
304
- temperature: number # Sampling temperature (0-2, optional)
305
- maxTokens: integer # Maximum tokens in response (optional)
306
- ```
307
-
308
- **Schema Reference Table:**
309
-
310
- | Field | Type | Description |
311
- |-------|------|-------------|
312
- | `provider` | string | Provider: "openai" \| "anthropic" \| "google" \| "azure" \| "custom" |
313
- | `model` | string | Model identifier (e.g., "gpt-4", "claude-3-opus") |
314
- | `temperature` | number | Sampling temperature (0-2, optional) |
315
- | `maxTokens` | integer | Maximum tokens in response (optional) |
316
-
317
- ### Example
318
-
319
- ```yaml
320
- paths:
321
- /api/v1/analyze-code:
322
- post:
323
- summary: Analyze code for issues
324
- operationId: analyzeCode
325
- x-ossa-llm:
326
- provider: openai
327
- model: gpt-4
328
- temperature: 0.2
329
- maxTokens: 4000
330
- requestBody:
331
- # ... request body ...
332
- responses:
333
- # ... responses ...
334
- ```
335
-
336
- ### Use Cases
337
-
338
- - **Model selection** - Use different models for different tasks
339
- - **Temperature tuning** - Lower temperature for factual tasks, higher for creative
340
- - **Token limits** - Control response size per operation
341
- - **Cost optimization** - Use cheaper models for simple operations
342
-
343
- **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.
344
-
345
- ---
346
-
347
- ## Complete Operation Example
348
-
349
- All extensions combined:
350
-
351
- ```yaml
352
- paths:
353
- /api/v1/diagnose/pod:
354
- post:
355
- summary: Diagnose pod issues
356
- operationId: diagnosePod
357
- tags: [Diagnostics]
358
-
359
- # Link to capability
360
- x-ossa-capability:
361
- name: pod-diagnostics
362
- description: Diagnose Kubernetes pod failures and issues
363
-
364
- # Autonomy and safety
365
- x-ossa-autonomy:
366
- level: supervised
367
- approval_required: true
368
- allowed_actions:
369
- - read_pods
370
- - read_logs
371
- - read_events
372
- blocked_actions:
373
- - delete_pods
374
- - modify_configs
375
-
376
- # Cost and performance constraints
377
- x-ossa-constraints:
378
- cost:
379
- maxTokensPerDay: 50000
380
- maxTokensPerRequest: 4000
381
- maxCostPerDay: 10.0
382
- currency: USD
383
- performance:
384
- maxLatencySeconds: 30
385
- maxConcurrentRequests: 5
386
- time:
387
- maxExecutionTime: 300
388
-
389
- # Required tools
390
- x-ossa-tools:
391
- - type: mcp
392
- server: kubernetes-mcp
393
- namespace: default
394
- capabilities:
395
- - get_pods
396
- - get_logs
397
- - get_events
398
-
399
- # LLM configuration
400
- x-ossa-llm:
401
- provider: openai
402
- model: gpt-4
403
- temperature: 0.2
404
- maxTokens: 4000
405
-
406
- # Standard OpenAPI
407
- requestBody:
408
- required: true
409
- content:
410
- application/json:
411
- schema:
412
- type: object
413
- required: [podName, namespace]
414
- properties:
415
- podName:
416
- type: string
417
- namespace:
418
- type: string
419
-
420
- responses:
421
- '200':
422
- description: Diagnosis complete
423
- content:
424
- application/json:
425
- schema:
426
- type: object
427
- properties:
428
- status:
429
- type: string
430
- issues:
431
- type: array
432
- items:
433
- type: object
434
- recommendations:
435
- type: array
436
- items:
437
- type: string
438
- ```
439
-
440
- ---
441
-
442
- ## Best Practices
443
-
444
- 1. **Always define autonomy levels** - Especially for destructive operations
445
- 2. **Set realistic constraints** - Monitor actual usage to tune limits
446
- 3. **Document tool requirements** - List all MCP servers and capabilities needed
447
- 4. **Use appropriate LLM configs** - Match model to task complexity
448
- 5. **Link to capabilities** - Enable capability-based discovery
449
-
450
- ---
451
-
452
- ## References
453
-
454
- - [Root-Level Extensions](root-extensions)
455
- - [Examples & Patterns](examples)
456
- - [OSSA Specification](/docs/specification)
457
- - [OpenAPI 3.1 Specification](https://spec.openapis.org/oas/v3.1.0)