@bluefly/openstandardagents 0.2.4 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursorrules +84 -0
- package/.devfile.yaml +87 -0
- package/.env.example +25 -3
- package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
- package/.github/workflows/dependabot-comment.yml +34 -0
- package/.github/workflows/pr-comment.yml +33 -0
- package/.github/workflows/release.yml +1 -1
- package/.husky/pre-commit +5 -0
- package/.kiro/config.json +21 -0
- package/.kiro/settings/mcp.json +61 -0
- package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
- package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
- package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
- package/.kiro/specs/website-brand-identity/design.md +1060 -0
- package/.kiro/specs/website-brand-identity/requirements.md +287 -0
- package/.kiro/specs/website-brand-identity/tasks.md +981 -0
- package/.releaserc.json +5 -4
- package/.version.json +6 -0
- package/CHANGELOG.md +163 -96
- package/CONTRIBUTING.md +23 -5
- package/README.md +130 -43
- package/bin/ossa +24 -3
- package/bin/ossa-dev +42 -0
- package/bin/ossa-export +32 -0
- package/bin/ossa-generate +60 -0
- package/bin/ossa-health +40 -0
- package/bin/ossa-init +26 -0
- package/bin/ossa-validate-all +55 -0
- package/bin/ossa-version +23 -0
- package/bin/validate-ossa-0.2.4.ts +244 -0
- package/bin/validate-ossa-0.2.5-RC.ts +244 -0
- package/bin/validate-ossa.ts +273 -0
- package/dist/di-container.d.ts +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +17 -2
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +102 -19
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/generation.service.d.ts +7 -5
- package/dist/services/generation.service.d.ts.map +1 -1
- package/dist/services/generation.service.js +92 -44
- package/dist/services/generation.service.js.map +1 -1
- package/dist/services/github-sync/github-client.d.ts +14 -0
- package/dist/services/github-sync/github-client.d.ts.map +1 -0
- package/dist/services/github-sync/github-client.js +41 -0
- package/dist/services/github-sync/github-client.js.map +1 -0
- package/dist/services/github-sync/gitlab-client.d.ts +17 -0
- package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
- package/dist/services/github-sync/gitlab-client.js +42 -0
- package/dist/services/github-sync/gitlab-client.js.map +1 -0
- package/dist/services/github-sync/schemas.d.ts +46 -0
- package/dist/services/github-sync/schemas.d.ts.map +1 -0
- package/dist/services/github-sync/schemas.js +36 -0
- package/dist/services/github-sync/schemas.js.map +1 -0
- package/dist/services/github-sync/sync.service.d.ts +27 -0
- package/dist/services/github-sync/sync.service.d.ts.map +1 -0
- package/dist/services/github-sync/sync.service.js +99 -0
- package/dist/services/github-sync/sync.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 +162 -0
- package/dist/services/gitlab-agent.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +3 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +108 -61
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/base-crud.service.d.ts +93 -0
- package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
- package/dist/services/release-automation/base-crud.service.js +68 -0
- package/dist/services/release-automation/base-crud.service.js.map +1 -0
- package/dist/services/release-automation/index.d.ts +12 -0
- package/dist/services/release-automation/index.d.ts.map +1 -0
- package/dist/services/release-automation/index.js +12 -0
- package/dist/services/release-automation/index.js.map +1 -0
- package/dist/services/release-automation/merge-request.service.d.ts +119 -0
- package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
- package/dist/services/release-automation/merge-request.service.js +212 -0
- package/dist/services/release-automation/merge-request.service.js.map +1 -0
- package/dist/services/release-automation/milestone.service.d.ts +104 -0
- package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
- package/dist/services/release-automation/milestone.service.js +207 -0
- package/dist/services/release-automation/milestone.service.js.map +1 -0
- package/dist/services/release-automation/release.service.d.ts +118 -0
- package/dist/services/release-automation/release.service.d.ts.map +1 -0
- package/dist/services/release-automation/release.service.js +207 -0
- package/dist/services/release-automation/release.service.js.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.js +269 -0
- package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
- package/dist/services/release-automation/tag.service.d.ts +99 -0
- package/dist/services/release-automation/tag.service.d.ts.map +1 -0
- package/dist/services/release-automation/tag.service.js +180 -0
- package/dist/services/release-automation/tag.service.js.map +1 -0
- package/dist/services/release-automation/webhook.service.d.ts +37 -0
- package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
- package/dist/services/release-automation/webhook.service.js +173 -0
- package/dist/services/release-automation/webhook.service.js.map +1 -0
- package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
- package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
- package/dist/services/runtime/claude/capability-mapper.js +245 -0
- package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.js +287 -0
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.js +169 -0
- package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
- package/dist/services/runtime/claude/types.d.ts +115 -0
- package/dist/services/runtime/claude/types.d.ts.map +1 -0
- package/dist/services/runtime/claude/types.js +6 -0
- package/dist/services/runtime/claude/types.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
- package/dist/services/runtime/openai.adapter.js.map +1 -1
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +35 -11
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/anthropic.validator.d.ts +2 -2
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
- package/dist/services/validators/anthropic.validator.js +14 -9
- package/dist/services/validators/anthropic.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.d.ts +2 -2
- package/dist/services/validators/autogen.validator.d.ts.map +1 -1
- package/dist/services/validators/autogen.validator.js +18 -15
- package/dist/services/validators/autogen.validator.js.map +1 -1
- package/dist/services/validators/crewai.validator.d.ts +2 -2
- package/dist/services/validators/crewai.validator.d.ts.map +1 -1
- package/dist/services/validators/crewai.validator.js +18 -17
- package/dist/services/validators/crewai.validator.js.map +1 -1
- package/dist/services/validators/cursor.validator.d.ts +2 -2
- package/dist/services/validators/cursor.validator.d.ts.map +1 -1
- package/dist/services/validators/cursor.validator.js +15 -11
- package/dist/services/validators/cursor.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.d.ts +2 -2
- package/dist/services/validators/langchain.validator.d.ts.map +1 -1
- package/dist/services/validators/langchain.validator.js +14 -11
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langflow.validator.d.ts +2 -2
- package/dist/services/validators/langflow.validator.d.ts.map +1 -1
- package/dist/services/validators/langflow.validator.js +14 -9
- package/dist/services/validators/langflow.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.d.ts +2 -2
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
- package/dist/services/validators/langgraph.validator.js +23 -18
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/llamaindex.validator.d.ts +2 -2
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
- package/dist/services/validators/llamaindex.validator.js +19 -16
- package/dist/services/validators/llamaindex.validator.js.map +1 -1
- package/dist/services/validators/openai.validator.d.ts +2 -2
- package/dist/services/validators/openai.validator.d.ts.map +1 -1
- package/dist/services/validators/openai.validator.js +20 -16
- package/dist/services/validators/openai.validator.js.map +1 -1
- package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
- package/dist/services/validators/vercel-ai.validator.js +16 -15
- package/dist/services/validators/vercel-ai.validator.js.map +1 -1
- package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
- package/dist/spec/v0.2.3/README.md +9 -9
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
- package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
- package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
- package/dist/spec/{v0.2.4-dev/ossa-0.2.4-dev.yaml → v0.2.4/ossa-0.2.4.yaml} +1 -1
- package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5/README.md +72 -0
- package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
- package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5-RC/README.md +72 -0
- package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.6/README.md +72 -0
- package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
- package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/dist/spec/v0.2.6-dev/README.md +75 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/dist/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.6-dev/ossa-0.2.6-dev.schema.json} +323 -359
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
- package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- package/dist/types/index.d.ts +6 -1
- package/dist/types/index.d.ts.map +1 -1
- package/docs/brand-guide/01-brand-overview.md +37 -0
- package/docs/brand-guide/02-logo-usage.md +43 -0
- package/docs/brand-guide/03-color-palette.md +70 -0
- package/docs/brand-guide/04-typography.md +82 -0
- package/docs/brand-guide/05-voice-and-tone.md +108 -0
- package/docs/brand-guide/06-visual-elements.md +137 -0
- package/docs/brand-guide/07-application-examples.md +153 -0
- package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
- package/docs/brand-guide/OssaLogo/brand.af +0 -0
- package/docs/brand-guide/README.md +107 -0
- package/docs/comparison.md +315 -0
- package/docs/operations/automation-roadmap.md +245 -0
- package/docs/operations/github-sync-strategy.md +357 -0
- package/examples/anthropic/claude-assistant.ossa.json +5 -4
- package/examples/autogen/multi-agent.ossa.json +6 -4
- package/examples/bridges/Dockerfile.production +1 -1
- package/examples/crewai/research-team.ossa.json +14 -5
- package/examples/cursor/code-review-agent.ossa.json +21 -6
- package/examples/enterprise/agent.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/langchain/chain-agent.ossa.json +21 -5
- package/examples/langflow/workflow-agent.ossa.json +2 -3
- package/examples/langgraph/state-machine-agent.ossa.json +2 -3
- package/examples/llamaindex/rag-agent.ossa.json +2 -3
- package/examples/openai/basic-agent.ossa.yaml +61 -0
- package/examples/openai/multi-tool-agent.ossa.json +188 -0
- package/examples/openai/swarm-agent.ossa.json +18 -5
- package/examples/openapi-extensions/README.md +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +5 -4
- package/infrastructure/gitlab-agent/rbac.yaml +126 -0
- package/infrastructure/gitlab-agent/values.yaml +150 -0
- package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
- package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
- package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
- package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
- package/infrastructure/k8s/monitoring/README.md +73 -0
- package/infrastructure/k8s/monitoring/deploy.sh +38 -0
- package/openapi/CHANGELOG.md +21 -0
- package/openapi/README.md +46 -0
- package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
- package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
- package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
- package/openapi/github-sync.yaml +115 -0
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
- package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
- package/package.json +53 -22
- package/release.config.js +20 -5
- package/scripts/README.md +103 -0
- package/scripts/auto-rebase-mrs.ts +106 -0
- package/scripts/batch-dependabot.sh +57 -0
- package/scripts/bump-version.ts +57 -0
- package/scripts/configure-gitlab-branch-protection.ts +95 -0
- package/scripts/create-issue-helper.ts +238 -0
- package/scripts/create-milestone-issue.ts +73 -0
- package/scripts/enhanced-version-manager.ts +257 -0
- package/scripts/fix-schema-formats.js +82 -0
- package/scripts/gen-types.ts +51 -0
- package/scripts/gen-zod.ts +51 -0
- package/scripts/generate-agents-catalog.ts +77 -0
- package/scripts/generate-api-docs.ts +218 -0
- package/scripts/generate-cli-docs.ts +410 -0
- package/scripts/generate-config-docs.ts +109 -0
- package/scripts/generate-errors-docs.ts +76 -0
- package/scripts/generate-examples-docs.ts +99 -0
- package/scripts/generate-schema-docs.ts +296 -0
- package/scripts/generate-types-docs.ts +48 -0
- package/scripts/lib/exec.ts +37 -0
- package/scripts/lib/file-ops.ts +58 -0
- package/scripts/lib/version.ts +83 -0
- package/scripts/lowercase-docs.ts +43 -0
- package/scripts/manage-milestone-mrs.ts +279 -0
- package/scripts/process-doc-templates.ts +37 -0
- package/scripts/rebase-all-mrs.sh +75 -0
- package/scripts/schemas/package.schema.ts +75 -0
- package/scripts/setup-branch-protection.sh +33 -0
- package/scripts/sync-github-pr.sh +48 -0
- package/scripts/sync-version.js +40 -0
- package/scripts/sync-version.ts +39 -0
- package/scripts/sync-versions.ts +488 -0
- package/scripts/sync-wiki.sh +50 -0
- package/scripts/validate-all.js +127 -0
- package/scripts/validate-schema.ts +49 -0
- package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/spec/v0.2.3/CHANGELOG.md +7 -7
- package/spec/v0.2.3/README.md +9 -9
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
- package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
- package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/{v0.2.4-dev/ossa-0.2.4-dev.yaml → v0.2.4/ossa-0.2.4.yaml} +1 -1
- package/spec/v0.2.5/CHANGELOG.md +401 -0
- package/spec/v0.2.5/README.md +72 -0
- package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
- package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/spec/v0.2.5-RC/README.md +72 -0
- package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/spec/v0.2.6/CHANGELOG.md +401 -0
- package/spec/v0.2.6/README.md +72 -0
- package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
- package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/spec/v0.2.6-dev/README.md +75 -0
- package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
- package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.6-dev/ossa-0.2.6-dev.schema.json} +323 -359
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/spec/v0.2.7/core/agentgraph.md +324 -0
- package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
- package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +445 -0
- package/website/Dockerfile +18 -5
- package/website/app/about/page.tsx +60 -51
- package/website/app/blog/[slug]/page.tsx +61 -20
- package/website/app/blog/page.tsx +120 -33
- package/website/app/design-guide/page.tsx +511 -0
- package/website/app/docs/[[...slug]]/page.tsx +641 -143
- package/website/app/ecosystem/page.tsx +146 -111
- package/website/app/examples/page.tsx +51 -41
- package/website/app/globals.scss +370 -0
- package/website/app/layout.tsx +2 -2
- package/website/app/license/page.tsx +183 -0
- package/website/app/not-found.tsx +18 -0
- package/website/app/page.tsx +513 -236
- package/website/app/page.tsx.bak +679 -0
- package/website/app/page.tsx.bak2 +649 -0
- package/website/app/playground/page.tsx +25 -45
- package/website/app/schema/page.tsx +423 -392
- package/website/app/specification/page.tsx +245 -169
- package/website/components/Logo.tsx +75 -2
- package/website/components/docs/DocsSidebar.tsx +40 -3
- package/website/components/docs/MarkdownContent.tsx +265 -47
- package/website/components/docs/VersionSelector.tsx +64 -8
- package/website/components/examples/ExamplesViewer.tsx +2 -2
- package/website/components/layout/Footer.tsx +6 -1
- package/website/components/layout/Header.tsx +44 -42
- package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
- package/website/components/schema/SchemaExplorer.tsx +4 -4
- package/website/components/ui/Badge.tsx +82 -0
- package/website/components/ui/Button.tsx +116 -0
- package/website/components/ui/Card.tsx +167 -0
- package/website/components/ui/Checkbox.tsx +141 -0
- package/website/components/ui/Input.tsx +169 -0
- package/website/components/ui/Radio.tsx +141 -0
- package/website/components/ui/Select.tsx +182 -0
- package/website/components/ui/Tag.tsx +158 -0
- package/website/components/ui/Textarea.tsx +195 -0
- package/website/components/ui/index.ts +11 -0
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
- package/website/content/blog/introducing-ossa-framework.md +1 -1
- package/website/content/blog/ossa-production-results.md +5 -5
- package/website/content/blog/welcome-to-ossa.md +2 -2
- package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
- package/website/content/docs/{00-HOME.md → 00-home.md} +18 -25
- package/website/content/docs/adapters/openai-adapter.md +693 -0
- package/website/content/docs/agents/catalog.md +28 -0
- package/website/content/docs/aiflow-framework-integration-with-ossa.md +107 -0
- package/website/content/docs/api-reference/index.md +38 -0
- package/website/content/docs/api-reference/ossa-core-api.md +634 -0
- package/website/content/docs/api-reference/ossa-registry-api.md +515 -0
- package/website/content/docs/api-reference/unified-agent-gateway.md +599 -0
- package/website/content/docs/architecture/execution-flow.md +3 -3
- package/website/content/docs/architecture/multi-agent-systems.md +4 -4
- package/website/content/docs/architecture/overview.md +4 -4
- package/website/content/docs/architecture/stack-integration.md +4 -4
- package/website/content/docs/changelog.md +4 -4
- package/website/content/docs/cli-reference/index.md +111 -0
- package/website/content/docs/cli-reference/ossa-agents.md +70 -0
- package/website/content/docs/cli-reference/ossa-export.md +56 -0
- package/website/content/docs/cli-reference/ossa-generate.md +66 -0
- package/website/content/docs/cli-reference/ossa-gitlab-agent.md +57 -0
- package/website/content/docs/cli-reference/ossa-import.md +56 -0
- package/website/content/docs/cli-reference/ossa-init.md +57 -0
- package/website/content/docs/cli-reference/ossa-migrate.md +62 -0
- package/website/content/docs/cli-reference/ossa-run.md +66 -0
- package/website/content/docs/cli-reference/ossa-schema.md +57 -0
- package/website/content/docs/cli-reference/ossa-setup.md +57 -0
- package/website/content/docs/cli-reference/ossa-validate.md +66 -0
- package/website/content/docs/configuration/index.md +97 -0
- package/website/content/docs/contributing.md +2 -2
- package/website/content/docs/deployment/github-mirroring.md +924 -0
- package/website/content/docs/documentation.md +100 -0
- package/website/content/docs/ecosystem/framework-support.md +551 -11
- package/website/content/docs/errors/index.md +10 -0
- package/website/content/docs/{AIFlow-Framework-Integration-with-OSSA.md → examples/aiflow-framework-integration-with-ossa.md} +2 -2
- package/website/content/docs/examples/catalog.md +300 -0
- package/website/content/docs/for-audiences/{Students-Researchers.md → students-researchers.md} +1 -1
- package/website/content/docs/getting-started/index.md +92 -0
- package/website/content/docs/getting-started/installation.md +7 -7
- package/website/content/docs/getting-started/running-agents.md +215 -13
- package/{docs → website/content/docs}/getting-started.md +10 -6
- package/website/content/docs/integrations/aiflow.md +2 -2
- package/website/content/docs/integrations/drupal.md +2 -2
- package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
- package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
- package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
- package/website/content/docs/migration-guides/index.md +1 -1
- package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
- package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
- package/website/content/docs/openapi-extensions/examples.md +9 -9
- package/website/content/docs/openapi-extensions/index.md +59 -3
- package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
- package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
- package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
- package/website/content/docs/pre-release/index.md +10 -10
- package/website/content/docs/readme.md +35 -0
- package/website/content/docs/releases/v0.2.6.md +99 -0
- package/website/content/docs/schema-reference/agent-capabilities.md +50 -0
- package/website/content/docs/schema-reference/agent-id.md +52 -0
- package/website/content/docs/schema-reference/agent-name.md +50 -0
- package/website/content/docs/schema-reference/agent-role.md +54 -0
- package/website/content/docs/schema-reference/agent-spec.md +2 -2
- package/website/content/docs/schema-reference/agent-version.md +50 -0
- package/website/content/docs/schema-reference/autonomy.md +5 -5
- package/website/content/docs/schema-reference/constraints.md +5 -5
- package/website/content/docs/schema-reference/index.md +26 -157
- package/website/content/docs/schema-reference/llm-config.md +1 -1
- package/website/content/docs/schema-reference/observability.md +5 -5
- package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
- package/website/content/docs/schema-reference/taxonomy.md +3 -3
- package/website/content/docs/types-reference/index.md +105 -0
- package/website/content/docs/use-cases/00-index.md +1 -1
- package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
- package/website/dev.sh +53 -0
- package/website/docker-compose.dev.yml +36 -0
- package/website/lib/version.ts +18 -1
- package/website/lib/versions.json +103 -0
- package/website/next.config.ts +3 -1
- package/website/package-lock.json +552 -18
- package/website/package.json +11 -5
- package/website/postcss.config.mjs +1 -1
- package/website/scripts/fetch-versions.js +166 -0
- package/website/scripts/generate-examples-index.js +163 -0
- package/website/scripts/merge-docs-to-wiki.ts +207 -0
- package/website/scripts/sync-version.js +28 -0
- package/website/scripts/sync-wiki.ts +64 -3
- package/website/scripts/upload-wiki.ts +199 -0
- package/website/styles/_spacing.scss +453 -0
- package/website/styles/_tokens.scss +245 -0
- package/website/styles/_typography.scss +361 -0
- package/website/styles/_variables.scss +287 -0
- package/website/tailwind.config.ts +127 -22
- package/.releaserc.json.disabled +0 -81
- package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
- package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
- package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
- package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
- package/docs/README.md +0 -31
- package/docs/agent-openapi-spec.yml +0 -942
- package/docs/openapi-extensions.md +0 -930
- package/docs/schemas/openapi-extensions.schema.json +0 -486
- package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
- package/ossa-website-swarm-tasks.json +0 -105
- package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
- package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
- package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
- package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
- package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
- package/website/app/api/validate/route.ts +0 -88
- package/website/app/globals.css +0 -108
- package/website/content/docs/OpenAPI-Extensions.md +0 -498
- package/website/content/docs/core-concepts/project-structure.md +0 -348
- package/website/content/docs/examples/Migration-Guides.md +0 -214
- package/website/content/docs/examples.md +0 -71
- package/website/content/docs/for-audiences/Enterprises.md +0 -256
- package/website/content/docs/for-audiences/architects.md +0 -224
- package/website/content/docs/for-audiences/developers.md +0 -220
- package/website/content/docs/getting-started/5-minute-overview.md +0 -85
- package/website/content/docs/getting-started/Hello-World.md +0 -184
- package/website/content/docs/getting-started/first-agent.md +0 -196
- package/website/content/docs/migration-guides/00-index.md +0 -76
- package/website/content/docs/migration-guides/README.md +0 -133
- package/website/next.config.js +0 -17
- package/website/postcss.config.js +0 -7
- package/website/tailwind.config.js +0 -58
- /package/dist/spec/{v0.2.4-dev/ossa-0.2.4-dev.schema.json → v0.2.4/ossa-0.2.4.schema.json} +0 -0
- /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
- /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
- /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
- /package/spec/{v0.2.4-dev/ossa-0.2.4-dev.schema.json → v0.2.4/ossa-0.2.4.schema.json} +0 -0
- /package/{docs/migration → website/content/docs/migration-guides}/migration-manifest.json +0 -0
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from 'next/server';
|
|
2
|
-
import Ajv from 'ajv';
|
|
3
|
-
import addFormats from 'ajv-formats';
|
|
4
|
-
import fs from 'fs';
|
|
5
|
-
import path from 'path';
|
|
6
|
-
import yaml from 'yaml';
|
|
7
|
-
|
|
8
|
-
const ajv = new Ajv({ allErrors: true, verbose: true });
|
|
9
|
-
addFormats(ajv);
|
|
10
|
-
|
|
11
|
-
let schemaCache: any = null;
|
|
12
|
-
|
|
13
|
-
function loadSchema(): any {
|
|
14
|
-
if (schemaCache) {
|
|
15
|
-
return schemaCache;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const schemaPath = path.join(
|
|
19
|
-
process.cwd(),
|
|
20
|
-
'../../../spec/v0.2.3/ossa-0.2.2.schema.json'
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
if (!fs.existsSync(schemaPath)) {
|
|
24
|
-
throw new Error('OSSA schema not found');
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
const schemaContent = fs.readFileSync(schemaPath, 'utf8');
|
|
28
|
-
schemaCache = JSON.parse(schemaContent);
|
|
29
|
-
return schemaCache;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export async function POST(request: Request): Promise<NextResponse> {
|
|
33
|
-
try {
|
|
34
|
-
const { content } = await request.json();
|
|
35
|
-
|
|
36
|
-
if (!content || typeof content !== 'string') {
|
|
37
|
-
return NextResponse.json(
|
|
38
|
-
{ valid: false, errors: [{ path: '', message: 'Content is required' }] },
|
|
39
|
-
{ status: 400 }
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const schema = loadSchema();
|
|
44
|
-
const validate = ajv.compile(schema);
|
|
45
|
-
|
|
46
|
-
let parsed: any;
|
|
47
|
-
try {
|
|
48
|
-
parsed = yaml.parse(content);
|
|
49
|
-
} catch (yamlError) {
|
|
50
|
-
try {
|
|
51
|
-
parsed = JSON.parse(content);
|
|
52
|
-
} catch (jsonError) {
|
|
53
|
-
return NextResponse.json({
|
|
54
|
-
valid: false,
|
|
55
|
-
errors: [{ path: '', message: 'Invalid YAML or JSON format' }],
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const valid = validate(parsed);
|
|
61
|
-
|
|
62
|
-
if (!valid && validate.errors) {
|
|
63
|
-
return NextResponse.json({
|
|
64
|
-
valid: false,
|
|
65
|
-
errors: validate.errors.map((error) => ({
|
|
66
|
-
path: error.instancePath || error.schemaPath || '',
|
|
67
|
-
message: error.message || 'Validation error',
|
|
68
|
-
})),
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return NextResponse.json({ valid: true, errors: [] });
|
|
73
|
-
} catch (error) {
|
|
74
|
-
return NextResponse.json(
|
|
75
|
-
{
|
|
76
|
-
valid: false,
|
|
77
|
-
errors: [
|
|
78
|
-
{
|
|
79
|
-
path: '',
|
|
80
|
-
message: error instanceof Error ? error.message : 'Unknown error',
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
},
|
|
84
|
-
{ status: 500 }
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
package/website/app/globals.css
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
@tailwind base;
|
|
2
|
-
@tailwind components;
|
|
3
|
-
@tailwind utilities;
|
|
4
|
-
|
|
5
|
-
@layer base {
|
|
6
|
-
:root {
|
|
7
|
-
/* OSSA Brand Colors - from logo design */
|
|
8
|
-
--ossa-primary: #0066CC; /* Main blue - OSSA hub/standard */
|
|
9
|
-
--ossa-secondary: #00B8D4; /* Cyan - Agent nodes */
|
|
10
|
-
--ossa-accent: #0099E6; /* Light blue accent */
|
|
11
|
-
--ossa-success: #28a745;
|
|
12
|
-
--ossa-warning: #ffc107;
|
|
13
|
-
--ossa-error: #dc3545;
|
|
14
|
-
--ossa-info: #17a2b8;
|
|
15
|
-
--ossa-dark: #212529;
|
|
16
|
-
--ossa-gray-900: #343a40;
|
|
17
|
-
--ossa-gray-700: #495057;
|
|
18
|
-
--ossa-gray-500: #6c757d;
|
|
19
|
-
--ossa-gray-300: #dee2e6;
|
|
20
|
-
--ossa-gray-100: #f8f9fa;
|
|
21
|
-
--ossa-white: #ffffff;
|
|
22
|
-
|
|
23
|
-
/* Brand gradients */
|
|
24
|
-
--gradient-brand: linear-gradient(135deg, #0066CC 0%, #00B8D4 100%);
|
|
25
|
-
--gradient-hero: linear-gradient(135deg, #0052A3 0%, #0066CC 50%, #00B8D4 100%);
|
|
26
|
-
|
|
27
|
-
/* Code syntax highlighting */
|
|
28
|
-
--code-bg: #1e1e1e;
|
|
29
|
-
--code-text: #d4d4d4;
|
|
30
|
-
--code-keyword: #569cd6;
|
|
31
|
-
--code-string: #ce9178;
|
|
32
|
-
--code-comment: #6a9955;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
html {
|
|
36
|
-
scroll-behavior: smooth;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
body {
|
|
40
|
-
@apply font-sans text-gray-900 bg-white antialiased;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
h1, h2, h3, h4, h5, h6 {
|
|
44
|
-
@apply font-sans font-semibold;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
code {
|
|
48
|
-
@apply font-mono;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
pre {
|
|
52
|
-
@apply bg-code-bg text-code-text rounded-lg p-4 overflow-x-auto;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
pre code {
|
|
56
|
-
@apply text-code-text;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
a {
|
|
60
|
-
cursor: pointer;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.sr-only {
|
|
64
|
-
position: absolute;
|
|
65
|
-
width: 1px;
|
|
66
|
-
height: 1px;
|
|
67
|
-
padding: 0;
|
|
68
|
-
margin: -1px;
|
|
69
|
-
overflow: hidden;
|
|
70
|
-
clip: rect(0, 0, 0, 0);
|
|
71
|
-
white-space: nowrap;
|
|
72
|
-
border-width: 0;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.focus\:not-sr-only:focus {
|
|
76
|
-
position: static;
|
|
77
|
-
width: auto;
|
|
78
|
-
height: auto;
|
|
79
|
-
padding: inherit;
|
|
80
|
-
margin: inherit;
|
|
81
|
-
overflow: visible;
|
|
82
|
-
clip: auto;
|
|
83
|
-
white-space: normal;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
@layer components {
|
|
88
|
-
.btn-primary {
|
|
89
|
-
@apply bg-primary text-white px-6 py-3 rounded-lg font-medium hover:bg-primary-dark transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.btn-secondary {
|
|
93
|
-
@apply bg-secondary text-white px-6 py-3 rounded-lg font-medium hover:opacity-90 transition-opacity focus:outline-none focus:ring-2 focus:ring-secondary focus:ring-offset-2;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.btn-outline {
|
|
97
|
-
@apply border-2 border-primary text-primary px-6 py-3 rounded-lg font-medium hover:bg-primary hover:text-white transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.card {
|
|
101
|
-
@apply bg-white rounded-lg shadow-md p-6 border border-gray-300;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.card-hover {
|
|
105
|
-
@apply card hover:shadow-lg transition-shadow;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
@@ -1,498 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "OpenAPI Extensions"
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# OSSA OpenAPI/Swagger Specification Extensions
|
|
6
|
-
|
|
7
|
-
> **Note**: This content is ready to copy-paste into GitLab Wiki pages.
|
|
8
|
-
> Main page: `OpenAPI Extensions`
|
|
9
|
-
> URL: `/docs/openapi-extensions` (relative to wiki)
|
|
10
|
-
|
|
11
|
-
## Overview
|
|
12
|
-
|
|
13
|
-
OSSA (Open Standard for Scalable Agents) extends OpenAPI 3.1 specifications with AI agent-specific metadata, capabilities, and configuration. These extensions enable OpenAPI specs to describe not just REST APIs, but the full agent behavior including autonomy levels, LLM configuration, tool usage, and compliance requirements.
|
|
14
|
-
|
|
15
|
-
**Key Benefits:**
|
|
16
|
-
- **Agent Discovery**: OpenAPI specs become agent manifests that describe capabilities
|
|
17
|
-
- **Type Safety**: Full TypeScript types and JSON Schema validation
|
|
18
|
-
- **Tool Integration**: Declare MCP servers and tools directly in API specs
|
|
19
|
-
- **Compliance**: Built-in support for governance, security, and observability
|
|
20
|
-
- **Framework Agnostic**: Works with any agent runtime (LangChain, CrewAI, kAgent, etc.)
|
|
21
|
-
|
|
22
|
-
## Table of Contents
|
|
23
|
-
|
|
24
|
-
1. [Root-Level Extensions](#root-level-extensions)
|
|
25
|
-
2. [Operation-Level Extensions](#operation-level-extensions)
|
|
26
|
-
3. [Parameter Extensions](#parameter-extensions)
|
|
27
|
-
4. [Schema Extensions](#schema-extensions)
|
|
28
|
-
5. [Complete Examples](#complete-examples)
|
|
29
|
-
6. [Integration with OSSA Manifests](#integration-with-ossa-manifests)
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Root-Level Extensions
|
|
34
|
-
|
|
35
|
-
Extensions that can be added at the root level of an OpenAPI 3.1 specification.
|
|
36
|
-
|
|
37
|
-
### x-ossa-metadata
|
|
38
|
-
|
|
39
|
-
Embeds comprehensive OSSA agent metadata in OpenAPI spec root. Provides governance, compliance, security, and observability metadata.
|
|
40
|
-
|
|
41
|
-
**Location**: Root level of OpenAPI spec
|
|
42
|
-
|
|
43
|
-
**Example**:
|
|
44
|
-
|
|
45
|
-
```yaml
|
|
46
|
-
openapi: 3.1.0
|
|
47
|
-
info:
|
|
48
|
-
title: Kubernetes Troubleshooter Agent API
|
|
49
|
-
version: 1.0.0
|
|
50
|
-
|
|
51
|
-
x-ossa-metadata:
|
|
52
|
-
version: 0.2.2
|
|
53
|
-
compliance:
|
|
54
|
-
level: enterprise
|
|
55
|
-
frameworks:
|
|
56
|
-
- OSSA
|
|
57
|
-
- OpenAPI 3.1
|
|
58
|
-
- RFC7807
|
|
59
|
-
governance:
|
|
60
|
-
approved: true
|
|
61
|
-
approvedBy: Platform Team
|
|
62
|
-
approvalDate: 2024-01-15
|
|
63
|
-
security:
|
|
64
|
-
classification: internal
|
|
65
|
-
authentication: required
|
|
66
|
-
encryption: tls1.3
|
|
67
|
-
observability:
|
|
68
|
-
tracing: true
|
|
69
|
-
metrics: true
|
|
70
|
-
logging: true
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-metadata)
|
|
74
|
-
|
|
75
|
-
### x-ossa
|
|
76
|
-
|
|
77
|
-
Core OSSA compliance information with agent identification and validation metadata.
|
|
78
|
-
|
|
79
|
-
**Location**: Root level or `info` section of OpenAPI spec
|
|
80
|
-
|
|
81
|
-
**Example**:
|
|
82
|
-
|
|
83
|
-
```yaml
|
|
84
|
-
x-ossa:
|
|
85
|
-
version: 0.2.2
|
|
86
|
-
agent:
|
|
87
|
-
id: k8s-troubleshooter
|
|
88
|
-
type: worker
|
|
89
|
-
compliance:
|
|
90
|
-
standards:
|
|
91
|
-
- openapi-first
|
|
92
|
-
- dry
|
|
93
|
-
- crud
|
|
94
|
-
- solid
|
|
95
|
-
- type-safe
|
|
96
|
-
validated: true
|
|
97
|
-
validatedAt: "2024-01-15T10:30:00Z"
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa)
|
|
101
|
-
|
|
102
|
-
### x-agent
|
|
103
|
-
|
|
104
|
-
Agent-specific capabilities, tools, environment, and rules configuration.
|
|
105
|
-
|
|
106
|
-
**Location**: Root level or `info` section of OpenAPI spec
|
|
107
|
-
|
|
108
|
-
**Example**:
|
|
109
|
-
|
|
110
|
-
```yaml
|
|
111
|
-
x-agent:
|
|
112
|
-
capabilities:
|
|
113
|
-
- data-transformation
|
|
114
|
-
- csv-parsing
|
|
115
|
-
- json-validation
|
|
116
|
-
tools:
|
|
117
|
-
- postgres-mcp
|
|
118
|
-
- redis-mcp
|
|
119
|
-
environment:
|
|
120
|
-
processingTimeout: 300
|
|
121
|
-
maxFileSize: "100MB"
|
|
122
|
-
rules:
|
|
123
|
-
- no-external-api-calls
|
|
124
|
-
- validate-all-inputs
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-agent)
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Operation-Level Extensions
|
|
132
|
-
|
|
133
|
-
Extensions that can be added to individual OpenAPI operations (GET, POST, PUT, DELETE, etc.).
|
|
134
|
-
|
|
135
|
-
### x-ossa-capability
|
|
136
|
-
|
|
137
|
-
Links an OpenAPI operation to an OSSA agent capability.
|
|
138
|
-
|
|
139
|
-
**Location**: Operation object within path item
|
|
140
|
-
|
|
141
|
-
**Example**:
|
|
142
|
-
|
|
143
|
-
```yaml
|
|
144
|
-
paths:
|
|
145
|
-
/api/v1/process-data:
|
|
146
|
-
post:
|
|
147
|
-
summary: Process incoming data
|
|
148
|
-
operationId: processData
|
|
149
|
-
x-ossa-capability:
|
|
150
|
-
name: data-transformation
|
|
151
|
-
description: Transforms CSV data to JSON format
|
|
152
|
-
requestBody:
|
|
153
|
-
# ... request body ...
|
|
154
|
-
responses:
|
|
155
|
-
# ... responses ...
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-capability)
|
|
159
|
-
|
|
160
|
-
### x-ossa-autonomy
|
|
161
|
-
|
|
162
|
-
Defines autonomy level and approval requirements for operation execution.
|
|
163
|
-
|
|
164
|
-
**Location**: Operation object within path item
|
|
165
|
-
|
|
166
|
-
**Autonomy Levels**:
|
|
167
|
-
- `supervised` - Requires human approval before execution
|
|
168
|
-
- `semi-autonomous` - Can execute with automatic approval under certain conditions
|
|
169
|
-
- `autonomous` - Can execute without human intervention
|
|
170
|
-
|
|
171
|
-
**Example**:
|
|
172
|
-
|
|
173
|
-
```yaml
|
|
174
|
-
paths:
|
|
175
|
-
/api/v1/delete-resource:
|
|
176
|
-
delete:
|
|
177
|
-
summary: Delete a resource
|
|
178
|
-
operationId: deleteResource
|
|
179
|
-
x-ossa-autonomy:
|
|
180
|
-
level: supervised
|
|
181
|
-
approval_required: true
|
|
182
|
-
allowed_actions:
|
|
183
|
-
- read_resource
|
|
184
|
-
- validate_deletion
|
|
185
|
-
blocked_actions:
|
|
186
|
-
- permanent_delete
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-autonomy)
|
|
190
|
-
|
|
191
|
-
### x-ossa-constraints
|
|
192
|
-
|
|
193
|
-
Defines cost, token, performance, and time constraints for operation execution.
|
|
194
|
-
|
|
195
|
-
**Location**: Operation object within path item
|
|
196
|
-
|
|
197
|
-
**Example**:
|
|
198
|
-
|
|
199
|
-
```yaml
|
|
200
|
-
paths:
|
|
201
|
-
/api/v1/generate-report:
|
|
202
|
-
post:
|
|
203
|
-
summary: Generate comprehensive report
|
|
204
|
-
operationId: generateReport
|
|
205
|
-
x-ossa-constraints:
|
|
206
|
-
cost:
|
|
207
|
-
maxTokensPerDay: 50000
|
|
208
|
-
maxTokensPerRequest: 4000
|
|
209
|
-
maxCostPerDay: 10.0
|
|
210
|
-
currency: USD
|
|
211
|
-
performance:
|
|
212
|
-
maxLatencySeconds: 30
|
|
213
|
-
maxConcurrentRequests: 5
|
|
214
|
-
time:
|
|
215
|
-
maxExecutionTime: 300
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-constraints)
|
|
219
|
-
|
|
220
|
-
### x-ossa-tools
|
|
221
|
-
|
|
222
|
-
Specifies MCP servers or tools required for operation execution.
|
|
223
|
-
|
|
224
|
-
**Location**: Operation object within path item
|
|
225
|
-
|
|
226
|
-
**Example**:
|
|
227
|
-
|
|
228
|
-
```yaml
|
|
229
|
-
paths:
|
|
230
|
-
/api/v1/diagnose-issue:
|
|
231
|
-
post:
|
|
232
|
-
summary: Diagnose Kubernetes issue
|
|
233
|
-
operationId: diagnoseIssue
|
|
234
|
-
x-ossa-tools:
|
|
235
|
-
- type: mcp
|
|
236
|
-
server: kubernetes-mcp
|
|
237
|
-
namespace: default
|
|
238
|
-
capabilities:
|
|
239
|
-
- get_pods
|
|
240
|
-
- get_logs
|
|
241
|
-
- get_events
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-tools)
|
|
245
|
-
|
|
246
|
-
### x-ossa-llm
|
|
247
|
-
|
|
248
|
-
Overrides LLM configuration for a specific operation.
|
|
249
|
-
|
|
250
|
-
**Location**: Operation object within path item
|
|
251
|
-
|
|
252
|
-
**Example**:
|
|
253
|
-
|
|
254
|
-
```yaml
|
|
255
|
-
paths:
|
|
256
|
-
/api/v1/analyze-code:
|
|
257
|
-
post:
|
|
258
|
-
summary: Analyze code for issues
|
|
259
|
-
operationId: analyzeCode
|
|
260
|
-
x-ossa-llm:
|
|
261
|
-
provider: openai
|
|
262
|
-
model: gpt-4
|
|
263
|
-
temperature: 0.2
|
|
264
|
-
maxTokens: 4000
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-llm)
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## Parameter Extensions
|
|
272
|
-
|
|
273
|
-
Extensions for OpenAPI parameters (headers, query params, path params, cookies).
|
|
274
|
-
|
|
275
|
-
### x-ossa-agent-id
|
|
276
|
-
|
|
277
|
-
Standard header parameter for agent identification in agent-to-agent communication.
|
|
278
|
-
|
|
279
|
-
**Example**:
|
|
280
|
-
|
|
281
|
-
```yaml
|
|
282
|
-
components:
|
|
283
|
-
parameters:
|
|
284
|
-
X-Ossa-Agent-Id:
|
|
285
|
-
name: X-OSSA-Agent-ID
|
|
286
|
-
in: header
|
|
287
|
-
description: Unique identifier of the agent making the request
|
|
288
|
-
required: false
|
|
289
|
-
schema:
|
|
290
|
-
type: string
|
|
291
|
-
pattern: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$"
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-agent-id)
|
|
295
|
-
|
|
296
|
-
### x-ossa-version
|
|
297
|
-
|
|
298
|
-
Standard header parameter for OSSA specification version in requests.
|
|
299
|
-
|
|
300
|
-
**Example**:
|
|
301
|
-
|
|
302
|
-
```yaml
|
|
303
|
-
components:
|
|
304
|
-
parameters:
|
|
305
|
-
X-Ossa-Version:
|
|
306
|
-
name: X-OSSA-Version
|
|
307
|
-
in: header
|
|
308
|
-
description: OSSA specification version the agent supports
|
|
309
|
-
required: false
|
|
310
|
-
schema:
|
|
311
|
-
type: string
|
|
312
|
-
pattern: "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-version)
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## Schema Extensions
|
|
320
|
-
|
|
321
|
-
Extensions for OpenAPI schema definitions.
|
|
322
|
-
|
|
323
|
-
### x-ossa-capability-schema
|
|
324
|
-
|
|
325
|
-
Extends schema definition with capability metadata, linking OpenAPI schemas to OSSA capabilities.
|
|
326
|
-
|
|
327
|
-
**Location**: Schema definition in `components.schemas`
|
|
328
|
-
|
|
329
|
-
**Example**:
|
|
330
|
-
|
|
331
|
-
```yaml
|
|
332
|
-
components:
|
|
333
|
-
schemas:
|
|
334
|
-
DataProcessingInput:
|
|
335
|
-
type: object
|
|
336
|
-
required: [csvData]
|
|
337
|
-
properties:
|
|
338
|
-
csvData:
|
|
339
|
-
type: string
|
|
340
|
-
x-ossa-capability-schema:
|
|
341
|
-
capabilityName: data-transformation
|
|
342
|
-
input: true
|
|
343
|
-
validation:
|
|
344
|
-
required: true
|
|
345
|
-
strict: true
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
**See**: [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#x-ossa-capability-schema)
|
|
349
|
-
|
|
350
|
-
---
|
|
351
|
-
|
|
352
|
-
## Complete Examples
|
|
353
|
-
|
|
354
|
-
### Minimal Agent API
|
|
355
|
-
|
|
356
|
-
See: [`examples/openapi-extensions/minimal-agent-api.openapi.yml`](https://github.com/blueflyio/openstandardagents/blob/main/examples/openapi-extensions/minimal-agent-api.openapi.yml)
|
|
357
|
-
|
|
358
|
-
### Worker Agent API
|
|
359
|
-
|
|
360
|
-
See: [`examples/openapi-extensions/worker-agent-api.openapi.yml`](https://github.com/blueflyio/openstandardagents/blob/main/examples/openapi-extensions/worker-agent-api.openapi.yml)
|
|
361
|
-
|
|
362
|
-
### Orchestrator Agent API
|
|
363
|
-
|
|
364
|
-
See: [`examples/openapi-extensions/orchestrator-agent-api.openapi.yml`](https://github.com/blueflyio/openstandardagents/blob/main/examples/openapi-extensions/orchestrator-agent-api.openapi.yml)
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
## Integration with OSSA Manifests
|
|
369
|
-
|
|
370
|
-
OSSA OpenAPI extensions complement OSSA agent manifests (`.ossa.yaml` files). They serve different but related purposes:
|
|
371
|
-
|
|
372
|
-
- **OSSA Agent Manifest** (`.ossa.yaml`) - Declarative agent definition with full configuration
|
|
373
|
-
- **OpenAPI Specification with OSSA Extensions** - API interface definition with agent metadata
|
|
374
|
-
|
|
375
|
-
See [Full Documentation](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md#integration-with-ossa-manifests) for details.
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
## Quick Reference
|
|
380
|
-
|
|
381
|
-
| Extension | Location | Purpose |
|
|
382
|
-
|-----------|----------|---------|
|
|
383
|
-
| `x-ossa-metadata` | Root | Comprehensive agent metadata |
|
|
384
|
-
| `x-ossa` | Root | Core OSSA compliance info |
|
|
385
|
-
| `x-agent` | Root | Agent capabilities & config |
|
|
386
|
-
| `x-ossa-capability` | Operation | Link operation to capability |
|
|
387
|
-
| `x-ossa-autonomy` | Operation | Define autonomy level |
|
|
388
|
-
| `x-ossa-constraints` | Operation | Cost & performance limits |
|
|
389
|
-
| `x-ossa-tools` | Operation | Required MCP servers/tools |
|
|
390
|
-
| `x-ossa-llm` | Operation | Override LLM config |
|
|
391
|
-
| `x-ossa-agent-id` | Parameter | Agent identification header |
|
|
392
|
-
| `x-ossa-version` | Parameter | OSSA version header |
|
|
393
|
-
| `x-ossa-capability-schema` | Schema | Capability schema metadata |
|
|
394
|
-
|
|
395
|
-
---
|
|
396
|
-
|
|
397
|
-
## Resources
|
|
398
|
-
|
|
399
|
-
- **Full Documentation**: [docs/openapi-extensions.md](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md)
|
|
400
|
-
- **JSON Schema**: [docs/schemas/openapi-extensions.schema.json](https://github.com/blueflyio/openstandardagents/blob/main/docs/schemas/openapi-extensions.schema.json)
|
|
401
|
-
- **Examples**: [examples/openapi-extensions/](https://github.com/blueflyio/openstandardagents/tree/main/examples/openapi-extensions)
|
|
402
|
-
- **OSSA Specification**: [spec/v0.2.2/OSSA-SPECIFICATION-v0.2.2.md](https://github.com/blueflyio/openstandardagents/blob/main/spec/v0.2.2/OSSA-SPECIFICATION-v0.2.2.md)
|
|
403
|
-
- **npm Package**: [@bluefly/openstandardagents](https://www.npmjs.com/package/@bluefly/openstandardagents)
|
|
404
|
-
|
|
405
|
-
---
|
|
406
|
-
|
|
407
|
-
*For complete documentation with all examples and details, see the [main documentation file](https://github.com/blueflyio/openstandardagents/blob/main/docs/openapi-extensions.md).*
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
---
|
|
411
|
-
|
|
412
|
-
## Governance & Autonomy Guidance
|
|
413
|
-
|
|
414
|
-
### Autonomy Levels
|
|
415
|
-
|
|
416
|
-
- **supervised**: Human must approve before execution
|
|
417
|
-
- **semi-autonomous**: Human approves plan, agent executes bounded actions
|
|
418
|
-
- **autonomous**: No pre-approval; audit + guardrails required
|
|
419
|
-
|
|
420
|
-
### Recommended Policies
|
|
421
|
-
|
|
422
|
-
- Always define `x-ossa-autonomy.level` and `approval_required` per operation
|
|
423
|
-
- Denylist high-risk actions in `blocked_actions`
|
|
424
|
-
- Constrain costs/latency via `x-ossa-constraints`
|
|
425
|
-
- Require `x-ossa-agent-id` and `x-ossa-version` headers for traceability
|
|
426
|
-
|
|
427
|
-
### Example Policy Snippets
|
|
428
|
-
|
|
429
|
-
```yaml
|
|
430
|
-
x-ossa-autonomy:
|
|
431
|
-
level: supervised
|
|
432
|
-
approval_required: true
|
|
433
|
-
allowed_actions: [read_only]
|
|
434
|
-
blocked_actions: [write_resource, exec_shell]
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
```yaml
|
|
438
|
-
x-ossa-constraints:
|
|
439
|
-
cost:
|
|
440
|
-
maxTokensPerRequest: 2000
|
|
441
|
-
maxCostPerDay: 5
|
|
442
|
-
currency: USD
|
|
443
|
-
performance:
|
|
444
|
-
maxLatencySeconds: 30
|
|
445
|
-
maxConcurrentRequests: 3
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
### Audit/Observability
|
|
449
|
-
|
|
450
|
-
Enable in root `x-ossa-metadata.observability` and propagate request IDs across calls.
|
|
451
|
-
|
|
452
|
-
---
|
|
453
|
-
|
|
454
|
-
## Advanced Examples
|
|
455
|
-
|
|
456
|
-
### Idempotent Write Guard
|
|
457
|
-
|
|
458
|
-
```yaml
|
|
459
|
-
paths:
|
|
460
|
-
/api/v1/config/update:
|
|
461
|
-
post:
|
|
462
|
-
x-ossa-capability:
|
|
463
|
-
name: config-update
|
|
464
|
-
description: Safe config updates with dry-run
|
|
465
|
-
input: true
|
|
466
|
-
output: true
|
|
467
|
-
x-ossa-autonomy:
|
|
468
|
-
level: semi-autonomous
|
|
469
|
-
approval_required: true
|
|
470
|
-
blocked_actions: [restart_cluster]
|
|
471
|
-
x-ossa-constraints:
|
|
472
|
-
performance:
|
|
473
|
-
maxLatencySeconds: 60
|
|
474
|
-
parameters:
|
|
475
|
-
- name: X-Request-Id
|
|
476
|
-
in: header
|
|
477
|
-
required: true
|
|
478
|
-
schema:
|
|
479
|
-
type: string
|
|
480
|
-
```
|
|
481
|
-
|
|
482
|
-
### Dual-LLM Strategy Per Operation
|
|
483
|
-
|
|
484
|
-
```yaml
|
|
485
|
-
x-ossa-llm:
|
|
486
|
-
provider: openai
|
|
487
|
-
model: gpt-4o
|
|
488
|
-
temperature: 0.2
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
```yaml
|
|
492
|
-
x-ossa-llm:
|
|
493
|
-
provider: anthropic
|
|
494
|
-
model: claude-3-5-sonnet
|
|
495
|
-
temperature: 0.1
|
|
496
|
-
```
|
|
497
|
-
|
|
498
|
-
Use staging flags to A/B test safety/performance.
|