@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.
- package/.cursorrules +84 -0
- package/.devfile.yaml +87 -0
- package/.env.example +25 -3
- package/.github/workflows/release.yml +1 -1
- package/.kiro/specs/agent-buildkit-templates/design.md +495 -0
- package/.kiro/specs/agent-buildkit-templates/requirements.md +165 -0
- package/.kiro/specs/kiro-ide-supercharger/README.md +202 -0
- package/.kiro/specs/kiro-ide-supercharger/design.md +1005 -0
- package/.kiro/specs/kiro-ide-supercharger/requirements.md +141 -0
- package/.kiro/specs/kiro-ide-supercharger/tasks.md +507 -0
- package/.kiro/specs/website-design-audit/design.md +679 -0
- package/.kiro/specs/website-design-audit/requirements.md +199 -0
- package/.releaserc.json +5 -4
- package/.version.json +6 -0
- package/CHANGELOG.md +140 -96
- package/CONTRIBUTING.md +23 -5
- package/README.md +121 -43
- package/bin/ossa +24 -3
- package/bin/ossa-validate-all +55 -0
- package/bin/ossa-version +23 -0
- package/bin/validate-ossa-0.2.4.ts +244 -0
- package/bin/validate-ossa-0.2.5-RC.ts +244 -0
- package/bin/validate-ossa.ts +273 -0
- package/dist/di-container.d.ts +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +17 -2
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +96 -18
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/generation.service.d.ts +7 -5
- package/dist/services/generation.service.d.ts.map +1 -1
- package/dist/services/generation.service.js +92 -44
- package/dist/services/generation.service.js.map +1 -1
- package/dist/services/gitlab-agent.service.d.ts +94 -0
- package/dist/services/gitlab-agent.service.d.ts.map +1 -0
- package/dist/services/gitlab-agent.service.js +162 -0
- package/dist/services/gitlab-agent.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +3 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +108 -61
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/base-crud.service.d.ts +93 -0
- package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
- package/dist/services/release-automation/base-crud.service.js +68 -0
- package/dist/services/release-automation/base-crud.service.js.map +1 -0
- package/dist/services/release-automation/index.d.ts +12 -0
- package/dist/services/release-automation/index.d.ts.map +1 -0
- package/dist/services/release-automation/index.js +12 -0
- package/dist/services/release-automation/index.js.map +1 -0
- package/dist/services/release-automation/merge-request.service.d.ts +119 -0
- package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
- package/dist/services/release-automation/merge-request.service.js +212 -0
- package/dist/services/release-automation/merge-request.service.js.map +1 -0
- package/dist/services/release-automation/milestone.service.d.ts +104 -0
- package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
- package/dist/services/release-automation/milestone.service.js +207 -0
- package/dist/services/release-automation/milestone.service.js.map +1 -0
- package/dist/services/release-automation/release.service.d.ts +118 -0
- package/dist/services/release-automation/release.service.d.ts.map +1 -0
- package/dist/services/release-automation/release.service.js +207 -0
- package/dist/services/release-automation/release.service.js.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.js +269 -0
- package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
- package/dist/services/release-automation/tag.service.d.ts +99 -0
- package/dist/services/release-automation/tag.service.d.ts.map +1 -0
- package/dist/services/release-automation/tag.service.js +180 -0
- package/dist/services/release-automation/tag.service.js.map +1 -0
- package/dist/services/release-automation/webhook.service.d.ts +37 -0
- package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
- package/dist/services/release-automation/webhook.service.js +173 -0
- package/dist/services/release-automation/webhook.service.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
- package/dist/services/runtime/openai.adapter.js.map +1 -1
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +24 -11
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/anthropic.validator.d.ts +2 -2
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
- package/dist/services/validators/anthropic.validator.js +14 -9
- package/dist/services/validators/anthropic.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.d.ts +2 -2
- package/dist/services/validators/autogen.validator.d.ts.map +1 -1
- package/dist/services/validators/autogen.validator.js +18 -15
- package/dist/services/validators/autogen.validator.js.map +1 -1
- package/dist/services/validators/crewai.validator.d.ts +2 -2
- package/dist/services/validators/crewai.validator.d.ts.map +1 -1
- package/dist/services/validators/crewai.validator.js +18 -17
- package/dist/services/validators/crewai.validator.js.map +1 -1
- package/dist/services/validators/cursor.validator.d.ts +2 -2
- package/dist/services/validators/cursor.validator.d.ts.map +1 -1
- package/dist/services/validators/cursor.validator.js +15 -11
- package/dist/services/validators/cursor.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.d.ts +2 -2
- package/dist/services/validators/langchain.validator.d.ts.map +1 -1
- package/dist/services/validators/langchain.validator.js +14 -11
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langflow.validator.d.ts +2 -2
- package/dist/services/validators/langflow.validator.d.ts.map +1 -1
- package/dist/services/validators/langflow.validator.js +14 -9
- package/dist/services/validators/langflow.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.d.ts +2 -2
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
- package/dist/services/validators/langgraph.validator.js +23 -18
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/llamaindex.validator.d.ts +2 -2
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
- package/dist/services/validators/llamaindex.validator.js +19 -16
- package/dist/services/validators/llamaindex.validator.js.map +1 -1
- package/dist/services/validators/openai.validator.d.ts +2 -2
- package/dist/services/validators/openai.validator.d.ts.map +1 -1
- package/dist/services/validators/openai.validator.js +20 -16
- package/dist/services/validators/openai.validator.js.map +1 -1
- package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
- package/dist/services/validators/vercel-ai.validator.js +16 -15
- package/dist/services/validators/vercel-ai.validator.js.map +1 -1
- package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
- package/dist/spec/v0.2.3/README.md +9 -9
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
- package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
- package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
- package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
- package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
- package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5/README.md +72 -0
- package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- 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
- package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5-RC/README.md +72 -0
- package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/dist/types/index.d.ts +6 -1
- package/dist/types/index.d.ts.map +1 -1
- package/docs/issue-19-completion-summary.md +648 -0
- package/docs/issue-19-validation.md +351 -0
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- package/examples/bridges/Dockerfile.production +1 -1
- package/examples/crewai/research-team.ossa.json +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- package/examples/enterprise/agent.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/langchain/chain-agent.ossa.json +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- package/examples/openai/basic-agent.ossa.yaml +61 -0
- package/examples/openai/multi-tool-agent.ossa.json +165 -0
- package/examples/openai/swarm-agent.ossa.json +1 -1
- package/examples/openapi-extensions/README.md +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +1 -1
- package/infrastructure/gitlab-agent/rbac.yaml +126 -0
- package/infrastructure/gitlab-agent/values.yaml +150 -0
- package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
- package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
- package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
- package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
- package/infrastructure/k8s/monitoring/README.md +73 -0
- package/infrastructure/k8s/monitoring/deploy.sh +38 -0
- package/openapi/CHANGELOG.md +21 -0
- package/openapi/README.md +46 -0
- package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
- package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
- package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
- package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
- package/package.json +31 -21
- package/release.config.js +20 -5
- package/scripts/bump-version.ts +57 -0
- package/scripts/enhanced-version-manager.ts +257 -0
- package/scripts/gen-types.ts +51 -0
- package/scripts/gen-zod.ts +51 -0
- package/scripts/lib/exec.ts +37 -0
- package/scripts/lib/file-ops.ts +58 -0
- package/scripts/lib/version.ts +83 -0
- package/scripts/process-doc-templates.ts +37 -0
- package/scripts/schemas/package.schema.ts +75 -0
- package/scripts/setup-branch-protection.sh +33 -0
- package/scripts/sync-version.ts +39 -0
- package/scripts/sync-versions.ts +488 -0
- package/scripts/validate-schema.ts +49 -0
- package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/spec/v0.2.3/CHANGELOG.md +7 -7
- package/spec/v0.2.3/README.md +9 -9
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
- package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
- package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
- package/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
- package/spec/v0.2.5/CHANGELOG.md +401 -0
- package/spec/v0.2.5/README.md +72 -0
- package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
- package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/spec/v0.2.5-RC/README.md +72 -0
- package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
- package/website/Dockerfile +18 -5
- package/website/app/about/page.tsx +7 -7
- package/website/app/blog/[slug]/page.tsx +61 -20
- package/website/app/blog/page.tsx +120 -33
- package/website/app/design-guide/page.tsx +511 -0
- package/website/app/docs/[[...slug]]/page.tsx +641 -143
- package/website/app/examples/page.tsx +51 -41
- package/website/app/{globals.css → globals.scss} +50 -23
- package/website/app/layout.tsx +2 -2
- package/website/app/license/page.tsx +183 -0
- package/website/app/not-found.tsx +18 -0
- package/website/app/page.tsx +144 -79
- package/website/app/playground/page.tsx +25 -45
- package/website/app/schema/page.tsx +423 -392
- package/website/app/specification/page.tsx +245 -169
- package/website/components/Logo.tsx +75 -2
- package/website/components/docs/DocsSidebar.tsx +40 -3
- package/website/components/docs/MarkdownContent.tsx +265 -47
- package/website/components/docs/VersionSelector.tsx +64 -8
- package/website/components/examples/ExamplesViewer.tsx +2 -2
- package/website/components/layout/Footer.tsx +6 -1
- package/website/components/layout/Header.tsx +31 -33
- package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
- package/website/components/schema/SchemaExplorer.tsx +4 -4
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
- package/website/content/blog/introducing-ossa-framework.md +1 -1
- package/website/content/blog/ossa-production-results.md +5 -5
- package/website/content/blog/welcome-to-ossa.md +2 -2
- package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
- package/website/content/docs/00-HOME.md +18 -25
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +8 -8
- package/website/content/docs/OpenAPI-Extensions.md +576 -140
- package/website/content/docs/adapters/openai-adapter.md +693 -0
- package/website/content/docs/architecture/execution-flow.md +3 -3
- package/website/content/docs/architecture/multi-agent-systems.md +4 -4
- package/website/content/docs/architecture/overview.md +4 -4
- package/website/content/docs/architecture/stack-integration.md +4 -4
- package/website/content/docs/changelog.md +4 -4
- package/website/content/docs/contributing.md +2 -2
- package/website/content/docs/ecosystem/framework-support.md +0 -2
- package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/examples/Migration-Guides.md +2 -2
- package/website/content/docs/for-audiences/{architects.md → Architects.md} +1 -1
- package/website/content/docs/for-audiences/{developers.md → Developers.md} +3 -3
- package/website/content/docs/for-audiences/Enterprises.md +2 -2
- package/website/content/docs/for-audiences/Students-Researchers.md +1 -1
- package/website/content/docs/getting-started/{5-minute-overview.md → 5-Minute-Overview.md} +2 -2
- package/website/content/docs/getting-started/{first-agent.md → First-Agent.md} +1 -1
- package/website/content/docs/getting-started/Hello-World.md +3 -3
- package/website/content/docs/getting-started/{installation.md → Installation.md} +7 -7
- package/website/content/docs/getting-started/index.md +92 -0
- package/website/content/docs/getting-started/running-agents.md +215 -13
- package/{docs → website/content/docs}/getting-started.md +10 -6
- package/website/content/docs/integrations/aiflow.md +2 -2
- package/website/content/docs/integrations/drupal.md +2 -2
- package/website/content/docs/migration-guides/README.md +1 -1
- package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
- package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
- package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
- package/website/content/docs/migration-guides/index.md +1 -1
- package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
- package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
- package/website/content/docs/openapi-extensions/examples.md +9 -9
- package/website/content/docs/openapi-extensions/index.md +59 -3
- package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
- package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
- package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
- package/website/content/docs/pre-release/index.md +10 -10
- package/website/content/docs/readme.md +35 -0
- package/website/content/docs/schema-reference/agent-spec.md +2 -2
- package/website/content/docs/schema-reference/autonomy.md +5 -5
- package/website/content/docs/schema-reference/constraints.md +5 -5
- package/website/content/docs/schema-reference/llm-config.md +1 -1
- package/website/content/docs/schema-reference/observability.md +5 -5
- package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
- package/website/content/docs/schema-reference/taxonomy.md +3 -3
- package/website/content/docs/use-cases/00-index.md +1 -1
- package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
- package/website/lib/version.ts +18 -1
- package/website/lib/versions.json +78 -0
- package/website/next.config.ts +3 -1
- package/website/package-lock.json +552 -18
- package/website/package.json +11 -5
- package/website/postcss.config.mjs +1 -1
- package/website/scripts/fetch-versions.js +166 -0
- package/website/scripts/generate-examples-index.js +163 -0
- package/website/scripts/merge-docs-to-wiki.ts +207 -0
- package/website/scripts/sync-version.js +28 -0
- package/website/scripts/sync-wiki.ts +64 -3
- package/website/scripts/upload-wiki.ts +199 -0
- package/website/styles/_variables.scss +36 -0
- package/website/tailwind.config.ts +93 -22
- package/.releaserc.json.disabled +0 -81
- package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
- package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
- package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
- package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
- package/docs/README.md +0 -31
- package/docs/agent-openapi-spec.yml +0 -942
- package/docs/openapi-extensions.md +0 -930
- package/docs/schemas/openapi-extensions.schema.json +0 -486
- package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
- package/ossa-website-swarm-tasks.json +0 -105
- package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
- package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
- package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
- package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
- package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
- package/website/app/api/validate/route.ts +0 -88
- package/website/next.config.js +0 -17
- package/website/postcss.config.js +0 -7
- package/website/tailwind.config.js +0 -58
- /package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
- /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
- /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
- /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
- /package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
- /package/website/content/docs/{examples.md → Examples.md} +0 -0
- /package/website/content/docs/core-concepts/{project-structure.md → Project-Structure.md} +0 -0
- /package/website/content/docs/migration-guides/{00-index.md → 00-INDEX.md} +0 -0
- /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
|
-
**
|
|
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.
|
|
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
|
-
|
|
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
|
-
**
|
|
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.
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
|
|
527
|
+
---
|
|
295
528
|
|
|
296
529
|
### x-ossa-version
|
|
297
530
|
|
|
298
531
|
Standard header parameter for OSSA specification version in requests.
|
|
299
532
|
|
|
300
|
-
**
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
681
|
+
A complete example showing all extensions:
|
|
359
682
|
|
|
360
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
373
|
-
- **
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
851
|
+
The OpenAPI spec should reference capabilities and tools defined in the manifest:
|
|
398
852
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
889
|
+
---
|
|
415
890
|
|
|
416
|
-
|
|
417
|
-
- **semi-autonomous**: Human approves plan, agent executes bounded actions
|
|
418
|
-
- **autonomous**: No pre-approval; audit + guardrails required
|
|
891
|
+
## Tools & Validation
|
|
419
892
|
|
|
420
|
-
###
|
|
893
|
+
### CLI Validation
|
|
421
894
|
|
|
422
|
-
|
|
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
|
-
|
|
897
|
+
```bash
|
|
898
|
+
# Validate OpenAPI spec with OSSA extensions
|
|
899
|
+
ossa validate --openapi agent.openapi.yaml
|
|
428
900
|
|
|
429
|
-
|
|
430
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
920
|
+
---
|
|
457
921
|
|
|
458
|
-
|
|
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
|
-
|
|
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
|
-
|
|
485
|
-
x-ossa-llm:
|
|
486
|
-
provider: openai
|
|
487
|
-
model: gpt-4o
|
|
488
|
-
temperature: 0.2
|
|
489
|
-
```
|
|
931
|
+
---
|
|
490
932
|
|
|
491
|
-
|
|
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.
|