@bluefly/openstandardagents 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.buildkit/agent-first-policy.sh +65 -0
- package/.buildkit/branching-workflow.json +41 -0
- package/.buildkit/hooks.yaml +23 -0
- package/.buildkit/install-buildkit-setup.cjs +483 -0
- package/.cursor/plans/ossa-comprehensive-enhancement-issue-audit-plan.plan.md +735 -0
- package/.cursor/plans/ossa-enterprise-transformation-plan-0ccaf09b.plan.md +373 -0
- package/.cursor/plans/ossa-milestone-organization-and-v0-2-4-release-6dafa4ec.plan.md +214 -0
- package/.cursor/rules/problems.json +483 -0
- package/.cursor/settings.json +29 -0
- package/.cursor/worktrees.json +95 -0
- package/.env.example +41 -0
- package/.env.local +31 -0
- package/.github/ISSUE_TEMPLATE/README.md +33 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +61 -0
- package/.github/ISSUE_TEMPLATE/config.yml +12 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +75 -0
- package/.github/wiki_templates/home.md +39 -0
- package/.gitignore.bak +489 -0
- package/.gitlab-ci-trigger +1 -0
- package/.husky/pre-commit +31 -0
- package/.lintstagedrc.json +16 -0
- package/.redocly.yaml +63 -0
- package/.vscode/extensions.json +6 -0
- package/.vscode/settings.json +3 -0
- package/AUDIT_FIXES.md +139 -0
- package/AUDIT_REPORT.md +308 -0
- package/BUILDKIT_INTEGRATION.md +146 -0
- package/Dockerfile +35 -0
- package/README.md +559 -0
- package/dist/adk/adapters/index.d.ts +64 -0
- package/dist/adk/adapters/index.d.ts.map +1 -0
- package/dist/adk/adapters/index.js +257 -0
- package/dist/adk/adapters/index.js.map +1 -0
- package/dist/adk/agents/custom-agent.d.ts +55 -0
- package/dist/adk/agents/custom-agent.d.ts.map +1 -0
- package/dist/adk/agents/custom-agent.js +167 -0
- package/dist/adk/agents/custom-agent.js.map +1 -0
- package/dist/adk/agents/index.d.ts +64 -0
- package/dist/adk/agents/index.d.ts.map +1 -0
- package/dist/adk/agents/index.js +125 -0
- package/dist/adk/agents/index.js.map +1 -0
- package/dist/adk/agents/llm-agent.d.ts +27 -0
- package/dist/adk/agents/llm-agent.d.ts.map +1 -0
- package/dist/adk/agents/llm-agent.js +63 -0
- package/dist/adk/agents/llm-agent.js.map +1 -0
- package/dist/adk/agents/workflow-agent.d.ts +42 -0
- package/dist/adk/agents/workflow-agent.d.ts.map +1 -0
- package/dist/adk/agents/workflow-agent.js +144 -0
- package/dist/adk/agents/workflow-agent.js.map +1 -0
- package/dist/adk/index.d.ts +10 -0
- package/dist/adk/index.d.ts.map +1 -0
- package/dist/adk/index.js +10 -0
- package/dist/adk/index.js.map +1 -0
- package/dist/adk/orchestration/index.d.ts +63 -0
- package/dist/adk/orchestration/index.d.ts.map +1 -0
- package/dist/adk/orchestration/index.js +264 -0
- package/dist/adk/orchestration/index.js.map +1 -0
- package/dist/adk/state/index.d.ts +73 -0
- package/dist/adk/state/index.d.ts.map +1 -0
- package/dist/adk/state/index.js +177 -0
- package/dist/adk/state/index.js.map +1 -0
- package/dist/adk/tools/index.d.ts +65 -0
- package/dist/adk/tools/index.d.ts.map +1 -0
- package/dist/adk/tools/index.js +252 -0
- package/dist/adk/tools/index.js.map +1 -0
- package/dist/cli/agent-deployment.d.ts +34 -0
- package/dist/cli/agent-deployment.d.ts.map +1 -0
- package/dist/cli/agent-deployment.js +396 -0
- package/dist/cli/agent-deployment.js.map +1 -0
- package/dist/cli/commands/discover.command.d.ts +7 -0
- package/dist/cli/commands/discover.command.d.ts.map +1 -0
- package/dist/cli/commands/discover.command.js +80 -0
- package/dist/cli/commands/discover.command.js.map +1 -0
- package/dist/cli/commands/export.command.d.ts +7 -0
- package/dist/cli/commands/export.command.d.ts.map +1 -0
- package/dist/cli/commands/export.command.js +56 -0
- package/dist/cli/commands/export.command.js.map +1 -0
- package/dist/cli/commands/generate.command.d.ts +7 -0
- package/dist/cli/commands/generate.command.d.ts.map +1 -0
- package/dist/cli/commands/generate.command.js +66 -0
- package/dist/cli/commands/generate.command.js.map +1 -0
- package/dist/cli/commands/gitlab-agent.command.d.ts +8 -0
- package/dist/cli/commands/gitlab-agent.command.d.ts.map +1 -0
- package/dist/cli/commands/gitlab-agent.command.js +201 -0
- package/dist/cli/commands/gitlab-agent.command.js.map +1 -0
- package/dist/cli/commands/import.command.d.ts +7 -0
- package/dist/cli/commands/import.command.d.ts.map +1 -0
- package/dist/cli/commands/import.command.js +36 -0
- package/dist/cli/commands/import.command.js.map +1 -0
- package/dist/cli/commands/init.command.d.ts +7 -0
- package/dist/cli/commands/init.command.d.ts.map +1 -0
- package/dist/cli/commands/init.command.js +146 -0
- package/dist/cli/commands/init.command.js.map +1 -0
- package/dist/cli/commands/migrate.command.d.ts +7 -0
- package/dist/cli/commands/migrate.command.d.ts.map +1 -0
- package/dist/cli/commands/migrate.command.js +110 -0
- package/dist/cli/commands/migrate.command.js.map +1 -0
- package/dist/cli/commands/ossa.d.ts +9 -0
- package/dist/cli/commands/ossa.d.ts.map +1 -0
- package/dist/cli/commands/ossa.js +234 -0
- package/dist/cli/commands/ossa.js.map +1 -0
- package/dist/cli/commands/run.command.d.ts +7 -0
- package/dist/cli/commands/run.command.d.ts.map +1 -0
- package/dist/cli/commands/run.command.js +114 -0
- package/dist/cli/commands/run.command.js.map +1 -0
- package/dist/cli/commands/schema.command.d.ts +7 -0
- package/dist/cli/commands/schema.command.d.ts.map +1 -0
- package/dist/cli/commands/schema.command.js +72 -0
- package/dist/cli/commands/schema.command.js.map +1 -0
- package/dist/cli/commands/validate.command.d.ts +7 -0
- package/dist/cli/commands/validate.command.d.ts.map +1 -0
- package/dist/cli/commands/validate.command.js +125 -0
- package/dist/cli/commands/validate.command.js.map +1 -0
- package/dist/cli/commands/worktree.d.ts +7 -0
- package/dist/cli/commands/worktree.d.ts.map +1 -0
- package/dist/cli/commands/worktree.js +509 -0
- package/dist/cli/commands/worktree.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +50 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ossa-cli.d.ts +52 -0
- package/dist/cli/ossa-cli.d.ts.map +1 -0
- package/dist/cli/ossa-cli.js +1061 -0
- package/dist/cli/ossa-cli.js.map +1 -0
- package/dist/core/index.d.ts +31 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +37 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/mcp-server-implementation.d.ts +39 -0
- package/dist/core/mcp-server-implementation.d.ts.map +1 -0
- package/dist/core/mcp-server-implementation.js +1262 -0
- package/dist/core/mcp-server-implementation.js.map +1 -0
- package/dist/core/orchestrator/index.d.ts +156 -0
- package/dist/core/orchestrator/index.d.ts.map +1 -0
- package/dist/core/orchestrator/index.js +446 -0
- package/dist/core/orchestrator/index.js.map +1 -0
- package/dist/core/orchestrator/ossa-orchestrator.d.ts +106 -0
- package/dist/core/orchestrator/ossa-orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator/ossa-orchestrator.js +396 -0
- package/dist/core/orchestrator/ossa-orchestrator.js.map +1 -0
- package/dist/di-container.d.ts +18 -0
- package/dist/di-container.d.ts.map +1 -0
- package/dist/di-container.js +46 -0
- package/dist/di-container.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/protocols/acap.d.ts +61 -0
- package/dist/protocols/acap.d.ts.map +1 -0
- package/dist/protocols/acap.js +92 -0
- package/dist/protocols/acap.js.map +1 -0
- package/dist/protocols/index.d.ts +8 -0
- package/dist/protocols/index.d.ts.map +1 -0
- package/dist/protocols/index.js +8 -0
- package/dist/protocols/index.js.map +1 -0
- package/dist/protocols/rasp.d.ts +58 -0
- package/dist/protocols/rasp.d.ts.map +1 -0
- package/dist/protocols/rasp.js +212 -0
- package/dist/protocols/rasp.js.map +1 -0
- package/dist/repositories/manifest.repository.d.ts +26 -0
- package/dist/repositories/manifest.repository.d.ts.map +1 -0
- package/dist/repositories/manifest.repository.js +90 -0
- package/dist/repositories/manifest.repository.js.map +1 -0
- package/dist/repositories/schema.repository.d.ts +30 -0
- package/dist/repositories/schema.repository.d.ts.map +1 -0
- package/dist/repositories/schema.repository.js +144 -0
- package/dist/repositories/schema.repository.js.map +1 -0
- package/dist/server/simple-app.d.ts +18 -0
- package/dist/server/simple-app.d.ts.map +1 -0
- package/dist/server/simple-app.js +155 -0
- package/dist/server/simple-app.js.map +1 -0
- package/dist/server/types/agent.d.ts +498 -0
- package/dist/server/types/agent.d.ts.map +1 -0
- package/dist/server/types/agent.js +37 -0
- package/dist/server/types/agent.js.map +1 -0
- package/dist/server/types/server.d.ts +370 -0
- package/dist/server/types/server.d.ts.map +1 -0
- package/dist/server/types/server.js +68 -0
- package/dist/server/types/server.js.map +1 -0
- package/dist/services/discovery.service.d.ts +78 -0
- package/dist/services/discovery.service.d.ts.map +1 -0
- package/dist/services/discovery.service.js +212 -0
- package/dist/services/discovery.service.js.map +1 -0
- package/dist/services/generation.service.d.ts +54 -0
- package/dist/services/generation.service.d.ts.map +1 -0
- package/dist/services/generation.service.js +298 -0
- package/dist/services/generation.service.js.map +1 -0
- package/dist/services/gitlab-agent.service.d.ts +94 -0
- package/dist/services/gitlab-agent.service.d.ts.map +1 -0
- package/dist/services/gitlab-agent.service.js +158 -0
- package/dist/services/gitlab-agent.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +30 -0
- package/dist/services/migration.service.d.ts.map +1 -0
- package/dist/services/migration.service.js +231 -0
- package/dist/services/migration.service.js.map +1 -0
- package/dist/services/orchestration/worktree-orchestrator.d.ts +146 -0
- package/dist/services/orchestration/worktree-orchestrator.d.ts.map +1 -0
- package/dist/services/orchestration/worktree-orchestrator.js +591 -0
- package/dist/services/orchestration/worktree-orchestrator.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts +94 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
- package/dist/services/runtime/openai.adapter.js +209 -0
- package/dist/services/runtime/openai.adapter.js.map +1 -0
- package/dist/services/validation.service.d.ts +45 -0
- package/dist/services/validation.service.d.ts.map +1 -0
- package/dist/services/validation.service.js +362 -0
- package/dist/services/validation.service.js.map +1 -0
- package/dist/services/validators/anthropic.validator.d.ts +9 -0
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
- package/dist/services/validators/anthropic.validator.js +105 -0
- package/dist/services/validators/anthropic.validator.js.map +1 -0
- package/dist/services/validators/autogen.validator.d.ts +9 -0
- package/dist/services/validators/autogen.validator.d.ts.map +1 -0
- package/dist/services/validators/autogen.validator.js +111 -0
- package/dist/services/validators/autogen.validator.js.map +1 -0
- package/dist/services/validators/crewai.validator.d.ts +9 -0
- package/dist/services/validators/crewai.validator.d.ts.map +1 -0
- package/dist/services/validators/crewai.validator.js +117 -0
- package/dist/services/validators/crewai.validator.js.map +1 -0
- package/dist/services/validators/cursor.validator.d.ts +9 -0
- package/dist/services/validators/cursor.validator.d.ts.map +1 -0
- package/dist/services/validators/cursor.validator.js +88 -0
- package/dist/services/validators/cursor.validator.js.map +1 -0
- package/dist/services/validators/index.d.ts +15 -0
- package/dist/services/validators/index.d.ts.map +1 -0
- package/dist/services/validators/index.js +15 -0
- package/dist/services/validators/index.js.map +1 -0
- package/dist/services/validators/langchain.validator.d.ts +9 -0
- package/dist/services/validators/langchain.validator.d.ts.map +1 -0
- package/dist/services/validators/langchain.validator.js +103 -0
- package/dist/services/validators/langchain.validator.js.map +1 -0
- package/dist/services/validators/langflow.validator.d.ts +9 -0
- package/dist/services/validators/langflow.validator.d.ts.map +1 -0
- package/dist/services/validators/langflow.validator.js +92 -0
- package/dist/services/validators/langflow.validator.js.map +1 -0
- package/dist/services/validators/langgraph.validator.d.ts +9 -0
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
- package/dist/services/validators/langgraph.validator.js +123 -0
- package/dist/services/validators/langgraph.validator.js.map +1 -0
- package/dist/services/validators/llamaindex.validator.d.ts +9 -0
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
- package/dist/services/validators/llamaindex.validator.js +121 -0
- package/dist/services/validators/llamaindex.validator.js.map +1 -0
- package/dist/services/validators/openai.validator.d.ts +9 -0
- package/dist/services/validators/openai.validator.d.ts.map +1 -0
- package/dist/services/validators/openai.validator.js +126 -0
- package/dist/services/validators/openai.validator.js.map +1 -0
- package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
- package/dist/services/validators/vercel-ai.validator.js +99 -0
- package/dist/services/validators/vercel-ai.validator.js.map +1 -0
- package/dist/services/worktree/branching-strategy.d.ts +17 -0
- package/dist/services/worktree/branching-strategy.d.ts.map +1 -0
- package/dist/services/worktree/branching-strategy.js +66 -0
- package/dist/services/worktree/branching-strategy.js.map +1 -0
- package/dist/services/worktree/git-worktree-manager.d.ts +32 -0
- package/dist/services/worktree/git-worktree-manager.d.ts.map +1 -0
- package/dist/services/worktree/git-worktree-manager.js +61 -0
- package/dist/services/worktree/git-worktree-manager.js.map +1 -0
- package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/dist/spec/v0.2.3/README.md +154 -0
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/dist/spec/v0.2.4-dev/README.md +61 -0
- package/dist/spec/v0.2.4-dev/RELEASE-PROCESS.md +130 -0
- package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.4-dev/openapi/CHANGELOG-0.2.4.md +177 -0
- package/dist/spec/v0.2.4-dev/openapi/README-0.2.4.md +51 -0
- package/dist/spec/v0.2.4-dev/openapi/VERIFICATION-0.2.4.md +147 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1717 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/dist/specification/validator.d.ts +82 -0
- package/dist/specification/validator.d.ts.map +1 -0
- package/dist/specification/validator.js +562 -0
- package/dist/specification/validator.js.map +1 -0
- package/dist/types/acdl-api.d.ts +335 -0
- package/dist/types/acdl-api.d.ts.map +1 -0
- package/dist/types/acdl-api.js +6 -0
- package/dist/types/acdl-api.js.map +1 -0
- package/dist/types/agents/index.d.ts +53 -0
- package/dist/types/agents/index.d.ts.map +1 -0
- package/dist/types/agents/index.js +5 -0
- package/dist/types/agents/index.js.map +1 -0
- package/dist/types/api.d.ts +225 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +6 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/architecture/index.d.ts +530 -0
- package/dist/types/architecture/index.d.ts.map +1 -0
- package/dist/types/architecture/index.js +258 -0
- package/dist/types/architecture/index.js.map +1 -0
- package/dist/types/index.d.ts +279 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +68 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/openapi-extensions.d.ts +164 -0
- package/dist/types/openapi-extensions.d.ts.map +1 -0
- package/dist/types/openapi-extensions.js +6 -0
- package/dist/types/openapi-extensions.js.map +1 -0
- package/dist/types/policies/index.d.ts +35 -0
- package/dist/types/policies/index.d.ts.map +1 -0
- package/dist/types/policies/index.js +5 -0
- package/dist/types/policies/index.js.map +1 -0
- package/dist/types/workflows/index.d.ts +40 -0
- package/dist/types/workflows/index.d.ts.map +1 -0
- package/dist/types/workflows/index.js +5 -0
- package/dist/types/workflows/index.js.map +1 -0
- package/dist/utils/version-resolver.d.ts +28 -0
- package/dist/utils/version-resolver.d.ts.map +1 -0
- package/dist/utils/version-resolver.js +110 -0
- package/dist/utils/version-resolver.js.map +1 -0
- package/docker-compose.yml +160 -0
- package/junit.xml +1 -0
- package/package.json +105 -0
- package/public/api-docs.html +206 -0
- package/public/assets/favicon.svg +8 -0
- package/public/assets/script.js +279 -0
- package/public/assets/style.css +632 -0
- package/public/index.html +307 -0
- package/public/redocly-config.yaml +80 -0
- package/public/src/api/acdl-specification.yml +531 -0
- package/public/src/api/clean-architecture.openapi.yml +1435 -0
- package/public/src/api/context7-mcp.openapi.yml +313 -0
- package/public/src/api/magic-mcp.openapi.yml +647 -0
- package/public/src/api/mcp-infrastructure.openapi.yml +904 -0
- package/public/src/api/orchestration.openapi.yml +444 -0
- package/public/src/api/ossa-complete.openapi.yml +2250 -0
- package/public/src/api/project-discovery.openapi.yml +1293 -0
- package/public/src/api/rebuild-audit.openapi.yml +800 -0
- package/public/src/api/specification.openapi.yml +498 -0
- package/public/src/api/voice-agent-specification.yml +640 -0
- package/public/src/api/web-eval-mcp.openapi.yml +426 -0
- package/pyrightconfig.json +13 -0
- package/redocly.yaml +56 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
- package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
- package/spec/v0.2.4/ossa-0.2.4.schema.json +1717 -0
- package/spec/v0.2.4/ossa-0.2.4.yaml +581 -0
- package/specs/README.md +31 -0
- package/specs/acdl-specification.yml +531 -0
- package/specs/clean-architecture.openapi.yml +1435 -0
- package/specs/context7-mcp.openapi.yml +313 -0
- package/specs/magic-mcp.openapi.yml +647 -0
- package/specs/mcp-infrastructure.openapi.yml +904 -0
- package/specs/orchestration.openapi.yml +444 -0
- package/specs/ossa-complete.openapi.yml +2250 -0
- package/specs/project-discovery.openapi.yml +1293 -0
- package/specs/rebuild-audit.openapi.yml +800 -0
- package/specs/specification.openapi.yml +498 -0
- package/specs/test-api.openapi.yml +20 -0
- package/specs/voice-agent-specification.yml +640 -0
- package/specs/web-eval-mcp.openapi.yml +426 -0
- package/src/adk/adapters/index.ts +310 -0
- package/src/adk/agents/custom-agent.ts +206 -0
- package/src/adk/agents/index.ts +158 -0
- package/src/adk/agents/llm-agent.ts +76 -0
- package/src/adk/agents/workflow-agent.ts +191 -0
- package/src/adk/index.ts +10 -0
- package/src/adk/orchestration/index.ts +352 -0
- package/src/adk/state/index.ts +217 -0
- package/src/adk/tools/index.ts +291 -0
- package/src/api/acdl-specification.yml +531 -0
- package/src/api/agent-manifest.schema.json +859 -0
- package/src/api/agent-worktree-schema.json +320 -0
- package/src/api/clean-architecture.openapi.yml +1435 -0
- package/src/api/context7-mcp.openapi.yml +313 -0
- package/src/api/magic-mcp.openapi.yml +647 -0
- package/src/api/mcp-infrastructure.openapi.yml +904 -0
- package/src/api/openapi.redoc.config.json +6 -0
- package/src/api/orchestration.openapi.yml +444 -0
- package/src/api/ossa-complete.openapi.yml +2250 -0
- package/src/api/project-discovery.openapi.yml +1293 -0
- package/src/api/rebuild-audit.openapi.yml +800 -0
- package/src/api/specification.openapi.yml +498 -0
- package/src/api/test-api.openapi.yml +20 -0
- package/src/api/voice-agent-specification.yml +640 -0
- package/src/api/web-eval-mcp.openapi.yml +426 -0
- package/src/api/workflow.schema.json +524 -0
- package/src/cli/agent-deployment.ts +452 -0
- package/src/cli/commands/ossa.ts +272 -0
- package/src/cli/commands/worktree.ts +603 -0
- package/src/cli/ossa-cli.ts +1176 -0
- package/src/core/index.ts +42 -0
- package/src/core/mcp-server-implementation.ts +1409 -0
- package/src/core/orchestrator/index.ts +611 -0
- package/src/core/orchestrator/ossa-orchestrator.ts +504 -0
- package/src/mcp/simple-server.ts +322 -0
- package/src/protocols/acap.ts +146 -0
- package/src/protocols/index.ts +8 -0
- package/src/protocols/rasp.ts +263 -0
- package/src/server/app.ts +472 -0
- package/src/server/middleware/agentAccess.ts +10 -0
- package/src/server/middleware/asyncHandler.ts +10 -0
- package/src/server/middleware/auth.ts +10 -0
- package/src/server/middleware/errorHandler.ts +9 -0
- package/src/server/middleware/logging.ts +10 -0
- package/src/server/middleware/metrics.ts +10 -0
- package/src/server/middleware/validation.ts +10 -0
- package/src/server/routes/agents.ts +632 -0
- package/src/server/routes/monitoring.ts +13 -0
- package/src/server/routes/orchestration.ts +13 -0
- package/src/server/routes/specifications.ts +13 -0
- package/src/server/services/AgentService.ts +46 -0
- package/src/server/services/ExecutionService.ts +51 -0
- package/src/server/services/SpecificationService.ts +22 -0
- package/src/server/services/WebhookService.ts +24 -0
- package/src/server/simple-app.ts +174 -0
- package/src/server/types/agent.ts +612 -0
- package/src/server/types/server.ts +465 -0
- package/src/services/orchestration/worktree-orchestrator.ts +779 -0
- package/src/services/worktree/branching-strategy.ts +76 -0
- package/src/services/worktree/git-worktree-manager.ts +86 -0
- package/website/.next/BUILD_ID +1 -0
- package/website/.next/app-build-manifest.json +151 -0
- package/website/.next/app-path-routes-manifest.json +19 -0
- package/website/.next/build-manifest.json +33 -0
- package/website/.next/cache/.previewinfo +1 -0
- package/website/.next/cache/.rscinfo +1 -0
- package/website/.next/cache/.tsbuildinfo +1 -0
- package/website/.next/cache/fetch-cache/920aec34c288eefa97c5efba3baf95a846a0beb0c48a5064980a2c24b83e941c +1 -0
- package/website/.next/cache/fetch-cache/c2ad7a72b43463a0daaa85ca926a8af38defd17ecb64f1fdd2dd4fe2293e8b26 +1 -0
- package/website/.next/cache/fetch-cache/d10eb963d5980c8a50ee9ed24472339ee6da054ead33e00676e61e8b8e62cc83 +1 -0
- package/website/.next/cache/fetch-cache/f243d84640477f3205b74a85013018acd63b692144675630a74d1af8a3e9eab5 +1 -0
- package/website/.next/cache/webpack/client-production/0.pack +0 -0
- package/website/.next/cache/webpack/client-production/1.pack +0 -0
- package/website/.next/cache/webpack/client-production/10.pack +0 -0
- package/website/.next/cache/webpack/client-production/11.pack +0 -0
- package/website/.next/cache/webpack/client-production/12.pack +0 -0
- package/website/.next/cache/webpack/client-production/13.pack +0 -0
- package/website/.next/cache/webpack/client-production/14.pack +0 -0
- package/website/.next/cache/webpack/client-production/15.pack +0 -0
- package/website/.next/cache/webpack/client-production/16.pack +0 -0
- package/website/.next/cache/webpack/client-production/17.pack +0 -0
- package/website/.next/cache/webpack/client-production/18.pack +0 -0
- package/website/.next/cache/webpack/client-production/2.pack +0 -0
- package/website/.next/cache/webpack/client-production/3.pack +0 -0
- package/website/.next/cache/webpack/client-production/4.pack +0 -0
- package/website/.next/cache/webpack/client-production/5.pack +0 -0
- package/website/.next/cache/webpack/client-production/6.pack +0 -0
- package/website/.next/cache/webpack/client-production/7.pack +0 -0
- package/website/.next/cache/webpack/client-production/8.pack +0 -0
- package/website/.next/cache/webpack/client-production/9.pack +0 -0
- package/website/.next/cache/webpack/client-production/index.pack +0 -0
- package/website/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/website/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/website/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/website/.next/cache/webpack/server-production/0.pack +0 -0
- package/website/.next/cache/webpack/server-production/1.pack +0 -0
- package/website/.next/cache/webpack/server-production/10.pack +0 -0
- package/website/.next/cache/webpack/server-production/11.pack +0 -0
- package/website/.next/cache/webpack/server-production/12.pack +0 -0
- package/website/.next/cache/webpack/server-production/2.pack +0 -0
- package/website/.next/cache/webpack/server-production/3.pack +0 -0
- package/website/.next/cache/webpack/server-production/4.pack +0 -0
- package/website/.next/cache/webpack/server-production/5.pack +0 -0
- package/website/.next/cache/webpack/server-production/6.pack +0 -0
- package/website/.next/cache/webpack/server-production/7.pack +0 -0
- package/website/.next/cache/webpack/server-production/8.pack +0 -0
- package/website/.next/cache/webpack/server-production/9.pack +0 -0
- package/website/.next/cache/webpack/server-production/index.pack +0 -0
- package/website/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/website/.next/diagnostics/build-diagnostics.json +6 -0
- package/website/.next/diagnostics/framework.json +1 -0
- package/website/.next/export-detail.json +5 -0
- package/website/.next/export-marker.json +6 -0
- package/website/.next/images-manifest.json +57 -0
- package/website/.next/next-minimal-server.js.nft.json +1 -0
- package/website/.next/next-server.js.nft.json +1 -0
- package/website/.next/package.json +1 -0
- package/website/.next/prerender-manifest.json +2143 -0
- package/website/.next/react-loadable-manifest.json +1898 -0
- package/website/.next/required-server-files.json +320 -0
- package/website/.next/routes-manifest.json +161 -0
- package/website/.next/server/app/_not-found/page.js +2 -0
- package/website/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/website/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/_not-found.html +1 -0
- package/website/.next/server/app/_not-found.meta +8 -0
- package/website/.next/server/app/_not-found.rsc +23 -0
- package/website/.next/server/app/about/page.js +2 -0
- package/website/.next/server/app/about/page.js.nft.json +1 -0
- package/website/.next/server/app/about/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/about.html +1 -0
- package/website/.next/server/app/about.meta +7 -0
- package/website/.next/server/app/about.rsc +40 -0
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.html +217 -0
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.meta +7 -0
- package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.rsc +308 -0
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.html +180 -0
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.meta +7 -0
- package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.rsc +232 -0
- package/website/.next/server/app/blog/[slug]/page.js +2 -0
- package/website/.next/server/app/blog/[slug]/page.js.nft.json +1 -0
- package/website/.next/server/app/blog/[slug]/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/blog/introducing-ossa-framework.html +263 -0
- package/website/.next/server/app/blog/introducing-ossa-framework.meta +7 -0
- package/website/.next/server/app/blog/introducing-ossa-framework.rsc +351 -0
- package/website/.next/server/app/blog/ossa-production-results.html +198 -0
- package/website/.next/server/app/blog/ossa-production-results.meta +7 -0
- package/website/.next/server/app/blog/ossa-production-results.rsc +302 -0
- package/website/.next/server/app/blog/page.js +2 -0
- package/website/.next/server/app/blog/page.js.nft.json +1 -0
- package/website/.next/server/app/blog/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/blog/welcome-to-ossa.html +22 -0
- package/website/.next/server/app/blog/welcome-to-ossa.meta +7 -0
- package/website/.next/server/app/blog/welcome-to-ossa.rsc +31 -0
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.html +63 -0
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.meta +7 -0
- package/website/.next/server/app/blog/why-ai-agents-need-open-standard.rsc +121 -0
- package/website/.next/server/app/blog.html +1 -0
- package/website/.next/server/app/blog.meta +7 -0
- package/website/.next/server/app/blog.rsc +35 -0
- package/website/.next/server/app/design-guide/page.js +12 -0
- package/website/.next/server/app/design-guide/page.js.nft.json +1 -0
- package/website/.next/server/app/design-guide/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/design-guide.html +11 -0
- package/website/.next/server/app/design-guide.meta +7 -0
- package/website/.next/server/app/design-guide.rsc +41 -0
- package/website/.next/server/app/docs.html +1 -0
- package/website/.next/server/app/docs.meta +7 -0
- package/website/.next/server/app/docs.rsc +42 -0
- package/website/.next/server/app/ecosystem/page.js +2 -0
- package/website/.next/server/app/ecosystem/page.js.nft.json +1 -0
- package/website/.next/server/app/ecosystem/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/ecosystem.html +1 -0
- package/website/.next/server/app/ecosystem.meta +7 -0
- package/website/.next/server/app/ecosystem.rsc +40 -0
- package/website/.next/server/app/examples.html +1 -0
- package/website/.next/server/app/examples.meta +7 -0
- package/website/.next/server/app/examples.rsc +14559 -0
- package/website/.next/server/app/index.html +3 -0
- package/website/.next/server/app/index.meta +7 -0
- package/website/.next/server/app/index.rsc +40 -0
- package/website/.next/server/app/license/page.js +2 -0
- package/website/.next/server/app/license/page.js.nft.json +1 -0
- package/website/.next/server/app/license/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/license.html +191 -0
- package/website/.next/server/app/license.meta +7 -0
- package/website/.next/server/app/license.rsc +222 -0
- package/website/.next/server/app/page.js +4 -0
- package/website/.next/server/app/page.js.nft.json +1 -0
- package/website/.next/server/app/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/playground/page.js +111 -0
- package/website/.next/server/app/playground/page.js.nft.json +1 -0
- package/website/.next/server/app/playground/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/playground.html +1 -0
- package/website/.next/server/app/playground.meta +7 -0
- package/website/.next/server/app/playground.rsc +30 -0
- package/website/.next/server/app/robots.txt/route.js +1 -0
- package/website/.next/server/app/robots.txt/route.js.nft.json +1 -0
- package/website/.next/server/app/robots.txt/route_client-reference-manifest.js +1 -0
- package/website/.next/server/app/robots.txt.body +6 -0
- package/website/.next/server/app/robots.txt.meta +1 -0
- package/website/.next/server/app/rss.xml/route.js +18 -0
- package/website/.next/server/app/rss.xml/route.js.nft.json +1 -0
- package/website/.next/server/app/rss.xml/route_client-reference-manifest.js +1 -0
- package/website/.next/server/app/rss.xml.body +11 -0
- package/website/.next/server/app/rss.xml.meta +1 -0
- package/website/.next/server/app/schema/page.js +76 -0
- package/website/.next/server/app/schema/page.js.nft.json +1 -0
- package/website/.next/server/app/schema/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/schema.html +1 -0
- package/website/.next/server/app/schema.meta +7 -0
- package/website/.next/server/app/schema.rsc +26 -0
- package/website/.next/server/app/sitemap.xml/route.js +1 -0
- package/website/.next/server/app/sitemap.xml/route.js.nft.json +1 -0
- package/website/.next/server/app/sitemap.xml/route_client-reference-manifest.js +1 -0
- package/website/.next/server/app/sitemap.xml.body +39 -0
- package/website/.next/server/app/sitemap.xml.meta +1 -0
- package/website/.next/server/app/specification/page.js +10 -0
- package/website/.next/server/app/specification/page.js.nft.json +1 -0
- package/website/.next/server/app/specification/page_client-reference-manifest.js +1 -0
- package/website/.next/server/app/specification.html +9 -0
- package/website/.next/server/app/specification.meta +7 -0
- package/website/.next/server/app/specification.rsc +32 -0
- package/website/.next/server/app-paths-manifest.json +19 -0
- package/website/.next/server/chunks/18.js +1 -0
- package/website/.next/server/chunks/227.js +9 -0
- package/website/.next/server/chunks/339.js +25 -0
- package/website/.next/server/chunks/49.js +1 -0
- package/website/.next/server/chunks/51.js +1 -0
- package/website/.next/server/chunks/57.js +1 -0
- package/website/.next/server/chunks/579.js +16 -0
- package/website/.next/server/chunks/611.js +6 -0
- package/website/.next/server/chunks/873.js +22 -0
- package/website/.next/server/chunks/900.js +1 -0
- package/website/.next/server/chunks/97.js +1 -0
- package/website/.next/server/functions-config-manifest.json +4 -0
- package/website/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/website/.next/server/middleware-build-manifest.js +1 -0
- package/website/.next/server/middleware-manifest.json +6 -0
- package/website/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/website/.next/server/next-font-manifest.js +1 -0
- package/website/.next/server/next-font-manifest.json +1 -0
- package/website/.next/server/pages/404.html +1 -0
- package/website/.next/server/pages/500.html +1 -0
- package/website/.next/server/pages/_app.js +1 -0
- package/website/.next/server/pages/_app.js.nft.json +1 -0
- package/website/.next/server/pages/_document.js +1 -0
- package/website/.next/server/pages/_document.js.nft.json +1 -0
- package/website/.next/server/pages/_error.js +19 -0
- package/website/.next/server/pages/_error.js.nft.json +1 -0
- package/website/.next/server/pages-manifest.json +6 -0
- package/website/.next/server/server-reference-manifest.js +1 -0
- package/website/.next/server/server-reference-manifest.json +1 -0
- package/website/.next/server/webpack-runtime.js +1 -0
- package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_buildManifest.js +1 -0
- package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_ssgManifest.js +1 -0
- package/website/.next/static/chunks/119.05f66060d7798fc9.js +25 -0
- package/website/.next/static/chunks/255-bf407b21685f2318.js +1 -0
- package/website/.next/static/chunks/451-235273497e501ae9.js +1 -0
- package/website/.next/static/chunks/4bd1b696-409494caf8c83275.js +1 -0
- package/website/.next/static/chunks/619-f072ac750404f9da.js +1 -0
- package/website/.next/static/chunks/651-5cd3c87d43b7eb46.js +1 -0
- package/website/.next/static/chunks/778.278ac2aadb2a1105.js +1 -0
- package/website/.next/static/chunks/890-ab915e0570e1961b.js +1 -0
- package/website/.next/static/chunks/app/_not-found/page-ccdaf9d90b537c5d.js +1 -0
- package/website/.next/static/chunks/app/about/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/blog/[slug]/page-8fd43000c4969233.js +1 -0
- package/website/.next/static/chunks/app/blog/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/design-guide/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/ecosystem/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/layout-ccacbd90656baa78.js +1 -0
- package/website/.next/static/chunks/app/license/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/app/page-31241dc7465f9590.js +1 -0
- package/website/.next/static/chunks/app/playground/page-c2af00885374900f.js +1 -0
- package/website/.next/static/chunks/app/robots.txt/route-032c05054032342f.js +1 -0
- package/website/.next/static/chunks/app/rss.xml/route-032c05054032342f.js +1 -0
- package/website/.next/static/chunks/app/schema/page-f7c224b281771083.js +1 -0
- package/website/.next/static/chunks/app/sitemap.xml/route-032c05054032342f.js +1 -0
- package/website/.next/static/chunks/app/specification/page-bd4cb2219b41f933.js +1 -0
- package/website/.next/static/chunks/framework-1ce91eb6f9ecda85.js +1 -0
- package/website/.next/static/chunks/main-3099e141650ec47a.js +1 -0
- package/website/.next/static/chunks/main-app-a2fc6ac9305e3090.js +1 -0
- package/website/.next/static/chunks/pages/_app-5addca2b3b969fde.js +1 -0
- package/website/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +1 -0
- package/website/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/website/.next/static/chunks/webpack-6ecb09e5c6e34cb4.js +1 -0
- package/website/.next/static/css/23135390005d4468.css +3 -0
- package/website/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
- package/website/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
- package/website/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
- package/website/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
- package/website/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
- package/website/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
- package/website/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/website/.next/trace +3 -0
- package/website/.next/types/app/about/page.ts +84 -0
- package/website/.next/types/app/blog/[slug]/page.ts +84 -0
- package/website/.next/types/app/blog/page.ts +84 -0
- package/website/.next/types/app/design-guide/page.ts +84 -0
- package/website/.next/types/app/ecosystem/page.ts +84 -0
- package/website/.next/types/app/license/page.ts +84 -0
- package/website/.next/types/app/page.ts +84 -0
- package/website/.next/types/app/playground/page.ts +84 -0
- package/website/.next/types/app/rss.xml/route.ts +347 -0
- package/website/.next/types/app/schema/page.ts +84 -0
- package/website/.next/types/app/specification/page.ts +84 -0
- package/website/.next/types/cache-life.d.ts +141 -0
- package/website/.next/types/package.json +1 -0
- package/website/.next/types/routes.d.ts +85 -0
- package/website/.next/types/validator.ts +187 -0
- package/website/.wiki-export/Agent-Folder-Structure.md +215 -0
- package/website/.wiki-export/CI-STATUS.md +66 -0
- package/website/.wiki-export/COMPLETE-IMPLEMENTATION-CHECKLIST.md +74 -0
- package/website/.wiki-export/DRUPAL-MODULE-INTEGRATION.md +103 -0
- package/website/.wiki-export/FINAL-STATUS.md +63 -0
- package/website/.wiki-export/Getting-Started.md +87 -0
- package/website/.wiki-export/INSTRUCTIONS.md +46 -0
- package/website/.wiki-export/INTEGRATION-ANALYSIS.md +216 -0
- package/website/.wiki-export/MANIFEST.json +62 -0
- package/website/.wiki-export/OSSA-COMPLIANT-BADGE.md +247 -0
- package/website/.wiki-export/Openapi-Extensions.md +930 -0
- package/website/.wiki-export/README.md +31 -0
- package/website/.wiki-export/RELEASE-READINESS.md +95 -0
- package/website/.wiki-export/VERSIONING.md +284 -0
- package/website/lib/versions.json +77 -0
- package/website/next-env.d.ts +6 -0
- package/website/out/app-build-manifest.json +3 -0
- package/website/out/build-manifest.json +17 -0
- package/website/out/cache/.rscinfo +1 -0
- package/website/out/cache/next-devtools-config.json +1 -0
- package/website/out/cache/webpack/client-development/0.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/1.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/2.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/3.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/index.pack.gz +0 -0
- package/website/out/cache/webpack/client-development/index.pack.gz.old +0 -0
- package/website/out/cache/webpack/client-development-fallback/0.pack.gz +0 -0
- package/website/out/cache/webpack/client-development-fallback/index.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/0.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/1.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/2.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/3.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/index.pack.gz +0 -0
- package/website/out/cache/webpack/server-development/index.pack.gz.old +0 -0
- package/website/out/package.json +1 -0
- package/website/out/prerender-manifest.json +11 -0
- package/website/out/react-loadable-manifest.json +1 -0
- package/website/out/routes-manifest.json +1 -0
- package/website/out/server/app-paths-manifest.json +1 -0
- package/website/out/server/interception-route-rewrite-manifest.js +1 -0
- package/website/out/server/middleware-build-manifest.js +19 -0
- package/website/out/server/middleware-manifest.json +6 -0
- package/website/out/server/middleware-react-loadable-manifest.js +1 -0
- package/website/out/server/next-font-manifest.js +1 -0
- package/website/out/server/next-font-manifest.json +1 -0
- package/website/out/server/pages-manifest.json +1 -0
- package/website/out/server/server-reference-manifest.js +1 -0
- package/website/out/server/server-reference-manifest.json +5 -0
- package/website/out/static/chunks/polyfills.js +1 -0
- package/website/out/static/development/_buildManifest.js +1 -0
- package/website/out/static/development/_ssgManifest.js +1 -0
- package/website/out/trace +2 -0
- package/website/out/types/cache-life.d.ts +141 -0
- package/website/out/types/package.json +1 -0
- package/website/out/types/routes.d.ts +85 -0
- package/website/out/types/validator.ts +187 -0
- package/website/public/examples.json +476 -0
- package/website/public/schemas/openapi-extensions.schema.json +486 -0
- package/website/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
<!DOCTYPE html><!--IDhDQiozPwOaA3PpMqvTE--><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/assets/brand/ossa-logo.svg"/><link rel="stylesheet" href="/_next/static/css/23135390005d4468.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-6ecb09e5c6e34cb4.js"/><script src="/_next/static/chunks/4bd1b696-409494caf8c83275.js" async=""></script><script src="/_next/static/chunks/255-bf407b21685f2318.js" async=""></script><script src="/_next/static/chunks/main-app-a2fc6ac9305e3090.js" async=""></script><script src="/_next/static/chunks/619-f072ac750404f9da.js" async=""></script><script src="/_next/static/chunks/app/layout-ccacbd90656baa78.js" async=""></script><script src="/_next/static/chunks/651-5cd3c87d43b7eb46.js" async=""></script><script src="/_next/static/chunks/451-235273497e501ae9.js" async=""></script><script src="/_next/static/chunks/app/blog/%5Bslug%5D/page-8fd43000c4969233.js" async=""></script><link rel="icon" href="/assets/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/assets/brand/ossa-logo.svg"/><meta name="next-size-adjust" content=""/><title>Open Standard Agents - Industry Standard for Agent Orchestration</title><meta name="description" content="The vendor-neutral specification for multi-agent systems. Write once, deploy anywhere. Zero vendor lock-in."/><meta name="author" content="OSSA Standards Team"/><meta name="keywords" content="OSSA,AI Agents,OpenAPI,Standard,Specification,AI,Machine Learning,Agent Framework"/><meta name="creator" content="OSSA Standards Team"/><meta name="publisher" content="OSSA Standards Team"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://openstandardagents.org/"/><meta property="og:title" content="Open Standard Agents - Industry Standard for Agent Orchestration"/><meta property="og:description" content="The vendor-neutral specification for multi-agent systems. Write once, deploy anywhere."/><meta property="og:site_name" content="Open Standard Agents"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://openstandardagents.org/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="OSSA - Open Standard for Scalable AI Agents"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="@openstandardagents"/><meta name="twitter:title" content="Open Standard Agents - Industry Standard for Agent Orchestration"/><meta name="twitter:description" content="The vendor-neutral specification for multi-agent systems"/><meta name="twitter:image" content="https://openstandardagents.org/og-image.png"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><meta name="twitter:image:alt" content="OSSA - Open Standard for Scalable AI Agents"/><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"OSSA Standards Team","url":"https://openstandardagents.org","logo":"https://openstandardagents.org/assets/brand/ossa-logo.svg","sameAs":["https://github.com/blueflyio/openstandardagents","https://www.npmjs.com/package/@bluefly/openstandardagents"],"description":"Open Standard Agents Organization - Maintaining the Industry Standard for Agent Orchestration"}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"OSSA","url":"https://openstandardagents.org","description":"Open Standard for Scalable AI Agents - The OpenAPI for AI Agents","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://openstandardagents.org/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div class="flex flex-col min-h-screen"><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-50 focus:px-4 focus:py-2 focus:bg-primary focus:text-white focus:rounded">Skip to main content</a><header class="bg-white border-b border-gray-300 sticky top-0 z-50"><nav class="container mx-auto max-w-6xl px-4"><div class="flex items-center justify-between h-16"><a class="flex items-center space-x-3 group" href="/"><img src="/assets/brand/ossa-logo.svg" alt="OSSA Logo" class="h-10 w-10 transition-transform group-hover:scale-110"/><span class="text-2xl font-bold bg-gradient-to-r from-[#0066CC] to-[#00B8D4] bg-clip-text text-transparent">OSSA</span></a><div class="hidden md:flex items-center space-x-3 lg:space-x-6 text-sm lg:text-base"><a class="text-gray-600 hover:text-[#0066CC] transition-colors font-medium whitespace-nowrap" href="/about/">About</a><a class="text-gray-600 hover:text-[#0066CC] transition-colors font-medium whitespace-nowrap" href="/specification/">Specification</a><a class="text-gray-600 hover:text-[#0066CC] transition-colors font-medium whitespace-nowrap" href="/schema/">Schema</a><a class="text-gray-600 hover:text-[#0066CC] transition-colors font-medium whitespace-nowrap" href="/docs/">Docs</a><a class="text-gray-600 hover:text-[#0066CC] transition-colors font-medium whitespace-nowrap" href="/blog/">Blog</a><a class="text-gray-600 hover:text-[#0066CC] transition-colors font-medium whitespace-nowrap" href="/playground/">Playground</a><a class="text-gray-600 hover:text-[#0066CC] transition-colors font-medium whitespace-nowrap" href="/examples/">Examples</a><a href="https://github.com/blueflyio/openstandardagents" target="_blank" rel="noopener noreferrer" class="text-gray-600 hover:text-[#0066CC] transition-colors flex items-center font-medium" title="View on GitHub"><svg class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></a></div><button class="md:hidden p-2 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 rounded" aria-label="Toggle menu" aria-expanded="false" aria-controls="mobile-menu"><svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div></nav></header><main id="main-content" class="flex-grow" tabindex="-1"><div class="min-h-screen bg-gray-50"><div class="bg-gradient-to-br from-primary via-blue-600 to-secondary text-white py-16 px-4"><div class="container mx-auto max-w-4xl"><div class="mb-4"><a class="inline-flex items-center text-white/80 hover:text-white transition-colors" href="/blog/"><svg class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path></svg>Back to Blog</a></div><div class="mb-4"><span class="inline-block px-3 py-1 text-xs font-semibold bg-white/20 rounded-full">Technical</span></div><h1 class="text-4xl md:text-5xl font-bold mb-6">Introducing the OSSA Framework: 3-Tier Progressive Compliance</h1><div class="flex items-center gap-6 text-white/90"><div class="flex items-center gap-2"><svg class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path></svg><span>Thomas Scola</span></div><div class="flex items-center gap-2"><svg class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg><span>November 17, 2024</span></div></div></div></div><div class="container mx-auto max-w-4xl px-4 py-12"><article class="bg-white p-8 md:p-12 rounded-lg shadow-lg border border-gray-200"><div class="prose prose-lg max-w-none prose-headings:text-gray-900 prose-h1:text-4xl prose-h1:font-bold prose-h1:mb-6 prose-h2:text-3xl prose-h2:font-bold prose-h2:mt-12 prose-h2:mb-4 prose-h3:text-2xl prose-h3:font-semibold prose-h3:mt-8 prose-h3:mb-3 prose-p:text-gray-700 prose-p:leading-relaxed prose-p:mb-6 prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-strong:text-gray-900 prose-strong:font-semibold prose-code:text-primary prose-code:bg-gray-100 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-pre:bg-gray-900 prose-pre:text-gray-100 prose-ul:my-6 prose-ul:list-disc prose-ul:pl-6 prose-ol:my-6 prose-ol:list-decimal prose-ol:pl-6 prose-li:text-gray-700 prose-li:mb-2 prose-blockquote:border-l-4 prose-blockquote:border-primary prose-blockquote:pl-4 prose-blockquote:italic prose-table:w-full prose-table:border-collapse prose-th:bg-gray-100 prose-th:p-3 prose-th:text-left prose-th:font-semibold prose-td:p-3 prose-td:border-t prose-td:border-gray-200 "><div class="markdown-content [&_pre_code]:bg-transparent [&_pre_code]:text-code-text"><h1 id="introducing-the-ossa-framework-3-tier-progressive-compliance" class="text-3xl md:text-4xl font-bold text-gray-900 mt-8 mb-4 pb-2 border-b border-gray-200 scroll-mt-20">Introducing the OSSA Framework: 3-Tier Progressive Compliance</h1>
|
|
2
|
+
<p class="text-gray-700 leading-7 mb-4">In our <a class="text-primary hover:text-primary-dark underline" href="/blog/why-ai-agents-need-open-standard/">previous post</a>, we explored why AI agents need a vendor-neutral standard. Today, we're unveiling the OSSA framework architecture and its game-changing approach to adoption.</p>
|
|
3
|
+
<h2 id="the-challenge-of-enterprise-adoption" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">The Challenge of Enterprise Adoption</h2>
|
|
4
|
+
<p class="text-gray-700 leading-7 mb-4">Every new standard faces a chicken-and-egg problem:</p>
|
|
5
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
6
|
+
<li class="leading-relaxed pl-1"><strong class="font-semibold text-gray-900">Too simple?</strong> Enterprises won't trust it for production</li>
|
|
7
|
+
<li class="leading-relaxed pl-1"><strong class="font-semibold text-gray-900">Too complex?</strong> Teams won't adopt it</li>
|
|
8
|
+
</ul>
|
|
9
|
+
<p class="text-gray-700 leading-7 mb-4">OSSA solves this with <strong class="font-semibold text-gray-900">progressive compliance</strong>: start simple, add governance when ready, unlock advanced features when needed.</p>
|
|
10
|
+
<h2 id="the-3-tier-model" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">The 3-Tier Model</h2>
|
|
11
|
+
<h3 id="core-tier-get-started-fast" class="text-xl md:text-2xl font-semibold text-gray-900 mt-6 mb-3 scroll-mt-20">Core Tier: Get Started Fast</h3>
|
|
12
|
+
<p class="text-gray-700 leading-7 mb-4">The Core tier provides basic agent discovery and invocation—everything you need to prove value quickly:</p>
|
|
13
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-yaml" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token key" style="color:#ce9178">apiVersion</span><span class="token" style="color:#d4d4d4">:</span><span> oaas/standard
|
|
14
|
+
</span><span></span><span class="token key" style="color:#ce9178">kind</span><span class="token" style="color:#d4d4d4">:</span><span> Agent
|
|
15
|
+
</span><span></span><span class="token key" style="color:#ce9178">metadata</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
16
|
+
</span><span> </span><span class="token key" style="color:#ce9178">name</span><span class="token" style="color:#d4d4d4">:</span><span> code</span><span class="token" style="color:#d4d4d4">-</span><span>analyzer
|
|
17
|
+
</span><span> </span><span class="token key" style="color:#ce9178">tier</span><span class="token" style="color:#d4d4d4">:</span><span> core
|
|
18
|
+
</span><span></span><span class="token key" style="color:#ce9178">spec</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
19
|
+
</span><span> </span><span class="token key" style="color:#ce9178">capabilities</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
20
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> code</span><span class="token" style="color:#d4d4d4">-</span><span>analysis
|
|
21
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> security</span><span class="token" style="color:#d4d4d4">-</span><span>scanning
|
|
22
|
+
</span><span> </span><span class="token key" style="color:#ce9178">endpoints</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
23
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> </span><span class="token key" style="color:#ce9178">url</span><span class="token" style="color:#d4d4d4">:</span><span> https</span><span class="token" style="color:#d4d4d4">:</span><span>//api.example.com/analyze
|
|
24
|
+
</span><span> </span><span class="token key" style="color:#ce9178">protocol</span><span class="token" style="color:#d4d4d4">:</span><span> rest</span></code></div></div></pre>
|
|
25
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Core Capabilities</strong>:</p>
|
|
26
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
27
|
+
<li class="leading-relaxed pl-1">✅ Agent registration and discovery</li>
|
|
28
|
+
<li class="leading-relaxed pl-1">✅ Basic capability declaration</li>
|
|
29
|
+
<li class="leading-relaxed pl-1">✅ Simple request-response patterns</li>
|
|
30
|
+
</ul>
|
|
31
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Perfect for</strong>: Proof of concepts, small teams, initial experiments</p>
|
|
32
|
+
<h3 id="governed-tier-enterprise-ready" class="text-xl md:text-2xl font-semibold text-gray-900 mt-6 mb-3 scroll-mt-20">Governed Tier: Enterprise Ready</h3>
|
|
33
|
+
<p class="text-gray-700 leading-7 mb-4">When you're ready for production, the Governed tier adds enterprise controls:</p>
|
|
34
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-yaml" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token key" style="color:#ce9178">apiVersion</span><span class="token" style="color:#d4d4d4">:</span><span> oaas/standard
|
|
35
|
+
</span><span></span><span class="token key" style="color:#ce9178">kind</span><span class="token" style="color:#d4d4d4">:</span><span> Agent
|
|
36
|
+
</span><span></span><span class="token key" style="color:#ce9178">metadata</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
37
|
+
</span><span> </span><span class="token key" style="color:#ce9178">name</span><span class="token" style="color:#d4d4d4">:</span><span> code</span><span class="token" style="color:#d4d4d4">-</span><span>analyzer
|
|
38
|
+
</span><span> </span><span class="token key" style="color:#ce9178">tier</span><span class="token" style="color:#d4d4d4">:</span><span> governed
|
|
39
|
+
</span><span> </span><span class="token key" style="color:#ce9178">domain</span><span class="token" style="color:#d4d4d4">:</span><span> software</span><span class="token" style="color:#d4d4d4">-</span><span>development
|
|
40
|
+
</span><span></span><span class="token key" style="color:#ce9178">spec</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
41
|
+
</span><span> </span><span class="token key" style="color:#ce9178">capabilities</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
42
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> code</span><span class="token" style="color:#d4d4d4">-</span><span>analysis
|
|
43
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> security</span><span class="token" style="color:#d4d4d4">-</span><span>scanning
|
|
44
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> performance</span><span class="token" style="color:#d4d4d4">-</span><span>profiling
|
|
45
|
+
</span>
|
|
46
|
+
<span> </span><span class="token key" style="color:#ce9178">compliance</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
47
|
+
</span><span> </span><span class="token key" style="color:#ce9178">iso42001</span><span class="token" style="color:#d4d4d4">:</span><span> compliant
|
|
48
|
+
</span><span> </span><span class="token key" style="color:#ce9178">nist-ai-rmf</span><span class="token" style="color:#d4d4d4">:</span><span> compliant
|
|
49
|
+
</span>
|
|
50
|
+
<span> </span><span class="token key" style="color:#ce9178">governance</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
51
|
+
</span><span> </span><span class="token key" style="color:#ce9178">budgets</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
52
|
+
</span><span> </span><span class="token key" style="color:#ce9178">maxTokensPerTask</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#b5cea8">12000</span><span>
|
|
53
|
+
</span><span> </span><span class="token key" style="color:#ce9178">maxCostPerMonth</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#b5cea8">1000</span><span>
|
|
54
|
+
</span>
|
|
55
|
+
<span> </span><span class="token key" style="color:#ce9178">auditLevel</span><span class="token" style="color:#d4d4d4">:</span><span> detailed
|
|
56
|
+
</span>
|
|
57
|
+
<span> </span><span class="token key" style="color:#ce9178">qualityGates</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
58
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> </span><span class="token key" style="color:#ce9178">type</span><span class="token" style="color:#d4d4d4">:</span><span> output</span><span class="token" style="color:#d4d4d4">-</span><span>validation
|
|
59
|
+
</span><span> </span><span class="token key" style="color:#ce9178">threshold</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#b5cea8">0.85</span></code></div></div></pre>
|
|
60
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Governed Capabilities</strong>:</p>
|
|
61
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
62
|
+
<li class="leading-relaxed pl-1">✅ Audit logging and compliance tracking (ISO 42001, NIST AI RMF)</li>
|
|
63
|
+
<li class="leading-relaxed pl-1">✅ Resource constraints and budgets</li>
|
|
64
|
+
<li class="leading-relaxed pl-1">✅ Quality gates and validation</li>
|
|
65
|
+
<li class="leading-relaxed pl-1">✅ Role-based access control</li>
|
|
66
|
+
</ul>
|
|
67
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Perfect for</strong>: Production deployments, regulated industries, enterprise teams</p>
|
|
68
|
+
<h3 id="advanced-tier-orchestration-at-scale" class="text-xl md:text-2xl font-semibold text-gray-900 mt-6 mb-3 scroll-mt-20">Advanced Tier: Orchestration at Scale</h3>
|
|
69
|
+
<p class="text-gray-700 leading-7 mb-4">The Advanced tier unlocks sophisticated multi-agent orchestration:</p>
|
|
70
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-yaml" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token key" style="color:#ce9178">apiVersion</span><span class="token" style="color:#d4d4d4">:</span><span> oaas/standard
|
|
71
|
+
</span><span></span><span class="token key" style="color:#ce9178">kind</span><span class="token" style="color:#d4d4d4">:</span><span> Agent
|
|
72
|
+
</span><span></span><span class="token key" style="color:#ce9178">metadata</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
73
|
+
</span><span> </span><span class="token key" style="color:#ce9178">name</span><span class="token" style="color:#d4d4d4">:</span><span> code</span><span class="token" style="color:#d4d4d4">-</span><span>analyzer
|
|
74
|
+
</span><span> </span><span class="token key" style="color:#ce9178">tier</span><span class="token" style="color:#d4d4d4">:</span><span> advanced
|
|
75
|
+
</span><span> </span><span class="token key" style="color:#ce9178">domain</span><span class="token" style="color:#d4d4d4">:</span><span> software</span><span class="token" style="color:#d4d4d4">-</span><span>development
|
|
76
|
+
</span><span></span><span class="token key" style="color:#ce9178">spec</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
77
|
+
</span><span> </span><span class="token key" style="color:#ce9178">capabilities</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
78
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> code</span><span class="token" style="color:#d4d4d4">-</span><span>analysis
|
|
79
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> security</span><span class="token" style="color:#d4d4d4">-</span><span>scanning
|
|
80
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">-</span><span> performance</span><span class="token" style="color:#d4d4d4">-</span><span>profiling
|
|
81
|
+
</span>
|
|
82
|
+
<span> </span><span class="token key" style="color:#ce9178">orchestration</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
83
|
+
</span><span> </span><span class="token key" style="color:#ce9178">canLead</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#569cd6">true</span><span>
|
|
84
|
+
</span><span> </span><span class="token key" style="color:#ce9178">canDelegate</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#569cd6">true</span><span>
|
|
85
|
+
</span><span> </span><span class="token key" style="color:#ce9178">specializationLevel</span><span class="token" style="color:#d4d4d4">:</span><span> expert
|
|
86
|
+
</span>
|
|
87
|
+
<span> </span><span class="token key" style="color:#ce9178">routing</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
88
|
+
</span><span> </span><span class="token key" style="color:#ce9178">algorithm</span><span class="token" style="color:#d4d4d4">:</span><span> capability</span><span class="token" style="color:#d4d4d4">-</span><span>match
|
|
89
|
+
</span><span> </span><span class="token key" style="color:#ce9178">weights</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
90
|
+
</span><span> </span><span class="token key" style="color:#ce9178">capabilityMatch</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#b5cea8">0.4</span><span>
|
|
91
|
+
</span><span> </span><span class="token key" style="color:#ce9178">specialization</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#b5cea8">0.4</span><span>
|
|
92
|
+
</span><span> </span><span class="token key" style="color:#ce9178">availability</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#b5cea8">0.2</span><span>
|
|
93
|
+
</span>
|
|
94
|
+
<span> </span><span class="token key" style="color:#ce9178">handoffProtocol</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
95
|
+
</span><span> </span><span class="token key" style="color:#ce9178">contextCompression</span><span class="token" style="color:#d4d4d4">:</span><span> enabled
|
|
96
|
+
</span><span> </span><span class="token key" style="color:#ce9178">historyDepth</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#b5cea8">10</span><span>
|
|
97
|
+
</span><span> </span><span class="token key" style="color:#ce9178">validation</span><span class="token" style="color:#d4d4d4">:</span><span> strict</span></code></div></div></pre>
|
|
98
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Advanced Capabilities</strong>:</p>
|
|
99
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
100
|
+
<li class="leading-relaxed pl-1">✅ Dynamic workflow generation</li>
|
|
101
|
+
<li class="leading-relaxed pl-1">✅ Multi-agent coordination</li>
|
|
102
|
+
<li class="leading-relaxed pl-1">✅ Adaptive resource allocation</li>
|
|
103
|
+
<li class="leading-relaxed pl-1">✅ Intelligent agent routing</li>
|
|
104
|
+
<li class="leading-relaxed pl-1">✅ Context-preserving handoffs</li>
|
|
105
|
+
</ul>
|
|
106
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Perfect for</strong>: Complex workflows, multi-team orchestration, autonomous systems</p>
|
|
107
|
+
<h2 id="capability-based-routing-the-right-agent-for-the-right-task" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">Capability-Based Routing: The Right Agent for the Right Task</h2>
|
|
108
|
+
<p class="text-gray-700 leading-7 mb-4">One of OSSA's key innovations is <strong class="font-semibold text-gray-900">intelligent agent selection</strong>. Instead of hardcoding which agent handles which task, OSSA routes dynamically:</p>
|
|
109
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-python" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token" style="color:#569CD6">class</span><span> </span><span class="token" style="color:#4ec9b0">CapabilityRouter</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
110
|
+
</span><span> </span><span class="token" style="color:#569CD6">def</span><span> </span><span class="token" style="color:#dcdcaa">select_optimal_agent</span><span class="token" style="color:#d4d4d4">(</span><span>self</span><span class="token" style="color:#d4d4d4">,</span><span> task</span><span class="token" style="color:#d4d4d4">,</span><span> available_agents</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
111
|
+
</span><span> scores </span><span class="token" style="color:#d4d4d4">=</span><span> </span><span class="token" style="color:#d4d4d4">[</span><span class="token" style="color:#d4d4d4">]</span><span>
|
|
112
|
+
</span>
|
|
113
|
+
<span> </span><span class="token" style="color:#569CD6">for</span><span> agent </span><span class="token" style="color:#569CD6">in</span><span> available_agents</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
114
|
+
</span><span> </span><span class="token" style="color:#6a9955"># Match required capabilities</span><span>
|
|
115
|
+
</span><span> capability_match </span><span class="token" style="color:#d4d4d4">=</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>calculate_capability_match</span><span class="token" style="color:#d4d4d4">(</span><span>
|
|
116
|
+
</span><span> task</span><span class="token" style="color:#d4d4d4">.</span><span>required_capabilities</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
117
|
+
</span><span> agent</span><span class="token" style="color:#d4d4d4">.</span><span>capabilities
|
|
118
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
119
|
+
</span>
|
|
120
|
+
<span> </span><span class="token" style="color:#6a9955"># Evaluate domain specialization</span><span>
|
|
121
|
+
</span><span> specialization_score </span><span class="token" style="color:#d4d4d4">=</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>evaluate_specialization</span><span class="token" style="color:#d4d4d4">(</span><span>
|
|
122
|
+
</span><span> task</span><span class="token" style="color:#d4d4d4">.</span><span>domain</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
123
|
+
</span><span> agent</span><span class="token" style="color:#d4d4d4">.</span><span>specialization_areas
|
|
124
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
125
|
+
</span>
|
|
126
|
+
<span> </span><span class="token" style="color:#6a9955"># Check current availability</span><span>
|
|
127
|
+
</span><span> availability_score </span><span class="token" style="color:#d4d4d4">=</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>check_availability</span><span class="token" style="color:#d4d4d4">(</span><span>
|
|
128
|
+
</span><span> agent</span><span class="token" style="color:#d4d4d4">.</span><span>current_load</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
129
|
+
</span><span> agent</span><span class="token" style="color:#d4d4d4">.</span><span>max_capacity
|
|
130
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
131
|
+
</span>
|
|
132
|
+
<span> </span><span class="token" style="color:#6a9955"># Weighted composite score</span><span>
|
|
133
|
+
</span><span> composite_score </span><span class="token" style="color:#d4d4d4">=</span><span> </span><span class="token" style="color:#d4d4d4">(</span><span>
|
|
134
|
+
</span><span> capability_match </span><span class="token" style="color:#d4d4d4">*</span><span> </span><span class="token" style="color:#b5cea8">0.4</span><span> </span><span class="token" style="color:#d4d4d4">+</span><span>
|
|
135
|
+
</span><span> specialization_score </span><span class="token" style="color:#d4d4d4">*</span><span> </span><span class="token" style="color:#b5cea8">0.4</span><span> </span><span class="token" style="color:#d4d4d4">+</span><span>
|
|
136
|
+
</span><span> availability_score </span><span class="token" style="color:#d4d4d4">*</span><span> </span><span class="token" style="color:#b5cea8">0.2</span><span>
|
|
137
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
138
|
+
</span>
|
|
139
|
+
<span> scores</span><span class="token" style="color:#d4d4d4">.</span><span>append</span><span class="token" style="color:#d4d4d4">(</span><span class="token" style="color:#d4d4d4">(</span><span>agent</span><span class="token" style="color:#d4d4d4">,</span><span> composite_score</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
140
|
+
</span>
|
|
141
|
+
<span> </span><span class="token" style="color:#569CD6">return</span><span> </span><span class="token" style="color:#ce9178">max</span><span class="token" style="color:#d4d4d4">(</span><span>scores</span><span class="token" style="color:#d4d4d4">,</span><span> key</span><span class="token" style="color:#d4d4d4">=</span><span class="token" style="color:#569CD6">lambda</span><span> x</span><span class="token" style="color:#d4d4d4">:</span><span> x</span><span class="token" style="color:#d4d4d4">[</span><span class="token" style="color:#b5cea8">1</span><span class="token" style="color:#d4d4d4">]</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">[</span><span class="token" style="color:#b5cea8">0</span><span class="token" style="color:#d4d4d4">]</span></code></div></div></pre>
|
|
142
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Result</strong>: 26% improvement in agent utilization compared to static assignment.</p>
|
|
143
|
+
<h2 id="standardized-handoff-protocol-preserving-context" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">Standardized Handoff Protocol: Preserving Context</h2>
|
|
144
|
+
<p class="text-gray-700 leading-7 mb-4">Context loss during agent handoffs is a killer. OSSA's handoff protocol solves this:</p>
|
|
145
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-python" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token" style="color:#569CD6">class</span><span> </span><span class="token" style="color:#4ec9b0">HandoffProtocol</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
146
|
+
</span><span> </span><span class="token" style="color:#569CD6">def</span><span> </span><span class="token" style="color:#dcdcaa">prepare_handoff</span><span class="token" style="color:#d4d4d4">(</span><span>self</span><span class="token" style="color:#d4d4d4">,</span><span> source_agent</span><span class="token" style="color:#d4d4d4">,</span><span> target_agent</span><span class="token" style="color:#d4d4d4">,</span><span> context</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
147
|
+
</span><span> handoff_packet </span><span class="token" style="color:#d4d4d4">=</span><span> </span><span class="token" style="color:#d4d4d4">{</span><span>
|
|
148
|
+
</span><span> </span><span class="token" style="color:#ce9178">'task_id'</span><span class="token" style="color:#d4d4d4">:</span><span> context</span><span class="token" style="color:#d4d4d4">.</span><span>task_id</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
149
|
+
</span><span> </span><span class="token" style="color:#ce9178">'source'</span><span class="token" style="color:#d4d4d4">:</span><span> source_agent</span><span class="token" style="color:#d4d4d4">.</span><span class="token" style="color:#ce9178">id</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
150
|
+
</span><span> </span><span class="token" style="color:#ce9178">'target'</span><span class="token" style="color:#d4d4d4">:</span><span> target_agent</span><span class="token" style="color:#d4d4d4">.</span><span class="token" style="color:#ce9178">id</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
151
|
+
</span>
|
|
152
|
+
<span> </span><span class="token" style="color:#ce9178">'context'</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#d4d4d4">{</span><span>
|
|
153
|
+
</span><span> </span><span class="token" style="color:#ce9178">'state'</span><span class="token" style="color:#d4d4d4">:</span><span> context</span><span class="token" style="color:#d4d4d4">.</span><span>current_state</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
154
|
+
</span><span> </span><span class="token" style="color:#ce9178">'history'</span><span class="token" style="color:#d4d4d4">:</span><span> context</span><span class="token" style="color:#d4d4d4">.</span><span>get_relevant_history</span><span class="token" style="color:#d4d4d4">(</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
155
|
+
</span><span> </span><span class="token" style="color:#ce9178">'constraints'</span><span class="token" style="color:#d4d4d4">:</span><span> context</span><span class="token" style="color:#d4d4d4">.</span><span>constraints
|
|
156
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">}</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
157
|
+
</span>
|
|
158
|
+
<span> </span><span class="token" style="color:#ce9178">'metadata'</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#d4d4d4">{</span><span>
|
|
159
|
+
</span><span> </span><span class="token" style="color:#ce9178">'timestamp'</span><span class="token" style="color:#d4d4d4">:</span><span> datetime</span><span class="token" style="color:#d4d4d4">.</span><span>now</span><span class="token" style="color:#d4d4d4">(</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
160
|
+
</span><span> </span><span class="token" style="color:#ce9178">'protocol_version'</span><span class="token" style="color:#d4d4d4">:</span><span> </span><span class="token" style="color:#ce9178">'ossa-0.2.3'</span><span>
|
|
161
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">}</span><span>
|
|
162
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">}</span><span>
|
|
163
|
+
</span>
|
|
164
|
+
<span> </span><span class="token" style="color:#6a9955"># Validate compatibility</span><span>
|
|
165
|
+
</span><span> </span><span class="token" style="color:#569CD6">if</span><span> </span><span class="token" style="color:#569CD6">not</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>validate_compatibility</span><span class="token" style="color:#d4d4d4">(</span><span>source_agent</span><span class="token" style="color:#d4d4d4">,</span><span> target_agent</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
166
|
+
</span><span> </span><span class="token" style="color:#569CD6">raise</span><span> HandoffException</span><span class="token" style="color:#d4d4d4">(</span><span class="token" style="color:#ce9178">"Incompatible agent protocols"</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
167
|
+
</span>
|
|
168
|
+
<span> </span><span class="token" style="color:#569CD6">return</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>compress_handoff</span><span class="token" style="color:#d4d4d4">(</span><span>handoff_packet</span><span class="token" style="color:#d4d4d4">)</span></code></div></div></pre>
|
|
169
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Result</strong>: 37% improvement in context preservation (65% → 89%).</p>
|
|
170
|
+
<h2 id="framework-integration-bring-your-own-agents" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">Framework Integration: Bring Your Own Agents</h2>
|
|
171
|
+
<p class="text-gray-700 leading-7 mb-4">OSSA doesn't require rewriting your existing agents. Integration bridges enable seamless adoption:</p>
|
|
172
|
+
<h3 id="langchain-integration" class="text-xl md:text-2xl font-semibold text-gray-900 mt-6 mb-3 scroll-mt-20">LangChain Integration</h3>
|
|
173
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-python" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token" style="color:#569CD6">from</span><span> ossa</span><span class="token" style="color:#d4d4d4">.</span><span>bridges </span><span class="token" style="color:#569CD6">import</span><span> LangChainBridge
|
|
174
|
+
</span>
|
|
175
|
+
<span></span><span class="token" style="color:#569CD6">class</span><span> </span><span class="token" style="color:#4ec9b0">LangChainBridge</span><span class="token" style="color:#d4d4d4">(</span><span>OSSABridge</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
176
|
+
</span><span> </span><span class="token" style="color:#569CD6">def</span><span> </span><span class="token" style="color:#dcdcaa">wrap_agent</span><span class="token" style="color:#d4d4d4">(</span><span>self</span><span class="token" style="color:#d4d4d4">,</span><span> langchain_agent</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
177
|
+
</span><span> </span><span class="token" style="color:#569CD6">return</span><span> OSSAAgent</span><span class="token" style="color:#d4d4d4">(</span><span>
|
|
178
|
+
</span><span> native_agent</span><span class="token" style="color:#d4d4d4">=</span><span>langchain_agent</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
179
|
+
</span><span> capabilities</span><span class="token" style="color:#d4d4d4">=</span><span>self</span><span class="token" style="color:#d4d4d4">.</span><span>extract_capabilities</span><span class="token" style="color:#d4d4d4">(</span><span>langchain_agent</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
180
|
+
</span><span> adapter</span><span class="token" style="color:#d4d4d4">=</span><span>self</span><span class="token" style="color:#d4d4d4">.</span><span>create_langchain_adapter</span><span class="token" style="color:#d4d4d4">(</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
181
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">)</span></code></div></div></pre>
|
|
182
|
+
<h3 id="crewai-integration" class="text-xl md:text-2xl font-semibold text-gray-900 mt-6 mb-3 scroll-mt-20">CrewAI Integration</h3>
|
|
183
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-python" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token" style="color:#569CD6">from</span><span> ossa</span><span class="token" style="color:#d4d4d4">.</span><span>bridges </span><span class="token" style="color:#569CD6">import</span><span> CrewAIBridge
|
|
184
|
+
</span>
|
|
185
|
+
<span></span><span class="token" style="color:#569CD6">class</span><span> </span><span class="token" style="color:#4ec9b0">CrewAIBridge</span><span class="token" style="color:#d4d4d4">(</span><span>OSSABridge</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
186
|
+
</span><span> </span><span class="token" style="color:#569CD6">def</span><span> </span><span class="token" style="color:#dcdcaa">wrap_crew</span><span class="token" style="color:#d4d4d4">(</span><span>self</span><span class="token" style="color:#d4d4d4">,</span><span> crew</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
187
|
+
</span><span> agents </span><span class="token" style="color:#d4d4d4">=</span><span> </span><span class="token" style="color:#d4d4d4">[</span><span class="token" style="color:#d4d4d4">]</span><span>
|
|
188
|
+
</span><span> </span><span class="token" style="color:#569CD6">for</span><span> crew_agent </span><span class="token" style="color:#569CD6">in</span><span> crew</span><span class="token" style="color:#d4d4d4">.</span><span>agents</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
189
|
+
</span><span> agents</span><span class="token" style="color:#d4d4d4">.</span><span>append</span><span class="token" style="color:#d4d4d4">(</span><span>self</span><span class="token" style="color:#d4d4d4">.</span><span>wrap_agent</span><span class="token" style="color:#d4d4d4">(</span><span>crew_agent</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
190
|
+
</span>
|
|
191
|
+
<span> </span><span class="token" style="color:#569CD6">return</span><span> OSSAWorkflow</span><span class="token" style="color:#d4d4d4">(</span><span>agents</span><span class="token" style="color:#d4d4d4">=</span><span>agents</span><span class="token" style="color:#d4d4d4">)</span></code></div></div></pre>
|
|
192
|
+
<h3 id="autogen-integration" class="text-xl md:text-2xl font-semibold text-gray-900 mt-6 mb-3 scroll-mt-20">AutoGen Integration</h3>
|
|
193
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-python" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token" style="color:#569CD6">from</span><span> ossa</span><span class="token" style="color:#d4d4d4">.</span><span>bridges </span><span class="token" style="color:#569CD6">import</span><span> AutoGenBridge
|
|
194
|
+
</span>
|
|
195
|
+
<span></span><span class="token" style="color:#569CD6">class</span><span> </span><span class="token" style="color:#4ec9b0">AutoGenBridge</span><span class="token" style="color:#d4d4d4">(</span><span>OSSABridge</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
196
|
+
</span><span> </span><span class="token" style="color:#569CD6">def</span><span> </span><span class="token" style="color:#dcdcaa">wrap_conversable_agent</span><span class="token" style="color:#d4d4d4">(</span><span>self</span><span class="token" style="color:#d4d4d4">,</span><span> autogen_agent</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
197
|
+
</span><span> </span><span class="token" style="color:#569CD6">return</span><span> OSSAAgent</span><span class="token" style="color:#d4d4d4">(</span><span>
|
|
198
|
+
</span><span> native_agent</span><span class="token" style="color:#d4d4d4">=</span><span>autogen_agent</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
199
|
+
</span><span> capabilities</span><span class="token" style="color:#d4d4d4">=</span><span>self</span><span class="token" style="color:#d4d4d4">.</span><span>extract_capabilities</span><span class="token" style="color:#d4d4d4">(</span><span>autogen_agent</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
200
|
+
</span><span> adapter</span><span class="token" style="color:#d4d4d4">=</span><span>self</span><span class="token" style="color:#d4d4d4">.</span><span>create_autogen_adapter</span><span class="token" style="color:#d4d4d4">(</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
201
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">)</span></code></div></div></pre>
|
|
202
|
+
<h2 id="dynamic-task-decomposition" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">Dynamic Task Decomposition</h2>
|
|
203
|
+
<p class="text-gray-700 leading-7 mb-4">Advanced tier enables intelligent task breakdown:</p>
|
|
204
|
+
<pre class="bg-code-bg text-code-text p-4 rounded-lg overflow-x-auto my-4 text-sm font-mono"><div class="my-4 rounded-lg overflow-hidden overflow-x-auto"><div style="color:#d4d4d4;font-size:0.875rem;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;padding:1em;margin:0;overflow:auto;background:#1e1e1e;border-radius:0.5rem;background-color:#1e1e1e"><code class="language-python" style="white-space:pre;color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;direction:ltr;text-align:left;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none"><span class="token" style="color:#569CD6">class</span><span> </span><span class="token" style="color:#4ec9b0">TaskDecomposer</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
205
|
+
</span><span> </span><span class="token" style="color:#569CD6">def</span><span> </span><span class="token" style="color:#dcdcaa">decompose_task</span><span class="token" style="color:#d4d4d4">(</span><span>self</span><span class="token" style="color:#d4d4d4">,</span><span> task</span><span class="token" style="color:#d4d4d4">,</span><span> available_agents</span><span class="token" style="color:#d4d4d4">)</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
206
|
+
</span><span> </span><span class="token" style="color:#6a9955"># Analyze task complexity</span><span>
|
|
207
|
+
</span><span> complexity_analysis </span><span class="token" style="color:#d4d4d4">=</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>analyze_complexity</span><span class="token" style="color:#d4d4d4">(</span><span>task</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
208
|
+
</span>
|
|
209
|
+
<span> </span><span class="token" style="color:#6a9955"># Identify subtasks</span><span>
|
|
210
|
+
</span><span> subtasks </span><span class="token" style="color:#d4d4d4">=</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>identify_subtasks</span><span class="token" style="color:#d4d4d4">(</span><span>task</span><span class="token" style="color:#d4d4d4">,</span><span> complexity_analysis</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
211
|
+
</span>
|
|
212
|
+
<span> </span><span class="token" style="color:#6a9955"># Map subtasks to optimal agents</span><span>
|
|
213
|
+
</span><span> task_assignments </span><span class="token" style="color:#d4d4d4">=</span><span> </span><span class="token" style="color:#d4d4d4">[</span><span class="token" style="color:#d4d4d4">]</span><span>
|
|
214
|
+
</span><span> </span><span class="token" style="color:#569CD6">for</span><span> subtask </span><span class="token" style="color:#569CD6">in</span><span> subtasks</span><span class="token" style="color:#d4d4d4">:</span><span>
|
|
215
|
+
</span><span> optimal_agent </span><span class="token" style="color:#d4d4d4">=</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>capability_router</span><span class="token" style="color:#d4d4d4">.</span><span>select_optimal_agent</span><span class="token" style="color:#d4d4d4">(</span><span>
|
|
216
|
+
</span><span> subtask</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
217
|
+
</span> available_agents
|
|
218
|
+
<span> </span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
219
|
+
</span>
|
|
220
|
+
<span> task_assignments</span><span class="token" style="color:#d4d4d4">.</span><span>append</span><span class="token" style="color:#d4d4d4">(</span><span class="token" style="color:#d4d4d4">{</span><span>
|
|
221
|
+
</span><span> </span><span class="token" style="color:#ce9178">'subtask'</span><span class="token" style="color:#d4d4d4">:</span><span> subtask</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
222
|
+
</span><span> </span><span class="token" style="color:#ce9178">'agent'</span><span class="token" style="color:#d4d4d4">:</span><span> optimal_agent</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
223
|
+
</span><span> </span><span class="token" style="color:#ce9178">'priority'</span><span class="token" style="color:#d4d4d4">:</span><span> subtask</span><span class="token" style="color:#d4d4d4">.</span><span>priority</span><span class="token" style="color:#d4d4d4">,</span><span>
|
|
224
|
+
</span><span> </span><span class="token" style="color:#ce9178">'dependencies'</span><span class="token" style="color:#d4d4d4">:</span><span> subtask</span><span class="token" style="color:#d4d4d4">.</span><span>dependencies
|
|
225
|
+
</span><span> </span><span class="token" style="color:#d4d4d4">}</span><span class="token" style="color:#d4d4d4">)</span><span>
|
|
226
|
+
</span>
|
|
227
|
+
<span> </span><span class="token" style="color:#6a9955"># Generate execution plan</span><span>
|
|
228
|
+
</span><span> </span><span class="token" style="color:#569CD6">return</span><span> self</span><span class="token" style="color:#d4d4d4">.</span><span>generate_execution_plan</span><span class="token" style="color:#d4d4d4">(</span><span>task_assignments</span><span class="token" style="color:#d4d4d4">)</span></code></div></div></pre>
|
|
229
|
+
<h2 id="adoption-path" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">Adoption Path</h2>
|
|
230
|
+
<p class="text-gray-700 leading-7 mb-4">Organizations can adopt OSSA incrementally:</p>
|
|
231
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Week 1</strong>: Core tier</p>
|
|
232
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
233
|
+
<li class="leading-relaxed pl-1">Register existing agents</li>
|
|
234
|
+
<li class="leading-relaxed pl-1">Test basic discovery</li>
|
|
235
|
+
<li class="leading-relaxed pl-1">Validate integration</li>
|
|
236
|
+
</ul>
|
|
237
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Month 1-2</strong>: Governed tier</p>
|
|
238
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
239
|
+
<li class="leading-relaxed pl-1">Add budget controls</li>
|
|
240
|
+
<li class="leading-relaxed pl-1">Enable audit logging</li>
|
|
241
|
+
<li class="leading-relaxed pl-1">Implement quality gates</li>
|
|
242
|
+
</ul>
|
|
243
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Month 3+</strong>: Advanced tier</p>
|
|
244
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
245
|
+
<li class="leading-relaxed pl-1">Enable dynamic orchestration</li>
|
|
246
|
+
<li class="leading-relaxed pl-1">Deploy multi-agent workflows</li>
|
|
247
|
+
<li class="leading-relaxed pl-1">Optimize resource allocation</li>
|
|
248
|
+
</ul>
|
|
249
|
+
<h2 id="whats-next" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">What's Next</h2>
|
|
250
|
+
<p class="text-gray-700 leading-7 mb-4">In our next post, we'll share production results: <strong class="font-semibold text-gray-900">34% reduction in orchestration overhead</strong>, <strong class="font-semibold text-gray-900">26% improvement in coordination efficiency</strong>, and <strong class="font-semibold text-gray-900">92% task completion rates</strong>.</p>
|
|
251
|
+
<p class="text-gray-700 leading-7 mb-4">We'll also walk through a real case study: coordinating agents from three different frameworks (LangChain, CrewAI, AutoGen) to build a complete development pipeline.</p>
|
|
252
|
+
<h2 id="key-takeaways" class="text-2xl md:text-3xl font-semibold text-gray-900 mt-8 mb-4 scroll-mt-20">Key Takeaways</h2>
|
|
253
|
+
<ul class="list-disc list-outside mb-3 ml-5 space-y-1 text-gray-700 text-base">
|
|
254
|
+
<li class="leading-relaxed pl-1"><strong class="font-semibold text-gray-900">Progressive compliance</strong> enables incremental adoption (Core → Governed → Advanced)</li>
|
|
255
|
+
<li class="leading-relaxed pl-1"><strong class="font-semibold text-gray-900">Capability-based routing</strong> improves agent utilization by 26%</li>
|
|
256
|
+
<li class="leading-relaxed pl-1"><strong class="font-semibold text-gray-900">Standardized handoffs</strong> preserve 89% of context (vs. 65% baseline)</li>
|
|
257
|
+
<li class="leading-relaxed pl-1"><strong class="font-semibold text-gray-900">Framework bridges</strong> let you use existing agents without rewrites</li>
|
|
258
|
+
<li class="leading-relaxed pl-1"><strong class="font-semibold text-gray-900">Enterprise governance</strong> is built-in, not bolted-on</li>
|
|
259
|
+
</ul>
|
|
260
|
+
<hr class="my-8 border-t border-gray-200"/>
|
|
261
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Previous</strong>: <a class="text-primary hover:text-primary-dark underline" href="/blog/why-ai-agents-need-open-standard/">Why AI Agents Need an Open Standard</a></p>
|
|
262
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Next</strong>: <a class="text-primary hover:text-primary-dark underline" href="/blog/ossa-production-results/">Real-World Results: 34% Efficiency Gains with OSSA</a></p>
|
|
263
|
+
<p class="text-gray-700 leading-7 mb-4"><strong class="font-semibold text-gray-900">Get Started</strong>: <a class="text-primary hover:text-primary-dark underline" href="/docs/getting-started/installation/">Installation Guide</a></p></div></div><div class="mt-12 pt-8 border-t border-gray-200"><h3 class="text-sm font-semibold text-gray-900 mb-3">Tags</h3><div class="flex flex-wrap gap-2"><span class="px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full">ossa</span><span class="px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full">architecture</span><span class="px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full">framework</span><span class="px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full">compliance</span></div></div></article><div class="mt-12 text-center"><a class="inline-flex items-center px-6 py-3 bg-primary text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors" href="/blog/"><svg class="h-5 w-5 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path></svg>Back to All Posts</a></div></div></div><!--$--><!--/$--></main><footer class="bg-gray-900 text-gray-300 py-12 px-4"><div class="container mx-auto max-w-6xl"><div class="grid md:grid-cols-4 gap-8 mb-8"><div><h3 class="text-white font-semibold mb-4">Open Standard Agents</h3><p class="text-sm">OSSA is an Open Standard for AI Agents. The vendor-neutral specification was created by Thomas Scola, founder of Bluefly.io.</p></div><div><h4 class="text-white font-semibold mb-4">Documentation</h4><ul class="space-y-2 text-sm"><li><a class="hover:text-white transition-colors" href="/docs/getting-started/">Getting Started</a></li><li><a class="hover:text-white transition-colors" href="/docs/">Full Documentation</a></li><li><a class="hover:text-white transition-colors" href="/schema/">Schema Reference</a></li></ul></div><div><h4 class="text-white font-semibold mb-4">Resources</h4><ul class="space-y-2 text-sm"><li><a class="hover:text-white transition-colors" href="/examples/">Examples</a></li><li><a class="hover:text-white transition-colors" href="/playground/">Playground</a></li><li><a class="hover:text-white transition-colors" href="/blog/">Blog</a></li><li><a class="hover:text-white transition-colors" href="/design-guide/">Design Guide</a></li></ul></div><div><h4 class="text-white font-semibold mb-4">Community</h4><ul class="space-y-2 text-sm"><li><a href="https://github.com/blueflyio/openstandardagents" target="_blank" rel="noopener noreferrer" class="hover:text-white transition-colors flex items-center gap-2"><svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg>GitHub</a></li><li><a href="https://github.com/blueflyio/openstandardagents/issues" target="_blank" rel="noopener noreferrer" class="hover:text-white transition-colors">Issues</a></li><li><a href="https://www.npmjs.com/package/@bluefly/openstandardagents" target="_blank" rel="noopener noreferrer" class="hover:text-white transition-colors">npm Package</a></li></ul></div></div><div class="border-t border-gray-700 pt-8 text-sm text-center"><p>© <!-- -->2025<!-- --> Open Standard Agents Organization. Licensed under<!-- --> <a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank" rel="noopener noreferrer" class="hover:text-white transition-colors">Apache 2.0</a>.</p></div></div></footer></div><script src="/_next/static/chunks/webpack-6ecb09e5c6e34cb4.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[82960,[\"619\",\"static/chunks/619-f072ac750404f9da.js\",\"177\",\"static/chunks/app/layout-ccacbd90656baa78.js\"],\"Header\"]\n3:I[9766,[],\"\"]\n4:I[98924,[],\"\"]\nf:I[57150,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/23135390005d4468.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"IDhDQiozPwOaA3PpMqvTE\",\"p\":\"\",\"c\":[\"\",\"blog\",\"introducing-ossa-framework\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"blog\",{\"children\":[[\"slug\",\"introducing-ossa-framework\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/23135390005d4468.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_f367f3\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/assets/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/assets/brand/ossa-logo.svg\"}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"Organization\\\",\\\"name\\\":\\\"OSSA Standards Team\\\",\\\"url\\\":\\\"https://openstandardagents.org\\\",\\\"logo\\\":\\\"https://openstandardagents.org/assets/brand/ossa-logo.svg\\\",\\\"sameAs\\\":[\\\"https://github.com/blueflyio/openstandardagents\\\",\\\"https://www.npmjs.com/package/@bluefly/openstandardagents\\\"],\\\"description\\\":\\\"Open Standard Agents Organization - Maintaining the Industry Standard for Agent Orchestration\\\"}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebSite\\\",\\\"name\\\":\\\"OSSA\\\",\\\"url\\\":\\\"https://openstandardagents.org\\\",\\\"description\\\":\\\"Open Standard for Scalable AI Agents - The OpenAPI for AI Agents\\\",\\\"potentialAction\\\":{\\\"@type\\\":\\\"SearchAction\\\",\\\"target\\\":{\\\"@type\\\":\\\"EntryPoint\\\",\\\"urlTemplate\\\":\\\"https://openstandardagents.org/search?q={search_term_string}\\\"},\\\"query-input\\\":\\\"required name=search_term_string\\\"}}\"}}]]}],[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col min-h-screen\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#main-content\",\"className\":\"sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-50 focus:px-4 focus:py-2 focus:bg-primary focus:text-white focus:rounded\",\"children\":\"Skip to main content\"}],[\"$\",\"$L2\",null,{}],[\"$\",\"main\",null,{\"id\":\"main-content\",\"className\":\"flex-grow\",\"tabIndex\":-1,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"bg-gray-900 text-gray-300 py-12 px-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"container mx-auto max-w-6xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid md:grid-cols-4 gap-8 mb-8\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-white font-semibold mb-4\",\"children\":\"Open Standard Agents\"}],[\"$\",\"p\",null,{\"className\":\"text-sm\",\"children\":\"OSSA is an Open Standard for AI Agents. The vendor-neutral specification was created by Thomas Scola, founder of Bluefly.io.\"}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h4\",null,{\"className\":\"text-white font-semibold mb-4\",\"children\":\"Documentation\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[\"$L5\",\"$L6\",\"$L7\"]}]]}],\"$L8\",\"$L9\"]}],\"$La\"]}]}]]}]}]]}]]}],{\"children\":[\"blog\",\"$Lb\",{\"children\":[[\"slug\",\"introducing-ossa-framework\",\"d\"],\"$Lc\",{\"children\":[\"__PAGE__\",\"$Ld\",{},null,false]},null,false]},null,false]},null,false],\"$Le\",false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"10:I[52619,[\"619\",\"static/chunks/619-f072ac750404f9da.js\",\"651\",\"static/chunks/651-5cd3c87d43b7eb46.js\",\"451\",\"static/chunks/451-235273497e501ae9.js\",\"953\",\"static/chunks/app/blog/%5Bslug%5D/page-8fd43000c4969233.js\"],\"\"]\n12:I[24431,[],\"OutletBoundary\"]\n14:I[15278,[],\"AsyncMetadataOutlet\"]\n16:I[24431,[],\"ViewportBoundary\"]\n18:I[24431,[],\"MetadataBoundary\"]\n19:\"$Sreact.suspense\"\n5:[\"$\",\"li\",null,{\"children\":[\"$\",\"$L10\",null,{\"href\":\"/docs/getting-started\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Getting Started\"}]}]\n6:[\"$\",\"li\",null,{\"children\":[\"$\",\"$L10\",null,{\"href\":\"/docs\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Full Documentation\"}]}]\n7:[\"$\",\"li\",null,{\"children\":[\"$\",\"$L10\",null,{\"href\":\"/schema\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Schema Reference\"}]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"div\",null,{\"children\":[[\"$\",\"h4\",null,{\"className\":\"text-white font-semibold mb-4\",\"children\":\"Resources\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L10\",null,{\"href\":\"/examples\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Examples\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L10\",null,{\"href\":\"/playground\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Playground\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L10\",null,{\"href\":\"/blog\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Blog\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L10\",null,{\"href\":\"/design-guide\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Design Guide\"}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"div\",null,{\"children\":[[\"$\",\"h4\",null,{\"className\":\"text-white font-semibold mb-4\",\"children\":\"Community\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-2 text-sm\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/blueflyio/openstandardagents\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-white transition-colors flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"d\":\"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z\",\"clipRule\":\"evenodd\"}]}],\"GitHub\"]}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/blueflyio/openstandardagents/issues\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Issues\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.npmjs.com/package/@bluefly/openstandardagents\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-white transition-colors\",\"children\":\"npm Package\"}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"div\",null,{\"className\":\"border-t border-gray-700 pt-8 text-sm text-center\",\"children\":[\"$\",\"p\",null,{\"children\":[\"© \",2025,\" Open Standard Agents Organization. Licensed under\",\" \",[\"$\",\"a\",null,{\"href\":\"https://www.apache.org/licenses/LICENSE-2.0\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-white transition-colors\",\"children\":\"Apache 2.0\"}],\".\"]}]}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nc:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[\"$L11\",null,[\"$\",\"$L12\",null,{\"children\":[\"$L13\",[\"$\",\"$L14\",null,{\"promise\":\"$@15\"}]]}]]}]\ne:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L18\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$19\",null,{\"fallback\":null,\"children\":\"$L1a\"}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"1b:I[89300,[\"619\",\"static/chunks/619-f072ac750404f9da.js\",\"651\",\"static/chunks/651-5cd3c87d43b7eb46.js\",\"451\",\"static/chunks/451-235273497e501ae9.js\",\"953\",\"static/chunks/app/blog/%5Bslug%5D/page-8fd43000c4969233.js\"],\"MarkdownContent\"]\n1c:T22d6,"])</script><script>self.__next_f.push([1,"\n# Introducing the OSSA Framework: 3-Tier Progressive Compliance\n\nIn our [previous post](/blog/why-ai-agents-need-open-standard), we explored why AI agents need a vendor-neutral standard. Today, we're unveiling the OSSA framework architecture and its game-changing approach to adoption.\n\n## The Challenge of Enterprise Adoption\n\nEvery new standard faces a chicken-and-egg problem:\n\n- **Too simple?** Enterprises won't trust it for production\n- **Too complex?** Teams won't adopt it\n\nOSSA solves this with **progressive compliance**: start simple, add governance when ready, unlock advanced features when needed.\n\n## The 3-Tier Model\n\n### Core Tier: Get Started Fast\n\nThe Core tier provides basic agent discovery and invocation—everything you need to prove value quickly:\n\n```yaml\napiVersion: oaas/standard\nkind: Agent\nmetadata:\n name: code-analyzer\n tier: core\nspec:\n capabilities:\n - code-analysis\n - security-scanning\n endpoints:\n - url: https://api.example.com/analyze\n protocol: rest\n```\n\n**Core Capabilities**:\n- ✅ Agent registration and discovery\n- ✅ Basic capability declaration\n- ✅ Simple request-response patterns\n\n**Perfect for**: Proof of concepts, small teams, initial experiments\n\n### Governed Tier: Enterprise Ready\n\nWhen you're ready for production, the Governed tier adds enterprise controls:\n\n```yaml\napiVersion: oaas/standard\nkind: Agent\nmetadata:\n name: code-analyzer\n tier: governed\n domain: software-development\nspec:\n capabilities:\n - code-analysis\n - security-scanning\n - performance-profiling\n\n compliance:\n iso42001: compliant\n nist-ai-rmf: compliant\n\n governance:\n budgets:\n maxTokensPerTask: 12000\n maxCostPerMonth: 1000\n\n auditLevel: detailed\n\n qualityGates:\n - type: output-validation\n threshold: 0.85\n```\n\n**Governed Capabilities**:\n- ✅ Audit logging and compliance tracking (ISO 42001, NIST AI RMF)\n- ✅ Resource constraints and budgets\n- ✅ Quality gates and validation\n- ✅ Role-based access control\n\n**Perfect for**: Production deployments, regulated industries, enterprise teams\n\n### Advanced Tier: Orchestration at Scale\n\nThe Advanced tier unlocks sophisticated multi-agent orchestration:\n\n```yaml\napiVersion: oaas/standard\nkind: Agent\nmetadata:\n name: code-analyzer\n tier: advanced\n domain: software-development\nspec:\n capabilities:\n - code-analysis\n - security-scanning\n - performance-profiling\n\n orchestration:\n canLead: true\n canDelegate: true\n specializationLevel: expert\n\n routing:\n algorithm: capability-match\n weights:\n capabilityMatch: 0.4\n specialization: 0.4\n availability: 0.2\n\n handoffProtocol:\n contextCompression: enabled\n historyDepth: 10\n validation: strict\n```\n\n**Advanced Capabilities**:\n- ✅ Dynamic workflow generation\n- ✅ Multi-agent coordination\n- ✅ Adaptive resource allocation\n- ✅ Intelligent agent routing\n- ✅ Context-preserving handoffs\n\n**Perfect for**: Complex workflows, multi-team orchestration, autonomous systems\n\n## Capability-Based Routing: The Right Agent for the Right Task\n\nOne of OSSA's key innovations is **intelligent agent selection**. Instead of hardcoding which agent handles which task, OSSA routes dynamically:\n\n```python\nclass CapabilityRouter:\n def select_optimal_agent(self, task, available_agents):\n scores = []\n\n for agent in available_agents:\n # Match required capabilities\n capability_match = self.calculate_capability_match(\n task.required_capabilities,\n agent.capabilities\n )\n\n # Evaluate domain specialization\n specialization_score = self.evaluate_specialization(\n task.domain,\n agent.specialization_areas\n )\n\n # Check current availability\n availability_score = self.check_availability(\n agent.current_load,\n agent.max_capacity\n )\n\n # Weighted composite score\n composite_score = (\n capability_match * 0.4 +\n specialization_score * 0.4 +\n availability_score * 0.2\n )\n\n scores.append((agent, composite_score))\n\n return max(scores, key=lambda x: x[1])[0]\n```\n\n**Result**: 26% improvement in agent utilization compared to static assignment.\n\n## Standardized Handoff Protocol: Preserving Context\n\nContext loss during agent handoffs is a killer. OSSA's handoff protocol solves this:\n\n```python\nclass HandoffProtocol:\n def prepare_handoff(self, source_agent, target_agent, context):\n handoff_packet = {\n 'task_id': context.task_id,\n 'source': source_agent.id,\n 'target': target_agent.id,\n\n 'context': {\n 'state': context.current_state,\n 'history': context.get_relevant_history(),\n 'constraints': context.constraints\n },\n\n 'metadata': {\n 'timestamp': datetime.now(),\n 'protocol_version': 'ossa-0.2.3'\n }\n }\n\n # Validate compatibility\n if not self.validate_compatibility(source_agent, target_agent):\n raise HandoffException(\"Incompatible agent protocols\")\n\n return self.compress_handoff(handoff_packet)\n```\n\n**Result**: 37% improvement in context preservation (65% → 89%).\n\n## Framework Integration: Bring Your Own Agents\n\nOSSA doesn't require rewriting your existing agents. Integration bridges enable seamless adoption:\n\n### LangChain Integration\n\n```python\nfrom ossa.bridges import LangChainBridge\n\nclass LangChainBridge(OSSABridge):\n def wrap_agent(self, langchain_agent):\n return OSSAAgent(\n native_agent=langchain_agent,\n capabilities=self.extract_capabilities(langchain_agent),\n adapter=self.create_langchain_adapter()\n )\n```\n\n### CrewAI Integration\n\n```python\nfrom ossa.bridges import CrewAIBridge\n\nclass CrewAIBridge(OSSABridge):\n def wrap_crew(self, crew):\n agents = []\n for crew_agent in crew.agents:\n agents.append(self.wrap_agent(crew_agent))\n\n return OSSAWorkflow(agents=agents)\n```\n\n### AutoGen Integration\n\n```python\nfrom ossa.bridges import AutoGenBridge\n\nclass AutoGenBridge(OSSABridge):\n def wrap_conversable_agent(self, autogen_agent):\n return OSSAAgent(\n native_agent=autogen_agent,\n capabilities=self.extract_capabilities(autogen_agent),\n adapter=self.create_autogen_adapter()\n )\n```\n\n## Dynamic Task Decomposition\n\nAdvanced tier enables intelligent task breakdown:\n\n```python\nclass TaskDecomposer:\n def decompose_task(self, task, available_agents):\n # Analyze task complexity\n complexity_analysis = self.analyze_complexity(task)\n\n # Identify subtasks\n subtasks = self.identify_subtasks(task, complexity_analysis)\n\n # Map subtasks to optimal agents\n task_assignments = []\n for subtask in subtasks:\n optimal_agent = self.capability_router.select_optimal_agent(\n subtask,\n available_agents\n )\n\n task_assignments.append({\n 'subtask': subtask,\n 'agent': optimal_agent,\n 'priority': subtask.priority,\n 'dependencies': subtask.dependencies\n })\n\n # Generate execution plan\n return self.generate_execution_plan(task_assignments)\n```\n\n## Adoption Path\n\nOrganizations can adopt OSSA incrementally:\n\n**Week 1**: Core tier\n- Register existing agents\n- Test basic discovery\n- Validate integration\n\n**Month 1-2**: Governed tier\n- Add budget controls\n- Enable audit logging\n- Implement quality gates\n\n**Month 3+**: Advanced tier\n- Enable dynamic orchestration\n- Deploy multi-agent workflows\n- Optimize resource allocation\n\n## What's Next\n\nIn our next post, we'll share production results: **34% reduction in orchestration overhead**, **26% improvement in coordination efficiency**, and **92% task completion rates**.\n\nWe'll also walk through a real case study: coordinating agents from three different frameworks (LangChain, CrewAI, AutoGen) to build a complete development pipeline.\n\n## Key Takeaways\n\n- **Progressive compliance** enables incremental adoption (Core → Governed → Advanced)\n- **Capability-based routing** improves agent utilization by 26%\n- **Standardized handoffs** preserve 89% of context (vs. 65% baseline)\n- **Framework bridges** let you use existing agents without rewrites\n- **Enterprise governance** is built-in, not bolted-on\n\n---\n\n**Previous**: [Why AI Agents Need an Open Standard](/blog/why-ai-agents-need-open-standard)\n\n**Next**: [Real-World Results: 34% Efficiency Gains with OSSA](/blog/ossa-production-results)\n\n**Get Started**: [Installation Guide](/docs/getting-started/installation)"])</script><script>self.__next_f.push([1,"11:[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-gray-50\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-gradient-to-br from-primary via-blue-600 to-secondary text-white py-16 px-4\",\"children\":[\"$\",\"div\",null,{\"className\":\"container mx-auto max-w-4xl\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4\",\"children\":[\"$\",\"$L10\",null,{\"href\":\"/blog\",\"className\":\"inline-flex items-center text-white/80 hover:text-white transition-colors\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"h-5 w-5 mr-2\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":2,\"d\":\"M15 19l-7-7 7-7\"}]}],\"Back to Blog\"]}]}],[\"$\",\"div\",null,{\"className\":\"mb-4\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-block px-3 py-1 text-xs font-semibold bg-white/20 rounded-full\",\"children\":\"Technical\"}]}],[\"$\",\"h1\",null,{\"className\":\"text-4xl md:text-5xl font-bold mb-6\",\"children\":\"Introducing the OSSA Framework: 3-Tier Progressive Compliance\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-6 text-white/90\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":2,\"d\":\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"}]}],[\"$\",\"span\",null,{\"children\":\"Thomas Scola\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"h-5 w-5\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":2,\"d\":\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"}]}],[\"$\",\"span\",null,{\"children\":\"November 17, 2024\"}]]}]]}]]}]}],[\"$\",\"div\",null,{\"className\":\"container mx-auto max-w-4xl px-4 py-12\",\"children\":[[\"$\",\"article\",null,{\"className\":\"bg-white p-8 md:p-12 rounded-lg shadow-lg border border-gray-200\",\"children\":[[\"$\",\"div\",null,{\"className\":\"prose prose-lg max-w-none prose-headings:text-gray-900 prose-h1:text-4xl prose-h1:font-bold prose-h1:mb-6 prose-h2:text-3xl prose-h2:font-bold prose-h2:mt-12 prose-h2:mb-4 prose-h3:text-2xl prose-h3:font-semibold prose-h3:mt-8 prose-h3:mb-3 prose-p:text-gray-700 prose-p:leading-relaxed prose-p:mb-6 prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-strong:text-gray-900 prose-strong:font-semibold prose-code:text-primary prose-code:bg-gray-100 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-pre:bg-gray-900 prose-pre:text-gray-100 prose-ul:my-6 prose-ul:list-disc prose-ul:pl-6 prose-ol:my-6 prose-ol:list-decimal prose-ol:pl-6 prose-li:text-gray-700 prose-li:mb-2 prose-blockquote:border-l-4 prose-blockquote:border-primary prose-blockquote:pl-4 prose-blockquote:italic prose-table:w-full prose-table:border-collapse prose-th:bg-gray-100 prose-th:p-3 prose-th:text-left prose-th:font-semibold prose-td:p-3 prose-td:border-t prose-td:border-gray-200 \",\"children\":[\"$\",\"$L1b\",null,{\"content\":\"$1c\"}]}],\"$L1d\"]}],\"$L1e\"]}]]}]\n"])</script><script>self.__next_f.push([1,"1d:[\"$\",\"div\",null,{\"className\":\"mt-12 pt-8 border-t border-gray-200\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-gray-900 mb-3\",\"children\":\"Tags\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-2\",\"children\":[[\"$\",\"span\",\"ossa\",{\"className\":\"px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full\",\"children\":\"ossa\"}],[\"$\",\"span\",\"architecture\",{\"className\":\"px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full\",\"children\":\"architecture\"}],[\"$\",\"span\",\"framework\",{\"className\":\"px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full\",\"children\":\"framework\"}],[\"$\",\"span\",\"compliance\",{\"className\":\"px-3 py-1 bg-blue-100 text-primary text-sm font-medium rounded-full\",\"children\":\"compliance\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"div\",null,{\"className\":\"mt-12 text-center\",\"children\":[\"$\",\"$L10\",null,{\"href\":\"/blog\",\"className\":\"inline-flex items-center px-6 py-3 bg-primary text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors\",\"children\":[[\"$\",\"svg\",null,{\"className\":\"h-5 w-5 mr-2\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":2,\"d\":\"M15 19l-7-7 7-7\"}]}],\"Back to All Posts\"]}]}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n13:null\n"])</script><script>self.__next_f.push([1,"15:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Open Standard Agents - Industry Standard for Agent Orchestration\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"The vendor-neutral specification for multi-agent systems. Write once, deploy anywhere. Zero vendor lock-in.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"OSSA Standards Team\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"OSSA,AI Agents,OpenAPI,Standard,Specification,AI,Machine Learning,Agent Framework\"}],[\"$\",\"meta\",\"4\",{\"name\":\"creator\",\"content\":\"OSSA Standards Team\"}],[\"$\",\"meta\",\"5\",{\"name\":\"publisher\",\"content\":\"OSSA Standards Team\"}],[\"$\",\"meta\",\"6\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"7\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"link\",\"8\",{\"rel\":\"canonical\",\"href\":\"https://openstandardagents.org/\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:title\",\"content\":\"Open Standard Agents - Industry Standard for Agent Orchestration\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:description\",\"content\":\"The vendor-neutral specification for multi-agent systems. Write once, deploy anywhere.\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:site_name\",\"content\":\"Open Standard Agents\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image\",\"content\":\"https://openstandardagents.org/og-image.png\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:alt\",\"content\":\"OSSA - Open Standard for Scalable AI Agents\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:creator\",\"content\":\"@openstandardagents\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:title\",\"content\":\"Open Standard Agents - Industry Standard for Agent Orchestration\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:description\",\"content\":\"The vendor-neutral specification for multi-agent systems\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image\",\"content\":\"https://openstandardagents.org/og-image.png\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"24\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"25\",{\"name\":\"twitter:image:alt\",\"content\":\"OSSA - Open Standard for Scalable AI Agents\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"1a:\"$15:metadata\"\n"])</script></body></html>
|