@bluefly/openstandardagents 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +41 -0
- package/.eslintrc.cjs +43 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
- package/.github/dependabot.yml +58 -0
- package/.github/workflows/ci.yml +154 -0
- package/.github/workflows/codeql.yml +41 -0
- package/.github/workflows/dependabot-auto-merge.yml +28 -0
- package/.github/workflows/release.yml +103 -0
- package/.prettierignore +7 -0
- package/.prettierrc.json +10 -0
- package/.redocly.yaml +9 -0
- package/.releaserc.json +84 -0
- package/.releaserc.json.disabled +81 -0
- package/CHANGELOG.md +152 -0
- package/CONTRIBUTING.md +249 -0
- package/LICENSE +190 -0
- package/README.md +280 -0
- package/bin/ossa +8 -0
- package/bin/validate-ossa-0.2.2.ts +244 -0
- package/dist/di-container.d.ts +18 -0
- package/dist/di-container.d.ts.map +1 -0
- package/dist/di-container.js +43 -0
- package/dist/di-container.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/repositories/manifest.repository.d.ts +26 -0
- package/dist/repositories/manifest.repository.d.ts.map +1 -0
- package/dist/repositories/manifest.repository.js +90 -0
- package/dist/repositories/manifest.repository.js.map +1 -0
- package/dist/repositories/schema.repository.d.ts +30 -0
- package/dist/repositories/schema.repository.d.ts.map +1 -0
- package/dist/repositories/schema.repository.js +143 -0
- package/dist/repositories/schema.repository.js.map +1 -0
- package/dist/services/generation.service.d.ts +54 -0
- package/dist/services/generation.service.d.ts.map +1 -0
- package/dist/services/generation.service.js +298 -0
- package/dist/services/generation.service.js.map +1 -0
- package/dist/services/migration.service.d.ts +30 -0
- package/dist/services/migration.service.d.ts.map +1 -0
- package/dist/services/migration.service.js +231 -0
- package/dist/services/migration.service.js.map +1 -0
- package/dist/services/runtime/openai.adapter.d.ts +94 -0
- package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
- package/dist/services/runtime/openai.adapter.js +209 -0
- package/dist/services/runtime/openai.adapter.js.map +1 -0
- package/dist/services/validation.service.d.ts +45 -0
- package/dist/services/validation.service.d.ts.map +1 -0
- package/dist/services/validation.service.js +362 -0
- package/dist/services/validation.service.js.map +1 -0
- package/dist/services/validators/anthropic.validator.d.ts +9 -0
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
- package/dist/services/validators/anthropic.validator.js +105 -0
- package/dist/services/validators/anthropic.validator.js.map +1 -0
- package/dist/services/validators/autogen.validator.d.ts +9 -0
- package/dist/services/validators/autogen.validator.d.ts.map +1 -0
- package/dist/services/validators/autogen.validator.js +111 -0
- package/dist/services/validators/autogen.validator.js.map +1 -0
- package/dist/services/validators/crewai.validator.d.ts +9 -0
- package/dist/services/validators/crewai.validator.d.ts.map +1 -0
- package/dist/services/validators/crewai.validator.js +117 -0
- package/dist/services/validators/crewai.validator.js.map +1 -0
- package/dist/services/validators/cursor.validator.d.ts +9 -0
- package/dist/services/validators/cursor.validator.d.ts.map +1 -0
- package/dist/services/validators/cursor.validator.js +88 -0
- package/dist/services/validators/cursor.validator.js.map +1 -0
- package/dist/services/validators/index.d.ts +15 -0
- package/dist/services/validators/index.d.ts.map +1 -0
- package/dist/services/validators/index.js +15 -0
- package/dist/services/validators/index.js.map +1 -0
- package/dist/services/validators/langchain.validator.d.ts +9 -0
- package/dist/services/validators/langchain.validator.d.ts.map +1 -0
- package/dist/services/validators/langchain.validator.js +103 -0
- package/dist/services/validators/langchain.validator.js.map +1 -0
- package/dist/services/validators/langflow.validator.d.ts +9 -0
- package/dist/services/validators/langflow.validator.d.ts.map +1 -0
- package/dist/services/validators/langflow.validator.js +92 -0
- package/dist/services/validators/langflow.validator.js.map +1 -0
- package/dist/services/validators/langgraph.validator.d.ts +9 -0
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
- package/dist/services/validators/langgraph.validator.js +123 -0
- package/dist/services/validators/langgraph.validator.js.map +1 -0
- package/dist/services/validators/llamaindex.validator.d.ts +9 -0
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
- package/dist/services/validators/llamaindex.validator.js +121 -0
- package/dist/services/validators/llamaindex.validator.js.map +1 -0
- package/dist/services/validators/openai.validator.d.ts +9 -0
- package/dist/services/validators/openai.validator.d.ts.map +1 -0
- package/dist/services/validators/openai.validator.js +126 -0
- package/dist/services/validators/openai.validator.js.map +1 -0
- package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
- package/dist/services/validators/vercel-ai.validator.js +99 -0
- package/dist/services/validators/vercel-ai.validator.js.map +1 -0
- package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
- package/dist/spec/v0.2.3/README.md +154 -0
- package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/dist/types/index.d.ts +178 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/openapi-extensions.d.ts +164 -0
- package/dist/types/openapi-extensions.d.ts.map +1 -0
- package/dist/types/openapi-extensions.js +6 -0
- package/dist/types/openapi-extensions.js.map +1 -0
- package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
- package/docs/README.md +31 -0
- package/docs/VERSIONING.md +284 -0
- package/docs/agent-openapi-spec.yml +942 -0
- package/docs/getting-started.md +87 -0
- package/docs/migration/general-agent-schema.yml +255 -0
- package/docs/migration/migration-manifest.json +64 -0
- package/docs/openapi-extensions.md +930 -0
- package/docs/schemas/openapi-extensions.schema.json +486 -0
- package/examples/adk-integration/code-review-workflow.yml +136 -0
- package/examples/adk-integration/customer-support.yml +263 -0
- package/examples/adk-integration/data-pipeline.yml +173 -0
- package/examples/advanced/patterns/compliance-context-production.json +53 -0
- package/examples/advanced/patterns/model-router.ts +274 -0
- package/examples/advanced/patterns/smart-model-routing.ts +248 -0
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
- package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
- package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
- package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
- package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
- package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
- package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
- package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
- package/examples/anthropic/claude-assistant.ossa.json +45 -0
- package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
- package/examples/autogen/multi-agent.ossa.json +37 -0
- package/examples/bridge-configurations.yaml +346 -0
- package/examples/bridges/Dockerfile.production +87 -0
- package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
- package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
- package/examples/bridges/aiflow-bridge-example.yml +310 -0
- package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
- package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
- package/examples/bridges/k8s/configmap.yaml +121 -0
- package/examples/bridges/k8s/deployment-simple.yaml +34 -0
- package/examples/bridges/k8s/deployment.yaml +275 -0
- package/examples/bridges/k8s/hpa.yaml +126 -0
- package/examples/bridges/k8s/ingress.yaml +155 -0
- package/examples/bridges/kagent-bridge-example.yml +94 -0
- package/examples/bridges/load-tests/Dockerfile +28 -0
- package/examples/bridges/load-tests/k6-load-test.js +302 -0
- package/examples/bridges/load-tests/requirements.txt +20 -0
- package/examples/bridges/loadtest/k6-scenarios.js +270 -0
- package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
- package/examples/bridges/phase4/chaos-tests.yaml +226 -0
- package/examples/bridges/requirements.txt +24 -0
- package/examples/bridges/test_aiflow_integration.py +341 -0
- package/examples/common_npm/agent-router.ossa.yaml +182 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
- package/examples/compliance-agent.yml +155 -0
- package/examples/crewai/research-team.ossa.json +36 -0
- package/examples/cursor/code-review-agent.ossa.json +47 -0
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
- package/examples/enterprise/agent.yml +452 -0
- package/examples/extensions/drupal-v1.yml +266 -0
- package/examples/extensions/kagent-v1.yml +167 -0
- package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
- package/examples/kagent/README.md +31 -0
- package/examples/kagent/compliance-validator.ossa.yaml +111 -0
- package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
- package/examples/kagent/documentation-agent.ossa.yaml +91 -0
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
- package/examples/kagent/security-scanner.ossa.yaml +140 -0
- package/examples/langchain/chain-agent.ossa.json +42 -0
- package/examples/langflow/workflow-agent.ossa.json +39 -0
- package/examples/langgraph/state-machine-agent.ossa.json +59 -0
- package/examples/llamaindex/rag-agent.ossa.json +41 -0
- package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
- package/examples/minimal/agent.yml +152 -0
- package/examples/minimal/openapi.yaml +95 -0
- package/examples/openai/swarm-agent.ossa.json +59 -0
- package/examples/openapi-extensions/README.md +87 -0
- package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
- package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
- package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
- package/examples/production/agent.yml +713 -0
- package/examples/production/document-analyzer-openai.yml +134 -0
- package/examples/quickstart/support-agent.ossa.yaml +59 -0
- package/examples/service-registry-usage.ts +423 -0
- package/examples/spec-examples/audit-agent.yml +147 -0
- package/examples/spec-examples/chat-agent.yml +189 -0
- package/examples/spec-examples/compliance-agent.yml +204 -0
- package/examples/spec-examples/data-processing-agent.yml +132 -0
- package/examples/spec-examples/development-agent.yml +138 -0
- package/examples/spec-examples/edge-agent.yml +101 -0
- package/examples/spec-examples/integration-agent.yml +129 -0
- package/examples/spec-examples/monitoring-agent.yml +130 -0
- package/examples/spec-examples/serverless-agent.yml +82 -0
- package/examples/spec-examples/workflow-agent.yml +223 -0
- package/examples/templates/ossa-compliance.yaml +56 -0
- package/examples/typescript/advanced/demo-registry.ts +168 -0
- package/examples/typescript/mcpb-agent-example.ts +358 -0
- package/examples/vercel/edge-agent.ossa.json +43 -0
- package/infrastructure/docker-compose.yml +33 -0
- package/junit.xml +1 -0
- package/openapi/drupal-agent-api.openapi.yaml +348 -0
- package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
- package/openapi/helm-generator.openapi.yaml +389 -0
- package/openapi/ossa-core-api.openapi.yaml +1448 -0
- package/openapi/ossa-registry-api.openapi.yaml +980 -0
- package/openapi/ossa-registry.openapi.yaml +782 -0
- package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
- package/openapi/unified-agent-gateway.openapi.yaml +833 -0
- package/ossa-website-swarm-tasks.json +105 -0
- package/package.json +132 -0
- package/release.config.js +64 -0
- package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
- package/spec/v0.1.9/ecosystem-compliance.json +235 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
- package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
- package/spec/v0.1.9/reasoning-compliance.json +654 -0
- package/spec/v0.2.2/kagent-enhancements.json +395 -0
- package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
- package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
- package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
- package/spec/v0.2.3/CHANGELOG.md +176 -0
- package/spec/v0.2.3/README.md +154 -0
- package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
- package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
- package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
- package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
- package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
- package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
- package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
- package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
- package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
- package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
- package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
- package/test-results.xml +1 -0
- package/website/.lighthouserc.js +20 -0
- package/website/.prettierrc +10 -0
- package/website/Dockerfile +17 -0
- package/website/app/about/page.tsx +295 -0
- package/website/app/api/validate/route.ts +88 -0
- package/website/app/blog/[slug]/page.tsx +167 -0
- package/website/app/blog/page.tsx +162 -0
- package/website/app/docs/[[...slug]]/page.tsx +349 -0
- package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
- package/website/app/ecosystem/page.tsx +375 -0
- package/website/app/examples/page.tsx +123 -0
- package/website/app/globals.css +108 -0
- package/website/app/layout.tsx +106 -0
- package/website/app/page.tsx +409 -0
- package/website/app/playground/page.tsx +507 -0
- package/website/app/robots.ts +19 -0
- package/website/app/rss.xml/route.ts +74 -0
- package/website/app/schema/page.tsx +970 -0
- package/website/app/sitemap.ts +56 -0
- package/website/app/specification/page.tsx +211 -0
- package/website/components/InstallCommand.tsx +96 -0
- package/website/components/Logo.tsx +24 -0
- package/website/components/StructuredData.tsx +65 -0
- package/website/components/docs/DocsSearch.tsx +104 -0
- package/website/components/docs/DocsSidebar.tsx +118 -0
- package/website/components/docs/MarkdownContent.tsx +183 -0
- package/website/components/docs/VersionSelector.tsx +49 -0
- package/website/components/examples/ExamplesViewer.tsx +293 -0
- package/website/components/layout/Footer.tsx +111 -0
- package/website/components/layout/Header.tsx +170 -0
- package/website/components/schema/SchemaExplorer.tsx +213 -0
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
- package/website/content/blog/introducing-ossa-framework.md +328 -0
- package/website/content/blog/ossa-production-results.md +279 -0
- package/website/content/blog/welcome-to-ossa.md +43 -0
- package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
- package/website/content/docs/00-HOME.md +160 -0
- package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
- package/website/content/docs/OpenAPI-Extensions.md +498 -0
- package/website/content/docs/architecture/execution-flow.md +335 -0
- package/website/content/docs/architecture/multi-agent-systems.md +737 -0
- package/website/content/docs/architecture/overview.md +121 -0
- package/website/content/docs/architecture/stack-integration.md +461 -0
- package/website/content/docs/changelog.md +246 -0
- package/website/content/docs/contributing.md +599 -0
- package/website/content/docs/core-concepts/project-structure.md +348 -0
- package/website/content/docs/ecosystem/framework-support.md +821 -0
- package/website/content/docs/ecosystem/overview.md +366 -0
- package/website/content/docs/examples/Migration-Guides.md +214 -0
- package/website/content/docs/examples.md +71 -0
- package/website/content/docs/for-audiences/Enterprises.md +256 -0
- package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
- package/website/content/docs/for-audiences/architects.md +224 -0
- package/website/content/docs/for-audiences/developers.md +220 -0
- package/website/content/docs/getting-started/5-minute-overview.md +85 -0
- package/website/content/docs/getting-started/Hello-World.md +184 -0
- package/website/content/docs/getting-started/first-agent.md +196 -0
- package/website/content/docs/getting-started/installation.md +155 -0
- package/website/content/docs/getting-started/running-agents.md +107 -0
- package/website/content/docs/integrations/aiflow.md +104 -0
- package/website/content/docs/integrations/drupal.md +105 -0
- package/website/content/docs/migration-guides/00-index.md +76 -0
- package/website/content/docs/migration-guides/README.md +133 -0
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
- package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
- package/website/content/docs/migration-guides/index.md +133 -0
- package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
- package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
- package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
- package/website/content/docs/openapi-extensions/examples.md +550 -0
- package/website/content/docs/openapi-extensions/index.md +495 -0
- package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
- package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
- package/website/content/docs/pre-release/index.md +175 -0
- package/website/content/docs/quick-reference.md +17 -0
- package/website/content/docs/schema-reference/agent-spec.md +406 -0
- package/website/content/docs/schema-reference/autonomy.md +568 -0
- package/website/content/docs/schema-reference/constraints.md +543 -0
- package/website/content/docs/schema-reference/index.md +176 -0
- package/website/content/docs/schema-reference/llm-config.md +445 -0
- package/website/content/docs/schema-reference/observability.md +654 -0
- package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
- package/website/content/docs/schema-reference/taxonomy.md +509 -0
- package/website/content/docs/schema-reference/tools.md +628 -0
- package/website/content/docs/templates/blog-post.md +43 -0
- package/website/content/docs/use-cases/00-index.md +395 -0
- package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
- package/website/content/docs/use-cases/customer-support.md +1234 -0
- package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
- package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
- package/website/lib/version.ts +18 -0
- package/website/next.config.js +17 -0
- package/website/next.config.ts +16 -0
- package/website/nginx.conf +32 -0
- package/website/package-lock.json +9145 -0
- package/website/package.json +53 -0
- package/website/postcss.config.js +7 -0
- package/website/postcss.config.mjs +9 -0
- package/website/scripts/sync-version.js +44 -0
- package/website/scripts/sync-wiki.ts +261 -0
- package/website/tailwind.config.js +58 -0
- package/website/tailwind.config.ts +65 -0
package/README.md
ADDED
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# OSSA - Open Standard for Scalable AI Agents
|
|
2
|
+
|
|
3
|
+
**The OpenAPI for AI Agents**
|
|
4
|
+
|
|
5
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
6
|
+
[](https://www.npmjs.com/package/@bluefly/open-standards-scalable-agents)
|
|
7
|
+
[](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)
|
|
8
|
+
[](https://github.com/BlueflyCollective/OSSA)
|
|
9
|
+
[](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What is OSSA?
|
|
14
|
+
|
|
15
|
+
**OSSA: Open Standard for Scalable AI Agents** - The definitive open standard for defining and connecting AI agents.
|
|
16
|
+
|
|
17
|
+
Just as OpenAPI standardized REST APIs, OSSA standardizes AI agent interaction, enabling vendor-neutral interoperability across frameworks. OSSA provides a unified schema for AI agents to communicate, ensuring compatibility across frameworks and enhancing trust in autonomous systems.
|
|
18
|
+
|
|
19
|
+
**OSSA is NOT a framework** - it's a standard that defines the contract. Implementations provide the functionality.
|
|
20
|
+
|
|
21
|
+
**Key Qualities:**
|
|
22
|
+
- ✅ **Vendor-Neutral** - Community-driven, not controlled by any single company
|
|
23
|
+
- ✅ **Interoperable** - Common language enabling diverse AI agents to work together
|
|
24
|
+
- ✅ **Trustworthy** - Built with compliance and security in mind
|
|
25
|
+
- ✅ **Open** - Collaborative effort for the "Internet of Agents"
|
|
26
|
+
|
|
27
|
+
| Component | Role | Comparable To |
|
|
28
|
+
|-----------|------|---------------|
|
|
29
|
+
| OSSA Specification | Standard definition | OpenAPI Specification |
|
|
30
|
+
| OSSA CLI | Validation & generation | OpenAPI Generator (minimal) |
|
|
31
|
+
| agent-buildkit | Reference implementation | Kong API Gateway |
|
|
32
|
+
| OSSA Registry | Agent distribution | npm Registry |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Core Principles
|
|
37
|
+
|
|
38
|
+
1. **Specification-Driven** - OSSA defines the standard
|
|
39
|
+
2. **Implementation-Agnostic** - Any runtime can implement it
|
|
40
|
+
3. **Minimal Tooling** - Basic CLI for validation & generation
|
|
41
|
+
4. **No Vendor Lock-in** - Deploy to any infrastructure
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Quick Start
|
|
46
|
+
|
|
47
|
+
### Installation
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install -g @bluefly/open-standards-scalable-agents
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Create Agent
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
ossa generate worker --name "My Agent" --id my-agent
|
|
57
|
+
# Creates agent.ossa.yaml
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Validate
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
ossa validate agent.yml
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Deploy
|
|
67
|
+
|
|
68
|
+
Deploy to **YOUR** infrastructure:
|
|
69
|
+
- AWS, GCP, Azure
|
|
70
|
+
- Kubernetes, Docker
|
|
71
|
+
- On-premise
|
|
72
|
+
- Serverless
|
|
73
|
+
|
|
74
|
+
OSSA doesn't care - it's just a standard.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## OSSA CLI (Minimal Tooling)
|
|
79
|
+
|
|
80
|
+
The OSSA CLI provides basic tooling:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
ossa validate <path> # Validate against OSSA schema
|
|
84
|
+
ossa generate <type> # Generate agent from template (chat, workflow, compliance, etc.)
|
|
85
|
+
ossa migrate <source> # Migrate v0.1.9 → v0.2.2
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**What OSSA CLI does:**
|
|
89
|
+
- ✅ Validate agent manifests
|
|
90
|
+
- ✅ Generate project scaffolding
|
|
91
|
+
- ✅ Provide templates
|
|
92
|
+
|
|
93
|
+
**What OSSA CLI does NOT do:**
|
|
94
|
+
- ❌ Runtime orchestration
|
|
95
|
+
- ❌ Deployment
|
|
96
|
+
- ❌ Production monitoring
|
|
97
|
+
- ❌ Infrastructure management
|
|
98
|
+
|
|
99
|
+
For production features, see [Agent Buildkit](https://gitlab.bluefly.io/llm/npm/agent-buildkit).
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Specification
|
|
104
|
+
|
|
105
|
+
OSSA v0.2.3 Schema: [`spec/v0.2.2/ossa-0.2.2.schema.json`](spec/v0.2.2/ossa-0.2.2.schema.json)
|
|
106
|
+
|
|
107
|
+
### Required Fields
|
|
108
|
+
|
|
109
|
+
```yaml
|
|
110
|
+
ossaVersion: "0.2.3"
|
|
111
|
+
|
|
112
|
+
agent:
|
|
113
|
+
id: my-agent # DNS-1123 format
|
|
114
|
+
name: My Agent # Human-readable
|
|
115
|
+
version: "1.0.0" # Semantic version
|
|
116
|
+
role: worker # Agent role
|
|
117
|
+
|
|
118
|
+
runtime:
|
|
119
|
+
type: k8s # Runtime type
|
|
120
|
+
|
|
121
|
+
capabilities: # At least one capability
|
|
122
|
+
- name: process_data
|
|
123
|
+
description: Process data
|
|
124
|
+
input_schema: { ... }
|
|
125
|
+
output_schema: { ... }
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Full schema documentation: [`docs/specification/`](docs/specification/)
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Examples
|
|
133
|
+
|
|
134
|
+
Reference implementations: [`examples/`](examples/)
|
|
135
|
+
|
|
136
|
+
- `compliance-agent.yml` - FedRAMP compliance
|
|
137
|
+
- `chat-agent.yml` - Conversation agent
|
|
138
|
+
- `workflow-agent.yml` - Workflow orchestration
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## OSSA Ecosystem
|
|
143
|
+
|
|
144
|
+
### Core Products
|
|
145
|
+
|
|
146
|
+
**OSSA** (This Repository) - The specification standard
|
|
147
|
+
- JSON Schema specification
|
|
148
|
+
- CLI for validation & generation
|
|
149
|
+
- Reference implementations
|
|
150
|
+
- Documentation
|
|
151
|
+
|
|
152
|
+
**Agent Buildkit** - CLI tool for building and managing OSSA-compliant agents
|
|
153
|
+
- Modern, fast, minimal CLI
|
|
154
|
+
- GitLab integration
|
|
155
|
+
- Kubernetes deployment
|
|
156
|
+
- Production monitoring
|
|
157
|
+
- [Learn more →](https://gitlab.bluefly.io/llm/npm/agent-buildkit)
|
|
158
|
+
|
|
159
|
+
**Agent Studio** - GUI platform for agent orchestration
|
|
160
|
+
- macOS-aligned design
|
|
161
|
+
- Visual workflow design
|
|
162
|
+
- Agent monitoring and debugging
|
|
163
|
+
- End-to-end agent lifecycle management
|
|
164
|
+
- [Learn more →](https://gitlab.bluefly.io/llm/demos/llm-platform-demo)
|
|
165
|
+
|
|
166
|
+
### Part of the OSSA Ecosystem
|
|
167
|
+
|
|
168
|
+
All three products work together:
|
|
169
|
+
- **OSSA** defines the standard
|
|
170
|
+
- **Agent Buildkit** provides CLI tooling
|
|
171
|
+
- **Agent Studio** offers visual management
|
|
172
|
+
|
|
173
|
+
Together, they form a complete ecosystem for AI agent development, deployment, and management.
|
|
174
|
+
|
|
175
|
+
**Others welcome** - OSSA is an open standard, anyone can implement it.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Why OSSA?
|
|
180
|
+
|
|
181
|
+
### For Enterprises
|
|
182
|
+
|
|
183
|
+
✅ **Lightweight** - Just a standard, minimal dependencies
|
|
184
|
+
✅ **No Vendor Lock-in** - Use any implementation
|
|
185
|
+
✅ **Deploy Anywhere** - Your infrastructure, your choice
|
|
186
|
+
✅ **Clear Specification** - Well-defined contract
|
|
187
|
+
|
|
188
|
+
### For Framework Builders
|
|
189
|
+
|
|
190
|
+
✅ **Standard to Build On** - Like OpenAPI for APIs
|
|
191
|
+
✅ **Reference Implementation** - Agent Buildkit shows the way
|
|
192
|
+
✅ **Clear Boundaries** - Standard vs. implementation
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Installation & Usage
|
|
197
|
+
|
|
198
|
+
### As a Standard (Validation Only)
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
npm install -g @bluefly/open-standards-scalable-agents
|
|
202
|
+
ossa validate my-agent.yml
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### With Production Features
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
npm install -g @bluefly/agent-buildkit
|
|
209
|
+
buildkit ossa validate my-agent.yml # Uses OSSA + adds features
|
|
210
|
+
buildkit ossa sync-docs # GitLab integration
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Documentation
|
|
216
|
+
|
|
217
|
+
### Official Website & Documentation Portal
|
|
218
|
+
|
|
219
|
+
**Live Website**: https://ossa.ai (or your deployment URL)
|
|
220
|
+
|
|
221
|
+
The OSSA website features:
|
|
222
|
+
- **Interactive Documentation** - Browse the complete OSSA wiki with an enhanced UI
|
|
223
|
+
- **GitLab Wiki Integration** - Automatically synced from the official GitLab wiki
|
|
224
|
+
- **Interactive Examples** - Explore OSSA manifests with live validation and URL tracking
|
|
225
|
+
- **Schema Validator** - Validate your OSSA manifests in the browser
|
|
226
|
+
- **Migration Guides** - Step-by-step guides from 6 major frameworks
|
|
227
|
+
- **Responsive Design** - Beautiful, accessible UI built with Next.js 15 and Tailwind CSS
|
|
228
|
+
|
|
229
|
+
The documentation is organized into:
|
|
230
|
+
- **Getting Started** - Quick start guides, installation, and first agent creation
|
|
231
|
+
- **Core Concepts** - OSSA specification, agent types, capabilities, and runtime models
|
|
232
|
+
- **Advanced Topics** - Security, deployment, monitoring, and scaling
|
|
233
|
+
- **For Your Role** - Tailored guides for developers, architects, enterprises, and researchers
|
|
234
|
+
- **Migration Guides** - From LangChain, MCP, OpenAI Swarm, CrewAI, Langflow, and Drupal ECA
|
|
235
|
+
- **Reference** - Complete schema, CLI, and OpenAPI extension reference
|
|
236
|
+
|
|
237
|
+
### Additional Resources
|
|
238
|
+
|
|
239
|
+
- **Specification**: [spec/v0.2.2/ossa-0.2.2.schema.json](spec/v0.2.2/ossa-0.2.2.schema.json)
|
|
240
|
+
- **Examples**: [examples/](examples/)
|
|
241
|
+
- **API Reference**: [docs/](docs/)
|
|
242
|
+
- **GitLab Wiki**: https://gitlab.bluefly.io/llm/ossa/-/wikis/home
|
|
243
|
+
- **Issue Tracker**: https://gitlab.bluefly.io/llm/ossa/-/issues
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Contributing
|
|
248
|
+
|
|
249
|
+
OSSA is an open standard. Contributions welcome.
|
|
250
|
+
|
|
251
|
+
**Primary Repository**: [GitLab](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)
|
|
252
|
+
**GitHub Mirror**: [GitHub](https://github.com/BlueflyCollective/OSSA) (read-only, automatically synced)
|
|
253
|
+
|
|
254
|
+
1. Fork the repository (GitLab preferred)
|
|
255
|
+
2. Create feature branch
|
|
256
|
+
3. Submit merge request
|
|
257
|
+
|
|
258
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
259
|
+
|
|
260
|
+
> **Note**: This repository is automatically mirrored from GitLab to GitHub. The GitHub repository is read-only. All development happens on GitLab. See [GitHub Mirror Setup Guide](docs/GITHUB-MIRROR-SETUP.md) for details.
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## License
|
|
265
|
+
|
|
266
|
+
Apache 2.0 - see [LICENSE](LICENSE) for details.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## Part of the OSSA Ecosystem
|
|
271
|
+
|
|
272
|
+
OSSA is part of a unified ecosystem for AI agent development:
|
|
273
|
+
|
|
274
|
+
- **[OSSA](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)** - The open standard (this repository)
|
|
275
|
+
- **[Agent Buildkit](https://gitlab.bluefly.io/llm/npm/agent-buildkit)** - CLI for building and managing agents
|
|
276
|
+
- **[Agent Studio](https://gitlab.bluefly.io/llm/demos/llm-platform-demo)** - GUI platform for agent orchestration
|
|
277
|
+
|
|
278
|
+
**OSSA: Open. Interoperable. Trustworthy.**
|
|
279
|
+
|
|
280
|
+
*The open standard for interoperable AI agents.*
|
package/bin/ossa
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* OSSA 0.2.2 Validation Tool
|
|
4
|
+
* Validates power-suite modules' ossa.yaml files against OSSA 0.2.2 schema
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { readFileSync } from 'fs';
|
|
8
|
+
import { resolve, dirname } from 'path';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
import { parse as parseYaml } from 'yaml';
|
|
11
|
+
import Ajv from 'ajv';
|
|
12
|
+
import addFormats from 'ajv-formats';
|
|
13
|
+
import chalk from 'chalk';
|
|
14
|
+
|
|
15
|
+
// ES module __dirname equivalent
|
|
16
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
17
|
+
const __dirname = dirname(__filename);
|
|
18
|
+
|
|
19
|
+
// Load OSSA 0.2.2 schema
|
|
20
|
+
const schemaPath = resolve(__dirname, '../spec/v0.2.2/ossa-0.2.2.schema.json');
|
|
21
|
+
const schema = JSON.parse(readFileSync(schemaPath, 'utf-8'));
|
|
22
|
+
|
|
23
|
+
// Initialize AJV validator
|
|
24
|
+
const ajv = new Ajv({
|
|
25
|
+
allErrors: true,
|
|
26
|
+
strict: false,
|
|
27
|
+
validateFormats: true,
|
|
28
|
+
verbose: true,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
addFormats(ajv);
|
|
32
|
+
|
|
33
|
+
// Note: The power-suite ossa.yaml files use a different format (project config)
|
|
34
|
+
// than full agent manifests. This validator checks for OSSA 0.2.2 compliance
|
|
35
|
+
// in the project configuration format.
|
|
36
|
+
|
|
37
|
+
interface PowerSuiteOssaConfig {
|
|
38
|
+
ossa?: {
|
|
39
|
+
version: string;
|
|
40
|
+
project?: {
|
|
41
|
+
name: string;
|
|
42
|
+
type: string;
|
|
43
|
+
version: string;
|
|
44
|
+
description: string;
|
|
45
|
+
};
|
|
46
|
+
metadata?: {
|
|
47
|
+
reasoning?: boolean;
|
|
48
|
+
compliance?: {
|
|
49
|
+
frameworks?: string[];
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
ecosystem?: {
|
|
53
|
+
mesh_enabled?: boolean;
|
|
54
|
+
protocol_enabled?: boolean;
|
|
55
|
+
router_enabled?: boolean;
|
|
56
|
+
tracer_enabled?: boolean;
|
|
57
|
+
brain_enabled?: boolean;
|
|
58
|
+
flows_enabled?: boolean;
|
|
59
|
+
[key: string]: unknown;
|
|
60
|
+
};
|
|
61
|
+
[key: string]: unknown;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Validate OSSA 0.2.2 configuration format
|
|
67
|
+
*/
|
|
68
|
+
function validatePowerSuiteConfig(config: PowerSuiteOssaConfig): {
|
|
69
|
+
valid: boolean;
|
|
70
|
+
errors: string[];
|
|
71
|
+
warnings: string[];
|
|
72
|
+
} {
|
|
73
|
+
const errors: string[] = [];
|
|
74
|
+
const warnings: string[] = [];
|
|
75
|
+
|
|
76
|
+
if (!config.ossa) {
|
|
77
|
+
errors.push('Missing top-level "ossa" key');
|
|
78
|
+
return { valid: false, errors, warnings };
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const { ossa } = config;
|
|
82
|
+
|
|
83
|
+
// Check version
|
|
84
|
+
if (!ossa.version) {
|
|
85
|
+
errors.push('Missing ossa.version');
|
|
86
|
+
} else if (!ossa.version.startsWith('0.2.2')) {
|
|
87
|
+
errors.push(
|
|
88
|
+
`Invalid ossa.version: expected "0.2.2" or "0.2.2.x", got "${ossa.version}"`
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Check project
|
|
93
|
+
if (!ossa.project) {
|
|
94
|
+
warnings.push('Missing ossa.project (recommended for identification)');
|
|
95
|
+
} else {
|
|
96
|
+
if (!ossa.project.name) {
|
|
97
|
+
errors.push('Missing ossa.project.name');
|
|
98
|
+
}
|
|
99
|
+
if (!ossa.project.type) {
|
|
100
|
+
warnings.push('Missing ossa.project.type');
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Check metadata (OSSA 0.2.2 requirement)
|
|
105
|
+
if (!ossa.metadata) {
|
|
106
|
+
warnings.push(
|
|
107
|
+
'Missing ossa.metadata (OSSA 0.2.2 recommends metadata.reasoning)'
|
|
108
|
+
);
|
|
109
|
+
} else {
|
|
110
|
+
if (ossa.metadata.reasoning === undefined) {
|
|
111
|
+
warnings.push(
|
|
112
|
+
'OSSA 0.2.2 recommends metadata.reasoning: true for AI agents'
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
if (!ossa.metadata.compliance?.frameworks) {
|
|
116
|
+
warnings.push(
|
|
117
|
+
'OSSA 0.2.2 recommends metadata.compliance.frameworks array'
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Check ecosystem (power-suite integration)
|
|
123
|
+
if (!ossa.ecosystem) {
|
|
124
|
+
warnings.push(
|
|
125
|
+
'Missing ossa.ecosystem (power-suite integration configuration)'
|
|
126
|
+
);
|
|
127
|
+
} else {
|
|
128
|
+
const ecosystem = ossa.ecosystem;
|
|
129
|
+
const requiredModules = [
|
|
130
|
+
'mesh_enabled',
|
|
131
|
+
'protocol_enabled',
|
|
132
|
+
'router_enabled',
|
|
133
|
+
'tracer_enabled',
|
|
134
|
+
'brain_enabled',
|
|
135
|
+
'flows_enabled',
|
|
136
|
+
];
|
|
137
|
+
|
|
138
|
+
for (const module of requiredModules) {
|
|
139
|
+
if (ecosystem[module] === undefined) {
|
|
140
|
+
warnings.push(
|
|
141
|
+
`Consider setting ossa.ecosystem.${module} for power-suite integration`
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Check compliance standards array
|
|
148
|
+
if (ossa.compliance?.standards) {
|
|
149
|
+
const standards = Array.isArray(ossa.compliance.standards)
|
|
150
|
+
? ossa.compliance.standards
|
|
151
|
+
: Object.values(ossa.compliance.standards);
|
|
152
|
+
|
|
153
|
+
if (!standards.includes('OSSA-0.2.2')) {
|
|
154
|
+
errors.push(
|
|
155
|
+
'compliance.standards must include "OSSA-0.2.2" for v0.2.2 compliance'
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return {
|
|
161
|
+
valid: errors.length === 0,
|
|
162
|
+
errors,
|
|
163
|
+
warnings,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Validate a single ossa.yaml file
|
|
169
|
+
*/
|
|
170
|
+
function validateFile(filePath: string): boolean {
|
|
171
|
+
try {
|
|
172
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
173
|
+
const config = parseYaml(content) as PowerSuiteOssaConfig;
|
|
174
|
+
|
|
175
|
+
console.log(chalk.blue(`\nValidating: ${filePath}`));
|
|
176
|
+
console.log(chalk.gray('─'.repeat(80)));
|
|
177
|
+
|
|
178
|
+
const result = validatePowerSuiteConfig(config);
|
|
179
|
+
|
|
180
|
+
if (result.valid) {
|
|
181
|
+
console.log(chalk.green('✓ Valid OSSA 0.2.2 configuration'));
|
|
182
|
+
} else {
|
|
183
|
+
console.log(chalk.red('✗ Invalid OSSA 0.2.2 configuration'));
|
|
184
|
+
result.errors.forEach((error) => {
|
|
185
|
+
console.log(chalk.red(` ERROR: ${error}`));
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (result.warnings.length > 0) {
|
|
190
|
+
result.warnings.forEach((warning) => {
|
|
191
|
+
console.log(chalk.yellow(` WARNING: ${warning}`));
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
return result.valid;
|
|
196
|
+
} catch (error) {
|
|
197
|
+
console.error(chalk.red(`Failed to validate ${filePath}:`));
|
|
198
|
+
console.error(error);
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Main validation function
|
|
205
|
+
*/
|
|
206
|
+
function main() {
|
|
207
|
+
const args = process.argv.slice(2);
|
|
208
|
+
|
|
209
|
+
if (args.length === 0) {
|
|
210
|
+
console.log(chalk.blue('OSSA 0.2.2 Power-Suite Validation Tool\n'));
|
|
211
|
+
console.log('Usage:');
|
|
212
|
+
console.log(' validate-ossa-0.2.2.ts <file1.yaml> [file2.yaml] ...\n');
|
|
213
|
+
console.log('Or validate all power-suite modules:');
|
|
214
|
+
console.log(
|
|
215
|
+
' find ../common_npm -name "ossa.yaml" -o -path "*/config/ossa.yaml" | xargs validate-ossa-0.2.2.ts'
|
|
216
|
+
);
|
|
217
|
+
process.exit(1);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
let allValid = true;
|
|
221
|
+
for (const filePath of args) {
|
|
222
|
+
const valid = validateFile(resolve(filePath));
|
|
223
|
+
if (!valid) {
|
|
224
|
+
allValid = false;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
console.log(chalk.gray('\n' + '─'.repeat(80)));
|
|
229
|
+
if (allValid) {
|
|
230
|
+
console.log(chalk.green('\n✓ All files are OSSA 0.2.2 compliant'));
|
|
231
|
+
process.exit(0);
|
|
232
|
+
} else {
|
|
233
|
+
console.log(chalk.red('\n✗ Some files failed validation'));
|
|
234
|
+
process.exit(1);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// Run if executed directly
|
|
239
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
240
|
+
main();
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export { validatePowerSuiteConfig, validateFile };
|
|
244
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Injection Container
|
|
3
|
+
* Configure and export the DI container
|
|
4
|
+
*/
|
|
5
|
+
import { Container } from 'inversify';
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
export declare const container: Container;
|
|
8
|
+
/**
|
|
9
|
+
* Get service from container
|
|
10
|
+
* @param serviceIdentifier - Service class or token
|
|
11
|
+
* @returns Service instance
|
|
12
|
+
*/
|
|
13
|
+
export declare function getService<T>(serviceIdentifier: new (...args: any[]) => T): T;
|
|
14
|
+
/**
|
|
15
|
+
* Reset container (useful for testing)
|
|
16
|
+
*/
|
|
17
|
+
export declare function resetContainer(): void;
|
|
18
|
+
//# sourceMappingURL=di-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"di-container.d.ts","sourceRoot":"","sources":["../src/di-container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,kBAAkB,CAAC;AAY1B,eAAO,MAAM,SAAS,WAAkB,CAAC;AAWzC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CASrC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Injection Container
|
|
3
|
+
* Configure and export the DI container
|
|
4
|
+
*/
|
|
5
|
+
import { Container } from 'inversify';
|
|
6
|
+
import 'reflect-metadata';
|
|
7
|
+
// Repositories
|
|
8
|
+
import { ManifestRepository } from './repositories/manifest.repository.js';
|
|
9
|
+
import { SchemaRepository } from './repositories/schema.repository.js';
|
|
10
|
+
// Services
|
|
11
|
+
import { GenerationService } from './services/generation.service.js';
|
|
12
|
+
import { MigrationService } from './services/migration.service.js';
|
|
13
|
+
import { ValidationService } from './services/validation.service.js';
|
|
14
|
+
// Create container
|
|
15
|
+
export const container = new Container();
|
|
16
|
+
// Bind repositories
|
|
17
|
+
container.bind(SchemaRepository).toSelf().inSingletonScope();
|
|
18
|
+
container.bind(ManifestRepository).toSelf().inSingletonScope();
|
|
19
|
+
// Bind services
|
|
20
|
+
container.bind(ValidationService).toSelf();
|
|
21
|
+
container.bind(GenerationService).toSelf();
|
|
22
|
+
container.bind(MigrationService).toSelf();
|
|
23
|
+
/**
|
|
24
|
+
* Get service from container
|
|
25
|
+
* @param serviceIdentifier - Service class or token
|
|
26
|
+
* @returns Service instance
|
|
27
|
+
*/
|
|
28
|
+
export function getService(serviceIdentifier) {
|
|
29
|
+
return container.get(serviceIdentifier);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Reset container (useful for testing)
|
|
33
|
+
*/
|
|
34
|
+
export function resetContainer() {
|
|
35
|
+
container.unbindAll();
|
|
36
|
+
// Rebind all services
|
|
37
|
+
container.bind(SchemaRepository).toSelf().inSingletonScope();
|
|
38
|
+
container.bind(ManifestRepository).toSelf().inSingletonScope();
|
|
39
|
+
container.bind(ValidationService).toSelf();
|
|
40
|
+
container.bind(GenerationService).toSelf();
|
|
41
|
+
container.bind(MigrationService).toSelf();
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=di-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"di-container.js","sourceRoot":"","sources":["../src/di-container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,kBAAkB,CAAC;AAE1B,eAAe;AACf,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,WAAW;AACX,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAEzC,oBAAoB;AACpB,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AAC7D,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;AAE/D,gBAAgB;AAChB,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3C,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAI,iBAA4C;IACxE,OAAO,SAAS,CAAC,GAAG,CAAI,iBAAiB,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,SAAS,CAAC,SAAS,EAAE,CAAC;IAEtB,sBAAsB;IACtB,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OSSA Main Export
|
|
3
|
+
* Export all services, repositories, and types for library usage
|
|
4
|
+
*/
|
|
5
|
+
export * from './types/index.js';
|
|
6
|
+
export * from './types/openapi-extensions.js';
|
|
7
|
+
export { SchemaRepository } from './repositories/schema.repository.js';
|
|
8
|
+
export { ManifestRepository } from './repositories/manifest.repository.js';
|
|
9
|
+
export { ValidationService } from './services/validation.service.js';
|
|
10
|
+
export { GenerationService } from './services/generation.service.js';
|
|
11
|
+
export { MigrationService } from './services/migration.service.js';
|
|
12
|
+
export { container, getService, resetContainer } from './di-container.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OSSA Main Export
|
|
3
|
+
* Export all services, repositories, and types for library usage
|
|
4
|
+
*/
|
|
5
|
+
// Types
|
|
6
|
+
export * from './types/index.js';
|
|
7
|
+
export * from './types/openapi-extensions.js';
|
|
8
|
+
// Repositories
|
|
9
|
+
export { SchemaRepository } from './repositories/schema.repository.js';
|
|
10
|
+
export { ManifestRepository } from './repositories/manifest.repository.js';
|
|
11
|
+
// Services
|
|
12
|
+
export { ValidationService } from './services/validation.service.js';
|
|
13
|
+
export { GenerationService } from './services/generation.service.js';
|
|
14
|
+
export { MigrationService } from './services/migration.service.js';
|
|
15
|
+
// DI Container
|
|
16
|
+
export { container, getService, resetContainer } from './di-container.js';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAE9C,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,WAAW;AACX,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manifest Repository
|
|
3
|
+
* Loads and saves OSSA agent manifests
|
|
4
|
+
*/
|
|
5
|
+
import type { IManifestRepository, OssaAgent } from '../types/index';
|
|
6
|
+
export declare class ManifestRepository implements IManifestRepository {
|
|
7
|
+
/**
|
|
8
|
+
* Load manifest from file
|
|
9
|
+
* @param filePath - Path to manifest file (YAML or JSON)
|
|
10
|
+
* @returns Parsed manifest object
|
|
11
|
+
*/
|
|
12
|
+
load(filePath: string): Promise<unknown>;
|
|
13
|
+
/**
|
|
14
|
+
* Save manifest to file
|
|
15
|
+
* @param filePath - Path to save manifest
|
|
16
|
+
* @param manifest - OSSA agent manifest
|
|
17
|
+
*/
|
|
18
|
+
save(filePath: string, manifest: OssaAgent): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Check if file exists
|
|
21
|
+
* @param filePath - Path to check
|
|
22
|
+
* @returns True if file exists
|
|
23
|
+
*/
|
|
24
|
+
exists(filePath: string): boolean;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=manifest.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/manifest.repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAErE,qBACa,kBAAmB,YAAW,mBAAmB;IAC5D;;;;OAIG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B9C;;;;OAIG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqChE;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGlC"}
|