@bluefly/openstandardagents 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +41 -0
- package/.eslintrc.cjs +43 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
- package/.github/dependabot.yml +58 -0
- package/.github/workflows/ci.yml +154 -0
- package/.github/workflows/codeql.yml +41 -0
- package/.github/workflows/dependabot-auto-merge.yml +28 -0
- package/.github/workflows/release.yml +103 -0
- package/.prettierignore +7 -0
- package/.prettierrc.json +10 -0
- package/.redocly.yaml +9 -0
- package/.releaserc.json +84 -0
- package/.releaserc.json.disabled +81 -0
- package/CHANGELOG.md +152 -0
- package/CONTRIBUTING.md +249 -0
- package/LICENSE +190 -0
- package/README.md +280 -0
- package/bin/ossa +8 -0
- package/bin/validate-ossa-0.2.2.ts +244 -0
- package/dist/di-container.d.ts +18 -0
- package/dist/di-container.d.ts.map +1 -0
- package/dist/di-container.js +43 -0
- package/dist/di-container.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories/manifest.repository.d.ts +26 -0
- package/dist/repositories/manifest.repository.d.ts.map +1 -0
- package/dist/repositories/manifest.repository.js +90 -0
- package/dist/repositories/manifest.repository.js.map +1 -0
- package/dist/repositories/schema.repository.d.ts +30 -0
- package/dist/repositories/schema.repository.d.ts.map +1 -0
- package/dist/repositories/schema.repository.js +143 -0
- package/dist/repositories/schema.repository.js.map +1 -0
- package/dist/services/generation.service.d.ts +54 -0
- package/dist/services/generation.service.d.ts.map +1 -0
- package/dist/services/generation.service.js +298 -0
- package/dist/services/generation.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +30 -0
- package/dist/services/migration.service.d.ts.map +1 -0
- package/dist/services/migration.service.js +231 -0
- package/dist/services/migration.service.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts +94 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
- package/dist/services/runtime/openai.adapter.js +209 -0
- package/dist/services/runtime/openai.adapter.js.map +1 -0
- package/dist/services/validation.service.d.ts +45 -0
- package/dist/services/validation.service.d.ts.map +1 -0
- package/dist/services/validation.service.js +362 -0
- package/dist/services/validation.service.js.map +1 -0
- package/dist/services/validators/anthropic.validator.d.ts +9 -0
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
- package/dist/services/validators/anthropic.validator.js +105 -0
- package/dist/services/validators/anthropic.validator.js.map +1 -0
- package/dist/services/validators/autogen.validator.d.ts +9 -0
- package/dist/services/validators/autogen.validator.d.ts.map +1 -0
- package/dist/services/validators/autogen.validator.js +111 -0
- package/dist/services/validators/autogen.validator.js.map +1 -0
- package/dist/services/validators/crewai.validator.d.ts +9 -0
- package/dist/services/validators/crewai.validator.d.ts.map +1 -0
- package/dist/services/validators/crewai.validator.js +117 -0
- package/dist/services/validators/crewai.validator.js.map +1 -0
- package/dist/services/validators/cursor.validator.d.ts +9 -0
- package/dist/services/validators/cursor.validator.d.ts.map +1 -0
- package/dist/services/validators/cursor.validator.js +88 -0
- package/dist/services/validators/cursor.validator.js.map +1 -0
- package/dist/services/validators/index.d.ts +15 -0
- package/dist/services/validators/index.d.ts.map +1 -0
- package/dist/services/validators/index.js +15 -0
- package/dist/services/validators/index.js.map +1 -0
- package/dist/services/validators/langchain.validator.d.ts +9 -0
- package/dist/services/validators/langchain.validator.d.ts.map +1 -0
- package/dist/services/validators/langchain.validator.js +103 -0
- package/dist/services/validators/langchain.validator.js.map +1 -0
- package/dist/services/validators/langflow.validator.d.ts +9 -0
- package/dist/services/validators/langflow.validator.d.ts.map +1 -0
- package/dist/services/validators/langflow.validator.js +92 -0
- package/dist/services/validators/langflow.validator.js.map +1 -0
- package/dist/services/validators/langgraph.validator.d.ts +9 -0
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
- package/dist/services/validators/langgraph.validator.js +123 -0
- package/dist/services/validators/langgraph.validator.js.map +1 -0
- package/dist/services/validators/llamaindex.validator.d.ts +9 -0
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
- package/dist/services/validators/llamaindex.validator.js +121 -0
- package/dist/services/validators/llamaindex.validator.js.map +1 -0
- package/dist/services/validators/openai.validator.d.ts +9 -0
- package/dist/services/validators/openai.validator.d.ts.map +1 -0
- package/dist/services/validators/openai.validator.js +126 -0
- package/dist/services/validators/openai.validator.js.map +1 -0
- package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
- package/dist/services/validators/vercel-ai.validator.js +99 -0
- package/dist/services/validators/vercel-ai.validator.js.map +1 -0
- package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
- package/dist/spec/v0.2.3/README.md +154 -0
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/dist/types/index.d.ts +178 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/openapi-extensions.d.ts +164 -0
- package/dist/types/openapi-extensions.d.ts.map +1 -0
- package/dist/types/openapi-extensions.js +6 -0
- package/dist/types/openapi-extensions.js.map +1 -0
- package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
- package/docs/README.md +31 -0
- package/docs/VERSIONING.md +284 -0
- package/docs/agent-openapi-spec.yml +942 -0
- package/docs/getting-started.md +87 -0
- package/docs/migration/general-agent-schema.yml +255 -0
- package/docs/migration/migration-manifest.json +64 -0
- package/docs/openapi-extensions.md +930 -0
- package/docs/schemas/openapi-extensions.schema.json +486 -0
- package/examples/adk-integration/code-review-workflow.yml +136 -0
- package/examples/adk-integration/customer-support.yml +263 -0
- package/examples/adk-integration/data-pipeline.yml +173 -0
- package/examples/advanced/patterns/compliance-context-production.json +53 -0
- package/examples/advanced/patterns/model-router.ts +274 -0
- package/examples/advanced/patterns/smart-model-routing.ts +248 -0
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
- package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
- package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
- package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
- package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
- package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
- package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
- package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
- package/examples/anthropic/claude-assistant.ossa.json +45 -0
- package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
- package/examples/autogen/multi-agent.ossa.json +37 -0
- package/examples/bridge-configurations.yaml +346 -0
- package/examples/bridges/Dockerfile.production +87 -0
- package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
- package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
- package/examples/bridges/aiflow-bridge-example.yml +310 -0
- package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
- package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
- package/examples/bridges/k8s/configmap.yaml +121 -0
- package/examples/bridges/k8s/deployment-simple.yaml +34 -0
- package/examples/bridges/k8s/deployment.yaml +275 -0
- package/examples/bridges/k8s/hpa.yaml +126 -0
- package/examples/bridges/k8s/ingress.yaml +155 -0
- package/examples/bridges/kagent-bridge-example.yml +94 -0
- package/examples/bridges/load-tests/Dockerfile +28 -0
- package/examples/bridges/load-tests/k6-load-test.js +302 -0
- package/examples/bridges/load-tests/requirements.txt +20 -0
- package/examples/bridges/loadtest/k6-scenarios.js +270 -0
- package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
- package/examples/bridges/phase4/chaos-tests.yaml +226 -0
- package/examples/bridges/requirements.txt +24 -0
- package/examples/bridges/test_aiflow_integration.py +341 -0
- package/examples/common_npm/agent-router.ossa.yaml +182 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
- package/examples/compliance-agent.yml +155 -0
- package/examples/crewai/research-team.ossa.json +36 -0
- package/examples/cursor/code-review-agent.ossa.json +47 -0
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
- package/examples/enterprise/agent.yml +452 -0
- package/examples/extensions/drupal-v1.yml +266 -0
- package/examples/extensions/kagent-v1.yml +167 -0
- package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
- package/examples/kagent/README.md +31 -0
- package/examples/kagent/compliance-validator.ossa.yaml +111 -0
- package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
- package/examples/kagent/documentation-agent.ossa.yaml +91 -0
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
- package/examples/kagent/security-scanner.ossa.yaml +140 -0
- package/examples/langchain/chain-agent.ossa.json +42 -0
- package/examples/langflow/workflow-agent.ossa.json +39 -0
- package/examples/langgraph/state-machine-agent.ossa.json +59 -0
- package/examples/llamaindex/rag-agent.ossa.json +41 -0
- package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
- package/examples/minimal/agent.yml +152 -0
- package/examples/minimal/openapi.yaml +95 -0
- package/examples/openai/swarm-agent.ossa.json +59 -0
- package/examples/openapi-extensions/README.md +87 -0
- package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
- package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
- package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
- package/examples/production/agent.yml +713 -0
- package/examples/production/document-analyzer-openai.yml +134 -0
- package/examples/quickstart/support-agent.ossa.yaml +59 -0
- package/examples/service-registry-usage.ts +423 -0
- package/examples/spec-examples/audit-agent.yml +147 -0
- package/examples/spec-examples/chat-agent.yml +189 -0
- package/examples/spec-examples/compliance-agent.yml +204 -0
- package/examples/spec-examples/data-processing-agent.yml +132 -0
- package/examples/spec-examples/development-agent.yml +138 -0
- package/examples/spec-examples/edge-agent.yml +101 -0
- package/examples/spec-examples/integration-agent.yml +129 -0
- package/examples/spec-examples/monitoring-agent.yml +130 -0
- package/examples/spec-examples/serverless-agent.yml +82 -0
- package/examples/spec-examples/workflow-agent.yml +223 -0
- package/examples/templates/ossa-compliance.yaml +56 -0
- package/examples/typescript/advanced/demo-registry.ts +168 -0
- package/examples/typescript/mcpb-agent-example.ts +358 -0
- package/examples/vercel/edge-agent.ossa.json +43 -0
- package/infrastructure/docker-compose.yml +33 -0
- package/junit.xml +1 -0
- package/openapi/drupal-agent-api.openapi.yaml +348 -0
- package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
- package/openapi/helm-generator.openapi.yaml +389 -0
- package/openapi/ossa-core-api.openapi.yaml +1448 -0
- package/openapi/ossa-registry-api.openapi.yaml +980 -0
- package/openapi/ossa-registry.openapi.yaml +782 -0
- package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
- package/openapi/unified-agent-gateway.openapi.yaml +833 -0
- package/ossa-website-swarm-tasks.json +105 -0
- package/package.json +132 -0
- package/release.config.js +64 -0
- package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/spec/v0.2.3/CHANGELOG.md +176 -0
- package/spec/v0.2.3/README.md +154 -0
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/test-results.xml +1 -0
- package/website/.lighthouserc.js +20 -0
- package/website/.prettierrc +10 -0
- package/website/Dockerfile +17 -0
- package/website/app/about/page.tsx +295 -0
- package/website/app/api/validate/route.ts +88 -0
- package/website/app/blog/[slug]/page.tsx +167 -0
- package/website/app/blog/page.tsx +162 -0
- package/website/app/docs/[[...slug]]/page.tsx +349 -0
- package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
- package/website/app/ecosystem/page.tsx +375 -0
- package/website/app/examples/page.tsx +123 -0
- package/website/app/globals.css +108 -0
- package/website/app/layout.tsx +106 -0
- package/website/app/page.tsx +409 -0
- package/website/app/playground/page.tsx +507 -0
- package/website/app/robots.ts +19 -0
- package/website/app/rss.xml/route.ts +74 -0
- package/website/app/schema/page.tsx +970 -0
- package/website/app/sitemap.ts +56 -0
- package/website/app/specification/page.tsx +211 -0
- package/website/components/InstallCommand.tsx +96 -0
- package/website/components/Logo.tsx +24 -0
- package/website/components/StructuredData.tsx +65 -0
- package/website/components/docs/DocsSearch.tsx +104 -0
- package/website/components/docs/DocsSidebar.tsx +118 -0
- package/website/components/docs/MarkdownContent.tsx +183 -0
- package/website/components/docs/VersionSelector.tsx +49 -0
- package/website/components/examples/ExamplesViewer.tsx +293 -0
- package/website/components/layout/Footer.tsx +111 -0
- package/website/components/layout/Header.tsx +170 -0
- package/website/components/schema/SchemaExplorer.tsx +213 -0
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
- package/website/content/blog/introducing-ossa-framework.md +328 -0
- package/website/content/blog/ossa-production-results.md +279 -0
- package/website/content/blog/welcome-to-ossa.md +43 -0
- package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
- package/website/content/docs/00-HOME.md +160 -0
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/OpenAPI-Extensions.md +498 -0
- package/website/content/docs/architecture/execution-flow.md +335 -0
- package/website/content/docs/architecture/multi-agent-systems.md +737 -0
- package/website/content/docs/architecture/overview.md +121 -0
- package/website/content/docs/architecture/stack-integration.md +461 -0
- package/website/content/docs/changelog.md +246 -0
- package/website/content/docs/contributing.md +599 -0
- package/website/content/docs/core-concepts/project-structure.md +348 -0
- package/website/content/docs/ecosystem/framework-support.md +821 -0
- package/website/content/docs/ecosystem/overview.md +366 -0
- package/website/content/docs/examples/Migration-Guides.md +214 -0
- package/website/content/docs/examples.md +71 -0
- package/website/content/docs/for-audiences/Enterprises.md +256 -0
- package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
- package/website/content/docs/for-audiences/architects.md +224 -0
- package/website/content/docs/for-audiences/developers.md +220 -0
- package/website/content/docs/getting-started/5-minute-overview.md +85 -0
- package/website/content/docs/getting-started/Hello-World.md +184 -0
- package/website/content/docs/getting-started/first-agent.md +196 -0
- package/website/content/docs/getting-started/installation.md +155 -0
- package/website/content/docs/getting-started/running-agents.md +107 -0
- package/website/content/docs/integrations/aiflow.md +104 -0
- package/website/content/docs/integrations/drupal.md +105 -0
- package/website/content/docs/migration-guides/00-index.md +76 -0
- package/website/content/docs/migration-guides/README.md +133 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
- package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
- package/website/content/docs/migration-guides/index.md +133 -0
- package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
- package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
- package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
- package/website/content/docs/openapi-extensions/examples.md +550 -0
- package/website/content/docs/openapi-extensions/index.md +495 -0
- package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
- package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
- package/website/content/docs/pre-release/index.md +175 -0
- package/website/content/docs/quick-reference.md +17 -0
- package/website/content/docs/schema-reference/agent-spec.md +406 -0
- package/website/content/docs/schema-reference/autonomy.md +568 -0
- package/website/content/docs/schema-reference/constraints.md +543 -0
- package/website/content/docs/schema-reference/index.md +176 -0
- package/website/content/docs/schema-reference/llm-config.md +445 -0
- package/website/content/docs/schema-reference/observability.md +654 -0
- package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
- package/website/content/docs/schema-reference/taxonomy.md +509 -0
- package/website/content/docs/schema-reference/tools.md +628 -0
- package/website/content/docs/templates/blog-post.md +43 -0
- package/website/content/docs/use-cases/00-index.md +395 -0
- package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
- package/website/content/docs/use-cases/customer-support.md +1234 -0
- package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
- package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
- package/website/lib/version.ts +18 -0
- package/website/next.config.js +17 -0
- package/website/next.config.ts +16 -0
- package/website/nginx.conf +32 -0
- package/website/package-lock.json +9145 -0
- package/website/package.json +53 -0
- package/website/postcss.config.js +7 -0
- package/website/postcss.config.mjs +9 -0
- package/website/scripts/sync-version.js +44 -0
- package/website/scripts/sync-wiki.ts +261 -0
- package/website/tailwind.config.js +58 -0
- package/website/tailwind.config.ts +65 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# ========================================
|
|
2
|
+
# Hello World - Minimal OSSA Agent Example
|
|
3
|
+
# ========================================
|
|
4
|
+
#
|
|
5
|
+
# Use Case:
|
|
6
|
+
# Simplest possible OSSA agent to demonstrate core concepts
|
|
7
|
+
# and provide a starting template for beginners.
|
|
8
|
+
#
|
|
9
|
+
# Target Audience:
|
|
10
|
+
# Developers learning OSSA fundamentals, new agent creators,
|
|
11
|
+
# teams evaluating OSSA for their infrastructure.
|
|
12
|
+
#
|
|
13
|
+
# Complexity Level:
|
|
14
|
+
# Minimal - ~50 lines, covers essential fields only, no advanced features
|
|
15
|
+
#
|
|
16
|
+
# Key Concepts Demonstrated:
|
|
17
|
+
# 1. Minimal required fields for OSSA compliance
|
|
18
|
+
# 2. Basic capability definition (greeting, echo, status)
|
|
19
|
+
# 3. Simple REST API endpoint mapping
|
|
20
|
+
# 4. Service discovery configuration
|
|
21
|
+
#
|
|
22
|
+
# Related Examples:
|
|
23
|
+
# - See ../production/ for enterprise-grade examples
|
|
24
|
+
# - See ../advanced/ for complex multi-capability agents
|
|
25
|
+
# - See ../kagent/ for Kubernetes-integrated examples
|
|
26
|
+
#
|
|
27
|
+
# Learning Path:
|
|
28
|
+
# 1. Start here to understand basic structure
|
|
29
|
+
# 2. Move to ../production/ for best practices
|
|
30
|
+
# 3. Explore ../advanced/ for custom configurations
|
|
31
|
+
#
|
|
32
|
+
# ========================================
|
|
33
|
+
|
|
34
|
+
# OSSA specification version (required)
|
|
35
|
+
# This declares which version of the OSSA spec this manifest adheres to
|
|
36
|
+
# Current stable version: 1.0
|
|
37
|
+
ossa: 1.0
|
|
38
|
+
|
|
39
|
+
# Agent metadata section (required)
|
|
40
|
+
agent:
|
|
41
|
+
# Unique identifier for this agent across all deployments
|
|
42
|
+
# Format: lowercase alphanumeric + hyphens (DNS-safe)
|
|
43
|
+
# Example: "hello-world", "user-auth-agent", "data-processor-v2"
|
|
44
|
+
name: hello-world
|
|
45
|
+
|
|
46
|
+
# Semantic version of the agent (major.minor.patch)
|
|
47
|
+
# Increment when creating breaking changes, features, or fixes
|
|
48
|
+
# Example: 1.0.0 → 1.0.1 (patch fix) → 1.1.0 (new feature) → 2.0.0 (breaking change)
|
|
49
|
+
version: 1.0.0
|
|
50
|
+
|
|
51
|
+
# Human-readable description displayed in registries and dashboards
|
|
52
|
+
# Keep to 1-2 sentences; detailed docs belong in README/wiki
|
|
53
|
+
description: Minimal OSSA-compliant agent example
|
|
54
|
+
|
|
55
|
+
# Author or organization name for attribution and support contact
|
|
56
|
+
# Can be team name, company, or individual contributor
|
|
57
|
+
author: OSSA Community
|
|
58
|
+
|
|
59
|
+
# Software license identifier (SPDX standard)
|
|
60
|
+
# Common: MIT, Apache-2.0, GPL-3.0, Proprietary
|
|
61
|
+
# See https://spdx.org/licenses/ for complete list
|
|
62
|
+
license: MIT
|
|
63
|
+
|
|
64
|
+
# Service discovery configuration (required for production)
|
|
65
|
+
# Controls how other services find and register this agent
|
|
66
|
+
discover:
|
|
67
|
+
# Enable automatic service discovery
|
|
68
|
+
# true = agent automatically registers itself when deployed
|
|
69
|
+
# false = manual registration required via external registry
|
|
70
|
+
auto: true
|
|
71
|
+
|
|
72
|
+
# Agent capabilities (required)
|
|
73
|
+
# Lists logical functions/features this agent can perform
|
|
74
|
+
# Each capability can be invoked through REST API endpoints
|
|
75
|
+
# Format: list of capability names (lowercase, hyphen-separated)
|
|
76
|
+
capabilities:
|
|
77
|
+
# Simple greeting capability - generates personalized responses
|
|
78
|
+
- greeting
|
|
79
|
+
|
|
80
|
+
# Echo capability - reflects input back (useful for testing/debugging)
|
|
81
|
+
- echo
|
|
82
|
+
|
|
83
|
+
# Status capability - reports agent health and runtime information
|
|
84
|
+
- status
|
|
85
|
+
|
|
86
|
+
# REST API endpoint definitions (required)
|
|
87
|
+
# Maps HTTP methods + paths to agent capabilities
|
|
88
|
+
# Enables external services to invoke agent functionality
|
|
89
|
+
api:
|
|
90
|
+
# POST /greet endpoint
|
|
91
|
+
# HTTP Method: POST (creates/executes something)
|
|
92
|
+
# Path: /greet (relative to agent base URL)
|
|
93
|
+
POST /greet:
|
|
94
|
+
# Which capability this endpoint invokes
|
|
95
|
+
# Must match a name in the capabilities list above
|
|
96
|
+
capability: greeting
|
|
97
|
+
|
|
98
|
+
# Human-readable description for API documentation
|
|
99
|
+
# Displayed in OpenAPI/Swagger documentation
|
|
100
|
+
description: Generate a personalized greeting
|
|
101
|
+
|
|
102
|
+
# POST /echo endpoint
|
|
103
|
+
# Demonstrates request body processing capability
|
|
104
|
+
POST /echo:
|
|
105
|
+
# Routes to echo capability defined above
|
|
106
|
+
capability: echo
|
|
107
|
+
|
|
108
|
+
# Documents expected behavior in API docs
|
|
109
|
+
description: Echo input back to user
|
|
110
|
+
|
|
111
|
+
# GET /status endpoint
|
|
112
|
+
# HTTP Method: GET (retrieves information without side effects)
|
|
113
|
+
# Used for health checks, monitoring, and readiness probes
|
|
114
|
+
GET /status:
|
|
115
|
+
# Links to status capability for runtime inspection
|
|
116
|
+
capability: status
|
|
117
|
+
|
|
118
|
+
# Documents the purpose of status endpoint
|
|
119
|
+
description: Get agent status
|
|
120
|
+
|
|
121
|
+
# ========================================
|
|
122
|
+
# Validation & Next Steps
|
|
123
|
+
# ========================================
|
|
124
|
+
#
|
|
125
|
+
# To validate this manifest:
|
|
126
|
+
#
|
|
127
|
+
# ossa validate ./agent.yml
|
|
128
|
+
#
|
|
129
|
+
# To validate with strict OSSA 1.0 compliance:
|
|
130
|
+
#
|
|
131
|
+
# ossa validate ./agent.yml --version 1.0 --strict
|
|
132
|
+
#
|
|
133
|
+
# To create a new agent from this template:
|
|
134
|
+
#
|
|
135
|
+
# ossa init my-agent --template minimal
|
|
136
|
+
# # Then customize agent.yml with your values
|
|
137
|
+
#
|
|
138
|
+
# To run this agent locally:
|
|
139
|
+
#
|
|
140
|
+
# ossa run ./agent.yml --port 3000
|
|
141
|
+
# # Then test endpoints:
|
|
142
|
+
# curl -X POST http://localhost:3000/greet -H "Content-Type: application/json" -d '{"name":"World"}'
|
|
143
|
+
# curl -X GET http://localhost:3000/status
|
|
144
|
+
#
|
|
145
|
+
# Key Next Steps:
|
|
146
|
+
# 1. Customize name, description, author for your use case
|
|
147
|
+
# 2. Define actual implementation for each capability
|
|
148
|
+
# 3. Add request/response schemas for type safety
|
|
149
|
+
# 4. Add authentication/authorization if needed (see ../production/)
|
|
150
|
+
# 5. Push to registry: ossa publish ./agent.yml
|
|
151
|
+
#
|
|
152
|
+
# ========================================
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
openapi: 3.1.0
|
|
2
|
+
info:
|
|
3
|
+
title: Hello World Agent
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
description: Minimal OSSA-compliant agent API
|
|
6
|
+
|
|
7
|
+
servers:
|
|
8
|
+
- url: http://localhost:3000
|
|
9
|
+
description: Local development server
|
|
10
|
+
|
|
11
|
+
paths:
|
|
12
|
+
/greet:
|
|
13
|
+
post:
|
|
14
|
+
summary: Generate greeting
|
|
15
|
+
operationId: greet
|
|
16
|
+
tags: [greeting]
|
|
17
|
+
requestBody:
|
|
18
|
+
required: true
|
|
19
|
+
content:
|
|
20
|
+
application/json:
|
|
21
|
+
schema:
|
|
22
|
+
type: object
|
|
23
|
+
required: [name]
|
|
24
|
+
properties:
|
|
25
|
+
name:
|
|
26
|
+
type: string
|
|
27
|
+
description: Name to greet
|
|
28
|
+
language:
|
|
29
|
+
type: string
|
|
30
|
+
enum: [en, es, fr, de]
|
|
31
|
+
default: en
|
|
32
|
+
responses:
|
|
33
|
+
'200':
|
|
34
|
+
description: Greeting generated successfully
|
|
35
|
+
content:
|
|
36
|
+
application/json:
|
|
37
|
+
schema:
|
|
38
|
+
type: object
|
|
39
|
+
properties:
|
|
40
|
+
message:
|
|
41
|
+
type: string
|
|
42
|
+
timestamp:
|
|
43
|
+
type: string
|
|
44
|
+
format: date-time
|
|
45
|
+
|
|
46
|
+
/echo:
|
|
47
|
+
post:
|
|
48
|
+
summary: Echo input
|
|
49
|
+
operationId: echo
|
|
50
|
+
tags: [echo]
|
|
51
|
+
requestBody:
|
|
52
|
+
required: true
|
|
53
|
+
content:
|
|
54
|
+
application/json:
|
|
55
|
+
schema:
|
|
56
|
+
type: object
|
|
57
|
+
required: [message]
|
|
58
|
+
properties:
|
|
59
|
+
message:
|
|
60
|
+
type: string
|
|
61
|
+
responses:
|
|
62
|
+
'200':
|
|
63
|
+
description: Message echoed
|
|
64
|
+
content:
|
|
65
|
+
application/json:
|
|
66
|
+
schema:
|
|
67
|
+
type: object
|
|
68
|
+
properties:
|
|
69
|
+
echo:
|
|
70
|
+
type: string
|
|
71
|
+
received_at:
|
|
72
|
+
type: string
|
|
73
|
+
format: date-time
|
|
74
|
+
|
|
75
|
+
/status:
|
|
76
|
+
get:
|
|
77
|
+
summary: Get agent status
|
|
78
|
+
operationId: getStatus
|
|
79
|
+
tags: [status]
|
|
80
|
+
responses:
|
|
81
|
+
'200':
|
|
82
|
+
description: Agent status
|
|
83
|
+
content:
|
|
84
|
+
application/json:
|
|
85
|
+
schema:
|
|
86
|
+
type: object
|
|
87
|
+
properties:
|
|
88
|
+
status:
|
|
89
|
+
type: string
|
|
90
|
+
enum: [online, offline, maintenance]
|
|
91
|
+
version:
|
|
92
|
+
type: string
|
|
93
|
+
uptime:
|
|
94
|
+
type: integer
|
|
95
|
+
description: Uptime in seconds
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"apiVersion": "ossa/v0.2.3",
|
|
3
|
+
"kind": "Agent",
|
|
4
|
+
"metadata": {
|
|
5
|
+
"name": "swarm-agent",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"description": "OpenAI Agents SDK swarm agent"
|
|
8
|
+
},
|
|
9
|
+
"spec": {
|
|
10
|
+
"role": "You are a helpful AI assistant that can coordinate with other agents to solve complex tasks.",
|
|
11
|
+
"llm": {
|
|
12
|
+
"provider": "openai",
|
|
13
|
+
"model": "gpt-4o",
|
|
14
|
+
"temperature": 0.7
|
|
15
|
+
},
|
|
16
|
+
"tools": [
|
|
17
|
+
{
|
|
18
|
+
"type": "function",
|
|
19
|
+
"name": "search_web",
|
|
20
|
+
"capabilities": ["search", "retrieve"]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "function",
|
|
24
|
+
"name": "execute_code",
|
|
25
|
+
"capabilities": ["run", "evaluate"]
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"extensions": {
|
|
30
|
+
"openai_agents": {
|
|
31
|
+
"enabled": true,
|
|
32
|
+
"model": "gpt-4o",
|
|
33
|
+
"instructions": "You are a helpful AI assistant that can coordinate with other agents to solve complex tasks.",
|
|
34
|
+
"tools_mapping": [
|
|
35
|
+
{
|
|
36
|
+
"ossa_capability": "search_web",
|
|
37
|
+
"openai_tool_name": "web_search",
|
|
38
|
+
"description": "Search the web for information"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"ossa_capability": "execute_code",
|
|
42
|
+
"openai_tool_name": "code_executor",
|
|
43
|
+
"description": "Execute Python code safely"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"guardrails": {
|
|
47
|
+
"enabled": true,
|
|
48
|
+
"max_tool_calls": 10,
|
|
49
|
+
"timeout_seconds": 300
|
|
50
|
+
},
|
|
51
|
+
"memory": {
|
|
52
|
+
"enabled": true,
|
|
53
|
+
"type": "session",
|
|
54
|
+
"max_messages": 50
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# OSSA OpenAPI Extensions Examples
|
|
2
|
+
|
|
3
|
+
This directory contains example OpenAPI 3.1 specifications demonstrating OSSA extensions for AI agents.
|
|
4
|
+
|
|
5
|
+
## Examples
|
|
6
|
+
|
|
7
|
+
### minimal-agent-api.openapi.yml
|
|
8
|
+
|
|
9
|
+
**Purpose**: Minimal example showing basic OSSA extensions
|
|
10
|
+
|
|
11
|
+
**Features Demonstrated**:
|
|
12
|
+
- Root-level `x-ossa-metadata` extension
|
|
13
|
+
- Root-level `x-ossa` extension with agent identification
|
|
14
|
+
- Operation-level `x-ossa-capability` extension
|
|
15
|
+
- Operation-level `x-ossa-autonomy` extension
|
|
16
|
+
- Operation-level `x-ossa-llm` extension
|
|
17
|
+
|
|
18
|
+
**Use Case**: Simple greeting agent that demonstrates the basics of OSSA extensions without complexity.
|
|
19
|
+
|
|
20
|
+
### worker-agent-api.openapi.yml
|
|
21
|
+
|
|
22
|
+
**Purpose**: Complete worker agent API showing all OSSA extensions
|
|
23
|
+
|
|
24
|
+
**Features Demonstrated**:
|
|
25
|
+
- Full `x-ossa-metadata` with governance and compliance
|
|
26
|
+
- Complete `x-ossa` and `x-agent` root extensions
|
|
27
|
+
- All operation-level extensions (capability, autonomy, constraints, tools, llm)
|
|
28
|
+
- Parameter extensions (`X-OSSA-Agent-ID`, `X-OSSA-Version`)
|
|
29
|
+
- Schema extensions (`x-ossa-capability-schema`)
|
|
30
|
+
- Real-world example: Kubernetes troubleshooting agent
|
|
31
|
+
|
|
32
|
+
**Use Case**: Production-ready worker agent that diagnoses Kubernetes pod issues using MCP tools.
|
|
33
|
+
|
|
34
|
+
### orchestrator-agent-api.openapi.yml
|
|
35
|
+
|
|
36
|
+
**Purpose**: Multi-agent orchestration example
|
|
37
|
+
|
|
38
|
+
**Features Demonstrated**:
|
|
39
|
+
- Orchestrator agent type
|
|
40
|
+
- Multi-agent coordination capabilities
|
|
41
|
+
- Complex workflow execution with task delegation
|
|
42
|
+
- Higher-level constraints for orchestrator operations
|
|
43
|
+
- Multiple MCP tool integrations (agent-router, agent-mesh, workflow-engine)
|
|
44
|
+
|
|
45
|
+
**Use Case**: Orchestrator that coordinates multiple worker agents to execute complex workflows.
|
|
46
|
+
|
|
47
|
+
## Running Examples
|
|
48
|
+
|
|
49
|
+
### Validate Examples
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# Validate a specific example
|
|
53
|
+
ossa validate --openapi examples/openapi-extensions/minimal-agent-api.openapi.yml
|
|
54
|
+
|
|
55
|
+
# Validate all examples
|
|
56
|
+
find examples/openapi-extensions -name "*.openapi.yml" -exec ossa validate --openapi {} \;
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Using with OpenAPI Tools
|
|
60
|
+
|
|
61
|
+
All examples are valid OpenAPI 3.1 specs and work with standard OpenAPI tools:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Generate documentation with Redoc
|
|
65
|
+
npx @redocly/cli build-docs examples/openapi-extensions/worker-agent-api.openapi.yml
|
|
66
|
+
|
|
67
|
+
# Generate client with openapi-generator
|
|
68
|
+
npx @openapitools/openapi-generator-cli generate \
|
|
69
|
+
-i examples/openapi-extensions/worker-agent-api.openapi.yml \
|
|
70
|
+
-g typescript-axios \
|
|
71
|
+
-o ./generated-client
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Viewing Examples
|
|
75
|
+
|
|
76
|
+
Use any OpenAPI viewer:
|
|
77
|
+
- [Swagger Editor](https://editor.swagger.io/) - Paste YAML content
|
|
78
|
+
- [Swagger UI](https://swagger.io/tools/swagger-ui/) - Host locally
|
|
79
|
+
- [Stoplight Studio](https://stoplight.io/studio) - Desktop app
|
|
80
|
+
|
|
81
|
+
## Documentation
|
|
82
|
+
|
|
83
|
+
For complete documentation on OSSA OpenAPI extensions, see:
|
|
84
|
+
- [OpenAPI Extensions Documentation](../../docs/openapi-extensions.md)
|
|
85
|
+
- [OSSA Specification](../../spec/v0.2.2/OSSA-SPECIFICATION-v0.2.2.md)
|
|
86
|
+
- [GitLab Wiki](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard/-/wikis/home)
|
|
87
|
+
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
# ============================================================================
|
|
2
|
+
# OSSA OpenAPI Extensions Example: Minimal Agent API
|
|
3
|
+
# ============================================================================
|
|
4
|
+
#
|
|
5
|
+
# PURPOSE:
|
|
6
|
+
# Demonstrates the minimal OpenAPI 3.1 specification with OSSA extensions
|
|
7
|
+
# for defining agent APIs. Shows how to add OSSA metadata to standard
|
|
8
|
+
# OpenAPI specs for agent discovery, validation, and lifecycle management.
|
|
9
|
+
#
|
|
10
|
+
# KEY CONCEPTS:
|
|
11
|
+
# - OpenAPI 3.1 as the base specification (JSON Schema compatible)
|
|
12
|
+
# - OSSA extensions via x-ossa-* fields (vendor extensions)
|
|
13
|
+
# - Agent capabilities mapped to OpenAPI operations
|
|
14
|
+
# - Type-safe contracts with JSON Schema validation
|
|
15
|
+
# - LLM configuration at the operation level
|
|
16
|
+
#
|
|
17
|
+
# ARCHITECTURE:
|
|
18
|
+
# OpenAPI 3.1 Spec
|
|
19
|
+
# + x-ossa-metadata (document-level OSSA info)
|
|
20
|
+
# + x-ossa (agent configuration)
|
|
21
|
+
# + x-ossa-capability (operation-level capability metadata)
|
|
22
|
+
# + x-ossa-autonomy (operation-level autonomy controls)
|
|
23
|
+
# + x-ossa-llm (operation-level LLM configuration)
|
|
24
|
+
# → OSSA-compliant Agent API
|
|
25
|
+
#
|
|
26
|
+
# USE CASE:
|
|
27
|
+
# Simple greeting agent that generates personalized greetings in multiple
|
|
28
|
+
# languages using GPT-3.5-turbo. Demonstrates OSSA's OpenAPI-first approach.
|
|
29
|
+
#
|
|
30
|
+
# RELATED DOCUMENTATION:
|
|
31
|
+
# - OSSA OpenAPI Extensions: spec/OSSA_OpenAPI_Extensions.md
|
|
32
|
+
# - OpenAPI 3.1 Spec: https://spec.openapis.org/oas/v3.1.0
|
|
33
|
+
# - Worker Agent Example: examples/openapi-extensions/worker-agent-api.openapi.yml
|
|
34
|
+
# ============================================================================
|
|
35
|
+
|
|
36
|
+
openapi: 3.1.0
|
|
37
|
+
|
|
38
|
+
# ============================================================================
|
|
39
|
+
# API Information Block (Standard OpenAPI)
|
|
40
|
+
# ============================================================================
|
|
41
|
+
info:
|
|
42
|
+
title: Hello World Agent API
|
|
43
|
+
version: 1.0.0
|
|
44
|
+
description: |
|
|
45
|
+
Minimal OSSA-compliant agent API demonstrating basic OpenAPI extensions.
|
|
46
|
+
This example shows a simple greeting agent with OSSA metadata.
|
|
47
|
+
|
|
48
|
+
# ============================================================================
|
|
49
|
+
# OSSA Metadata Extension (Document-Level)
|
|
50
|
+
# ============================================================================
|
|
51
|
+
# x-ossa-metadata provides OSSA-specific information about the API document.
|
|
52
|
+
# This is separate from the agent configuration (x-ossa) to allow for
|
|
53
|
+
# governance, compliance, and operational metadata.
|
|
54
|
+
# ============================================================================
|
|
55
|
+
x-ossa-metadata:
|
|
56
|
+
# OSSA specification version this document conforms to
|
|
57
|
+
version: 0.2.2
|
|
58
|
+
|
|
59
|
+
# Compliance information for governance and audit
|
|
60
|
+
compliance:
|
|
61
|
+
level: basic # basic, intermediate, advanced, enterprise
|
|
62
|
+
frameworks:
|
|
63
|
+
- OSSA # Open Standard for System Agents
|
|
64
|
+
- OpenAPI 3.1 # Base specification
|
|
65
|
+
|
|
66
|
+
# ============================================================================
|
|
67
|
+
# OSSA Agent Configuration Extension
|
|
68
|
+
# ============================================================================
|
|
69
|
+
# x-ossa defines the agent's identity, type, and compliance status.
|
|
70
|
+
# This metadata enables agent registries, discovery, and validation tools.
|
|
71
|
+
# ============================================================================
|
|
72
|
+
x-ossa:
|
|
73
|
+
# OSSA version (should match x-ossa-metadata.version)
|
|
74
|
+
version: 0.2.2
|
|
75
|
+
|
|
76
|
+
# Agent identity and type
|
|
77
|
+
agent:
|
|
78
|
+
# Unique agent identifier (DNS-compatible)
|
|
79
|
+
id: hello-world-agent
|
|
80
|
+
|
|
81
|
+
# Agent type determines execution model:
|
|
82
|
+
# - "worker": Task-based, stateless execution
|
|
83
|
+
# - "chat": Interactive, stateful conversation
|
|
84
|
+
# - "orchestrator": Coordinates other agents
|
|
85
|
+
# - "integration": Long-running service connector
|
|
86
|
+
type: worker
|
|
87
|
+
|
|
88
|
+
# Compliance tracking for validation pipelines
|
|
89
|
+
compliance:
|
|
90
|
+
# Standards this agent implementation adheres to
|
|
91
|
+
standards:
|
|
92
|
+
- openapi-first # API-first design approach
|
|
93
|
+
|
|
94
|
+
# Validation status (set by OSSA validators)
|
|
95
|
+
validated: true
|
|
96
|
+
validatedAt: "2024-01-15T10:00:00Z" # ISO 8601 timestamp
|
|
97
|
+
|
|
98
|
+
# ============================================================================
|
|
99
|
+
# API Paths (Standard OpenAPI with OSSA Extensions)
|
|
100
|
+
# ============================================================================
|
|
101
|
+
paths:
|
|
102
|
+
# ==========================================================================
|
|
103
|
+
# /greet - Generate Personalized Greeting
|
|
104
|
+
# ==========================================================================
|
|
105
|
+
# Demonstrates OSSA capability mapping to OpenAPI operation.
|
|
106
|
+
# Each operation represents one agent capability with:
|
|
107
|
+
# - Standard OpenAPI request/response schemas
|
|
108
|
+
# - OSSA capability metadata (x-ossa-capability)
|
|
109
|
+
# - Autonomy controls (x-ossa-autonomy)
|
|
110
|
+
# - LLM configuration (x-ossa-llm)
|
|
111
|
+
# ==========================================================================
|
|
112
|
+
/greet:
|
|
113
|
+
post:
|
|
114
|
+
# Standard OpenAPI operation metadata
|
|
115
|
+
summary: Generate greeting
|
|
116
|
+
description: Generates a personalized greeting using LLM
|
|
117
|
+
|
|
118
|
+
# Unique operation identifier (used for code generation)
|
|
119
|
+
operationId: greet
|
|
120
|
+
|
|
121
|
+
# Tags for grouping operations in documentation
|
|
122
|
+
tags:
|
|
123
|
+
- Greeting
|
|
124
|
+
|
|
125
|
+
# ======================================================================
|
|
126
|
+
# OSSA Capability Extension
|
|
127
|
+
# ======================================================================
|
|
128
|
+
# Maps this OpenAPI operation to an OSSA agent capability.
|
|
129
|
+
# Capability name must match agent manifest capability IDs.
|
|
130
|
+
# ======================================================================
|
|
131
|
+
x-ossa-capability: greeting
|
|
132
|
+
|
|
133
|
+
# ======================================================================
|
|
134
|
+
# OSSA Autonomy Extension
|
|
135
|
+
# ======================================================================
|
|
136
|
+
# Defines autonomy level and approval requirements for this operation.
|
|
137
|
+
# Controls how much freedom the agent has when executing this capability.
|
|
138
|
+
# ======================================================================
|
|
139
|
+
x-ossa-autonomy:
|
|
140
|
+
# Autonomy levels:
|
|
141
|
+
# - "autonomous": Agent can execute without human approval
|
|
142
|
+
# - "supervised": Human must approve before execution
|
|
143
|
+
# - "collaborative": Human and agent work together
|
|
144
|
+
level: autonomous
|
|
145
|
+
|
|
146
|
+
# Whether approval is required (overrides level if true)
|
|
147
|
+
approval_required: false
|
|
148
|
+
|
|
149
|
+
# ======================================================================
|
|
150
|
+
# OSSA LLM Extension
|
|
151
|
+
# ======================================================================
|
|
152
|
+
# Specifies which LLM to use for this specific operation.
|
|
153
|
+
# Allows per-operation model selection for cost/performance optimization.
|
|
154
|
+
# ======================================================================
|
|
155
|
+
x-ossa-llm:
|
|
156
|
+
provider: openai # LLM provider (openai, anthropic, etc.)
|
|
157
|
+
model: gpt-3.5-turbo # Model identifier (fast, low-cost)
|
|
158
|
+
temperature: 0.7 # Creativity level (0.0-1.0)
|
|
159
|
+
|
|
160
|
+
# Standard OpenAPI request body definition
|
|
161
|
+
requestBody:
|
|
162
|
+
required: true
|
|
163
|
+
content:
|
|
164
|
+
# JSON content type (most common for agent APIs)
|
|
165
|
+
application/json:
|
|
166
|
+
# JSON Schema for request validation
|
|
167
|
+
schema:
|
|
168
|
+
type: object
|
|
169
|
+
|
|
170
|
+
# Required fields (validated before execution)
|
|
171
|
+
required:
|
|
172
|
+
- name
|
|
173
|
+
|
|
174
|
+
properties:
|
|
175
|
+
# Person's name to include in greeting
|
|
176
|
+
name:
|
|
177
|
+
type: string
|
|
178
|
+
description: Name to greet
|
|
179
|
+
example: "Alice"
|
|
180
|
+
|
|
181
|
+
# Target language for greeting (enum constraint)
|
|
182
|
+
language:
|
|
183
|
+
type: string
|
|
184
|
+
enum:
|
|
185
|
+
- en # English
|
|
186
|
+
- es # Spanish
|
|
187
|
+
- fr # French
|
|
188
|
+
- de # German
|
|
189
|
+
default: en
|
|
190
|
+
description: Language for greeting
|
|
191
|
+
|
|
192
|
+
# Response definitions (standard OpenAPI)
|
|
193
|
+
responses:
|
|
194
|
+
# Success response (200 OK)
|
|
195
|
+
'200':
|
|
196
|
+
description: Greeting generated successfully
|
|
197
|
+
content:
|
|
198
|
+
application/json:
|
|
199
|
+
schema:
|
|
200
|
+
type: object
|
|
201
|
+
properties:
|
|
202
|
+
# Generated greeting text
|
|
203
|
+
message:
|
|
204
|
+
type: string
|
|
205
|
+
description: The greeting message
|
|
206
|
+
example: "Hello, Alice! Welcome to OSSA."
|
|
207
|
+
|
|
208
|
+
# Timestamp for audit trail
|
|
209
|
+
timestamp:
|
|
210
|
+
type: string
|
|
211
|
+
format: date-time
|
|
212
|
+
description: When the greeting was generated
|
|
213
|
+
|
|
214
|
+
# ==========================================================================
|
|
215
|
+
# /status - Agent Health Check
|
|
216
|
+
# ==========================================================================
|
|
217
|
+
# Standard health check endpoint for monitoring and orchestration.
|
|
218
|
+
# Does not use LLM, so no x-ossa-llm extension needed.
|
|
219
|
+
# ==========================================================================
|
|
220
|
+
/status:
|
|
221
|
+
get:
|
|
222
|
+
summary: Get agent status
|
|
223
|
+
description: Returns the current status of the agent
|
|
224
|
+
operationId: getStatus
|
|
225
|
+
|
|
226
|
+
tags:
|
|
227
|
+
- Status
|
|
228
|
+
|
|
229
|
+
responses:
|
|
230
|
+
'200':
|
|
231
|
+
description: Agent status
|
|
232
|
+
content:
|
|
233
|
+
application/json:
|
|
234
|
+
schema:
|
|
235
|
+
type: object
|
|
236
|
+
properties:
|
|
237
|
+
# Current operational status
|
|
238
|
+
status:
|
|
239
|
+
type: string
|
|
240
|
+
enum:
|
|
241
|
+
- online # Agent is operational
|
|
242
|
+
- offline # Agent is not responding
|
|
243
|
+
- maintenance # Agent is in maintenance mode
|
|
244
|
+
description: Current agent status
|
|
245
|
+
|
|
246
|
+
# Agent version for deployment tracking
|
|
247
|
+
version:
|
|
248
|
+
type: string
|
|
249
|
+
description: Agent version
|
|
250
|
+
|
|
251
|
+
# Uptime metric for monitoring
|
|
252
|
+
uptime:
|
|
253
|
+
type: integer
|
|
254
|
+
description: Uptime in seconds
|
|
255
|
+
|
|
256
|
+
# ============================================================================
|
|
257
|
+
# End of Minimal OSSA OpenAPI Example
|
|
258
|
+
# ============================================================================
|
|
259
|
+
#
|
|
260
|
+
# VALIDATION:
|
|
261
|
+
# # Validate OpenAPI spec
|
|
262
|
+
# swagger-cli validate minimal-agent-api.openapi.yml
|
|
263
|
+
#
|
|
264
|
+
# # Validate OSSA extensions
|
|
265
|
+
# ossa validate minimal-agent-api.openapi.yml
|
|
266
|
+
#
|
|
267
|
+
# CODE GENERATION:
|
|
268
|
+
# # Generate server stub
|
|
269
|
+
# openapi-generator generate -i minimal-agent-api.openapi.yml \
|
|
270
|
+
# -g python-flask -o ./server
|
|
271
|
+
#
|
|
272
|
+
# # Generate client SDK
|
|
273
|
+
# openapi-generator generate -i minimal-agent-api.openapi.yml \
|
|
274
|
+
# -g typescript-axios -o ./client
|
|
275
|
+
#
|
|
276
|
+
# KEY TAKEAWAYS:
|
|
277
|
+
# 1. OSSA extends OpenAPI 3.1 with x-ossa-* vendor extensions
|
|
278
|
+
# 2. Standard OpenAPI tooling still works (validators, generators, docs)
|
|
279
|
+
# 3. OSSA extensions add agent-specific metadata (capabilities, autonomy, LLM)
|
|
280
|
+
# 4. One OpenAPI operation = One agent capability
|
|
281
|
+
# 5. Type-safe contracts with JSON Schema validation
|
|
282
|
+
#
|
|
283
|
+
# RELATED EXAMPLES:
|
|
284
|
+
# - examples/openapi-extensions/worker-agent-api.openapi.yml (full features)
|
|
285
|
+
# - examples/drupal/gitlab-ml-recommender.ossa.yaml (YAML manifest format)
|
|
286
|
+
# - spec/OSSA_OpenAPI_Extensions.md (complete specification)
|
|
287
|
+
# ============================================================================
|
|
288
|
+
|