@bluefly/openstandardagents 0.2.4 → 0.2.5-RC
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursorrules +84 -0
- package/.devfile.yaml +87 -0
- package/.env.example +25 -3
- package/.github/workflows/release.yml +1 -1
- package/.kiro/specs/agent-buildkit-templates/design.md +495 -0
- package/.kiro/specs/agent-buildkit-templates/requirements.md +165 -0
- package/.kiro/specs/kiro-ide-supercharger/README.md +202 -0
- package/.kiro/specs/kiro-ide-supercharger/design.md +1005 -0
- package/.kiro/specs/kiro-ide-supercharger/requirements.md +141 -0
- package/.kiro/specs/kiro-ide-supercharger/tasks.md +507 -0
- package/.kiro/specs/website-design-audit/design.md +679 -0
- package/.kiro/specs/website-design-audit/requirements.md +199 -0
- package/.releaserc.json +5 -4
- package/.version.json +6 -0
- package/CHANGELOG.md +140 -96
- package/CONTRIBUTING.md +23 -5
- package/README.md +121 -43
- package/bin/ossa +24 -3
- package/bin/ossa-validate-all +55 -0
- package/bin/ossa-version +23 -0
- package/bin/validate-ossa-0.2.4.ts +244 -0
- package/bin/validate-ossa-0.2.5-RC.ts +244 -0
- package/bin/validate-ossa.ts +273 -0
- package/dist/di-container.d.ts +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +17 -2
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +96 -18
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/generation.service.d.ts +7 -5
- package/dist/services/generation.service.d.ts.map +1 -1
- package/dist/services/generation.service.js +92 -44
- package/dist/services/generation.service.js.map +1 -1
- package/dist/services/gitlab-agent.service.d.ts +94 -0
- package/dist/services/gitlab-agent.service.d.ts.map +1 -0
- package/dist/services/gitlab-agent.service.js +162 -0
- package/dist/services/gitlab-agent.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +3 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +108 -61
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/base-crud.service.d.ts +93 -0
- package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
- package/dist/services/release-automation/base-crud.service.js +68 -0
- package/dist/services/release-automation/base-crud.service.js.map +1 -0
- package/dist/services/release-automation/index.d.ts +12 -0
- package/dist/services/release-automation/index.d.ts.map +1 -0
- package/dist/services/release-automation/index.js +12 -0
- package/dist/services/release-automation/index.js.map +1 -0
- package/dist/services/release-automation/merge-request.service.d.ts +119 -0
- package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
- package/dist/services/release-automation/merge-request.service.js +212 -0
- package/dist/services/release-automation/merge-request.service.js.map +1 -0
- package/dist/services/release-automation/milestone.service.d.ts +104 -0
- package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
- package/dist/services/release-automation/milestone.service.js +207 -0
- package/dist/services/release-automation/milestone.service.js.map +1 -0
- package/dist/services/release-automation/release.service.d.ts +118 -0
- package/dist/services/release-automation/release.service.d.ts.map +1 -0
- package/dist/services/release-automation/release.service.js +207 -0
- package/dist/services/release-automation/release.service.js.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
- package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
- package/dist/services/release-automation/schemas/release.schema.js +269 -0
- package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
- package/dist/services/release-automation/tag.service.d.ts +99 -0
- package/dist/services/release-automation/tag.service.d.ts.map +1 -0
- package/dist/services/release-automation/tag.service.js +180 -0
- package/dist/services/release-automation/tag.service.js.map +1 -0
- package/dist/services/release-automation/webhook.service.d.ts +37 -0
- package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
- package/dist/services/release-automation/webhook.service.js +173 -0
- package/dist/services/release-automation/webhook.service.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
- package/dist/services/runtime/openai.adapter.js.map +1 -1
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +24 -11
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/anthropic.validator.d.ts +2 -2
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
- package/dist/services/validators/anthropic.validator.js +14 -9
- package/dist/services/validators/anthropic.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.d.ts +2 -2
- package/dist/services/validators/autogen.validator.d.ts.map +1 -1
- package/dist/services/validators/autogen.validator.js +18 -15
- package/dist/services/validators/autogen.validator.js.map +1 -1
- package/dist/services/validators/crewai.validator.d.ts +2 -2
- package/dist/services/validators/crewai.validator.d.ts.map +1 -1
- package/dist/services/validators/crewai.validator.js +18 -17
- package/dist/services/validators/crewai.validator.js.map +1 -1
- package/dist/services/validators/cursor.validator.d.ts +2 -2
- package/dist/services/validators/cursor.validator.d.ts.map +1 -1
- package/dist/services/validators/cursor.validator.js +15 -11
- package/dist/services/validators/cursor.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.d.ts +2 -2
- package/dist/services/validators/langchain.validator.d.ts.map +1 -1
- package/dist/services/validators/langchain.validator.js +14 -11
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langflow.validator.d.ts +2 -2
- package/dist/services/validators/langflow.validator.d.ts.map +1 -1
- package/dist/services/validators/langflow.validator.js +14 -9
- package/dist/services/validators/langflow.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.d.ts +2 -2
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
- package/dist/services/validators/langgraph.validator.js +23 -18
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/llamaindex.validator.d.ts +2 -2
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
- package/dist/services/validators/llamaindex.validator.js +19 -16
- package/dist/services/validators/llamaindex.validator.js.map +1 -1
- package/dist/services/validators/openai.validator.d.ts +2 -2
- package/dist/services/validators/openai.validator.d.ts.map +1 -1
- package/dist/services/validators/openai.validator.js +20 -16
- package/dist/services/validators/openai.validator.js.map +1 -1
- package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
- package/dist/services/validators/vercel-ai.validator.js +16 -15
- package/dist/services/validators/vercel-ai.validator.js.map +1 -1
- package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
- package/dist/spec/v0.2.3/README.md +9 -9
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
- package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
- package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
- package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
- package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
- package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5/README.md +72 -0
- package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
- package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.5-RC/README.md +72 -0
- package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/dist/types/index.d.ts +6 -1
- package/dist/types/index.d.ts.map +1 -1
- package/docs/issue-19-completion-summary.md +648 -0
- package/docs/issue-19-validation.md +351 -0
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- package/examples/bridges/Dockerfile.production +1 -1
- package/examples/crewai/research-team.ossa.json +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- package/examples/enterprise/agent.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/langchain/chain-agent.ossa.json +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- package/examples/openai/basic-agent.ossa.yaml +61 -0
- package/examples/openai/multi-tool-agent.ossa.json +165 -0
- package/examples/openai/swarm-agent.ossa.json +1 -1
- package/examples/openapi-extensions/README.md +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +1 -1
- package/infrastructure/gitlab-agent/rbac.yaml +126 -0
- package/infrastructure/gitlab-agent/values.yaml +150 -0
- package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
- package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
- package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
- package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
- package/infrastructure/k8s/monitoring/README.md +73 -0
- package/infrastructure/k8s/monitoring/deploy.sh +38 -0
- package/openapi/CHANGELOG.md +21 -0
- package/openapi/README.md +46 -0
- package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
- package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
- package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
- package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
- package/package.json +31 -21
- package/release.config.js +20 -5
- package/scripts/bump-version.ts +57 -0
- package/scripts/enhanced-version-manager.ts +257 -0
- package/scripts/gen-types.ts +51 -0
- package/scripts/gen-zod.ts +51 -0
- package/scripts/lib/exec.ts +37 -0
- package/scripts/lib/file-ops.ts +58 -0
- package/scripts/lib/version.ts +83 -0
- package/scripts/process-doc-templates.ts +37 -0
- package/scripts/schemas/package.schema.ts +75 -0
- package/scripts/setup-branch-protection.sh +33 -0
- package/scripts/sync-version.ts +39 -0
- package/scripts/sync-versions.ts +488 -0
- package/scripts/validate-schema.ts +49 -0
- package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/spec/v0.2.3/CHANGELOG.md +7 -7
- package/spec/v0.2.3/README.md +9 -9
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
- package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
- package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
- package/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
- package/spec/v0.2.5/CHANGELOG.md +401 -0
- package/spec/v0.2.5/README.md +72 -0
- package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
- package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
- package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
- package/spec/v0.2.5-RC/README.md +72 -0
- package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
- package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
- package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
- package/website/Dockerfile +18 -5
- package/website/app/about/page.tsx +7 -7
- package/website/app/blog/[slug]/page.tsx +61 -20
- package/website/app/blog/page.tsx +120 -33
- package/website/app/design-guide/page.tsx +511 -0
- package/website/app/docs/[[...slug]]/page.tsx +641 -143
- package/website/app/examples/page.tsx +51 -41
- package/website/app/{globals.css → globals.scss} +50 -23
- package/website/app/layout.tsx +2 -2
- package/website/app/license/page.tsx +183 -0
- package/website/app/not-found.tsx +18 -0
- package/website/app/page.tsx +144 -79
- package/website/app/playground/page.tsx +25 -45
- package/website/app/schema/page.tsx +423 -392
- package/website/app/specification/page.tsx +245 -169
- package/website/components/Logo.tsx +75 -2
- package/website/components/docs/DocsSidebar.tsx +40 -3
- package/website/components/docs/MarkdownContent.tsx +265 -47
- package/website/components/docs/VersionSelector.tsx +64 -8
- package/website/components/examples/ExamplesViewer.tsx +2 -2
- package/website/components/layout/Footer.tsx +6 -1
- package/website/components/layout/Header.tsx +31 -33
- package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
- package/website/components/schema/SchemaExplorer.tsx +4 -4
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
- package/website/content/blog/introducing-ossa-framework.md +1 -1
- package/website/content/blog/ossa-production-results.md +5 -5
- package/website/content/blog/welcome-to-ossa.md +2 -2
- package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
- package/website/content/docs/00-HOME.md +18 -25
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +8 -8
- package/website/content/docs/OpenAPI-Extensions.md +576 -140
- package/website/content/docs/adapters/openai-adapter.md +693 -0
- package/website/content/docs/architecture/execution-flow.md +3 -3
- package/website/content/docs/architecture/multi-agent-systems.md +4 -4
- package/website/content/docs/architecture/overview.md +4 -4
- package/website/content/docs/architecture/stack-integration.md +4 -4
- package/website/content/docs/changelog.md +4 -4
- package/website/content/docs/contributing.md +2 -2
- package/website/content/docs/ecosystem/framework-support.md +0 -2
- package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/examples/Migration-Guides.md +2 -2
- package/website/content/docs/for-audiences/{architects.md → Architects.md} +1 -1
- package/website/content/docs/for-audiences/{developers.md → Developers.md} +3 -3
- package/website/content/docs/for-audiences/Enterprises.md +2 -2
- package/website/content/docs/for-audiences/Students-Researchers.md +1 -1
- package/website/content/docs/getting-started/{5-minute-overview.md → 5-Minute-Overview.md} +2 -2
- package/website/content/docs/getting-started/{first-agent.md → First-Agent.md} +1 -1
- package/website/content/docs/getting-started/Hello-World.md +3 -3
- package/website/content/docs/getting-started/{installation.md → Installation.md} +7 -7
- package/website/content/docs/getting-started/index.md +92 -0
- package/website/content/docs/getting-started/running-agents.md +215 -13
- package/{docs → website/content/docs}/getting-started.md +10 -6
- package/website/content/docs/integrations/aiflow.md +2 -2
- package/website/content/docs/integrations/drupal.md +2 -2
- package/website/content/docs/migration-guides/README.md +1 -1
- package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
- package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
- package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
- package/website/content/docs/migration-guides/index.md +1 -1
- package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
- package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
- package/website/content/docs/openapi-extensions/examples.md +9 -9
- package/website/content/docs/openapi-extensions/index.md +59 -3
- package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
- package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
- package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
- package/website/content/docs/pre-release/index.md +10 -10
- package/website/content/docs/readme.md +35 -0
- package/website/content/docs/schema-reference/agent-spec.md +2 -2
- package/website/content/docs/schema-reference/autonomy.md +5 -5
- package/website/content/docs/schema-reference/constraints.md +5 -5
- package/website/content/docs/schema-reference/llm-config.md +1 -1
- package/website/content/docs/schema-reference/observability.md +5 -5
- package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
- package/website/content/docs/schema-reference/taxonomy.md +3 -3
- package/website/content/docs/use-cases/00-index.md +1 -1
- package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
- package/website/lib/version.ts +18 -1
- package/website/lib/versions.json +78 -0
- package/website/next.config.ts +3 -1
- package/website/package-lock.json +552 -18
- package/website/package.json +11 -5
- package/website/postcss.config.mjs +1 -1
- package/website/scripts/fetch-versions.js +166 -0
- package/website/scripts/generate-examples-index.js +163 -0
- package/website/scripts/merge-docs-to-wiki.ts +207 -0
- package/website/scripts/sync-version.js +28 -0
- package/website/scripts/sync-wiki.ts +64 -3
- package/website/scripts/upload-wiki.ts +199 -0
- package/website/styles/_variables.scss +36 -0
- package/website/tailwind.config.ts +93 -22
- package/.releaserc.json.disabled +0 -81
- package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
- package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
- package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
- package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
- package/docs/README.md +0 -31
- package/docs/agent-openapi-spec.yml +0 -942
- package/docs/openapi-extensions.md +0 -930
- package/docs/schemas/openapi-extensions.schema.json +0 -486
- package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
- package/ossa-website-swarm-tasks.json +0 -105
- package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
- package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
- package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
- package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
- package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
- package/website/app/api/validate/route.ts +0 -88
- package/website/next.config.js +0 -17
- package/website/postcss.config.js +0 -7
- package/website/tailwind.config.js +0 -58
- /package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
- /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
- /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
- /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
- /package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
- /package/website/content/docs/{examples.md → Examples.md} +0 -0
- /package/website/content/docs/core-concepts/{project-structure.md → Project-Structure.md} +0 -0
- /package/website/content/docs/migration-guides/{00-index.md → 00-INDEX.md} +0 -0
- /package/{docs/migration → website/content/docs/migration-guides}/migration-manifest.json +0 -0
|
@@ -0,0 +1,581 @@
|
|
|
1
|
+
ossaVersion: '0.2.5-RC'
|
|
2
|
+
|
|
3
|
+
# OSSA (Open Standard for Smart & Scalable Agents) - Version 0.2.5-RC
|
|
4
|
+
# The OpenAPI for AI Agents
|
|
5
|
+
#
|
|
6
|
+
# RELEASE CANDIDATE - APIs and schemas may change before final release
|
|
7
|
+
#
|
|
8
|
+
# This specification defines a standard format for AI agent definition,
|
|
9
|
+
# deployment, and orchestration across heterogeneous environments.
|
|
10
|
+
#
|
|
11
|
+
# v0.2.5-RC NEW FEATURES:
|
|
12
|
+
# - Transport metadata for capabilities (streaming, protocol binding)
|
|
13
|
+
# - State/memory block for agent state management
|
|
14
|
+
# - Enhanced security with scopes and compliance tags
|
|
15
|
+
# - Capability versioning and deprecation support
|
|
16
|
+
# - Google ADK extension for Agent Development Kit integration
|
|
17
|
+
|
|
18
|
+
spec:
|
|
19
|
+
title: OSSA 0.2.5-RC Specification
|
|
20
|
+
description: Open Standard for Smart & Scalable Agents - Release Candidate
|
|
21
|
+
version: '0.2.5-RC'
|
|
22
|
+
status: development
|
|
23
|
+
license: Apache-2.0
|
|
24
|
+
maintainer: OSSA Working Group
|
|
25
|
+
website: https://openstandardagents.org
|
|
26
|
+
repository: https://github.com/ossa-standard/specification
|
|
27
|
+
|
|
28
|
+
# ==============================================================================
|
|
29
|
+
# NEW IN v0.2.5: Transport Metadata
|
|
30
|
+
# ==============================================================================
|
|
31
|
+
# Transport configuration for protocol-specific settings
|
|
32
|
+
# Supports ADK, A2A, MCP, and other protocols with streaming
|
|
33
|
+
|
|
34
|
+
transport:
|
|
35
|
+
description: |
|
|
36
|
+
Transport metadata defines how capabilities communicate over different protocols.
|
|
37
|
+
This is essential for:
|
|
38
|
+
- Google ADK bidirectional streaming
|
|
39
|
+
- A2A protocol agent-to-agent communication
|
|
40
|
+
- MCP tool server integration
|
|
41
|
+
- gRPC streaming services
|
|
42
|
+
|
|
43
|
+
schema:
|
|
44
|
+
protocol:
|
|
45
|
+
type: enum
|
|
46
|
+
values: [http, grpc, a2a, mcp, websocket, custom]
|
|
47
|
+
description: Transport protocol for the capability
|
|
48
|
+
|
|
49
|
+
streaming:
|
|
50
|
+
type: enum
|
|
51
|
+
values: [none, request, response, bidirectional]
|
|
52
|
+
default: none
|
|
53
|
+
description: |
|
|
54
|
+
Streaming mode:
|
|
55
|
+
- none: Standard request/response
|
|
56
|
+
- request: Client streams to server
|
|
57
|
+
- response: Server streams to client (SSE, streaming LLM)
|
|
58
|
+
- bidirectional: Full duplex (WebSocket, gRPC bidirectional)
|
|
59
|
+
|
|
60
|
+
binding:
|
|
61
|
+
type: string
|
|
62
|
+
description: |
|
|
63
|
+
Path or endpoint binding specific to the protocol:
|
|
64
|
+
- HTTP: "/api/v1/chat"
|
|
65
|
+
- gRPC: "myservice.MyMethod"
|
|
66
|
+
- MCP: Tool name
|
|
67
|
+
- A2A: Action path
|
|
68
|
+
|
|
69
|
+
content_type:
|
|
70
|
+
type: string
|
|
71
|
+
examples:
|
|
72
|
+
- application/json
|
|
73
|
+
- application/x-ndjson # For streaming
|
|
74
|
+
- text/event-stream # For SSE
|
|
75
|
+
|
|
76
|
+
examples:
|
|
77
|
+
# HTTP streaming response (common for LLM)
|
|
78
|
+
- protocol: http
|
|
79
|
+
streaming: response
|
|
80
|
+
binding: /api/v1/chat/stream
|
|
81
|
+
content_type: text/event-stream
|
|
82
|
+
|
|
83
|
+
# gRPC bidirectional (for real-time agents)
|
|
84
|
+
- protocol: grpc
|
|
85
|
+
streaming: bidirectional
|
|
86
|
+
binding: AgentService.StreamChat
|
|
87
|
+
|
|
88
|
+
# A2A protocol
|
|
89
|
+
- protocol: a2a
|
|
90
|
+
streaming: none
|
|
91
|
+
binding: /tasks/send
|
|
92
|
+
|
|
93
|
+
# MCP tool
|
|
94
|
+
- protocol: mcp
|
|
95
|
+
streaming: none
|
|
96
|
+
binding: query_database
|
|
97
|
+
|
|
98
|
+
# ==============================================================================
|
|
99
|
+
# NEW IN v0.2.5: State/Memory Block
|
|
100
|
+
# ==============================================================================
|
|
101
|
+
# Agent state management configuration
|
|
102
|
+
# Essential for OpenAI SDK, Microsoft Autogen Framework, and long-running agents
|
|
103
|
+
|
|
104
|
+
state:
|
|
105
|
+
description: |
|
|
106
|
+
State configuration defines how an agent manages memory and context.
|
|
107
|
+
Critical for:
|
|
108
|
+
- Session continuity (OpenAI Agents SDK)
|
|
109
|
+
- Long-running workflows (MS Autogen Framework)
|
|
110
|
+
- RAG systems with context retention
|
|
111
|
+
- Multi-turn conversations
|
|
112
|
+
|
|
113
|
+
schema:
|
|
114
|
+
mode:
|
|
115
|
+
type: enum
|
|
116
|
+
values: [stateless, session, long_running]
|
|
117
|
+
default: stateless
|
|
118
|
+
description: |
|
|
119
|
+
State management mode:
|
|
120
|
+
- stateless: No state between requests
|
|
121
|
+
- session: State retained for session duration
|
|
122
|
+
- long_running: Persistent state across sessions
|
|
123
|
+
|
|
124
|
+
storage:
|
|
125
|
+
type: object
|
|
126
|
+
properties:
|
|
127
|
+
type:
|
|
128
|
+
type: enum
|
|
129
|
+
values: [memory, vector-db, kv, rdbms, custom]
|
|
130
|
+
default: memory
|
|
131
|
+
description: |
|
|
132
|
+
Storage backend:
|
|
133
|
+
- memory: In-process (lost on restart)
|
|
134
|
+
- vector-db: Vector database (Pinecone, Weaviate, etc.)
|
|
135
|
+
- kv: Key-value store (Redis, DynamoDB)
|
|
136
|
+
- rdbms: Relational database
|
|
137
|
+
- custom: Custom implementation
|
|
138
|
+
|
|
139
|
+
retention:
|
|
140
|
+
type: string
|
|
141
|
+
examples: [24h, 7d, 30d, 1y, forever]
|
|
142
|
+
description: How long to retain state
|
|
143
|
+
|
|
144
|
+
config:
|
|
145
|
+
type: object
|
|
146
|
+
description: Storage-specific configuration
|
|
147
|
+
|
|
148
|
+
context_window:
|
|
149
|
+
type: object
|
|
150
|
+
properties:
|
|
151
|
+
max_messages:
|
|
152
|
+
type: integer
|
|
153
|
+
description: Maximum messages to retain in context
|
|
154
|
+
max_tokens:
|
|
155
|
+
type: integer
|
|
156
|
+
description: Maximum tokens to retain
|
|
157
|
+
strategy:
|
|
158
|
+
type: enum
|
|
159
|
+
values: [sliding_window, summarization, importance_weighted]
|
|
160
|
+
default: sliding_window
|
|
161
|
+
description: How to manage context when limits exceeded
|
|
162
|
+
|
|
163
|
+
examples:
|
|
164
|
+
# Stateless API agent
|
|
165
|
+
- mode: stateless
|
|
166
|
+
|
|
167
|
+
# Session-based chat agent
|
|
168
|
+
- mode: session
|
|
169
|
+
storage:
|
|
170
|
+
type: memory
|
|
171
|
+
retention: 24h
|
|
172
|
+
context_window:
|
|
173
|
+
max_messages: 50
|
|
174
|
+
strategy: sliding_window
|
|
175
|
+
|
|
176
|
+
# Long-running workflow agent
|
|
177
|
+
- mode: long_running
|
|
178
|
+
storage:
|
|
179
|
+
type: vector-db
|
|
180
|
+
retention: 1y
|
|
181
|
+
config:
|
|
182
|
+
provider: pinecone
|
|
183
|
+
index: agent-memory
|
|
184
|
+
context_window:
|
|
185
|
+
max_tokens: 128000
|
|
186
|
+
strategy: summarization
|
|
187
|
+
|
|
188
|
+
# ==============================================================================
|
|
189
|
+
# NEW IN v0.2.5: Enhanced Security with Scopes
|
|
190
|
+
# ==============================================================================
|
|
191
|
+
# Fine-grained permission scopes and compliance tags
|
|
192
|
+
|
|
193
|
+
security_scopes:
|
|
194
|
+
description: |
|
|
195
|
+
Security scopes provide fine-grained access control for capabilities.
|
|
196
|
+
Similar to OAuth2 scopes but for agent capabilities.
|
|
197
|
+
|
|
198
|
+
schema:
|
|
199
|
+
scopes:
|
|
200
|
+
type: array
|
|
201
|
+
items: string
|
|
202
|
+
description: |
|
|
203
|
+
Required permission scopes for the capability:
|
|
204
|
+
- read:data - Read access to data
|
|
205
|
+
- write:data - Write access to data
|
|
206
|
+
- admin:system - Administrative operations
|
|
207
|
+
- execute:code - Code execution permissions
|
|
208
|
+
|
|
209
|
+
compliance_tags:
|
|
210
|
+
type: array
|
|
211
|
+
items: string
|
|
212
|
+
description: |
|
|
213
|
+
Compliance framework tags:
|
|
214
|
+
- pii - Handles personally identifiable information
|
|
215
|
+
- hipaa - HIPAA compliance required
|
|
216
|
+
- gdpr - GDPR compliance required
|
|
217
|
+
- fedramp - FedRAMP requirements
|
|
218
|
+
- soc2 - SOC2 Type II controls
|
|
219
|
+
|
|
220
|
+
examples:
|
|
221
|
+
# Database query capability with scopes
|
|
222
|
+
- name: query_database
|
|
223
|
+
scopes:
|
|
224
|
+
- read:data
|
|
225
|
+
- execute:query
|
|
226
|
+
compliance_tags:
|
|
227
|
+
- pii
|
|
228
|
+
- gdpr
|
|
229
|
+
|
|
230
|
+
# Admin capability with elevated permissions
|
|
231
|
+
- name: manage_users
|
|
232
|
+
scopes:
|
|
233
|
+
- admin:users
|
|
234
|
+
- write:data
|
|
235
|
+
compliance_tags:
|
|
236
|
+
- pii
|
|
237
|
+
- soc2
|
|
238
|
+
- hipaa
|
|
239
|
+
|
|
240
|
+
# ==============================================================================
|
|
241
|
+
# NEW IN v0.2.5: Capability Versioning
|
|
242
|
+
# ==============================================================================
|
|
243
|
+
# Version capabilities independently for backward compatibility
|
|
244
|
+
|
|
245
|
+
capability_versioning:
|
|
246
|
+
description: |
|
|
247
|
+
Capabilities can be versioned independently of the agent.
|
|
248
|
+
Supports deprecation with migration paths.
|
|
249
|
+
|
|
250
|
+
schema:
|
|
251
|
+
version:
|
|
252
|
+
type: string
|
|
253
|
+
pattern: '^[0-9]+\.[0-9]+$'
|
|
254
|
+
description: |
|
|
255
|
+
Capability version in major.minor format.
|
|
256
|
+
- Major: Breaking changes
|
|
257
|
+
- Minor: New features, backward compatible
|
|
258
|
+
|
|
259
|
+
deprecated:
|
|
260
|
+
type: boolean
|
|
261
|
+
default: false
|
|
262
|
+
description: Whether capability is deprecated
|
|
263
|
+
|
|
264
|
+
deprecation_message:
|
|
265
|
+
type: string
|
|
266
|
+
description: |
|
|
267
|
+
Migration guidance for deprecated capabilities.
|
|
268
|
+
Should include:
|
|
269
|
+
- When it will be removed
|
|
270
|
+
- What to use instead
|
|
271
|
+
- Migration steps
|
|
272
|
+
|
|
273
|
+
examples:
|
|
274
|
+
# Current capability
|
|
275
|
+
- name: search_documents
|
|
276
|
+
version: '2.1'
|
|
277
|
+
deprecated: false
|
|
278
|
+
|
|
279
|
+
# Deprecated capability with migration path
|
|
280
|
+
- name: search_legacy
|
|
281
|
+
version: '1.0'
|
|
282
|
+
deprecated: true
|
|
283
|
+
deprecation_message: |
|
|
284
|
+
Deprecated in v0.2.4. Will be removed in v0.3.0.
|
|
285
|
+
Use 'search_documents' capability instead.
|
|
286
|
+
Migration: Change capability name and update input schema
|
|
287
|
+
to use 'query' instead of 'search_term'.
|
|
288
|
+
|
|
289
|
+
# ==============================================================================
|
|
290
|
+
# NEW IN v0.2.5: Google ADK Extension
|
|
291
|
+
# ==============================================================================
|
|
292
|
+
# Integration with Google's Agent Development Kit
|
|
293
|
+
|
|
294
|
+
google_adk_extension:
|
|
295
|
+
description: |
|
|
296
|
+
Google Agent Development Kit (ADK) integration.
|
|
297
|
+
Supports LLM agents, workflow agents, and multi-agent orchestration.
|
|
298
|
+
|
|
299
|
+
schema:
|
|
300
|
+
enabled:
|
|
301
|
+
type: boolean
|
|
302
|
+
default: false
|
|
303
|
+
|
|
304
|
+
agent_type:
|
|
305
|
+
type: enum
|
|
306
|
+
values: [llm_agent, sequential_agent, parallel_agent, loop_agent, custom]
|
|
307
|
+
default: llm_agent
|
|
308
|
+
description: |
|
|
309
|
+
ADK agent architecture:
|
|
310
|
+
- llm_agent: Single LLM-powered agent
|
|
311
|
+
- sequential_agent: Pipeline of agents
|
|
312
|
+
- parallel_agent: Concurrent agent execution
|
|
313
|
+
- loop_agent: Iterative agent with conditions
|
|
314
|
+
|
|
315
|
+
model:
|
|
316
|
+
type: string
|
|
317
|
+
examples: [gemini-2.0-flash-exp, gemini-1.5-pro]
|
|
318
|
+
|
|
319
|
+
session:
|
|
320
|
+
type: object
|
|
321
|
+
properties:
|
|
322
|
+
service:
|
|
323
|
+
type: enum
|
|
324
|
+
values: [in_memory, database, vertex_ai]
|
|
325
|
+
state_schema:
|
|
326
|
+
type: object
|
|
327
|
+
description: Session state schema definition
|
|
328
|
+
|
|
329
|
+
memory:
|
|
330
|
+
type: object
|
|
331
|
+
properties:
|
|
332
|
+
enabled: boolean
|
|
333
|
+
service:
|
|
334
|
+
type: enum
|
|
335
|
+
values: [in_memory, vertex_ai_rag]
|
|
336
|
+
|
|
337
|
+
examples:
|
|
338
|
+
# Simple LLM agent
|
|
339
|
+
- enabled: true
|
|
340
|
+
agent_type: llm_agent
|
|
341
|
+
model: gemini-2.0-flash-exp
|
|
342
|
+
session:
|
|
343
|
+
service: in_memory
|
|
344
|
+
|
|
345
|
+
# Multi-agent orchestration
|
|
346
|
+
- enabled: true
|
|
347
|
+
agent_type: sequential_agent
|
|
348
|
+
sub_agents:
|
|
349
|
+
- research-agent
|
|
350
|
+
- writing-agent
|
|
351
|
+
- review-agent
|
|
352
|
+
|
|
353
|
+
# ==============================================================================
|
|
354
|
+
# Complete Agent Manifest Example (v0.2.5)
|
|
355
|
+
# ==============================================================================
|
|
356
|
+
|
|
357
|
+
example_manifest:
|
|
358
|
+
apiVersion: ossa/v0.2.5
|
|
359
|
+
kind: Agent
|
|
360
|
+
metadata:
|
|
361
|
+
name: research-assistant
|
|
362
|
+
version: 1.0.0
|
|
363
|
+
description: AI research assistant with memory and streaming support
|
|
364
|
+
labels:
|
|
365
|
+
domain: research
|
|
366
|
+
tier: production
|
|
367
|
+
annotations:
|
|
368
|
+
openstandardagents.org/stability: development
|
|
369
|
+
|
|
370
|
+
spec:
|
|
371
|
+
role: |
|
|
372
|
+
You are a research assistant that helps users find and analyze information.
|
|
373
|
+
You maintain context across conversations and can search multiple sources.
|
|
374
|
+
|
|
375
|
+
llm:
|
|
376
|
+
provider: google
|
|
377
|
+
model: gemini-2.0-flash-exp
|
|
378
|
+
temperature: 0.7
|
|
379
|
+
maxTokens: 8192
|
|
380
|
+
|
|
381
|
+
# NEW: State/memory configuration
|
|
382
|
+
state:
|
|
383
|
+
mode: session
|
|
384
|
+
storage:
|
|
385
|
+
type: vector-db
|
|
386
|
+
retention: 30d
|
|
387
|
+
config:
|
|
388
|
+
provider: pinecone
|
|
389
|
+
index: research-memory
|
|
390
|
+
context_window:
|
|
391
|
+
max_messages: 100
|
|
392
|
+
max_tokens: 32000
|
|
393
|
+
strategy: summarization
|
|
394
|
+
|
|
395
|
+
tools:
|
|
396
|
+
- type: http
|
|
397
|
+
name: search-api
|
|
398
|
+
endpoint: https://api.example.com/search
|
|
399
|
+
# NEW: Transport metadata
|
|
400
|
+
transport:
|
|
401
|
+
protocol: http
|
|
402
|
+
streaming: response
|
|
403
|
+
binding: /v1/search/stream
|
|
404
|
+
content_type: text/event-stream
|
|
405
|
+
auth:
|
|
406
|
+
type: bearer
|
|
407
|
+
credentials: secret:search-api-key
|
|
408
|
+
# NEW: Security scopes
|
|
409
|
+
scopes:
|
|
410
|
+
- read:search
|
|
411
|
+
- read:documents
|
|
412
|
+
# NEW: Compliance tags
|
|
413
|
+
compliance_tags:
|
|
414
|
+
- gdpr
|
|
415
|
+
capabilities:
|
|
416
|
+
- name: web_search
|
|
417
|
+
description: Search the web for information
|
|
418
|
+
# NEW: Capability versioning
|
|
419
|
+
version: '2.0'
|
|
420
|
+
deprecated: false
|
|
421
|
+
input_schema:
|
|
422
|
+
type: object
|
|
423
|
+
properties:
|
|
424
|
+
query:
|
|
425
|
+
type: string
|
|
426
|
+
output_schema:
|
|
427
|
+
type: array
|
|
428
|
+
items:
|
|
429
|
+
type: object
|
|
430
|
+
# NEW: Per-capability transport
|
|
431
|
+
transport:
|
|
432
|
+
protocol: http
|
|
433
|
+
streaming: response
|
|
434
|
+
# NEW: Per-capability scopes
|
|
435
|
+
scopes:
|
|
436
|
+
- read:search
|
|
437
|
+
|
|
438
|
+
- name: legacy_search
|
|
439
|
+
description: Old search endpoint
|
|
440
|
+
version: '1.0'
|
|
441
|
+
# NEW: Deprecation
|
|
442
|
+
deprecated: true
|
|
443
|
+
deprecation_message: |
|
|
444
|
+
Use 'web_search' instead. Will be removed in v2.0.0.
|
|
445
|
+
|
|
446
|
+
autonomy:
|
|
447
|
+
level: autonomous
|
|
448
|
+
approval_required: false
|
|
449
|
+
allowed_actions:
|
|
450
|
+
- search
|
|
451
|
+
- summarize
|
|
452
|
+
- analyze
|
|
453
|
+
|
|
454
|
+
constraints:
|
|
455
|
+
cost:
|
|
456
|
+
maxTokensPerDay: 1000000
|
|
457
|
+
maxCostPerDay: 50
|
|
458
|
+
currency: USD
|
|
459
|
+
performance:
|
|
460
|
+
maxLatencySeconds: 30
|
|
461
|
+
maxConcurrentRequests: 10
|
|
462
|
+
|
|
463
|
+
observability:
|
|
464
|
+
tracing:
|
|
465
|
+
enabled: true
|
|
466
|
+
exporter: otlp
|
|
467
|
+
metrics:
|
|
468
|
+
enabled: true
|
|
469
|
+
exporter: prometheus
|
|
470
|
+
logging:
|
|
471
|
+
level: info
|
|
472
|
+
format: json
|
|
473
|
+
|
|
474
|
+
extensions:
|
|
475
|
+
# NEW: Google ADK extension
|
|
476
|
+
google_adk:
|
|
477
|
+
enabled: true
|
|
478
|
+
agent_type: llm_agent
|
|
479
|
+
model: gemini-2.0-flash-exp
|
|
480
|
+
session:
|
|
481
|
+
service: in_memory
|
|
482
|
+
state_schema:
|
|
483
|
+
search_history: array
|
|
484
|
+
current_topic: string
|
|
485
|
+
memory:
|
|
486
|
+
enabled: true
|
|
487
|
+
service: vertex_ai_rag
|
|
488
|
+
callbacks:
|
|
489
|
+
before_model_callback: validate_input
|
|
490
|
+
after_model_callback: log_response
|
|
491
|
+
|
|
492
|
+
openai_agents:
|
|
493
|
+
enabled: true
|
|
494
|
+
model: gpt-4o
|
|
495
|
+
memory:
|
|
496
|
+
enabled: true
|
|
497
|
+
type: session
|
|
498
|
+
max_messages: 100
|
|
499
|
+
|
|
500
|
+
mcp:
|
|
501
|
+
enabled: true
|
|
502
|
+
server_type: sse
|
|
503
|
+
config:
|
|
504
|
+
max_message_size: 1048576
|
|
505
|
+
|
|
506
|
+
# ==============================================================================
|
|
507
|
+
# Migration Notes
|
|
508
|
+
# ==============================================================================
|
|
509
|
+
|
|
510
|
+
migration:
|
|
511
|
+
from_v0.2.3:
|
|
512
|
+
breaking_changes: none
|
|
513
|
+
new_optional_fields:
|
|
514
|
+
- spec.state
|
|
515
|
+
- spec.tools[].transport
|
|
516
|
+
- spec.tools[].capabilities[].version
|
|
517
|
+
- spec.tools[].capabilities[].deprecated
|
|
518
|
+
- spec.tools[].capabilities[].deprecation_message
|
|
519
|
+
- spec.tools[].capabilities[].scopes
|
|
520
|
+
- spec.tools[].capabilities[].compliance_tags
|
|
521
|
+
- spec.tools[].auth.scopes
|
|
522
|
+
- spec.tools[].compliance_tags
|
|
523
|
+
- extensions.google_adk
|
|
524
|
+
recommended_actions:
|
|
525
|
+
- Add state configuration for stateful agents
|
|
526
|
+
- Add transport metadata for streaming capabilities
|
|
527
|
+
- Add compliance tags for regulated environments
|
|
528
|
+
- Version capabilities for better API lifecycle management
|
|
529
|
+
|
|
530
|
+
# ==============================================================================
|
|
531
|
+
# Best Practices (v0.2.5)
|
|
532
|
+
# ==============================================================================
|
|
533
|
+
|
|
534
|
+
best_practices:
|
|
535
|
+
# State management
|
|
536
|
+
- Use stateless mode for simple request/response agents
|
|
537
|
+
- Use session mode for chat and conversational agents
|
|
538
|
+
- Use long_running mode for workflow agents with persistent state
|
|
539
|
+
- Configure appropriate retention periods to manage storage costs
|
|
540
|
+
|
|
541
|
+
# Transport
|
|
542
|
+
- Use streaming: response for LLM text generation
|
|
543
|
+
- Use streaming: bidirectional for real-time collaborative agents
|
|
544
|
+
- Specify content_type for HTTP transports to ensure compatibility
|
|
545
|
+
|
|
546
|
+
# Security
|
|
547
|
+
- Apply least-privilege scopes to each capability
|
|
548
|
+
- Tag all capabilities that handle PII with appropriate compliance tags
|
|
549
|
+
- Use compliance_tags consistently across related capabilities
|
|
550
|
+
|
|
551
|
+
# Versioning
|
|
552
|
+
- Version capabilities when making API changes
|
|
553
|
+
- Use deprecation_message to provide clear migration paths
|
|
554
|
+
- Allow deprecation period of at least one minor version
|
|
555
|
+
|
|
556
|
+
# Google ADK
|
|
557
|
+
- Use appropriate agent_type based on workflow complexity
|
|
558
|
+
- Enable memory service for agents requiring long-term context
|
|
559
|
+
- Configure session state schema for type safety
|
|
560
|
+
|
|
561
|
+
# ==============================================================================
|
|
562
|
+
# Development Notes
|
|
563
|
+
# ==============================================================================
|
|
564
|
+
|
|
565
|
+
development_notes:
|
|
566
|
+
status: DEVELOPMENT VERSION - APIs may change
|
|
567
|
+
stability: unstable
|
|
568
|
+
feedback: https://github.com/blueflyio/openstandardagents/issues
|
|
569
|
+
planned_ga: v0.3.0
|
|
570
|
+
|
|
571
|
+
known_limitations:
|
|
572
|
+
- Transport metadata validation is experimental
|
|
573
|
+
- State storage backends limited to documented types
|
|
574
|
+
- Capability versioning pattern may be refined
|
|
575
|
+
- Google ADK extension is based on ADK preview release
|
|
576
|
+
|
|
577
|
+
upcoming_features:
|
|
578
|
+
- Agent composition patterns
|
|
579
|
+
- Distributed state management
|
|
580
|
+
- Cross-agent memory sharing
|
|
581
|
+
- Enhanced A2A protocol support
|
package/website/Dockerfile
CHANGED
|
@@ -1,17 +1,30 @@
|
|
|
1
1
|
# OSSA Website - Next.js Dev Server (for quick deployment)
|
|
2
|
+
# Build from project root to access examples directory
|
|
2
3
|
FROM node:20-alpine
|
|
3
4
|
|
|
4
5
|
WORKDIR /app
|
|
5
6
|
|
|
6
7
|
# Copy package files
|
|
7
|
-
COPY package*.json ./
|
|
8
|
-
RUN npm install --legacy-peer-deps
|
|
8
|
+
COPY website/package*.json ./website/
|
|
9
|
+
RUN cd website && npm install --legacy-peer-deps
|
|
9
10
|
|
|
10
|
-
# Copy
|
|
11
|
-
COPY
|
|
11
|
+
# Copy examples directory (needed for generate-examples script)
|
|
12
|
+
COPY examples ./examples
|
|
13
|
+
|
|
14
|
+
# Copy website source code
|
|
15
|
+
COPY website ./website
|
|
16
|
+
|
|
17
|
+
WORKDIR /app/website
|
|
18
|
+
|
|
19
|
+
# Generate examples.json - this MUST succeed
|
|
20
|
+
RUN npm run generate-examples
|
|
21
|
+
|
|
22
|
+
# Verify examples.json was created and has content
|
|
23
|
+
RUN test -f public/examples.json && echo "✅ examples.json created" || (echo "❌ examples.json NOT FOUND" && exit 1)
|
|
24
|
+
RUN test -s public/examples.json && echo "✅ examples.json has content" || (echo "❌ examples.json is empty" && exit 1)
|
|
12
25
|
|
|
13
26
|
# Expose port
|
|
14
27
|
EXPOSE 3000
|
|
15
28
|
|
|
16
|
-
# Start Next.js dev server
|
|
29
|
+
# Start Next.js dev server
|
|
17
30
|
CMD ["npm", "run", "dev"]
|
|
@@ -10,7 +10,7 @@ export default function AboutPage() {
|
|
|
10
10
|
return (
|
|
11
11
|
<>
|
|
12
12
|
{/* Hero Section */}
|
|
13
|
-
<div className="bg-gradient-to-br from-
|
|
13
|
+
<div className="bg-gradient-to-br from-secondary via-primary to-accent text-white py-20 px-4">
|
|
14
14
|
<div className="container mx-auto max-w-4xl text-center">
|
|
15
15
|
<div className="inline-flex items-center justify-center w-20 h-20 bg-white/20 backdrop-blur-sm rounded-full mb-6">
|
|
16
16
|
<svg className="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
@@ -28,7 +28,7 @@ export default function AboutPage() {
|
|
|
28
28
|
<div className="max-w-4xl mx-auto">
|
|
29
29
|
<section className="mb-16">
|
|
30
30
|
<div className="flex items-center mb-6">
|
|
31
|
-
<div className="w-12 h-12 bg-gradient-to-br from-primary to-
|
|
31
|
+
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
32
32
|
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
33
33
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4" />
|
|
34
34
|
</svg>
|
|
@@ -49,7 +49,7 @@ export default function AboutPage() {
|
|
|
49
49
|
|
|
50
50
|
<section className="mb-16">
|
|
51
51
|
<div className="flex items-center mb-6">
|
|
52
|
-
<div className="w-12 h-12 bg-gradient-to-br from-secondary
|
|
52
|
+
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
53
53
|
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
54
54
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
55
55
|
</svg>
|
|
@@ -95,7 +95,7 @@ export default function AboutPage() {
|
|
|
95
95
|
|
|
96
96
|
<section className="mb-16">
|
|
97
97
|
<div className="flex items-center mb-6">
|
|
98
|
-
<div className="w-12 h-12 bg-gradient-to-br from-primary to-
|
|
98
|
+
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
99
99
|
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
100
100
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
|
|
101
101
|
</svg>
|
|
@@ -195,7 +195,7 @@ export default function AboutPage() {
|
|
|
195
195
|
|
|
196
196
|
<section className="mb-16">
|
|
197
197
|
<div className="flex items-center mb-6">
|
|
198
|
-
<div className="w-12 h-12 bg-gradient-to-br from-
|
|
198
|
+
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
199
199
|
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
200
200
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" />
|
|
201
201
|
</svg>
|
|
@@ -216,7 +216,7 @@ export default function AboutPage() {
|
|
|
216
216
|
<section className="mb-16">
|
|
217
217
|
<div className="bg-gradient-to-br from-primary/10 via-accent/10 to-secondary/10 rounded-2xl p-8 mb-8">
|
|
218
218
|
<div className="flex items-center mb-6">
|
|
219
|
-
<div className="w-12 h-12 bg-gradient-to-br from-primary to-
|
|
219
|
+
<div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
|
|
220
220
|
<svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
221
221
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z" />
|
|
222
222
|
</svg>
|
|
@@ -268,7 +268,7 @@ export default function AboutPage() {
|
|
|
268
268
|
</section>
|
|
269
269
|
|
|
270
270
|
<section className="mb-12">
|
|
271
|
-
<div className="bg-gradient-to-r from-primary to-
|
|
271
|
+
<div className="bg-gradient-to-r from-secondary via-primary to-accent text-white rounded-2xl p-8">
|
|
272
272
|
<div className="flex items-center mb-4">
|
|
273
273
|
<svg className="w-8 h-8 mr-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
274
274
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
|