@bluefly/openstandardagents 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.buildkit/agent-first-policy.sh +65 -0
- package/.buildkit/branching-workflow.json +41 -0
- package/.buildkit/hooks.yaml +23 -0
- package/.buildkit/install-buildkit-setup.cjs +483 -0
- package/.cursor/plans/ossa-comprehensive-enhancement-issue-audit-plan.plan.md +735 -0
- package/.cursor/plans/ossa-enterprise-transformation-plan-0ccaf09b.plan.md +373 -0
- package/.cursor/plans/ossa-milestone-organization-and-v0-2-4-release-6dafa4ec.plan.md +214 -0
- package/.cursor/rules/problems.json +483 -0
- package/.cursor/settings.json +29 -0
- package/.cursor/worktrees.json +95 -0
- package/.env.example +41 -0
- package/.env.local +31 -0
- package/.github/ISSUE_TEMPLATE/README.md +33 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +61 -0
- package/.github/ISSUE_TEMPLATE/config.yml +12 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +75 -0
- package/.github/wiki_templates/home.md +39 -0
- package/.gitignore.bak +489 -0
- package/.gitlab-ci-trigger +1 -0
- package/.husky/pre-commit +31 -0
- package/.lintstagedrc.json +16 -0
- package/.redocly.yaml +63 -0
- package/.vscode/extensions.json +6 -0
- package/.vscode/settings.json +3 -0
- package/AUDIT_FIXES.md +139 -0
- package/AUDIT_REPORT.md +308 -0
- package/BUILDKIT_INTEGRATION.md +146 -0
- package/Dockerfile +35 -0
- package/README.md +559 -0
- package/dist/adk/adapters/index.d.ts +64 -0
- package/dist/adk/adapters/index.d.ts.map +1 -0
- package/dist/adk/adapters/index.js +257 -0
- package/dist/adk/adapters/index.js.map +1 -0
- package/dist/adk/agents/custom-agent.d.ts +55 -0
- package/dist/adk/agents/custom-agent.d.ts.map +1 -0
- package/dist/adk/agents/custom-agent.js +167 -0
- package/dist/adk/agents/custom-agent.js.map +1 -0
- package/dist/adk/agents/index.d.ts +64 -0
- package/dist/adk/agents/index.d.ts.map +1 -0
- package/dist/adk/agents/index.js +125 -0
- package/dist/adk/agents/index.js.map +1 -0
- package/dist/adk/agents/llm-agent.d.ts +27 -0
- package/dist/adk/agents/llm-agent.d.ts.map +1 -0
- package/dist/adk/agents/llm-agent.js +63 -0
- package/dist/adk/agents/llm-agent.js.map +1 -0
- package/dist/adk/agents/workflow-agent.d.ts +42 -0
- package/dist/adk/agents/workflow-agent.d.ts.map +1 -0
- package/dist/adk/agents/workflow-agent.js +144 -0
- package/dist/adk/agents/workflow-agent.js.map +1 -0
- package/dist/adk/index.d.ts +10 -0
- package/dist/adk/index.d.ts.map +1 -0
- package/dist/adk/index.js +10 -0
- package/dist/adk/index.js.map +1 -0
- package/dist/adk/orchestration/index.d.ts +63 -0
- package/dist/adk/orchestration/index.d.ts.map +1 -0
- package/dist/adk/orchestration/index.js +264 -0
- package/dist/adk/orchestration/index.js.map +1 -0
- package/dist/adk/state/index.d.ts +73 -0
- package/dist/adk/state/index.d.ts.map +1 -0
- package/dist/adk/state/index.js +177 -0
- package/dist/adk/state/index.js.map +1 -0
- package/dist/adk/tools/index.d.ts +65 -0
- package/dist/adk/tools/index.d.ts.map +1 -0
- package/dist/adk/tools/index.js +252 -0
- package/dist/adk/tools/index.js.map +1 -0
- package/dist/cli/agent-deployment.d.ts +34 -0
- package/dist/cli/agent-deployment.d.ts.map +1 -0
- package/dist/cli/agent-deployment.js +396 -0
- package/dist/cli/agent-deployment.js.map +1 -0
- package/dist/cli/commands/discover.command.d.ts +7 -0
- package/dist/cli/commands/discover.command.d.ts.map +1 -0
- package/dist/cli/commands/discover.command.js +80 -0
- package/dist/cli/commands/discover.command.js.map +1 -0
- package/dist/cli/commands/export.command.d.ts +7 -0
- package/dist/cli/commands/export.command.d.ts.map +1 -0
- package/dist/cli/commands/export.command.js +56 -0
- package/dist/cli/commands/export.command.js.map +1 -0
- package/dist/cli/commands/generate.command.d.ts +7 -0
- package/dist/cli/commands/generate.command.d.ts.map +1 -0
- package/dist/cli/commands/generate.command.js +66 -0
- package/dist/cli/commands/generate.command.js.map +1 -0
- package/dist/cli/commands/gitlab-agent.command.d.ts +8 -0
- package/dist/cli/commands/gitlab-agent.command.d.ts.map +1 -0
- package/dist/cli/commands/gitlab-agent.command.js +201 -0
- package/dist/cli/commands/gitlab-agent.command.js.map +1 -0
- package/dist/cli/commands/import.command.d.ts +7 -0
- package/dist/cli/commands/import.command.d.ts.map +1 -0
- package/dist/cli/commands/import.command.js +36 -0
- package/dist/cli/commands/import.command.js.map +1 -0
- package/dist/cli/commands/init.command.d.ts +7 -0
- package/dist/cli/commands/init.command.d.ts.map +1 -0
- package/dist/cli/commands/init.command.js +146 -0
- package/dist/cli/commands/init.command.js.map +1 -0
- package/dist/cli/commands/migrate.command.d.ts +7 -0
- package/dist/cli/commands/migrate.command.d.ts.map +1 -0
- package/dist/cli/commands/migrate.command.js +110 -0
- package/dist/cli/commands/migrate.command.js.map +1 -0
- package/dist/cli/commands/ossa.d.ts +9 -0
- package/dist/cli/commands/ossa.d.ts.map +1 -0
- package/dist/cli/commands/ossa.js +234 -0
- package/dist/cli/commands/ossa.js.map +1 -0
- package/dist/cli/commands/run.command.d.ts +7 -0
- package/dist/cli/commands/run.command.d.ts.map +1 -0
- package/dist/cli/commands/run.command.js +114 -0
- package/dist/cli/commands/run.command.js.map +1 -0
- package/dist/cli/commands/schema.command.d.ts +7 -0
- package/dist/cli/commands/schema.command.d.ts.map +1 -0
- package/dist/cli/commands/schema.command.js +72 -0
- package/dist/cli/commands/schema.command.js.map +1 -0
- package/dist/cli/commands/validate.command.d.ts +7 -0
- package/dist/cli/commands/validate.command.d.ts.map +1 -0
- package/dist/cli/commands/validate.command.js +125 -0
- package/dist/cli/commands/validate.command.js.map +1 -0
- package/dist/cli/commands/worktree.d.ts +7 -0
- package/dist/cli/commands/worktree.d.ts.map +1 -0
- package/dist/cli/commands/worktree.js +509 -0
- package/dist/cli/commands/worktree.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +50 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ossa-cli.d.ts +52 -0
- package/dist/cli/ossa-cli.d.ts.map +1 -0
- package/dist/cli/ossa-cli.js +1061 -0
- package/dist/cli/ossa-cli.js.map +1 -0
- package/dist/core/index.d.ts +31 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +37 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/mcp-server-implementation.d.ts +39 -0
- package/dist/core/mcp-server-implementation.d.ts.map +1 -0
- package/dist/core/mcp-server-implementation.js +1262 -0
- package/dist/core/mcp-server-implementation.js.map +1 -0
- package/dist/core/orchestrator/index.d.ts +156 -0
- package/dist/core/orchestrator/index.d.ts.map +1 -0
- package/dist/core/orchestrator/index.js +446 -0
- package/dist/core/orchestrator/index.js.map +1 -0
- package/dist/core/orchestrator/ossa-orchestrator.d.ts +106 -0
- package/dist/core/orchestrator/ossa-orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator/ossa-orchestrator.js +396 -0
- package/dist/core/orchestrator/ossa-orchestrator.js.map +1 -0
- package/dist/di-container.d.ts +18 -0
- package/dist/di-container.d.ts.map +1 -0
- package/dist/di-container.js +46 -0
- package/dist/di-container.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/protocols/acap.d.ts +61 -0
- package/dist/protocols/acap.d.ts.map +1 -0
- package/dist/protocols/acap.js +92 -0
- package/dist/protocols/acap.js.map +1 -0
- package/dist/protocols/index.d.ts +8 -0
- package/dist/protocols/index.d.ts.map +1 -0
- package/dist/protocols/index.js +8 -0
- package/dist/protocols/index.js.map +1 -0
- package/dist/protocols/rasp.d.ts +58 -0
- package/dist/protocols/rasp.d.ts.map +1 -0
- package/dist/protocols/rasp.js +212 -0
- package/dist/protocols/rasp.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 +144 -0
- package/dist/repositories/schema.repository.js.map +1 -0
- package/dist/server/simple-app.d.ts +18 -0
- package/dist/server/simple-app.d.ts.map +1 -0
- package/dist/server/simple-app.js +155 -0
- package/dist/server/simple-app.js.map +1 -0
- package/dist/server/types/agent.d.ts +498 -0
- package/dist/server/types/agent.d.ts.map +1 -0
- package/dist/server/types/agent.js +37 -0
- package/dist/server/types/agent.js.map +1 -0
- package/dist/server/types/server.d.ts +370 -0
- package/dist/server/types/server.d.ts.map +1 -0
- package/dist/server/types/server.js +68 -0
- package/dist/server/types/server.js.map +1 -0
- package/dist/services/discovery.service.d.ts +78 -0
- package/dist/services/discovery.service.d.ts.map +1 -0
- package/dist/services/discovery.service.js +212 -0
- package/dist/services/discovery.service.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/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 +158 -0
- package/dist/services/gitlab-agent.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/orchestration/worktree-orchestrator.d.ts +146 -0
- package/dist/services/orchestration/worktree-orchestrator.d.ts.map +1 -0
- package/dist/services/orchestration/worktree-orchestrator.js +591 -0
- package/dist/services/orchestration/worktree-orchestrator.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/services/worktree/branching-strategy.d.ts +17 -0
- package/dist/services/worktree/branching-strategy.d.ts.map +1 -0
- package/dist/services/worktree/branching-strategy.js +66 -0
- package/dist/services/worktree/branching-strategy.js.map +1 -0
- package/dist/services/worktree/git-worktree-manager.d.ts +32 -0
- package/dist/services/worktree/git-worktree-manager.d.ts.map +1 -0
- package/dist/services/worktree/git-worktree-manager.js +61 -0
- package/dist/services/worktree/git-worktree-manager.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.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.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/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/README.md +61 -0
- package/dist/spec/v0.2.4-dev/RELEASE-PROCESS.md +130 -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/openapi/CHANGELOG-0.2.4.md +177 -0
- package/dist/spec/v0.2.4-dev/openapi/README-0.2.4.md +51 -0
- package/dist/spec/v0.2.4-dev/openapi/VERIFICATION-0.2.4.md +147 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1717 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -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/specification/validator.d.ts +82 -0
- package/dist/specification/validator.d.ts.map +1 -0
- package/dist/specification/validator.js +562 -0
- package/dist/specification/validator.js.map +1 -0
- package/dist/types/acdl-api.d.ts +335 -0
- package/dist/types/acdl-api.d.ts.map +1 -0
- package/dist/types/acdl-api.js +6 -0
- package/dist/types/acdl-api.js.map +1 -0
- package/dist/types/agents/index.d.ts +53 -0
- package/dist/types/agents/index.d.ts.map +1 -0
- package/dist/types/agents/index.js +5 -0
- package/dist/types/agents/index.js.map +1 -0
- package/dist/types/api.d.ts +225 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +6 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/architecture/index.d.ts +530 -0
- package/dist/types/architecture/index.d.ts.map +1 -0
- package/dist/types/architecture/index.js +258 -0
- package/dist/types/architecture/index.js.map +1 -0
- package/dist/types/index.d.ts +279 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +68 -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/dist/types/policies/index.d.ts +35 -0
- package/dist/types/policies/index.d.ts.map +1 -0
- package/dist/types/policies/index.js +5 -0
- package/dist/types/policies/index.js.map +1 -0
- package/dist/types/workflows/index.d.ts +40 -0
- package/dist/types/workflows/index.d.ts.map +1 -0
- package/dist/types/workflows/index.js +5 -0
- package/dist/types/workflows/index.js.map +1 -0
- package/dist/utils/version-resolver.d.ts +28 -0
- package/dist/utils/version-resolver.d.ts.map +1 -0
- package/dist/utils/version-resolver.js +110 -0
- package/dist/utils/version-resolver.js.map +1 -0
- package/docker-compose.yml +160 -0
- package/junit.xml +1 -0
- package/package.json +105 -0
- package/public/api-docs.html +206 -0
- package/public/assets/favicon.svg +8 -0
- package/public/assets/script.js +279 -0
- package/public/assets/style.css +632 -0
- package/public/index.html +307 -0
- package/public/redocly-config.yaml +80 -0
- package/public/src/api/acdl-specification.yml +531 -0
- package/public/src/api/clean-architecture.openapi.yml +1435 -0
- package/public/src/api/context7-mcp.openapi.yml +313 -0
- package/public/src/api/magic-mcp.openapi.yml +647 -0
- package/public/src/api/mcp-infrastructure.openapi.yml +904 -0
- package/public/src/api/orchestration.openapi.yml +444 -0
- package/public/src/api/ossa-complete.openapi.yml +2250 -0
- package/public/src/api/project-discovery.openapi.yml +1293 -0
- package/public/src/api/rebuild-audit.openapi.yml +800 -0
- package/public/src/api/specification.openapi.yml +498 -0
- package/public/src/api/voice-agent-specification.yml +640 -0
- package/public/src/api/web-eval-mcp.openapi.yml +426 -0
- package/pyrightconfig.json +13 -0
- package/redocly.yaml +56 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -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.4/ossa-0.2.4.schema.json +1717 -0
- package/spec/v0.2.4/ossa-0.2.4.yaml +581 -0
- package/specs/README.md +31 -0
- package/specs/acdl-specification.yml +531 -0
- package/specs/clean-architecture.openapi.yml +1435 -0
- package/specs/context7-mcp.openapi.yml +313 -0
- package/specs/magic-mcp.openapi.yml +647 -0
- package/specs/mcp-infrastructure.openapi.yml +904 -0
- package/specs/orchestration.openapi.yml +444 -0
- package/specs/ossa-complete.openapi.yml +2250 -0
- package/specs/project-discovery.openapi.yml +1293 -0
- package/specs/rebuild-audit.openapi.yml +800 -0
- package/specs/specification.openapi.yml +498 -0
- package/specs/test-api.openapi.yml +20 -0
- package/specs/voice-agent-specification.yml +640 -0
- package/specs/web-eval-mcp.openapi.yml +426 -0
- package/src/adk/adapters/index.ts +310 -0
- package/src/adk/agents/custom-agent.ts +206 -0
- package/src/adk/agents/index.ts +158 -0
- package/src/adk/agents/llm-agent.ts +76 -0
- package/src/adk/agents/workflow-agent.ts +191 -0
- package/src/adk/index.ts +10 -0
- package/src/adk/orchestration/index.ts +352 -0
- package/src/adk/state/index.ts +217 -0
- package/src/adk/tools/index.ts +291 -0
- package/src/api/acdl-specification.yml +531 -0
- package/src/api/agent-manifest.schema.json +859 -0
- package/src/api/agent-worktree-schema.json +320 -0
- package/src/api/clean-architecture.openapi.yml +1435 -0
- package/src/api/context7-mcp.openapi.yml +313 -0
- package/src/api/magic-mcp.openapi.yml +647 -0
- package/src/api/mcp-infrastructure.openapi.yml +904 -0
- package/src/api/openapi.redoc.config.json +6 -0
- package/src/api/orchestration.openapi.yml +444 -0
- package/src/api/ossa-complete.openapi.yml +2250 -0
- package/src/api/project-discovery.openapi.yml +1293 -0
- package/src/api/rebuild-audit.openapi.yml +800 -0
- package/src/api/specification.openapi.yml +498 -0
- package/src/api/test-api.openapi.yml +20 -0
- package/src/api/voice-agent-specification.yml +640 -0
- package/src/api/web-eval-mcp.openapi.yml +426 -0
- package/src/api/workflow.schema.json +524 -0
- package/src/cli/agent-deployment.ts +452 -0
- package/src/cli/commands/ossa.ts +272 -0
- package/src/cli/commands/worktree.ts +603 -0
- package/src/cli/ossa-cli.ts +1176 -0
- package/src/core/index.ts +42 -0
- package/src/core/mcp-server-implementation.ts +1409 -0
- package/src/core/orchestrator/index.ts +611 -0
- package/src/core/orchestrator/ossa-orchestrator.ts +504 -0
- package/src/mcp/simple-server.ts +322 -0
- package/src/protocols/acap.ts +146 -0
- package/src/protocols/index.ts +8 -0
- package/src/protocols/rasp.ts +263 -0
- package/src/server/app.ts +472 -0
- package/src/server/middleware/agentAccess.ts +10 -0
- package/src/server/middleware/asyncHandler.ts +10 -0
- package/src/server/middleware/auth.ts +10 -0
- package/src/server/middleware/errorHandler.ts +9 -0
- package/src/server/middleware/logging.ts +10 -0
- package/src/server/middleware/metrics.ts +10 -0
- package/src/server/middleware/validation.ts +10 -0
- package/src/server/routes/agents.ts +632 -0
- package/src/server/routes/monitoring.ts +13 -0
- package/src/server/routes/orchestration.ts +13 -0
- package/src/server/routes/specifications.ts +13 -0
- package/src/server/services/AgentService.ts +46 -0
- package/src/server/services/ExecutionService.ts +51 -0
- package/src/server/services/SpecificationService.ts +22 -0
- package/src/server/services/WebhookService.ts +24 -0
- package/src/server/simple-app.ts +174 -0
- package/src/server/types/agent.ts +612 -0
- package/src/server/types/server.ts +465 -0
- package/src/services/orchestration/worktree-orchestrator.ts +779 -0
- package/src/services/worktree/branching-strategy.ts +76 -0
- package/src/services/worktree/git-worktree-manager.ts +86 -0
- package/website/.next/BUILD_ID +1 -0
- package/website/.next/app-build-manifest.json +151 -0
- package/website/.next/app-path-routes-manifest.json +19 -0
- package/website/.next/build-manifest.json +33 -0
- package/website/.next/cache/.previewinfo +1 -0
- package/website/.next/cache/.rscinfo +1 -0
- package/website/.next/cache/.tsbuildinfo +1 -0
- package/website/.next/cache/fetch-cache/920aec34c288eefa97c5efba3baf95a846a0beb0c48a5064980a2c24b83e941c +1 -0
- package/website/.next/cache/fetch-cache/c2ad7a72b43463a0daaa85ca926a8af38defd17ecb64f1fdd2dd4fe2293e8b26 +1 -0
- package/website/.next/cache/fetch-cache/d10eb963d5980c8a50ee9ed24472339ee6da054ead33e00676e61e8b8e62cc83 +1 -0
- package/website/.next/cache/fetch-cache/f243d84640477f3205b74a85013018acd63b692144675630a74d1af8a3e9eab5 +1 -0
- package/website/.next/cache/webpack/client-production/0.pack +0 -0
- package/website/.next/cache/webpack/client-production/1.pack +0 -0
- package/website/.next/cache/webpack/client-production/10.pack +0 -0
- package/website/.next/cache/webpack/client-production/11.pack +0 -0
- package/website/.next/cache/webpack/client-production/12.pack +0 -0
- package/website/.next/cache/webpack/client-production/13.pack +0 -0
- package/website/.next/cache/webpack/client-production/14.pack +0 -0
- package/website/.next/cache/webpack/client-production/15.pack +0 -0
- package/website/.next/cache/webpack/client-production/16.pack +0 -0
- package/website/.next/cache/webpack/client-production/17.pack +0 -0
- package/website/.next/cache/webpack/client-production/18.pack +0 -0
- package/website/.next/cache/webpack/client-production/2.pack +0 -0
- package/website/.next/cache/webpack/client-production/3.pack +0 -0
- package/website/.next/cache/webpack/client-production/4.pack +0 -0
- package/website/.next/cache/webpack/client-production/5.pack +0 -0
- package/website/.next/cache/webpack/client-production/6.pack +0 -0
- package/website/.next/cache/webpack/client-production/7.pack +0 -0
- package/website/.next/cache/webpack/client-production/8.pack +0 -0
- package/website/.next/cache/webpack/client-production/9.pack +0 -0
- package/website/.next/cache/webpack/client-production/index.pack +0 -0
- package/website/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/website/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/website/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/website/.next/cache/webpack/server-production/0.pack +0 -0
- package/website/.next/cache/webpack/server-production/1.pack +0 -0
- package/website/.next/cache/webpack/server-production/10.pack +0 -0
- package/website/.next/cache/webpack/server-production/11.pack +0 -0
- package/website/.next/cache/webpack/server-production/12.pack +0 -0
- package/website/.next/cache/webpack/server-production/2.pack +0 -0
- package/website/.next/cache/webpack/server-production/3.pack +0 -0
- package/website/.next/cache/webpack/server-production/4.pack +0 -0
- package/website/.next/cache/webpack/server-production/5.pack +0 -0
- package/website/.next/cache/webpack/server-production/6.pack +0 -0
- package/website/.next/cache/webpack/server-production/7.pack +0 -0
- package/website/.next/cache/webpack/server-production/8.pack +0 -0
- package/website/.next/cache/webpack/server-production/9.pack +0 -0
- package/website/.next/cache/webpack/server-production/index.pack +0 -0
- package/website/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/website/.next/diagnostics/build-diagnostics.json +6 -0
- package/website/.next/diagnostics/framework.json +1 -0
- package/website/.next/export-detail.json +5 -0
- package/website/.next/export-marker.json +6 -0
- package/website/.next/images-manifest.json +57 -0
- package/website/.next/next-minimal-server.js.nft.json +1 -0
- package/website/.next/next-server.js.nft.json +1 -0
- package/website/.next/package.json +1 -0
- package/website/.next/prerender-manifest.json +2143 -0
- package/website/.next/react-loadable-manifest.json +1898 -0
- package/website/.next/required-server-files.json +320 -0
- package/website/.next/routes-manifest.json +161 -0
- package/website/.next/server/app/_not-found/page.js +2 -0
- package/website/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/website/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/_not-found.html +1 -0
- package/website/.next/server/app/_not-found.meta +8 -0
- package/website/.next/server/app/_not-found.rsc +23 -0
- package/website/.next/server/app/about/page.js +2 -0
- package/website/.next/server/app/about/page.js.nft.json +1 -0
- package/website/.next/server/app/about/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/about.html +1 -0
- package/website/.next/server/app/about.meta +7 -0
- package/website/.next/server/app/about.rsc +40 -0
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.html +217 -0
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.meta +7 -0
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.rsc +308 -0
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.html +180 -0
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.meta +7 -0
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.rsc +232 -0
- package/website/.next/server/app/blog/[slug]/page.js +2 -0
- package/website/.next/server/app/blog/[slug]/page.js.nft.json +1 -0
- package/website/.next/server/app/blog/[slug]/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/blog/introducing-ossa-framework.html +263 -0
- package/website/.next/server/app/blog/introducing-ossa-framework.meta +7 -0
- package/website/.next/server/app/blog/introducing-ossa-framework.rsc +351 -0
- package/website/.next/server/app/blog/ossa-production-results.html +198 -0
- package/website/.next/server/app/blog/ossa-production-results.meta +7 -0
- package/website/.next/server/app/blog/ossa-production-results.rsc +302 -0
- package/website/.next/server/app/blog/page.js +2 -0
- package/website/.next/server/app/blog/page.js.nft.json +1 -0
- package/website/.next/server/app/blog/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/blog/welcome-to-ossa.html +22 -0
- package/website/.next/server/app/blog/welcome-to-ossa.meta +7 -0
- package/website/.next/server/app/blog/welcome-to-ossa.rsc +31 -0
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.html +63 -0
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.meta +7 -0
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.rsc +121 -0
- package/website/.next/server/app/blog.html +1 -0
- package/website/.next/server/app/blog.meta +7 -0
- package/website/.next/server/app/blog.rsc +35 -0
- package/website/.next/server/app/design-guide/page.js +12 -0
- package/website/.next/server/app/design-guide/page.js.nft.json +1 -0
- package/website/.next/server/app/design-guide/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/design-guide.html +11 -0
- package/website/.next/server/app/design-guide.meta +7 -0
- package/website/.next/server/app/design-guide.rsc +41 -0
- package/website/.next/server/app/docs.html +1 -0
- package/website/.next/server/app/docs.meta +7 -0
- package/website/.next/server/app/docs.rsc +42 -0
- package/website/.next/server/app/ecosystem/page.js +2 -0
- package/website/.next/server/app/ecosystem/page.js.nft.json +1 -0
- package/website/.next/server/app/ecosystem/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/ecosystem.html +1 -0
- package/website/.next/server/app/ecosystem.meta +7 -0
- package/website/.next/server/app/ecosystem.rsc +40 -0
- package/website/.next/server/app/examples.html +1 -0
- package/website/.next/server/app/examples.meta +7 -0
- package/website/.next/server/app/examples.rsc +14559 -0
- package/website/.next/server/app/index.html +3 -0
- package/website/.next/server/app/index.meta +7 -0
- package/website/.next/server/app/index.rsc +40 -0
- package/website/.next/server/app/license/page.js +2 -0
- package/website/.next/server/app/license/page.js.nft.json +1 -0
- package/website/.next/server/app/license/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/license.html +191 -0
- package/website/.next/server/app/license.meta +7 -0
- package/website/.next/server/app/license.rsc +222 -0
- package/website/.next/server/app/page.js +4 -0
- package/website/.next/server/app/page.js.nft.json +1 -0
- package/website/.next/server/app/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/playground/page.js +111 -0
- package/website/.next/server/app/playground/page.js.nft.json +1 -0
- package/website/.next/server/app/playground/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/playground.html +1 -0
- package/website/.next/server/app/playground.meta +7 -0
- package/website/.next/server/app/playground.rsc +30 -0
- package/website/.next/server/app/robots.txt/route.js +1 -0
- package/website/.next/server/app/robots.txt/route.js.nft.json +1 -0
- package/website/.next/server/app/robots.txt/route_client-reference-manifest.js +1 -0
- package/website/.next/server/app/robots.txt.body +6 -0
- package/website/.next/server/app/robots.txt.meta +1 -0
- package/website/.next/server/app/rss.xml/route.js +18 -0
- package/website/.next/server/app/rss.xml/route.js.nft.json +1 -0
- package/website/.next/server/app/rss.xml/route_client-reference-manifest.js +1 -0
- package/website/.next/server/app/rss.xml.body +11 -0
- package/website/.next/server/app/rss.xml.meta +1 -0
- package/website/.next/server/app/schema/page.js +76 -0
- package/website/.next/server/app/schema/page.js.nft.json +1 -0
- package/website/.next/server/app/schema/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/schema.html +1 -0
- package/website/.next/server/app/schema.meta +7 -0
- package/website/.next/server/app/schema.rsc +26 -0
- package/website/.next/server/app/sitemap.xml/route.js +1 -0
- package/website/.next/server/app/sitemap.xml/route.js.nft.json +1 -0
- package/website/.next/server/app/sitemap.xml/route_client-reference-manifest.js +1 -0
- package/website/.next/server/app/sitemap.xml.body +39 -0
- package/website/.next/server/app/sitemap.xml.meta +1 -0
- package/website/.next/server/app/specification/page.js +10 -0
- package/website/.next/server/app/specification/page.js.nft.json +1 -0
- package/website/.next/server/app/specification/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/specification.html +9 -0
- package/website/.next/server/app/specification.meta +7 -0
- package/website/.next/server/app/specification.rsc +32 -0
- package/website/.next/server/app-paths-manifest.json +19 -0
- package/website/.next/server/chunks/18.js +1 -0
- package/website/.next/server/chunks/227.js +9 -0
- package/website/.next/server/chunks/339.js +25 -0
- package/website/.next/server/chunks/49.js +1 -0
- package/website/.next/server/chunks/51.js +1 -0
- package/website/.next/server/chunks/57.js +1 -0
- package/website/.next/server/chunks/579.js +16 -0
- package/website/.next/server/chunks/611.js +6 -0
- package/website/.next/server/chunks/873.js +22 -0
- package/website/.next/server/chunks/900.js +1 -0
- package/website/.next/server/chunks/97.js +1 -0
- package/website/.next/server/functions-config-manifest.json +4 -0
- package/website/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/website/.next/server/middleware-build-manifest.js +1 -0
- package/website/.next/server/middleware-manifest.json +6 -0
- package/website/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/website/.next/server/next-font-manifest.js +1 -0
- package/website/.next/server/next-font-manifest.json +1 -0
- package/website/.next/server/pages/404.html +1 -0
- package/website/.next/server/pages/500.html +1 -0
- package/website/.next/server/pages/_app.js +1 -0
- package/website/.next/server/pages/_app.js.nft.json +1 -0
- package/website/.next/server/pages/_document.js +1 -0
- package/website/.next/server/pages/_document.js.nft.json +1 -0
- package/website/.next/server/pages/_error.js +19 -0
- package/website/.next/server/pages/_error.js.nft.json +1 -0
- package/website/.next/server/pages-manifest.json +6 -0
- package/website/.next/server/server-reference-manifest.js +1 -0
- package/website/.next/server/server-reference-manifest.json +1 -0
- package/website/.next/server/webpack-runtime.js +1 -0
- package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_buildManifest.js +1 -0
- package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_ssgManifest.js +1 -0
- package/website/.next/static/chunks/119.05f66060d7798fc9.js +25 -0
- package/website/.next/static/chunks/255-bf407b21685f2318.js +1 -0
- package/website/.next/static/chunks/451-235273497e501ae9.js +1 -0
- package/website/.next/static/chunks/4bd1b696-409494caf8c83275.js +1 -0
- package/website/.next/static/chunks/619-f072ac750404f9da.js +1 -0
- package/website/.next/static/chunks/651-5cd3c87d43b7eb46.js +1 -0
- package/website/.next/static/chunks/778.278ac2aadb2a1105.js +1 -0
- package/website/.next/static/chunks/890-ab915e0570e1961b.js +1 -0
- package/website/.next/static/chunks/app/_not-found/page-ccdaf9d90b537c5d.js +1 -0
- package/website/.next/static/chunks/app/about/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/blog/[slug]/page-8fd43000c4969233.js +1 -0
- package/website/.next/static/chunks/app/blog/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/design-guide/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/ecosystem/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/layout-ccacbd90656baa78.js +1 -0
- package/website/.next/static/chunks/app/license/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/page-31241dc7465f9590.js +1 -0
- package/website/.next/static/chunks/app/playground/page-c2af00885374900f.js +1 -0
- package/website/.next/static/chunks/app/robots.txt/route-032c05054032342f.js +1 -0
- package/website/.next/static/chunks/app/rss.xml/route-032c05054032342f.js +1 -0
- package/website/.next/static/chunks/app/schema/page-f7c224b281771083.js +1 -0
- package/website/.next/static/chunks/app/sitemap.xml/route-032c05054032342f.js +1 -0
- package/website/.next/static/chunks/app/specification/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/framework-1ce91eb6f9ecda85.js +1 -0
- package/website/.next/static/chunks/main-3099e141650ec47a.js +1 -0
- package/website/.next/static/chunks/main-app-a2fc6ac9305e3090.js +1 -0
- package/website/.next/static/chunks/pages/_app-5addca2b3b969fde.js +1 -0
- package/website/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +1 -0
- package/website/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/website/.next/static/chunks/webpack-6ecb09e5c6e34cb4.js +1 -0
- package/website/.next/static/css/23135390005d4468.css +3 -0
- package/website/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/website/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/website/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/website/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/website/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/website/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/website/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/website/.next/trace +3 -0
- package/website/.next/types/app/about/page.ts +84 -0
- package/website/.next/types/app/blog/[slug]/page.ts +84 -0
- package/website/.next/types/app/blog/page.ts +84 -0
- package/website/.next/types/app/design-guide/page.ts +84 -0
- package/website/.next/types/app/ecosystem/page.ts +84 -0
- package/website/.next/types/app/license/page.ts +84 -0
- package/website/.next/types/app/page.ts +84 -0
- package/website/.next/types/app/playground/page.ts +84 -0
- package/website/.next/types/app/rss.xml/route.ts +347 -0
- package/website/.next/types/app/schema/page.ts +84 -0
- package/website/.next/types/app/specification/page.ts +84 -0
- package/website/.next/types/cache-life.d.ts +141 -0
- package/website/.next/types/package.json +1 -0
- package/website/.next/types/routes.d.ts +85 -0
- package/website/.next/types/validator.ts +187 -0
- package/website/.wiki-export/Agent-Folder-Structure.md +215 -0
- package/website/.wiki-export/CI-STATUS.md +66 -0
- package/website/.wiki-export/COMPLETE-IMPLEMENTATION-CHECKLIST.md +74 -0
- package/website/.wiki-export/DRUPAL-MODULE-INTEGRATION.md +103 -0
- package/website/.wiki-export/FINAL-STATUS.md +63 -0
- package/website/.wiki-export/Getting-Started.md +87 -0
- package/website/.wiki-export/INSTRUCTIONS.md +46 -0
- package/website/.wiki-export/INTEGRATION-ANALYSIS.md +216 -0
- package/website/.wiki-export/MANIFEST.json +62 -0
- package/website/.wiki-export/OSSA-COMPLIANT-BADGE.md +247 -0
- package/website/.wiki-export/Openapi-Extensions.md +930 -0
- package/website/.wiki-export/README.md +31 -0
- package/website/.wiki-export/RELEASE-READINESS.md +95 -0
- package/website/.wiki-export/VERSIONING.md +284 -0
- package/website/lib/versions.json +77 -0
- package/website/next-env.d.ts +6 -0
- package/website/out/app-build-manifest.json +3 -0
- package/website/out/build-manifest.json +17 -0
- package/website/out/cache/.rscinfo +1 -0
- package/website/out/cache/next-devtools-config.json +1 -0
- package/website/out/cache/webpack/client-development/0.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/1.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/2.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/3.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/index.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/index.pack.gz.old +0 -0
- package/website/out/cache/webpack/client-development-fallback/0.pack.gz +0 -0
- package/website/out/cache/webpack/client-development-fallback/index.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/0.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/1.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/2.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/3.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/index.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/index.pack.gz.old +0 -0
- package/website/out/package.json +1 -0
- package/website/out/prerender-manifest.json +11 -0
- package/website/out/react-loadable-manifest.json +1 -0
- package/website/out/routes-manifest.json +1 -0
- package/website/out/server/app-paths-manifest.json +1 -0
- package/website/out/server/interception-route-rewrite-manifest.js +1 -0
- package/website/out/server/middleware-build-manifest.js +19 -0
- package/website/out/server/middleware-manifest.json +6 -0
- package/website/out/server/middleware-react-loadable-manifest.js +1 -0
- package/website/out/server/next-font-manifest.js +1 -0
- package/website/out/server/next-font-manifest.json +1 -0
- package/website/out/server/pages-manifest.json +1 -0
- package/website/out/server/server-reference-manifest.js +1 -0
- package/website/out/server/server-reference-manifest.json +5 -0
- package/website/out/static/chunks/polyfills.js +1 -0
- package/website/out/static/development/_buildManifest.js +1 -0
- package/website/out/static/development/_ssgManifest.js +1 -0
- package/website/out/trace +2 -0
- package/website/out/types/cache-life.d.ts +141 -0
- package/website/out/types/package.json +1 -0
- package/website/out/types/routes.d.ts +85 -0
- package/website/out/types/validator.ts +187 -0
- package/website/public/examples.json +476 -0
- package/website/public/schemas/openapi-extensions.schema.json +486 -0
- package/website/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,930 @@
|
|
|
1
|
+
# OSSA OpenAPI/Swagger Specification Extensions
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
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.
|
|
6
|
+
|
|
7
|
+
**Key Benefits:**
|
|
8
|
+
- **Agent Discovery**: OpenAPI specs become agent manifests that describe capabilities
|
|
9
|
+
- **Type Safety**: Full TypeScript types and JSON Schema validation
|
|
10
|
+
- **Tool Integration**: Declare MCP servers and tools directly in API specs
|
|
11
|
+
- **Compliance**: Built-in support for governance, security, and observability
|
|
12
|
+
- **Framework Agnostic**: Works with any agent runtime (LangChain, CrewAI, kAgent, etc.)
|
|
13
|
+
|
|
14
|
+
## Table of Contents
|
|
15
|
+
|
|
16
|
+
1. [Root-Level Extensions](#root-level-extensions)
|
|
17
|
+
- [x-ossa-metadata](#x-ossa-metadata)
|
|
18
|
+
- [x-ossa](#x-ossa)
|
|
19
|
+
- [x-agent](#x-agent)
|
|
20
|
+
2. [Operation-Level Extensions](#operation-level-extensions)
|
|
21
|
+
- [x-ossa-capability](#x-ossa-capability)
|
|
22
|
+
- [x-ossa-autonomy](#x-ossa-autonomy)
|
|
23
|
+
- [x-ossa-constraints](#x-ossa-constraints)
|
|
24
|
+
- [x-ossa-tools](#x-ossa-tools)
|
|
25
|
+
- [x-ossa-llm](#x-ossa-llm)
|
|
26
|
+
3. [Parameter Extensions](#parameter-extensions)
|
|
27
|
+
- [x-ossa-agent-id](#x-ossa-agent-id)
|
|
28
|
+
- [x-ossa-version](#x-ossa-version)
|
|
29
|
+
4. [Schema Extensions](#schema-extensions)
|
|
30
|
+
- [x-ossa-capability-schema](#x-ossa-capability-schema)
|
|
31
|
+
5. [Complete Examples](#complete-examples)
|
|
32
|
+
6. [Integration with OSSA Manifests](#integration-with-ossa-manifests)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Root-Level Extensions
|
|
37
|
+
|
|
38
|
+
Extensions that can be added at the root level of an OpenAPI 3.1 specification.
|
|
39
|
+
|
|
40
|
+
### x-ossa-metadata
|
|
41
|
+
|
|
42
|
+
Embeds comprehensive OSSA agent metadata in OpenAPI spec root. Provides governance, compliance, security, and observability metadata.
|
|
43
|
+
|
|
44
|
+
**Location**: Root level of OpenAPI spec
|
|
45
|
+
|
|
46
|
+
**Schema**:
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
x-ossa-metadata:
|
|
50
|
+
version: string # OSSA specification version (e.g., "0.2.2", "1.0.0")
|
|
51
|
+
compliance:
|
|
52
|
+
level: string # "basic" | "standard" | "advanced" | "enterprise"
|
|
53
|
+
frameworks: string[] # List of compliance frameworks
|
|
54
|
+
governance:
|
|
55
|
+
approved: boolean # Whether specification has been approved
|
|
56
|
+
approvedBy: string # Entity that approved (optional)
|
|
57
|
+
approvalDate: string # Date of approval in YYYY-MM-DD format (optional)
|
|
58
|
+
security:
|
|
59
|
+
classification: string # "public" | "internal" | "confidential" | "restricted"
|
|
60
|
+
authentication: string # "required" | "optional" | "none"
|
|
61
|
+
encryption: string # Encryption requirements (e.g., "tls1.3")
|
|
62
|
+
observability:
|
|
63
|
+
tracing: boolean # Enable distributed tracing
|
|
64
|
+
metrics: boolean # Enable metrics collection
|
|
65
|
+
logging: boolean # Enable structured logging
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**OpenAPI Example**:
|
|
69
|
+
|
|
70
|
+
```yaml
|
|
71
|
+
openapi: 3.1.0
|
|
72
|
+
info:
|
|
73
|
+
title: Kubernetes Troubleshooter Agent API
|
|
74
|
+
version: 1.0.0
|
|
75
|
+
|
|
76
|
+
x-ossa-metadata:
|
|
77
|
+
version: 0.2.2
|
|
78
|
+
compliance:
|
|
79
|
+
level: enterprise
|
|
80
|
+
frameworks:
|
|
81
|
+
- OSSA
|
|
82
|
+
- OpenAPI 3.1
|
|
83
|
+
- RFC7807
|
|
84
|
+
governance:
|
|
85
|
+
approved: true
|
|
86
|
+
approvedBy: Platform Team
|
|
87
|
+
approvalDate: 2024-01-15
|
|
88
|
+
security:
|
|
89
|
+
classification: internal
|
|
90
|
+
authentication: required
|
|
91
|
+
encryption: tls1.3
|
|
92
|
+
observability:
|
|
93
|
+
tracing: true
|
|
94
|
+
metrics: true
|
|
95
|
+
logging: true
|
|
96
|
+
|
|
97
|
+
paths:
|
|
98
|
+
# ... paths ...
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**JSON Example**:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"openapi": "3.1.0",
|
|
106
|
+
"info": {
|
|
107
|
+
"title": "Kubernetes Troubleshooter Agent API",
|
|
108
|
+
"version": "1.0.0"
|
|
109
|
+
},
|
|
110
|
+
"x-ossa-metadata": {
|
|
111
|
+
"version": "0.2.2",
|
|
112
|
+
"compliance": {
|
|
113
|
+
"level": "enterprise",
|
|
114
|
+
"frameworks": ["OSSA", "OpenAPI 3.1", "RFC7807"]
|
|
115
|
+
},
|
|
116
|
+
"governance": {
|
|
117
|
+
"approved": true,
|
|
118
|
+
"approvedBy": "Platform Team",
|
|
119
|
+
"approvalDate": "2024-01-15"
|
|
120
|
+
},
|
|
121
|
+
"security": {
|
|
122
|
+
"classification": "internal",
|
|
123
|
+
"authentication": "required",
|
|
124
|
+
"encryption": "tls1.3"
|
|
125
|
+
},
|
|
126
|
+
"observability": {
|
|
127
|
+
"tracing": true,
|
|
128
|
+
"metrics": true,
|
|
129
|
+
"logging": true
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### x-ossa
|
|
138
|
+
|
|
139
|
+
Core OSSA compliance information with agent identification and validation metadata.
|
|
140
|
+
|
|
141
|
+
**Location**: Root level or `info` section of OpenAPI spec
|
|
142
|
+
|
|
143
|
+
**Schema**:
|
|
144
|
+
|
|
145
|
+
```yaml
|
|
146
|
+
x-ossa:
|
|
147
|
+
version: string # OSSA specification version
|
|
148
|
+
agent:
|
|
149
|
+
id: string # Unique agent identifier (DNS-不为subdomain format)
|
|
150
|
+
type: string # Agent type (see enum below)
|
|
151
|
+
compliance:
|
|
152
|
+
standards: string[] # Architectural standards
|
|
153
|
+
validated: boolean # Whether agent has been validated
|
|
154
|
+
validatedAt: string # ISO 8601 timestamp of validation
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Agent Types**:
|
|
158
|
+
- `orchestrator` - Coordinates multiple agents and workflows
|
|
159
|
+
- `worker` - Performs specific tasks and operations
|
|
160
|
+
- `specialist` - Specialized domain expertise
|
|
161
|
+
- `critic` - Reviews and validates agent outputs
|
|
162
|
+
- `judge` - Makes decisions and evaluates outcomes
|
|
163
|
+
- `monitor` - Observes and reports on system state
|
|
164
|
+
- `gateway` - Entry point for agent communication
|
|
165
|
+
- `governor` - Enforces policies and compliance
|
|
166
|
+
- `integrator` - Connects systems and protocols
|
|
167
|
+
- `voice` - Handles audio/speech interactions
|
|
168
|
+
|
|
169
|
+
**OpenAPI Example**:
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
openapi: 3.1.0
|
|
173
|
+
info:
|
|
174
|
+
title: My Agent API
|
|
175
|
+
version: 1.0.0
|
|
176
|
+
|
|
177
|
+
x-ossa:
|
|
178
|
+
version: 0.2.2
|
|
179
|
+
agent:
|
|
180
|
+
id: k8s-troubleshooter
|
|
181
|
+
type: worker
|
|
182
|
+
compliance:
|
|
183
|
+
standards:
|
|
184
|
+
- openapi-first
|
|
185
|
+
- dry
|
|
186
|
+
- crud
|
|
187
|
+
- solid
|
|
188
|
+
- type-safe
|
|
189
|
+
validated: true
|
|
190
|
+
validatedAt: "2024-01-15T10:30:00Z"
|
|
191
|
+
|
|
192
|
+
paths:
|
|
193
|
+
# ... paths ...
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
### x-agent
|
|
199
|
+
|
|
200
|
+
Agent-specific capabilities, tools, environment, and rules configuration.
|
|
201
|
+
|
|
202
|
+
**Location**: Root level or `info` section of OpenAPI spec
|
|
203
|
+
|
|
204
|
+
**Schema**:
|
|
205
|
+
|
|
206
|
+
```yaml
|
|
207
|
+
x-agent:
|
|
208
|
+
capabilities: string[] # List of agent capability names
|
|
209
|
+
tools: string[] # List of tools/MCP servers available
|
|
210
|
+
environment: object # Environment-specific configuration (key-value pairs)
|
|
211
|
+
rules: string[] # List of rules or policies the agent follows
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**OpenAPI Example**:
|
|
215
|
+
|
|
216
|
+
```yaml
|
|
217
|
+
openapi: 3.1.0
|
|
218
|
+
info:
|
|
219
|
+
title: Data Processing Agent API
|
|
220
|
+
version: 1.0.0
|
|
221
|
+
|
|
222
|
+
x-agent:
|
|
223
|
+
capabilities:
|
|
224
|
+
- data-transformation
|
|
225
|
+
- csv-parsing
|
|
226
|
+
- json-validation
|
|
227
|
+
tools:
|
|
228
|
+
- postgres-mcp
|
|
229
|
+
- redis-mcp
|
|
230
|
+
- file-system-mcp
|
|
231
|
+
environment:
|
|
232
|
+
processingTimeout: 300
|
|
233
|
+
maxFileSize: "100MB"
|
|
234
|
+
enableCaching: true
|
|
235
|
+
rules:
|
|
236
|
+
- no-external-api-calls
|
|
237
|
+
- validate-all-inputs
|
|
238
|
+
- encrypt-sensitive-data
|
|
239
|
+
|
|
240
|
+
paths:
|
|
241
|
+
# ... paths ...
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Operation-Level Extensions
|
|
247
|
+
|
|
248
|
+
Extensions that can be added to individual OpenAPI operations (GET, POST, PUT, DELETE, etc.).
|
|
249
|
+
|
|
250
|
+
### x-ossa-capability
|
|
251
|
+
|
|
252
|
+
Links an OpenAPI operation to an OSSA agent capability. Can be a simple string reference or a detailed capability object.
|
|
253
|
+
|
|
254
|
+
**Location**: Operation object within path item
|
|
255
|
+
|
|
256
|
+
**Schema**:
|
|
257
|
+
|
|
258
|
+
```yaml
|
|
259
|
+
# Simple string reference
|
|
260
|
+
x-ossa-capability: "capability-name"
|
|
261
|
+
|
|
262
|
+
# Or detailed object
|
|
263
|
+
x-ossa-capability:
|
|
264
|
+
name: string # Capability name
|
|
265
|
+
description: string # Capability description (optional)
|
|
266
|
+
inputSchema: object # JSON Schema for capability input (optional)
|
|
267
|
+
outputSchema: object # JSON Schema for capability output (optional)
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
**OpenAPI Example**:
|
|
271
|
+
|
|
272
|
+
```yaml
|
|
273
|
+
paths:
|
|
274
|
+
/api/v1/process-data:
|
|
275
|
+
post:
|
|
276
|
+
summary: Process incoming data
|
|
277
|
+
operationId: processData
|
|
278
|
+
x-ossa-capability:
|
|
279
|
+
name: data-transformation
|
|
280
|
+
description: Transforms CSV data to JSON format
|
|
281
|
+
inputSchema:
|
|
282
|
+
type: object
|
|
283
|
+
required: [csvData]
|
|
284
|
+
properties:
|
|
285
|
+
csvData:
|
|
286
|
+
type: string
|
|
287
|
+
description: CSV content to transform
|
|
288
|
+
outputSchema:
|
|
289
|
+
type: object
|
|
290
|
+
properties:
|
|
291
|
+
jsonData:
|
|
292
|
+
type: array
|
|
293
|
+
items:
|
|
294
|
+
type: object
|
|
295
|
+
requestBody:
|
|
296
|
+
# ... request body ...
|
|
297
|
+
responses:
|
|
298
|
+
# ... responses ...
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
**Note**: The `inputSchema` and `outputSchema` should match the OpenAPI `requestBody` and `responses` schemas respectively, providing additional capability-level metadata.
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
### x-ossa-autonomy
|
|
306
|
+
|
|
307
|
+
Defines autonomy level and approval requirements for operation execution.
|
|
308
|
+
|
|
309
|
+
**Location**: Operation object within path item
|
|
310
|
+
|
|
311
|
+
**Schema**:
|
|
312
|
+
|
|
313
|
+
```yaml
|
|
314
|
+
x-ossa-autonomy:
|
|
315
|
+
level: string # "supervised" | "autonomous" | "semi-autonomous"
|
|
316
|
+
approval_required: boolean # Whether human approval is required
|
|
317
|
+
allowed_actions: string[] # List of allowed actions (optional)
|
|
318
|
+
blocked_actions: string[] # List of blocked actions (optional)
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
**Autonomy Levels**:
|
|
322
|
+
|
|
323
|
+
| Level | Description |
|
|
324
|
+
|-------|-------------|
|
|
325
|
+
| `supervised` | Requires human approval before execution |
|
|
326
|
+
| `semi-autonomous` | Can execute with automatic approval under certain conditions |
|
|
327
|
+
| `autonomous` | Can execute without human intervention |
|
|
328
|
+
|
|
329
|
+
**OpenAPI Example**:
|
|
330
|
+
|
|
331
|
+
```yaml
|
|
332
|
+
paths:
|
|
333
|
+
/api/v1/delete-resource:
|
|
334
|
+
delete:
|
|
335
|
+
summary: Delete a resource
|
|
336
|
+
operationId: deleteResource
|
|
337
|
+
x-ossa-autonomy:
|
|
338
|
+
level: supervised
|
|
339
|
+
approval_required: true
|
|
340
|
+
allowed_actions:
|
|
341
|
+
- read_resource
|
|
342
|
+
- validate_deletion
|
|
343
|
+
blocked_actions:
|
|
344
|
+
- permanent_delete
|
|
345
|
+
- cascade_delete
|
|
346
|
+
parameters:
|
|
347
|
+
# ... parameters ...
|
|
348
|
+
responses:
|
|
349
|
+
# ... responses ...
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
### x-ossa-constraints
|
|
355
|
+
|
|
356
|
+
Defines cost, token, performance, and time constraints for operation execution.
|
|
357
|
+
|
|
358
|
+
**Location**: Operation object within path item
|
|
359
|
+
|
|
360
|
+
**Schema**:
|
|
361
|
+
|
|
362
|
+
```yaml
|
|
363
|
+
x-ossa-constraints:
|
|
364
|
+
cost:
|
|
365
|
+
maxTokensPerDay: integer # Maximum tokens allowed per day
|
|
366
|
+
maxTokensPerRequest: integer # Maximum tokens allowed per request
|
|
367
|
+
maxCostPerDay: number # Maximum cost in USD per day
|
|
368
|
+
currency: string # Currency code (default: "USD")
|
|
369
|
+
performance:
|
|
370
|
+
maxLatencySeconds: number # Maximum acceptable latency in seconds
|
|
371
|
+
maxConcurrentRequests: integer # Maximum concurrent requests
|
|
372
|
+
time:
|
|
373
|
+
maxExecutionTime: integer # Maximum execution time in seconds
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
**OpenAPI Example**:
|
|
377
|
+
|
|
378
|
+
```yaml
|
|
379
|
+
paths:
|
|
380
|
+
/api/v1/generate-report:
|
|
381
|
+
post:
|
|
382
|
+
summary: Generate comprehensive report
|
|
383
|
+
operationId: generateReport
|
|
384
|
+
x-ossa-constraints:
|
|
385
|
+
cost:
|
|
386
|
+
maxTokensPerDay: 50000
|
|
387
|
+
maxTokensPerRequest: 4000
|
|
388
|
+
maxCostPerDay: 10.0
|
|
389
|
+
currency: USD
|
|
390
|
+
performance:
|
|
391
|
+
maxLatencySeconds: 30
|
|
392
|
+
maxConcurrentRequests: 5
|
|
393
|
+
time:
|
|
394
|
+
maxExecutionTime: 300
|
|
395
|
+
requestBody:
|
|
396
|
+
# ... request body ...
|
|
397
|
+
responses:
|
|
398
|
+
# ... responses ...
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
### x-ossa-tools
|
|
404
|
+
|
|
405
|
+
Specifies MCP servers or tools required for operation execution.
|
|
406
|
+
|
|
407
|
+
**Location**: Operation object within path item
|
|
408
|
+
|
|
409
|
+
**Schema**:
|
|
410
|
+
|
|
411
|
+
```yaml
|
|
412
|
+
x-ossa-tools:
|
|
413
|
+
- type: string # "mcp" | "http" | "custom"
|
|
414
|
+
server: string # Tool server identifier or URL
|
|
415
|
+
namespace: string # Namespace for the tool (optional, for MCP servers)
|
|
416
|
+
capabilities: string[] # List of tool capabilities (optional)
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
**OpenAPI Example**:
|
|
420
|
+
|
|
421
|
+
```yaml
|
|
422
|
+
paths:
|
|
423
|
+
/api/v1/diagnose-issue:
|
|
424
|
+
post:
|
|
425
|
+
summary: Diagnose Kubernetes issue
|
|
426
|
+
operationId: diagnoseIssue
|
|
427
|
+
x-ossa-tools:
|
|
428
|
+
- type: mcp
|
|
429
|
+
server: kubernetes-mcp
|
|
430
|
+
namespace: default
|
|
431
|
+
capabilities:
|
|
432
|
+
- get_pods
|
|
433
|
+
- get_logs
|
|
434
|
+
- get_events
|
|
435
|
+
- describe_resource
|
|
436
|
+
- type: mcp
|
|
437
|
+
server: buildkit-agent-protocol
|
|
438
|
+
namespace: default
|
|
439
|
+
capabilities:
|
|
440
|
+
- search_documentation
|
|
441
|
+
- analyze_logs
|
|
442
|
+
requestBody:
|
|
443
|
+
# ... request body ...
|
|
444
|
+
responses:
|
|
445
|
+
# ... responses ...
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
### x-ossa-llm
|
|
451
|
+
|
|
452
|
+
Overrides LLM configuration for a specific operation. Useful when different operations require different models or settings.
|
|
453
|
+
|
|
454
|
+
**Location**: Operation object within path item
|
|
455
|
+
|
|
456
|
+
**Schema**:
|
|
457
|
+
|
|
458
|
+
```yaml
|
|
459
|
+
x-ossa-llm:
|
|
460
|
+
provider: string # "openai" | "anthropic" | "google" | "azure" | "custom"
|
|
461
|
+
model: string # Model identifier (e.g., "gpt-4", "claude-3-opus")
|
|
462
|
+
temperature: number # Sampling temperature (0-2, optional)
|
|
463
|
+
maxTokens: integer # Maximum tokens in response (optional)
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**OpenAPI Example**:
|
|
467
|
+
|
|
468
|
+
```yaml
|
|
469
|
+
paths:
|
|
470
|
+
/api/v1/analyze-code:
|
|
471
|
+
post:
|
|
472
|
+
summary: Analyze code for issues
|
|
473
|
+
operationId: analyzeCode
|
|
474
|
+
x-ossa-llm:
|
|
475
|
+
provider: openai
|
|
476
|
+
model: gpt-4
|
|
477
|
+
temperature: 0.2
|
|
478
|
+
maxTokens: 4000
|
|
479
|
+
requestBody:
|
|
480
|
+
# ... request body ...
|
|
481
|
+
responses:
|
|
482
|
+
# ... responses ...
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
**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.
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
## Parameter Extensions
|
|
490
|
+
|
|
491
|
+
Extensions for OpenAPI parameters (headers, query params, path params, cookies).
|
|
492
|
+
|
|
493
|
+
### x-ossa-agent-id
|
|
494
|
+
|
|
495
|
+
Standard header parameter for agent identification in agent-to-agent communication.
|
|
496
|
+
|
|
497
|
+
**Location**: Parameter definition in `components.parameters` or operation-level `parameters`
|
|
498
|
+
|
|
499
|
+
**OpenAPI Example**:
|
|
500
|
+
|
|
501
|
+
```yaml
|
|
502
|
+
components:
|
|
503
|
+
parameters:
|
|
504
|
+
X-Ossa-Agent-Id:
|
|
505
|
+
name: X-OSSA-Agent-ID
|
|
506
|
+
in: header
|
|
507
|
+
description: Unique identifier of the agent making the request
|
|
508
|
+
required: false
|
|
509
|
+
schema:
|
|
510
|
+
type: string
|
|
511
|
+
pattern: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
|
|
512
|
+
example: "k8s-troubleshooter"
|
|
513
|
+
|
|
514
|
+
paths:
|
|
515
|
+
/api/v1/capabilities:
|
|
516
|
+
get:
|
|
517
|
+
summary: Get agent capabilities
|
|
518
|
+
parameters:
|
|
519
|
+
- $ref: '#/components/parameters/X-Ossa-Agent-Id'
|
|
520
|
+
mathbb
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
---
|
|
524
|
+
|
|
525
|
+
### x-ossa-version
|
|
526
|
+
|
|
527
|
+
Standard header parameter for OSSA specification version in requests.
|
|
528
|
+
|
|
529
|
+
**Location**: Parameter definition in `components.parameters` or operation-level `parameters`
|
|
530
|
+
|
|
531
|
+
**OpenAPI Example**:
|
|
532
|
+
|
|
533
|
+
```yaml
|
|
534
|
+
components:
|
|
535
|
+
parameters:
|
|
536
|
+
X-Ossa-Version:
|
|
537
|
+
name: X-OSSA-Version
|
|
538
|
+
in: header
|
|
539
|
+
description: OSSA specification version the agent supports
|
|
540
|
+
required: false
|
|
541
|
+
schema:
|
|
542
|
+
type: string
|
|
543
|
+
pattern: "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
|
|
544
|
+
example: "0.2.2"
|
|
545
|
+
|
|
546
|
+
paths:
|
|
547
|
+
/api/v1/execute:
|
|
548
|
+
post:
|
|
549
|
+
summary: Execute agent capability
|
|
550
|
+
parameters:
|
|
551
|
+
- $ref: '#/components/parameters/X-Ossa-Version'
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## Schema Extensions
|
|
557
|
+
|
|
558
|
+
Extensions for OpenAPI schema definitions.
|
|
559
|
+
|
|
560
|
+
### x-ossa-capability-schema
|
|
561
|
+
|
|
562
|
+
Extends schema definition with capability metadata, linking OpenAPI schemas to OSSA capabilities.
|
|
563
|
+
|
|
564
|
+
**Location**: Schema definition in `components.schemas`
|
|
565
|
+
|
|
566
|
+
**Schema**:
|
|
567
|
+
|
|
568
|
+
```yaml
|
|
569
|
+
x-ossa-capability-schema:
|
|
570
|
+
capabilityName: string # Name of the capability this schema represents
|
|
571
|
+
input: boolean # Whether this is an input schema (default: false)
|
|
572
|
+
output: boolean # Whether this is an output schema (default: false)
|
|
573
|
+
validation:
|
|
574
|
+
required: boolean # Whether validation is required (optional)
|
|
575
|
+
strict: boolean # Whether to use strict validation (optional)
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
**OpenAPI Example**:
|
|
579
|
+
|
|
580
|
+
```yaml
|
|
581
|
+
components:
|
|
582
|
+
schemas:
|
|
583
|
+
DataProcessingInput:
|
|
584
|
+
type: object
|
|
585
|
+
required: [csvData]
|
|
586
|
+
properties:
|
|
587
|
+
csvData:
|
|
588
|
+
type: string
|
|
589
|
+
description: CSV content to process
|
|
590
|
+
x-ossa-capability-schema:
|
|
591
|
+
capabilityName: data-transformation
|
|
592
|
+
input: true
|
|
593
|
+
validation:
|
|
594
|
+
required: true
|
|
595
|
+
strict: true
|
|
596
|
+
|
|
597
|
+
DataProcessingOutput:
|
|
598
|
+
type: object
|
|
599
|
+
properties:
|
|
600
|
+
jsonData:
|
|
601
|
+
type: array
|
|
602
|
+
items:
|
|
603
|
+
type: object
|
|
604
|
+
x-ossa-capability-schema:
|
|
605
|
+
capabilityName: data-transformation
|
|
606
|
+
output: true
|
|
607
|
+
```
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
## Complete Examples
|
|
612
|
+
|
|
613
|
+
### Minimal Agent API
|
|
614
|
+
|
|
615
|
+
A minimal example showing basic OSSA extensions:
|
|
616
|
+
|
|
617
|
+
```yaml
|
|
618
|
+
openapi: 3.1.0
|
|
619
|
+
info:
|
|
620
|
+
title: Hello World Agent
|
|
621
|
+
version: 1.0.0
|
|
622
|
+
description: Minimal OSSA-compliant agent API
|
|
623
|
+
|
|
624
|
+
x-ossa-metadata:
|
|
625
|
+
version: 0.2.2
|
|
626
|
+
compliance:
|
|
627
|
+
level: basic
|
|
628
|
+
frameworks: [OSSA, OpenAPI 3.1]
|
|
629
|
+
|
|
630
|
+
x-ossa:
|
|
631
|
+
version: 0.2.2
|
|
632
|
+
agent:
|
|
633
|
+
id: hello-world-agent
|
|
634
|
+
type: worker
|
|
635
|
+
compliance:
|
|
636
|
+
standards: [openapi-first]
|
|
637
|
+
validated: true
|
|
638
|
+
validatedAt: "2024-01-15T10:00:00Z"
|
|
639
|
+
|
|
640
|
+
paths:
|
|
641
|
+
/greet:
|
|
642
|
+
post:
|
|
643
|
+
summary: Generate greeting
|
|
644
|
+
operationId: greet
|
|
645
|
+
x-ossa-capability: greeting
|
|
646
|
+
x-ossa-autonomy:
|
|
647
|
+
level: autonomous
|
|
648
|
+
approval_required: false
|
|
649
|
+
x-ossa-llm:
|
|
650
|
+
provider: openai
|
|
651
|
+
model: gpt-3.5-turbo
|
|
652
|
+
temperature: 0.7
|
|
653
|
+
requestBody:
|
|
654
|
+
required: true
|
|
655
|
+
content:
|
|
656
|
+
application/json:
|
|
657
|
+
schema:
|
|
658
|
+
type: object
|
|
659
|
+
required: [name]
|
|
660
|
+
properties:
|
|
661
|
+
name:
|
|
662
|
+
type: string
|
|
663
|
+
responses:
|
|
664
|
+
'200':
|
|
665
|
+
description: Greeting generated
|
|
666
|
+
content:
|
|
667
|
+
application/json:
|
|
668
|
+
schema:
|
|
669
|
+
type: object
|
|
670
|
+
properties:
|
|
671
|
+
message:
|
|
672
|
+
type: string
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
### Full Worker Agent API
|
|
676
|
+
|
|
677
|
+
A complete example showing all extensions:
|
|
678
|
+
|
|
679
|
+
```yaml
|
|
680
|
+
openapi: 3.1.0
|
|
681
|
+
info:
|
|
682
|
+
title: Kubernetes Troubleshooter Agent API
|
|
683
|
+
version: 1.0.0
|
|
684
|
+
description: |
|
|
685
|
+
Kubernetes cluster troubleshooting agent with diagnostic capabilities.
|
|
686
|
+
Supports pod inspection, log analysis, and event correlation.
|
|
687
|
+
|
|
688
|
+
x-ossa-metadata:
|
|
689
|
+
version: 0.2.2
|
|
690
|
+
compliance:
|
|
691
|
+
level: enterprise
|
|
692
|
+
frameworks:
|
|
693
|
+
- OSSA
|
|
694
|
+
- OpenAPI 3.1
|
|
695
|
+
- RFC7807
|
|
696
|
+
governance:
|
|
697
|
+
approved: true
|
|
698
|
+
approvedBy: Platform Team
|
|
699
|
+
approvalDate: 2024-01-15
|
|
700
|
+
security:
|
|
701
|
+
classification: internal
|
|
702
|
+
authentication: required
|
|
703
|
+
encryption: tls1.3
|
|
704
|
+
observability:
|
|
705
|
+
tracing: true
|
|
706
|
+
metrics: true
|
|
707
|
+
logging: true
|
|
708
|
+
|
|
709
|
+
x-ossa:
|
|
710
|
+
version: 0.2.2
|
|
711
|
+
agent:
|
|
712
|
+
id: k8s-troubleshooter
|
|
713
|
+
type: worker
|
|
714
|
+
compliance:
|
|
715
|
+
standards:
|
|
716
|
+
- openapi-first
|
|
717
|
+
- dry
|
|
718
|
+
- crud
|
|
719
|
+
- solid
|
|
720
|
+
- type-safe
|
|
721
|
+
validated: true
|
|
722
|
+
validatedAt: "2024-01-15T10:30:00Z"
|
|
723
|
+
|
|
724
|
+
x-agent:
|
|
725
|
+
capabilities:
|
|
726
|
+
- pod-diagnostics
|
|
727
|
+
- log-analysis
|
|
728
|
+
- event-correlation
|
|
729
|
+
tools:
|
|
730
|
+
- kubernetes-mcp
|
|
731
|
+
- buildkit-agent-protocol
|
|
732
|
+
environment:
|
|
733
|
+
defaultNamespace: default
|
|
734
|
+
logRetention: 7d
|
|
735
|
+
rules:
|
|
736
|
+
- read-only-operations
|
|
737
|
+
- require-approval-for-writes
|
|
738
|
+
|
|
739
|
+
components:
|
|
740
|
+
parameters:
|
|
741
|
+
X-Ossa-Agent-Id:
|
|
742
|
+
name: X-OSSA-Agent-ID
|
|
743
|
+
in: header
|
|
744
|
+
description: Agent identifier
|
|
745
|
+
schema:
|
|
746
|
+
type: string
|
|
747
|
+
|
|
748
|
+
paths:
|
|
749
|
+
/api/v1/diagnose/pod:
|
|
750
|
+
post:
|
|
751
|
+
summary: Diagnose pod issues
|
|
752
|
+
operationId: diagnosePod
|
|
753
|
+
tags: [Diagnostics]
|
|
754
|
+
x-ossa-capability:
|
|
755
|
+
name: pod-diagnostics
|
|
756
|
+
description: Diagnose Kubernetes pod failures and issues
|
|
757
|
+
x-ossa-autonomy:
|
|
758
|
+
level: supervised
|
|
759
|
+
approval_required: true
|
|
760
|
+
allowed_actions:
|
|
761
|
+
- read_pods
|
|
762
|
+
- read_logs
|
|
763
|
+
- read_events
|
|
764
|
+
blocked_actions:
|
|
765
|
+
- delete_pods
|
|
766
|
+
- modify_configs
|
|
767
|
+
x-ossa-constraints:
|
|
768
|
+
cost:
|
|
769
|
+
maxTokensPerDay: 50000
|
|
770
|
+
maxTokensPerRequest: 4000
|
|
771
|
+
maxCostPerDay: 10.0
|
|
772
|
+
currency: USD
|
|
773
|
+
performance:
|
|
774
|
+
maxLatencySeconds: 30
|
|
775
|
+
maxConcurrentRequests: 5
|
|
776
|
+
x-ossa-tools:
|
|
777
|
+
- type: mcp
|
|
778
|
+
server: kubernetes-mcp
|
|
779
|
+
namespace: default
|
|
780
|
+
capabilities:
|
|
781
|
+
- get_pods
|
|
782
|
+
- get_logs
|
|
783
|
+
- get_events
|
|
784
|
+
- describe_resource
|
|
785
|
+
x-ossa-llm:
|
|
786
|
+
provider: openai
|
|
787
|
+
model: gpt-4
|
|
788
|
+
temperature: 0.2
|
|
789
|
+
maxTokens: 4000
|
|
790
|
+
parameters:
|
|
791
|
+
- $ref: '#/components/parameters/X-Ossa-Agent-Id'
|
|
792
|
+
requestBody:
|
|
793
|
+
required: true
|
|
794
|
+
content:
|
|
795
|
+
application/json:
|
|
796
|
+
schema:
|
|
797
|
+
type: object
|
|
798
|
+
required: [podName, namespace]
|
|
799
|
+
properties:
|
|
800
|
+
podName:
|
|
801
|
+
type: string
|
|
802
|
+
namespace:
|
|
803
|
+
type: string
|
|
804
|
+
responses:
|
|
805
|
+
'200':
|
|
806
|
+
description: Diagnosis complete
|
|
807
|
+
content:
|
|
808
|
+
application/json:
|
|
809
|
+
schema:
|
|
810
|
+
type: object
|
|
811
|
+
properties:
|
|
812
|
+
status:
|
|
813
|
+
type: string
|
|
814
|
+
issues:
|
|
815
|
+
type: array
|
|
816
|
+
items:
|
|
817
|
+
type: object
|
|
818
|
+
recommendations:
|
|
819
|
+
type: array
|
|
820
|
+
items:
|
|
821
|
+
type: string
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
---
|
|
825
|
+
|
|
826
|
+
## Integration with OSSA Manifests
|
|
827
|
+
|
|
828
|
+
OSSA OpenAPI extensions complement OSSA agent manifests (`.ossa.yaml` files). They serve different but related purposes:
|
|
829
|
+
|
|
830
|
+
### OSSA Agent Manifest (`.ossa.yaml`)
|
|
831
|
+
- **Purpose**: Declarative agent definition with full configuration
|
|
832
|
+
- **Contains**: Role, LLM config, tools, autonomy, constraints, extensions
|
|
833
|
+
- **Used For**: Agent deployment, runtime configuration, framework integration
|
|
834
|
+
|
|
835
|
+
### OpenAPI Specification with OSSA Extensions
|
|
836
|
+
- **Purpose**: API interface definition with agent metadata
|
|
837
|
+
- **Contains**: HTTP endpoints, request/response schemas, agent capabilities
|
|
838
|
+
- **Used For**: API documentation, client generation, runtime API validation
|
|
839
|
+
|
|
840
|
+
### Bidirectional Mapping
|
|
841
|
+
|
|
842
|
+
An agent can have both:
|
|
843
|
+
|
|
844
|
+
1. **OSSA Manifest** (`agent.ossa.yaml`) - Defines the agent's behavior
|
|
845
|
+
2. **OpenAPI Spec** (`agent.openapi.yaml`) - Defines the agent's HTTP interface
|
|
846
|
+
|
|
847
|
+
The OpenAPI spec should reference capabilities and tools defined in the manifest:
|
|
848
|
+
|
|
849
|
+
```yaml
|
|
850
|
+
# agent.ossa.yaml
|
|
851
|
+
apiVersion: ossa/v0.2.2
|
|
852
|
+
kind: Agent
|
|
853
|
+
metadata:
|
|
854
|
+
name: k8s-troubleshooter
|
|
855
|
+
spec:
|
|
856
|
+
capabilities:
|
|
857
|
+
- pod-diagnostics
|
|
858
|
+
tools:
|
|
859
|
+
- type: mcp
|
|
860
|
+
server: kubernetes-mcp
|
|
861
|
+
|
|
862
|
+
---
|
|
863
|
+
|
|
864
|
+
# agent.openapi.yaml
|
|
865
|
+
openapi: 3.1.0
|
|
866
|
+
x-ossa:
|
|
867
|
+
agent:
|
|
868
|
+
id: k8s-troubleshooter # References manifest metadata.name
|
|
869
|
+
paths:
|
|
870
|
+
/api/v1/diagnose/pod:
|
|
871
|
+
post:
|
|
872
|
+
x-ossa-capability: pod-diagnostics # References manifest capability
|
|
873
|
+
x-ossa-tools:
|
|
874
|
+
- type: mcp
|
|
875
|
+
server: kubernetes-mcp # References manifest tool
|
|
876
|
+
```
|
|
877
|
+
|
|
878
|
+
### Best Practices
|
|
879
|
+
|
|
880
|
+
1. **Keep in Sync**: Ensure OpenAPI extensions reference capabilities/tools from the manifest
|
|
881
|
+
2. **Single Source of Truth**: Use manifest for agent behavior, OpenAPI for API contract
|
|
882
|
+
3. **Version Together**: When updating agent capabilities, update both files
|
|
883
|
+
4. **Validate Both**: Use `ossa validate` for manifest and OpenAPI validation for spec
|
|
884
|
+
|
|
885
|
+
---
|
|
886
|
+
|
|
887
|
+
## Tools & Validation
|
|
888
|
+
|
|
889
|
+
### CLI Validation
|
|
890
|
+
|
|
891
|
+
The OSSA CLI can validate OpenAPI specs with OSSA extensions:
|
|
892
|
+
|
|
893
|
+
```bash
|
|
894
|
+
# Validate OpenAPI spec with OSSA extensions
|
|
895
|
+
ossa validate --openapi agent.openapi.yaml
|
|
896
|
+
|
|
897
|
+
# Validate both manifest and OpenAPI spec
|
|
898
|
+
ossa validate agent.ossa.yaml agent.openapi.yaml
|
|
899
|
+
```
|
|
900
|
+
|
|
901
|
+
### IDE Support
|
|
902
|
+
|
|
903
|
+
- **VS Code**: Install OpenAPI extension + OSSA extension (when available)
|
|
904
|
+
- **IntelliJ**: OpenAPI plugin recognizes custom extensions
|
|
905
|
+
- **Online Editors**: Swagger Editor and Stoplight Studio support custom extensions
|
|
906
|
+
|
|
907
|
+
### OpenAPI Tool Compatibility
|
|
908
|
+
|
|
909
|
+
Most OpenAPI tools ignore unknown extensions (per OpenAPI spec), so OSSA extensions won't break existing tooling. However, OSSA-aware tools can:
|
|
910
|
+
|
|
911
|
+
- Generate agent clients with capability awareness
|
|
912
|
+
- Validate autonomy and constraint requirements
|
|
913
|
+
- Document tool requirements and MCP server dependencies
|
|
914
|
+
- Generate compliance reports from metadata
|
|
915
|
+
|
|
916
|
+
---
|
|
917
|
+
|
|
918
|
+
## References
|
|
919
|
+
|
|
920
|
+
- [OSSA Specification v0.2.2](Specification/v0.2.2/OSSA-SPECIFICATION-v0.2.2.md)
|
|
921
|
+
- [OSSA JSON Schema](Specification/v0.2.2/ossa-0.2.2.schema.json)
|
|
922
|
+
- [OpenAPI 3.1 Specification](https://spec.openapis.org/oas/v3.1.0)
|
|
923
|
+
- [OpenAPI Extensions Schema](../schemas/openapi-extensions.schema.json)
|
|
924
|
+
- [OSSA Examples](../../examples/)
|
|
925
|
+
- [GitHub Repository](https://github.com/blueflyio/openstandardagents)
|
|
926
|
+
|
|
927
|
+
---
|
|
928
|
+
|
|
929
|
+
**OSSA OpenAPI Extensions: Making AI agents discoverable, interoperable, and enterprise-ready.**
|
|
930
|
+
|