@bluefly/openstandardagents 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +41 -0
- package/.eslintrc.cjs +43 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
- package/.github/dependabot.yml +58 -0
- package/.github/workflows/ci.yml +154 -0
- package/.github/workflows/codeql.yml +41 -0
- package/.github/workflows/dependabot-auto-merge.yml +28 -0
- package/.github/workflows/release.yml +103 -0
- package/.prettierignore +7 -0
- package/.prettierrc.json +10 -0
- package/.redocly.yaml +9 -0
- package/.releaserc.json +84 -0
- package/.releaserc.json.disabled +81 -0
- package/CHANGELOG.md +152 -0
- package/CONTRIBUTING.md +249 -0
- package/LICENSE +190 -0
- package/README.md +280 -0
- package/bin/ossa +8 -0
- package/bin/validate-ossa-0.2.2.ts +244 -0
- package/dist/di-container.d.ts +18 -0
- package/dist/di-container.d.ts.map +1 -0
- package/dist/di-container.js +43 -0
- package/dist/di-container.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories/manifest.repository.d.ts +26 -0
- package/dist/repositories/manifest.repository.d.ts.map +1 -0
- package/dist/repositories/manifest.repository.js +90 -0
- package/dist/repositories/manifest.repository.js.map +1 -0
- package/dist/repositories/schema.repository.d.ts +30 -0
- package/dist/repositories/schema.repository.d.ts.map +1 -0
- package/dist/repositories/schema.repository.js +143 -0
- package/dist/repositories/schema.repository.js.map +1 -0
- package/dist/services/generation.service.d.ts +54 -0
- package/dist/services/generation.service.d.ts.map +1 -0
- package/dist/services/generation.service.js +298 -0
- package/dist/services/generation.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +30 -0
- package/dist/services/migration.service.d.ts.map +1 -0
- package/dist/services/migration.service.js +231 -0
- package/dist/services/migration.service.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts +94 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
- package/dist/services/runtime/openai.adapter.js +209 -0
- package/dist/services/runtime/openai.adapter.js.map +1 -0
- package/dist/services/validation.service.d.ts +45 -0
- package/dist/services/validation.service.d.ts.map +1 -0
- package/dist/services/validation.service.js +362 -0
- package/dist/services/validation.service.js.map +1 -0
- package/dist/services/validators/anthropic.validator.d.ts +9 -0
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
- package/dist/services/validators/anthropic.validator.js +105 -0
- package/dist/services/validators/anthropic.validator.js.map +1 -0
- package/dist/services/validators/autogen.validator.d.ts +9 -0
- package/dist/services/validators/autogen.validator.d.ts.map +1 -0
- package/dist/services/validators/autogen.validator.js +111 -0
- package/dist/services/validators/autogen.validator.js.map +1 -0
- package/dist/services/validators/crewai.validator.d.ts +9 -0
- package/dist/services/validators/crewai.validator.d.ts.map +1 -0
- package/dist/services/validators/crewai.validator.js +117 -0
- package/dist/services/validators/crewai.validator.js.map +1 -0
- package/dist/services/validators/cursor.validator.d.ts +9 -0
- package/dist/services/validators/cursor.validator.d.ts.map +1 -0
- package/dist/services/validators/cursor.validator.js +88 -0
- package/dist/services/validators/cursor.validator.js.map +1 -0
- package/dist/services/validators/index.d.ts +15 -0
- package/dist/services/validators/index.d.ts.map +1 -0
- package/dist/services/validators/index.js +15 -0
- package/dist/services/validators/index.js.map +1 -0
- package/dist/services/validators/langchain.validator.d.ts +9 -0
- package/dist/services/validators/langchain.validator.d.ts.map +1 -0
- package/dist/services/validators/langchain.validator.js +103 -0
- package/dist/services/validators/langchain.validator.js.map +1 -0
- package/dist/services/validators/langflow.validator.d.ts +9 -0
- package/dist/services/validators/langflow.validator.d.ts.map +1 -0
- package/dist/services/validators/langflow.validator.js +92 -0
- package/dist/services/validators/langflow.validator.js.map +1 -0
- package/dist/services/validators/langgraph.validator.d.ts +9 -0
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
- package/dist/services/validators/langgraph.validator.js +123 -0
- package/dist/services/validators/langgraph.validator.js.map +1 -0
- package/dist/services/validators/llamaindex.validator.d.ts +9 -0
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
- package/dist/services/validators/llamaindex.validator.js +121 -0
- package/dist/services/validators/llamaindex.validator.js.map +1 -0
- package/dist/services/validators/openai.validator.d.ts +9 -0
- package/dist/services/validators/openai.validator.d.ts.map +1 -0
- package/dist/services/validators/openai.validator.js +126 -0
- package/dist/services/validators/openai.validator.js.map +1 -0
- package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
- package/dist/services/validators/vercel-ai.validator.js +99 -0
- package/dist/services/validators/vercel-ai.validator.js.map +1 -0
- package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
- package/dist/spec/v0.2.3/README.md +154 -0
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/dist/types/index.d.ts +178 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/openapi-extensions.d.ts +164 -0
- package/dist/types/openapi-extensions.d.ts.map +1 -0
- package/dist/types/openapi-extensions.js +6 -0
- package/dist/types/openapi-extensions.js.map +1 -0
- package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
- package/docs/README.md +31 -0
- package/docs/VERSIONING.md +284 -0
- package/docs/agent-openapi-spec.yml +942 -0
- package/docs/getting-started.md +87 -0
- package/docs/migration/general-agent-schema.yml +255 -0
- package/docs/migration/migration-manifest.json +64 -0
- package/docs/openapi-extensions.md +930 -0
- package/docs/schemas/openapi-extensions.schema.json +486 -0
- package/examples/adk-integration/code-review-workflow.yml +136 -0
- package/examples/adk-integration/customer-support.yml +263 -0
- package/examples/adk-integration/data-pipeline.yml +173 -0
- package/examples/advanced/patterns/compliance-context-production.json +53 -0
- package/examples/advanced/patterns/model-router.ts +274 -0
- package/examples/advanced/patterns/smart-model-routing.ts +248 -0
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
- package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
- package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
- package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
- package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
- package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
- package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
- package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
- package/examples/anthropic/claude-assistant.ossa.json +45 -0
- package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
- package/examples/autogen/multi-agent.ossa.json +37 -0
- package/examples/bridge-configurations.yaml +346 -0
- package/examples/bridges/Dockerfile.production +87 -0
- package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
- package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
- package/examples/bridges/aiflow-bridge-example.yml +310 -0
- package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
- package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
- package/examples/bridges/k8s/configmap.yaml +121 -0
- package/examples/bridges/k8s/deployment-simple.yaml +34 -0
- package/examples/bridges/k8s/deployment.yaml +275 -0
- package/examples/bridges/k8s/hpa.yaml +126 -0
- package/examples/bridges/k8s/ingress.yaml +155 -0
- package/examples/bridges/kagent-bridge-example.yml +94 -0
- package/examples/bridges/load-tests/Dockerfile +28 -0
- package/examples/bridges/load-tests/k6-load-test.js +302 -0
- package/examples/bridges/load-tests/requirements.txt +20 -0
- package/examples/bridges/loadtest/k6-scenarios.js +270 -0
- package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
- package/examples/bridges/phase4/chaos-tests.yaml +226 -0
- package/examples/bridges/requirements.txt +24 -0
- package/examples/bridges/test_aiflow_integration.py +341 -0
- package/examples/common_npm/agent-router.ossa.yaml +182 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
- package/examples/compliance-agent.yml +155 -0
- package/examples/crewai/research-team.ossa.json +36 -0
- package/examples/cursor/code-review-agent.ossa.json +47 -0
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
- package/examples/enterprise/agent.yml +452 -0
- package/examples/extensions/drupal-v1.yml +266 -0
- package/examples/extensions/kagent-v1.yml +167 -0
- package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
- package/examples/kagent/README.md +31 -0
- package/examples/kagent/compliance-validator.ossa.yaml +111 -0
- package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
- package/examples/kagent/documentation-agent.ossa.yaml +91 -0
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
- package/examples/kagent/security-scanner.ossa.yaml +140 -0
- package/examples/langchain/chain-agent.ossa.json +42 -0
- package/examples/langflow/workflow-agent.ossa.json +39 -0
- package/examples/langgraph/state-machine-agent.ossa.json +59 -0
- package/examples/llamaindex/rag-agent.ossa.json +41 -0
- package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
- package/examples/minimal/agent.yml +152 -0
- package/examples/minimal/openapi.yaml +95 -0
- package/examples/openai/swarm-agent.ossa.json +59 -0
- package/examples/openapi-extensions/README.md +87 -0
- package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
- package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
- package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
- package/examples/production/agent.yml +713 -0
- package/examples/production/document-analyzer-openai.yml +134 -0
- package/examples/quickstart/support-agent.ossa.yaml +59 -0
- package/examples/service-registry-usage.ts +423 -0
- package/examples/spec-examples/audit-agent.yml +147 -0
- package/examples/spec-examples/chat-agent.yml +189 -0
- package/examples/spec-examples/compliance-agent.yml +204 -0
- package/examples/spec-examples/data-processing-agent.yml +132 -0
- package/examples/spec-examples/development-agent.yml +138 -0
- package/examples/spec-examples/edge-agent.yml +101 -0
- package/examples/spec-examples/integration-agent.yml +129 -0
- package/examples/spec-examples/monitoring-agent.yml +130 -0
- package/examples/spec-examples/serverless-agent.yml +82 -0
- package/examples/spec-examples/workflow-agent.yml +223 -0
- package/examples/templates/ossa-compliance.yaml +56 -0
- package/examples/typescript/advanced/demo-registry.ts +168 -0
- package/examples/typescript/mcpb-agent-example.ts +358 -0
- package/examples/vercel/edge-agent.ossa.json +43 -0
- package/infrastructure/docker-compose.yml +33 -0
- package/junit.xml +1 -0
- package/openapi/drupal-agent-api.openapi.yaml +348 -0
- package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
- package/openapi/helm-generator.openapi.yaml +389 -0
- package/openapi/ossa-core-api.openapi.yaml +1448 -0
- package/openapi/ossa-registry-api.openapi.yaml +980 -0
- package/openapi/ossa-registry.openapi.yaml +782 -0
- package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
- package/openapi/unified-agent-gateway.openapi.yaml +833 -0
- package/ossa-website-swarm-tasks.json +105 -0
- package/package.json +132 -0
- package/release.config.js +64 -0
- package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/spec/v0.2.3/CHANGELOG.md +176 -0
- package/spec/v0.2.3/README.md +154 -0
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/test-results.xml +1 -0
- package/website/.lighthouserc.js +20 -0
- package/website/.prettierrc +10 -0
- package/website/Dockerfile +17 -0
- package/website/app/about/page.tsx +295 -0
- package/website/app/api/validate/route.ts +88 -0
- package/website/app/blog/[slug]/page.tsx +167 -0
- package/website/app/blog/page.tsx +162 -0
- package/website/app/docs/[[...slug]]/page.tsx +349 -0
- package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
- package/website/app/ecosystem/page.tsx +375 -0
- package/website/app/examples/page.tsx +123 -0
- package/website/app/globals.css +108 -0
- package/website/app/layout.tsx +106 -0
- package/website/app/page.tsx +409 -0
- package/website/app/playground/page.tsx +507 -0
- package/website/app/robots.ts +19 -0
- package/website/app/rss.xml/route.ts +74 -0
- package/website/app/schema/page.tsx +970 -0
- package/website/app/sitemap.ts +56 -0
- package/website/app/specification/page.tsx +211 -0
- package/website/components/InstallCommand.tsx +96 -0
- package/website/components/Logo.tsx +24 -0
- package/website/components/StructuredData.tsx +65 -0
- package/website/components/docs/DocsSearch.tsx +104 -0
- package/website/components/docs/DocsSidebar.tsx +118 -0
- package/website/components/docs/MarkdownContent.tsx +183 -0
- package/website/components/docs/VersionSelector.tsx +49 -0
- package/website/components/examples/ExamplesViewer.tsx +293 -0
- package/website/components/layout/Footer.tsx +111 -0
- package/website/components/layout/Header.tsx +170 -0
- package/website/components/schema/SchemaExplorer.tsx +213 -0
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
- package/website/content/blog/introducing-ossa-framework.md +328 -0
- package/website/content/blog/ossa-production-results.md +279 -0
- package/website/content/blog/welcome-to-ossa.md +43 -0
- package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
- package/website/content/docs/00-HOME.md +160 -0
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/OpenAPI-Extensions.md +498 -0
- package/website/content/docs/architecture/execution-flow.md +335 -0
- package/website/content/docs/architecture/multi-agent-systems.md +737 -0
- package/website/content/docs/architecture/overview.md +121 -0
- package/website/content/docs/architecture/stack-integration.md +461 -0
- package/website/content/docs/changelog.md +246 -0
- package/website/content/docs/contributing.md +599 -0
- package/website/content/docs/core-concepts/project-structure.md +348 -0
- package/website/content/docs/ecosystem/framework-support.md +821 -0
- package/website/content/docs/ecosystem/overview.md +366 -0
- package/website/content/docs/examples/Migration-Guides.md +214 -0
- package/website/content/docs/examples.md +71 -0
- package/website/content/docs/for-audiences/Enterprises.md +256 -0
- package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
- package/website/content/docs/for-audiences/architects.md +224 -0
- package/website/content/docs/for-audiences/developers.md +220 -0
- package/website/content/docs/getting-started/5-minute-overview.md +85 -0
- package/website/content/docs/getting-started/Hello-World.md +184 -0
- package/website/content/docs/getting-started/first-agent.md +196 -0
- package/website/content/docs/getting-started/installation.md +155 -0
- package/website/content/docs/getting-started/running-agents.md +107 -0
- package/website/content/docs/integrations/aiflow.md +104 -0
- package/website/content/docs/integrations/drupal.md +105 -0
- package/website/content/docs/migration-guides/00-index.md +76 -0
- package/website/content/docs/migration-guides/README.md +133 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
- package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
- package/website/content/docs/migration-guides/index.md +133 -0
- package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
- package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
- package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
- package/website/content/docs/openapi-extensions/examples.md +550 -0
- package/website/content/docs/openapi-extensions/index.md +495 -0
- package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
- package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
- package/website/content/docs/pre-release/index.md +175 -0
- package/website/content/docs/quick-reference.md +17 -0
- package/website/content/docs/schema-reference/agent-spec.md +406 -0
- package/website/content/docs/schema-reference/autonomy.md +568 -0
- package/website/content/docs/schema-reference/constraints.md +543 -0
- package/website/content/docs/schema-reference/index.md +176 -0
- package/website/content/docs/schema-reference/llm-config.md +445 -0
- package/website/content/docs/schema-reference/observability.md +654 -0
- package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
- package/website/content/docs/schema-reference/taxonomy.md +509 -0
- package/website/content/docs/schema-reference/tools.md +628 -0
- package/website/content/docs/templates/blog-post.md +43 -0
- package/website/content/docs/use-cases/00-index.md +395 -0
- package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
- package/website/content/docs/use-cases/customer-support.md +1234 -0
- package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
- package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
- package/website/lib/version.ts +18 -0
- package/website/next.config.js +17 -0
- package/website/next.config.ts +16 -0
- package/website/nginx.conf +32 -0
- package/website/package-lock.json +9145 -0
- package/website/package.json +53 -0
- package/website/postcss.config.js +7 -0
- package/website/postcss.config.mjs +9 -0
- package/website/scripts/sync-version.js +44 -0
- package/website/scripts/sync-wiki.ts +261 -0
- package/website/tailwind.config.js +58 -0
- package/website/tailwind.config.ts +65 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Developers"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# For Developers
|
|
6
|
+
|
|
7
|
+
Build OSSA-compliant agents using your preferred framework and deploy anywhere.
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
### 1. Install OSSA CLI
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g @bluefly/openstandardagents
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2. Generate Your First Agent
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ossa generate chat --name "My Agent" --output agent.ossa.yaml
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### 3. Validate
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
ossa validate agent.ossa.yaml
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### 4. Deploy
|
|
30
|
+
|
|
31
|
+
Use your preferred deployment method - OSSA doesn't care!
|
|
32
|
+
|
|
33
|
+
## Development Workflow
|
|
34
|
+
|
|
35
|
+
### Build with Your Framework
|
|
36
|
+
|
|
37
|
+
OSSA is framework-agnostic. Build agents with:
|
|
38
|
+
|
|
39
|
+
- **LangChain** - Python-based agent framework
|
|
40
|
+
- **Anthropic SDK** - TypeScript/Python SDK
|
|
41
|
+
- **Custom Code** - Your own implementation
|
|
42
|
+
- **Any Framework** - OSSA works with all
|
|
43
|
+
|
|
44
|
+
### Validate with OSSA
|
|
45
|
+
|
|
46
|
+
Once built, validate against OSSA:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
ossa validate my-agent.ossa.yaml
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Deploy Anywhere
|
|
53
|
+
|
|
54
|
+
Deploy to:
|
|
55
|
+
- Kubernetes
|
|
56
|
+
- Docker
|
|
57
|
+
- Serverless (AWS Lambda, Google Cloud Functions)
|
|
58
|
+
- On-premise
|
|
59
|
+
- Your infrastructure
|
|
60
|
+
|
|
61
|
+
## Migration from Existing Frameworks
|
|
62
|
+
|
|
63
|
+
### LangChain → OSSA
|
|
64
|
+
|
|
65
|
+
See: [Migration Guide: LangChain](../Examples/Migration-Guides/from-langchain-to-ossa)
|
|
66
|
+
|
|
67
|
+
### Anthropic SDK → OSSA
|
|
68
|
+
|
|
69
|
+
Coming soon: Anthropic SDK migration guide
|
|
70
|
+
|
|
71
|
+
### Custom Framework → OSSA
|
|
72
|
+
|
|
73
|
+
1. Map your agent structure to OSSA format
|
|
74
|
+
2. Define tools/capabilities
|
|
75
|
+
3. Configure LLM settings
|
|
76
|
+
4. Add observability
|
|
77
|
+
5. Validate
|
|
78
|
+
|
|
79
|
+
## API Reference
|
|
80
|
+
|
|
81
|
+
### CLI Commands
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Validate agent
|
|
85
|
+
ossa validate <path> [--schema <version>] [--verbose]
|
|
86
|
+
|
|
87
|
+
# Generate agent
|
|
88
|
+
ossa generate <type> [--name <name>] [--output <file>]
|
|
89
|
+
|
|
90
|
+
# Migrate agent
|
|
91
|
+
ossa migrate <source> [--target-version <version>]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Programmatic API
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
import { ValidationService } from '@bluefly/openstandardagents/validation';
|
|
98
|
+
import { GenerationService } from '@bluefly/openstandardagents/generation';
|
|
99
|
+
|
|
100
|
+
// Validate
|
|
101
|
+
const validationService = new ValidationService();
|
|
102
|
+
const result = await validationService.validate(manifest, '0.2.2');
|
|
103
|
+
|
|
104
|
+
// Generate
|
|
105
|
+
const generationService = new GenerationService();
|
|
106
|
+
const manifest = await generationService.generate(template);
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Best Practices
|
|
110
|
+
|
|
111
|
+
### 1. Use Descriptive Names
|
|
112
|
+
|
|
113
|
+
```yaml
|
|
114
|
+
metadata:
|
|
115
|
+
name: customer-support-agent # Good
|
|
116
|
+
# name: agent1 # Bad
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 2. Add Comprehensive Descriptions
|
|
120
|
+
|
|
121
|
+
```yaml
|
|
122
|
+
metadata:
|
|
123
|
+
description: |
|
|
124
|
+
Customer support agent that handles:
|
|
125
|
+
- Product inquiries
|
|
126
|
+
- Order status
|
|
127
|
+
- Returns and refunds
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 3. Configure Constraints
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
constraints:
|
|
134
|
+
cost:
|
|
135
|
+
maxTokensPerDay: 100000
|
|
136
|
+
maxCostPerDay: 10.00
|
|
137
|
+
performance:
|
|
138
|
+
maxLatencySeconds: 5.0
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 4. Enable Observability
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
observability:
|
|
145
|
+
tracing:
|
|
146
|
+
enabled: true
|
|
147
|
+
metrics:
|
|
148
|
+
enabled: true
|
|
149
|
+
logging:
|
|
150
|
+
level: info
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Common Patterns
|
|
154
|
+
|
|
155
|
+
### Pattern 1: Simple Chat Agent
|
|
156
|
+
|
|
157
|
+
```yaml
|
|
158
|
+
spec:
|
|
159
|
+
role: You are a helpful assistant
|
|
160
|
+
llm:
|
|
161
|
+
provider: openai
|
|
162
|
+
model: gpt-3.5-turbo
|
|
163
|
+
tools: []
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### Pattern 2: Agent with Tools
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
spec:
|
|
170
|
+
role: You are a research assistant
|
|
171
|
+
llm:
|
|
172
|
+
provider: openai
|
|
173
|
+
model: gpt-4
|
|
174
|
+
tools:
|
|
175
|
+
- type: http
|
|
176
|
+
name: web_search
|
|
177
|
+
endpoint: https://api.search.com/search
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Pattern 3: Multi-Agent Orchestration
|
|
181
|
+
|
|
182
|
+
See: [Integration Patterns](../Examples/Integration-Patterns)
|
|
183
|
+
|
|
184
|
+
## Testing
|
|
185
|
+
|
|
186
|
+
### Validate Before Deployment
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
ossa validate agent.ossa.yaml --verbose
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### Test with Examples
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Validate all examples
|
|
196
|
+
npm run validate:examples
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Troubleshooting
|
|
200
|
+
|
|
201
|
+
### Validation Errors
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Get detailed error messages
|
|
205
|
+
ossa validate agent.ossa.yaml --verbose
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Common Issues
|
|
209
|
+
|
|
210
|
+
1. **Missing required fields**: Check schema reference
|
|
211
|
+
2. **Invalid tool types**: Use supported types (http, function, mcp, etc.)
|
|
212
|
+
3. **LLM provider not supported**: Check provider enum values
|
|
213
|
+
|
|
214
|
+
## Resources
|
|
215
|
+
|
|
216
|
+
- [Getting Started](../Getting-Started/Hello-World)
|
|
217
|
+
- [API Reference](../Technical/CLI-Reference)
|
|
218
|
+
- [Migration Guides](../Examples/Migration-Guides)
|
|
219
|
+
- [Examples](../Examples/Getting-Started-Examples)
|
|
220
|
+
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "5 Minute Overview"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# 5-Minute Overview
|
|
6
|
+
|
|
7
|
+
Get up to speed on OSSA in 5 minutes.
|
|
8
|
+
|
|
9
|
+
## What is OSSA?
|
|
10
|
+
|
|
11
|
+
**OSSA (Open Standard for Scalable Agents)** is like OpenAPI, but for AI agents.
|
|
12
|
+
|
|
13
|
+
- **OpenAPI** = Standard format for REST APIs
|
|
14
|
+
- **OSSA** = Standard format for AI agents
|
|
15
|
+
|
|
16
|
+
## Why Does This Matter?
|
|
17
|
+
|
|
18
|
+
### Before OSSA
|
|
19
|
+
- Agents built with LangChain couldn't work with Anthropic SDK agents
|
|
20
|
+
- Moving agents between teams required rewriting
|
|
21
|
+
- No standard way to validate agent correctness
|
|
22
|
+
- Framework lock-in everywhere
|
|
23
|
+
|
|
24
|
+
### With OSSA
|
|
25
|
+
- ✅ Agents work across any framework
|
|
26
|
+
- ✅ Move agents between teams/organizations easily
|
|
27
|
+
- ✅ Validate agents before deployment
|
|
28
|
+
- ✅ No vendor lock-in
|
|
29
|
+
|
|
30
|
+
## Core Concept
|
|
31
|
+
|
|
32
|
+
OSSA defines agents using a **declarative YAML/JSON format**:
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
apiVersion: ossa/v0.2.3
|
|
36
|
+
kind: Agent
|
|
37
|
+
|
|
38
|
+
metadata:
|
|
39
|
+
name: my-agent
|
|
40
|
+
version: 1.0.0
|
|
41
|
+
description: My first OSSA agent
|
|
42
|
+
|
|
43
|
+
spec:
|
|
44
|
+
role: You are a helpful assistant
|
|
45
|
+
llm:
|
|
46
|
+
provider: openai
|
|
47
|
+
model: gpt-3.5-turbo
|
|
48
|
+
tools:
|
|
49
|
+
- type: function
|
|
50
|
+
name: greet_user
|
|
51
|
+
description: Greet a user by name
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Key Components
|
|
55
|
+
|
|
56
|
+
| Component | What It Does |
|
|
57
|
+
|-----------|--------------|
|
|
58
|
+
| **Specification** | JSON Schema that defines the standard |
|
|
59
|
+
| **CLI** | Validates and generates agent manifests |
|
|
60
|
+
| **Examples** | Reference implementations for learning |
|
|
61
|
+
| **agent-buildkit** | Reference implementation with production features |
|
|
62
|
+
|
|
63
|
+
## What OSSA Is NOT
|
|
64
|
+
|
|
65
|
+
- ❌ **Not a framework** - It's a standard
|
|
66
|
+
- ❌ **Not a runtime** - It's a specification
|
|
67
|
+
- ❌ **Not an orchestration tool** - It's a contract definition
|
|
68
|
+
|
|
69
|
+
## Next Steps
|
|
70
|
+
|
|
71
|
+
1. **Install OSSA CLI**: `npm install -g @bluefly/openstandardagents`
|
|
72
|
+
2. **Try the Hello World example**: See [Hello World Tutorial](Hello-World)
|
|
73
|
+
3. **Create your first agent**: See [First Agent Creation](First-Agent)
|
|
74
|
+
4. **Explore examples**: Check out [Examples & Patterns](../Examples/Getting-Started-Examples)
|
|
75
|
+
|
|
76
|
+
## Learn More
|
|
77
|
+
|
|
78
|
+
- [Installation Guide](Installation)
|
|
79
|
+
- [Hello World Tutorial](Hello-World)
|
|
80
|
+
- [Full Documentation](../Technical/Specification-Deep-Dive)
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
**Time to next level**: ~15 minutes → [Hello World Tutorial](Hello-World)
|
|
85
|
+
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Hello World"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Hello World Tutorial
|
|
6
|
+
|
|
7
|
+
Create your first OSSA agent in 10 minutes.
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
In this tutorial, you'll:
|
|
12
|
+
1. Generate a minimal OSSA agent
|
|
13
|
+
2. Understand the agent structure
|
|
14
|
+
3. Validate the agent
|
|
15
|
+
4. Learn what each field means
|
|
16
|
+
|
|
17
|
+
## Step 1: Generate Your First Agent
|
|
18
|
+
|
|
19
|
+
Use the OSSA CLI to generate a chat agent:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
ossa generate chat --name "Hello World Agent" --output hello-world.ossa.yaml
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This creates a minimal, valid OSSA agent manifest.
|
|
26
|
+
|
|
27
|
+
## Step 2: Examine the Generated Agent
|
|
28
|
+
|
|
29
|
+
Open `hello-world.ossa.yaml`:
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
apiVersion: ossa/v0.2.3
|
|
33
|
+
kind: Agent
|
|
34
|
+
|
|
35
|
+
metadata:
|
|
36
|
+
name: hello-world-agent
|
|
37
|
+
version: 0.1.0
|
|
38
|
+
description: Hello World Agent
|
|
39
|
+
|
|
40
|
+
spec:
|
|
41
|
+
role: |
|
|
42
|
+
You are a helpful chat assistant.
|
|
43
|
+
Answer questions clearly and concisely.
|
|
44
|
+
|
|
45
|
+
llm:
|
|
46
|
+
provider: openai
|
|
47
|
+
model: gpt-3.5-turbo
|
|
48
|
+
temperature: 0.7
|
|
49
|
+
|
|
50
|
+
tools: []
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Step 3: Understand the Structure
|
|
54
|
+
|
|
55
|
+
### apiVersion & kind
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
apiVersion: ossa/v0.2.3
|
|
59
|
+
kind: Agent
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
- **apiVersion**: OSSA specification version
|
|
63
|
+
- **kind**: Resource type (currently only "Agent")
|
|
64
|
+
|
|
65
|
+
### metadata
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
metadata:
|
|
69
|
+
name: hello-world-agent
|
|
70
|
+
version: 0.1.0
|
|
71
|
+
description: Hello World Agent
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
- **name**: Agent identifier (DNS-1123 format)
|
|
75
|
+
- **version**: Semantic version
|
|
76
|
+
- **description**: Human-readable description
|
|
77
|
+
|
|
78
|
+
### spec
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
spec:
|
|
82
|
+
role: |
|
|
83
|
+
You are a helpful chat assistant.
|
|
84
|
+
Answer questions clearly and concisely.
|
|
85
|
+
|
|
86
|
+
llm:
|
|
87
|
+
provider: openai
|
|
88
|
+
model: gpt-3.5-turbo
|
|
89
|
+
temperature: 0.7
|
|
90
|
+
|
|
91
|
+
tools: []
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
- **role**: System prompt/instructions for the agent
|
|
95
|
+
- **llm**: Language model configuration
|
|
96
|
+
- **tools**: Available capabilities (empty for basic chat)
|
|
97
|
+
|
|
98
|
+
## Step 4: Validate Your Agent
|
|
99
|
+
|
|
100
|
+
Validate the agent against the OSSA schema:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
ossa validate hello-world.ossa.yaml
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
You should see:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
✓ Agent manifest is valid OSSA 0.2.2
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Step 5: Add a Tool (Optional)
|
|
113
|
+
|
|
114
|
+
Edit `hello-world.ossa.yaml` to add a greeting tool:
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
spec:
|
|
118
|
+
role: |
|
|
119
|
+
You are a helpful chat assistant.
|
|
120
|
+
Answer questions clearly and concisely.
|
|
121
|
+
|
|
122
|
+
llm:
|
|
123
|
+
provider: openai
|
|
124
|
+
model: gpt-3.5-turbo
|
|
125
|
+
temperature: 0.7
|
|
126
|
+
|
|
127
|
+
tools:
|
|
128
|
+
- type: function
|
|
129
|
+
name: greet_user
|
|
130
|
+
description: Generate a personalized greeting
|
|
131
|
+
config:
|
|
132
|
+
handler: greet_handler
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Validate again:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
ossa validate hello-world.ossa.yaml
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Understanding the Complete Example
|
|
142
|
+
|
|
143
|
+
For a fully annotated example with extensive comments, see:
|
|
144
|
+
|
|
145
|
+
[examples/getting-started/hello-world-complete.ossa.yaml](https://github.com/blueflyio/openstandardagents/blob/main/examples/getting-started/hello-world-complete.ossa.yaml)
|
|
146
|
+
|
|
147
|
+
This example includes:
|
|
148
|
+
- Detailed comments for every field
|
|
149
|
+
- All optional fields explained
|
|
150
|
+
- Best practices
|
|
151
|
+
- Usage examples
|
|
152
|
+
|
|
153
|
+
## What You've Learned
|
|
154
|
+
|
|
155
|
+
✅ OSSA agents are defined in YAML/JSON
|
|
156
|
+
✅ Agents have metadata (name, version, description)
|
|
157
|
+
✅ Agents have a spec (role, LLM, tools)
|
|
158
|
+
✅ OSSA CLI can validate agent correctness
|
|
159
|
+
✅ Tools extend agent capabilities
|
|
160
|
+
|
|
161
|
+
## Next Steps
|
|
162
|
+
|
|
163
|
+
1. ✅ Hello World complete
|
|
164
|
+
2. → [First Agent Creation](First-Agent) - Build a real agent
|
|
165
|
+
3. → [Examples & Patterns](../Examples/Getting-Started-Examples) - See more examples
|
|
166
|
+
4. → [Schema Reference](../Technical/Schema-Reference) - Deep dive into the spec
|
|
167
|
+
|
|
168
|
+
## Common Questions
|
|
169
|
+
|
|
170
|
+
**Q: Can I use a different LLM provider?**
|
|
171
|
+
A: Yes! OSSA supports OpenAI, Anthropic, Google, Azure, Ollama, and custom providers.
|
|
172
|
+
|
|
173
|
+
**Q: What if I don't have tools?**
|
|
174
|
+
A: Tools are optional. A basic chat agent can have an empty tools array.
|
|
175
|
+
|
|
176
|
+
**Q: How do I deploy this agent?**
|
|
177
|
+
A: OSSA is just a standard. Use agent-buildkit or your own deployment system.
|
|
178
|
+
|
|
179
|
+
## Related
|
|
180
|
+
|
|
181
|
+
- [5-Minute Overview](5-Minute-Overview)
|
|
182
|
+
- [First Agent Creation](First-Agent)
|
|
183
|
+
- [Complete Annotated Example](https://github.com/blueflyio/openstandardagents/blob/main/examples/getting-started/hello-world-complete.ossa.yaml)
|
|
184
|
+
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "First Agent"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# First Agent Creation
|
|
6
|
+
|
|
7
|
+
Build your first real OSSA agent with capabilities.
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
In this guide, you'll create a complete agent with:
|
|
12
|
+
- Multiple tools/capabilities
|
|
13
|
+
- LLM configuration
|
|
14
|
+
- Observability setup
|
|
15
|
+
- Constraints and limits
|
|
16
|
+
|
|
17
|
+
## Step 1: Choose Your Agent Type
|
|
18
|
+
|
|
19
|
+
OSSA supports various agent types:
|
|
20
|
+
|
|
21
|
+
- **chat** - Conversational agent
|
|
22
|
+
- **workflow** - Workflow orchestration
|
|
23
|
+
- **compliance** - Compliance checking
|
|
24
|
+
- **monitoring** - System monitoring
|
|
25
|
+
- **worker** - Task processing
|
|
26
|
+
|
|
27
|
+
For this tutorial, we'll create a **chat** agent with web search capability.
|
|
28
|
+
|
|
29
|
+
## Step 2: Generate Base Agent
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
ossa generate chat \
|
|
33
|
+
--name "Research Assistant" \
|
|
34
|
+
--description "An agent that can search the web and answer questions" \
|
|
35
|
+
--output research-assistant.ossa.yaml
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Step 3: Add Tools
|
|
39
|
+
|
|
40
|
+
Edit `research-assistant.ossa.yaml` to add a web search tool:
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
spec:
|
|
44
|
+
role: |
|
|
45
|
+
You are a research assistant. Your job is to:
|
|
46
|
+
1. Search the web for current information
|
|
47
|
+
2. Synthesize information from multiple sources
|
|
48
|
+
3. Provide accurate, well-sourced answers
|
|
49
|
+
|
|
50
|
+
Always cite your sources and verify information.
|
|
51
|
+
|
|
52
|
+
llm:
|
|
53
|
+
provider: openai
|
|
54
|
+
model: gpt-4
|
|
55
|
+
temperature: 0.3 # Lower for factual accuracy
|
|
56
|
+
|
|
57
|
+
tools:
|
|
58
|
+
- type: http
|
|
59
|
+
name: web_search
|
|
60
|
+
description: Search the web for current information
|
|
61
|
+
endpoint: https://api.search-service.com/search
|
|
62
|
+
config:
|
|
63
|
+
method: POST
|
|
64
|
+
timeout: 10
|
|
65
|
+
auth:
|
|
66
|
+
type: apikey
|
|
67
|
+
credentials: SEARCH_API_KEY
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Step 4: Add Observability
|
|
71
|
+
|
|
72
|
+
Add observability configuration:
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
spec:
|
|
76
|
+
# ... existing config ...
|
|
77
|
+
|
|
78
|
+
observability:
|
|
79
|
+
tracing:
|
|
80
|
+
enabled: true
|
|
81
|
+
exporter: otlp
|
|
82
|
+
endpoint: http://localhost:4318
|
|
83
|
+
metrics:
|
|
84
|
+
enabled: true
|
|
85
|
+
exporter: prometheus
|
|
86
|
+
endpoint: http://localhost:9090/metrics
|
|
87
|
+
logging:
|
|
88
|
+
level: info
|
|
89
|
+
format: json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Step 5: Add Constraints
|
|
93
|
+
|
|
94
|
+
Add cost and performance constraints:
|
|
95
|
+
|
|
96
|
+
```yaml
|
|
97
|
+
spec:
|
|
98
|
+
# ... existing config ...
|
|
99
|
+
|
|
100
|
+
constraints:
|
|
101
|
+
cost:
|
|
102
|
+
maxTokensPerDay: 100000
|
|
103
|
+
maxCostPerDay: 10.00
|
|
104
|
+
currency: USD
|
|
105
|
+
performance:
|
|
106
|
+
maxLatencySeconds: 5.0
|
|
107
|
+
maxConcurrentRequests: 10
|
|
108
|
+
timeoutSeconds: 30
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Step 6: Validate
|
|
112
|
+
|
|
113
|
+
Validate your complete agent:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
ossa validate research-assistant.ossa.yaml --verbose
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Complete Example
|
|
120
|
+
|
|
121
|
+
Your final agent should look like:
|
|
122
|
+
|
|
123
|
+
```yaml
|
|
124
|
+
apiVersion: ossa/v0.2.3
|
|
125
|
+
kind: Agent
|
|
126
|
+
|
|
127
|
+
metadata:
|
|
128
|
+
name: research-assistant
|
|
129
|
+
version: 1.0.0
|
|
130
|
+
description: An agent that can search the web and answer questions
|
|
131
|
+
labels:
|
|
132
|
+
environment: development
|
|
133
|
+
team: research
|
|
134
|
+
|
|
135
|
+
spec:
|
|
136
|
+
role: |
|
|
137
|
+
You are a research assistant. Your job is to:
|
|
138
|
+
1. Search the web for current information
|
|
139
|
+
2. Synthesize information from multiple sources
|
|
140
|
+
3. Provide accurate, well-sourced answers
|
|
141
|
+
|
|
142
|
+
Always cite your sources and verify information.
|
|
143
|
+
|
|
144
|
+
llm:
|
|
145
|
+
provider: openai
|
|
146
|
+
model: gpt-4
|
|
147
|
+
temperature: 0.3
|
|
148
|
+
maxTokens: 2000
|
|
149
|
+
|
|
150
|
+
tools:
|
|
151
|
+
- type: http
|
|
152
|
+
name: web_search
|
|
153
|
+
description: Search the web for current information
|
|
154
|
+
endpoint: https://api.search-service.com/search
|
|
155
|
+
config:
|
|
156
|
+
method: POST
|
|
157
|
+
timeout: 10
|
|
158
|
+
auth:
|
|
159
|
+
type: apikey
|
|
160
|
+
credentials: SEARCH_API_KEY
|
|
161
|
+
|
|
162
|
+
constraints:
|
|
163
|
+
cost:
|
|
164
|
+
maxTokensPerDay: 100000
|
|
165
|
+
maxCostPerDay: 10.00
|
|
166
|
+
currency: USD
|
|
167
|
+
performance:
|
|
168
|
+
maxLatencySeconds: 5.0
|
|
169
|
+
maxConcurrentRequests: 10
|
|
170
|
+
|
|
171
|
+
observability:
|
|
172
|
+
tracing:
|
|
173
|
+
enabled: true
|
|
174
|
+
exporter: otlp
|
|
175
|
+
endpoint: http://localhost:4318
|
|
176
|
+
metrics:
|
|
177
|
+
enabled: true
|
|
178
|
+
exporter: prometheus
|
|
179
|
+
logging:
|
|
180
|
+
level: info
|
|
181
|
+
format: json
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Next Steps
|
|
185
|
+
|
|
186
|
+
1. ✅ First agent created
|
|
187
|
+
2. → [Integration Patterns](../Examples/Integration-Patterns) - Connect multiple agents
|
|
188
|
+
3. → [Migration Guides](../Examples/Migration-Guides) - Migrate from other frameworks
|
|
189
|
+
4. → [Advanced Patterns](../Examples/Advanced-Patterns) - Enterprise patterns
|
|
190
|
+
|
|
191
|
+
## Related
|
|
192
|
+
|
|
193
|
+
- [Hello World Tutorial](Hello-World)
|
|
194
|
+
- [Schema Reference](../Technical/Schema-Reference)
|
|
195
|
+
- [Complete Examples](../Examples/Getting-Started-Examples)
|
|
196
|
+
|