@bluefly/openstandardagents 0.3.5 → 0.4.0
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/CHANGELOG.md +98 -1
- package/README.md +333 -293
- package/bin/ossa +2 -23
- package/bin/ossa-dev +8 -0
- package/bin/postinstall +3 -2
- package/dist/adapters/base/adapter.interface.d.ts +233 -0
- package/dist/adapters/base/adapter.interface.d.ts.map +1 -0
- package/dist/adapters/base/adapter.interface.js +89 -0
- package/dist/adapters/base/adapter.interface.js.map +1 -0
- package/dist/adapters/crewai/adapter.d.ts +52 -0
- package/dist/adapters/crewai/adapter.d.ts.map +1 -0
- package/dist/adapters/crewai/adapter.js +293 -0
- package/dist/adapters/crewai/adapter.js.map +1 -0
- package/dist/adapters/crewai/converter.d.ts +17 -0
- package/dist/adapters/crewai/converter.d.ts.map +1 -0
- package/dist/adapters/crewai/converter.js +110 -0
- package/dist/adapters/crewai/converter.js.map +1 -0
- package/dist/adapters/crewai/index.d.ts +7 -0
- package/dist/adapters/crewai/index.d.ts.map +1 -0
- package/dist/adapters/crewai/index.js +6 -0
- package/dist/adapters/crewai/index.js.map +1 -0
- package/dist/adapters/crewai/types.d.ts +29 -0
- package/dist/adapters/crewai/types.d.ts.map +1 -0
- package/dist/adapters/crewai/types.js +5 -0
- package/dist/adapters/crewai/types.js.map +1 -0
- package/dist/adapters/docker/generators.d.ts +19 -0
- package/dist/adapters/docker/generators.d.ts.map +1 -0
- package/dist/adapters/docker/generators.js +93 -0
- package/dist/adapters/docker/generators.js.map +1 -0
- package/dist/adapters/docker/index.d.ts +7 -0
- package/dist/adapters/docker/index.d.ts.map +1 -0
- package/dist/adapters/docker/index.js +6 -0
- package/dist/adapters/docker/index.js.map +1 -0
- package/dist/adapters/docker/types.d.ts +17 -0
- package/dist/adapters/docker/types.d.ts.map +1 -0
- package/dist/adapters/docker/types.js +5 -0
- package/dist/adapters/docker/types.js.map +1 -0
- package/dist/adapters/drupal/adapter.d.ts +66 -0
- package/dist/adapters/drupal/adapter.d.ts.map +1 -0
- package/dist/adapters/drupal/adapter.js +465 -0
- package/dist/adapters/drupal/adapter.js.map +1 -0
- package/dist/adapters/gitlab/converter.d.ts +25 -0
- package/dist/adapters/gitlab/converter.d.ts.map +1 -0
- package/dist/adapters/gitlab/converter.js +96 -0
- package/dist/adapters/gitlab/converter.js.map +1 -0
- package/dist/adapters/gitlab/index.d.ts +7 -0
- package/dist/adapters/gitlab/index.d.ts.map +1 -0
- package/dist/adapters/gitlab/index.js +6 -0
- package/dist/adapters/gitlab/index.js.map +1 -0
- package/dist/adapters/gitlab/types.d.ts +22 -0
- package/dist/adapters/gitlab/types.d.ts.map +1 -0
- package/dist/adapters/gitlab/types.js +5 -0
- package/dist/adapters/gitlab/types.js.map +1 -0
- package/dist/adapters/gitlab-duo/adapter.d.ts +67 -0
- package/dist/adapters/gitlab-duo/adapter.d.ts.map +1 -0
- package/dist/adapters/gitlab-duo/adapter.js +330 -0
- package/dist/adapters/gitlab-duo/adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +13 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +34 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/kubernetes/generator.d.ts +29 -0
- package/dist/adapters/kubernetes/generator.d.ts.map +1 -0
- package/dist/adapters/kubernetes/generator.js +133 -0
- package/dist/adapters/kubernetes/generator.js.map +1 -0
- package/dist/adapters/kubernetes/index.d.ts +7 -0
- package/dist/adapters/kubernetes/index.d.ts.map +1 -0
- package/dist/adapters/kubernetes/index.js +6 -0
- package/dist/adapters/kubernetes/index.js.map +1 -0
- package/dist/adapters/kubernetes/types.d.ts +17 -0
- package/dist/adapters/kubernetes/types.d.ts.map +1 -0
- package/dist/adapters/kubernetes/types.js +5 -0
- package/dist/adapters/kubernetes/types.js.map +1 -0
- package/dist/adapters/langchain/adapter.d.ts +49 -0
- package/dist/adapters/langchain/adapter.d.ts.map +1 -0
- package/dist/adapters/langchain/adapter.js +356 -0
- package/dist/adapters/langchain/adapter.js.map +1 -0
- package/dist/adapters/langchain/converter.d.ts +21 -0
- package/dist/adapters/langchain/converter.d.ts.map +1 -0
- package/dist/adapters/langchain/converter.js +143 -0
- package/dist/adapters/langchain/converter.js.map +1 -0
- package/dist/adapters/langchain/index.d.ts +7 -0
- package/dist/adapters/langchain/index.d.ts.map +1 -0
- package/dist/adapters/langchain/index.js +6 -0
- package/dist/adapters/langchain/index.js.map +1 -0
- package/dist/adapters/langchain/types.d.ts +27 -0
- package/dist/adapters/langchain/types.d.ts.map +1 -0
- package/dist/adapters/langchain/types.js +5 -0
- package/dist/adapters/langchain/types.js.map +1 -0
- package/dist/adapters/langfuse.adapter.d.ts +1 -1
- package/dist/adapters/langsmith.adapter.d.ts +1 -1
- package/dist/adapters/mcp/adapter.d.ts +57 -0
- package/dist/adapters/mcp/adapter.d.ts.map +1 -0
- package/dist/adapters/mcp/adapter.js +475 -0
- package/dist/adapters/mcp/adapter.js.map +1 -0
- package/dist/adapters/mcp/converter.d.ts +31 -0
- package/dist/adapters/mcp/converter.d.ts.map +1 -0
- package/dist/adapters/mcp/converter.js +339 -0
- package/dist/adapters/mcp/converter.js.map +1 -0
- package/dist/adapters/n8n/converter.d.ts +17 -0
- package/dist/adapters/n8n/converter.d.ts.map +1 -0
- package/dist/adapters/n8n/converter.js +77 -0
- package/dist/adapters/n8n/converter.js.map +1 -0
- package/dist/adapters/n8n/index.d.ts +7 -0
- package/dist/adapters/n8n/index.d.ts.map +1 -0
- package/dist/adapters/n8n/index.js +6 -0
- package/dist/adapters/n8n/index.js.map +1 -0
- package/dist/adapters/n8n/types.d.ts +23 -0
- package/dist/adapters/n8n/types.d.ts.map +1 -0
- package/dist/adapters/n8n/types.js +5 -0
- package/dist/adapters/n8n/types.js.map +1 -0
- package/dist/adapters/npm/adapter.d.ts +44 -0
- package/dist/adapters/npm/adapter.d.ts.map +1 -0
- package/dist/adapters/npm/adapter.js +337 -0
- package/dist/adapters/npm/adapter.js.map +1 -0
- package/dist/adapters/npm/converter.d.ts +44 -0
- package/dist/adapters/npm/converter.d.ts.map +1 -0
- package/dist/adapters/npm/converter.js +390 -0
- package/dist/adapters/npm/converter.js.map +1 -0
- package/dist/adapters/npm/types.d.ts +116 -0
- package/dist/adapters/npm/types.d.ts.map +1 -0
- package/dist/adapters/npm/types.js +6 -0
- package/dist/adapters/npm/types.js.map +1 -0
- package/dist/adapters/opentelemetry.adapter.d.ts +1 -1
- package/dist/adapters/opentelemetry.adapter.d.ts.map +1 -1
- package/dist/adapters/opentelemetry.adapter.js +3 -0
- package/dist/adapters/opentelemetry.adapter.js.map +1 -1
- package/dist/adapters/phoenix.adapter.d.ts +1 -1
- package/dist/adapters/registry/platform-registry.d.ts +68 -0
- package/dist/adapters/registry/platform-registry.d.ts.map +1 -0
- package/dist/adapters/registry/platform-registry.js +93 -0
- package/dist/adapters/registry/platform-registry.js.map +1 -0
- package/dist/adapters/temporal/converter.d.ts +17 -0
- package/dist/adapters/temporal/converter.d.ts.map +1 -0
- package/dist/adapters/temporal/converter.js +96 -0
- package/dist/adapters/temporal/converter.js.map +1 -0
- package/dist/adapters/temporal/index.d.ts +7 -0
- package/dist/adapters/temporal/index.d.ts.map +1 -0
- package/dist/adapters/temporal/index.js +6 -0
- package/dist/adapters/temporal/index.js.map +1 -0
- package/dist/adapters/temporal/types.d.ts +23 -0
- package/dist/adapters/temporal/types.d.ts.map +1 -0
- package/dist/adapters/temporal/types.js +5 -0
- package/dist/adapters/temporal/types.js.map +1 -0
- package/dist/bot/agent-compliance.js +1 -1
- package/dist/bot/agent-compliance.js.map +1 -1
- package/dist/bot/agent-security_scanner.d.ts +1 -1
- package/dist/bot/agent-security_scanner.d.ts.map +1 -1
- package/dist/bot/agent-security_scanner.js.map +1 -1
- package/dist/cli/commands/agent-create.command.d.ts +18 -0
- package/dist/cli/commands/agent-create.command.d.ts.map +1 -0
- package/dist/cli/commands/agent-create.command.js +437 -0
- package/dist/cli/commands/agent-create.command.js.map +1 -0
- package/dist/cli/commands/agent-wizard.command.d.ts +21 -0
- package/dist/cli/commands/agent-wizard.command.d.ts.map +1 -0
- package/dist/cli/commands/agent-wizard.command.js +1136 -0
- package/dist/cli/commands/agent-wizard.command.js.map +1 -0
- package/dist/cli/commands/agents/delete.command.d.ts +10 -0
- package/dist/cli/commands/agents/delete.command.d.ts.map +1 -0
- package/dist/cli/commands/agents/delete.command.js +105 -0
- package/dist/cli/commands/agents/delete.command.js.map +1 -0
- package/dist/cli/commands/agents/list.command.d.ts +10 -0
- package/dist/cli/commands/agents/list.command.d.ts.map +1 -0
- package/dist/cli/commands/agents/list.command.js +140 -0
- package/dist/cli/commands/agents/list.command.js.map +1 -0
- package/dist/cli/commands/agents/show.command.d.ts +10 -0
- package/dist/cli/commands/agents/show.command.d.ts.map +1 -0
- package/dist/cli/commands/agents/show.command.js +182 -0
- package/dist/cli/commands/agents/show.command.js.map +1 -0
- package/dist/cli/commands/agents-md/batch.command.d.ts +3 -0
- package/dist/cli/commands/agents-md/batch.command.d.ts.map +1 -0
- package/dist/cli/commands/agents-md/batch.command.js +63 -0
- package/dist/cli/commands/agents-md/batch.command.js.map +1 -0
- package/dist/cli/commands/agents-md/generate.command.d.ts +3 -0
- package/dist/cli/commands/agents-md/generate.command.d.ts.map +1 -0
- package/dist/cli/commands/agents-md/generate.command.js +43 -0
- package/dist/cli/commands/agents-md/generate.command.js.map +1 -0
- package/dist/cli/commands/agents-md/list.command.d.ts +3 -0
- package/dist/cli/commands/agents-md/list.command.d.ts.map +1 -0
- package/dist/cli/commands/agents-md/list.command.js +59 -0
- package/dist/cli/commands/agents-md/list.command.js.map +1 -0
- package/dist/cli/commands/agents-md/validate.command.d.ts +3 -0
- package/dist/cli/commands/agents-md/validate.command.d.ts.map +1 -0
- package/dist/cli/commands/agents-md/validate.command.js +42 -0
- package/dist/cli/commands/agents-md/validate.command.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +8 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +251 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/build.command.d.ts +7 -0
- package/dist/cli/commands/build.command.d.ts.map +1 -0
- package/dist/cli/commands/build.command.js +314 -0
- package/dist/cli/commands/build.command.js.map +1 -0
- package/dist/cli/commands/capability/validate.d.ts +3 -0
- package/dist/cli/commands/capability/validate.d.ts.map +1 -0
- package/dist/cli/commands/capability/validate.js +62 -0
- package/dist/cli/commands/capability/validate.js.map +1 -0
- package/dist/cli/commands/deploy.command.d.ts +5 -2
- package/dist/cli/commands/deploy.command.d.ts.map +1 -1
- package/dist/cli/commands/deploy.command.js +50 -154
- package/dist/cli/commands/deploy.command.js.map +1 -1
- package/dist/cli/commands/enhance.command.d.ts +10 -0
- package/dist/cli/commands/enhance.command.d.ts.map +1 -0
- package/dist/cli/commands/enhance.command.js +119 -0
- package/dist/cli/commands/enhance.command.js.map +1 -0
- package/dist/cli/commands/examples.command.d.ts +10 -0
- package/dist/cli/commands/examples.command.d.ts.map +1 -0
- package/dist/cli/commands/examples.command.js +73 -0
- package/dist/cli/commands/examples.command.js.map +1 -0
- package/dist/cli/commands/export-v2.command.d.ts +7 -0
- package/dist/cli/commands/export-v2.command.d.ts.map +1 -0
- package/dist/cli/commands/export-v2.command.js +149 -0
- package/dist/cli/commands/export-v2.command.js.map +1 -0
- package/dist/cli/commands/export.command.d.ts +10 -2
- package/dist/cli/commands/export.command.d.ts.map +1 -1
- package/dist/cli/commands/export.command.js +214 -38
- package/dist/cli/commands/export.command.js.map +1 -1
- package/dist/cli/commands/generate/conformance.d.ts +3 -0
- package/dist/cli/commands/generate/conformance.d.ts.map +1 -0
- package/dist/cli/commands/generate/conformance.js +106 -0
- package/dist/cli/commands/generate/conformance.js.map +1 -0
- package/dist/cli/commands/identity/plan.d.ts +3 -0
- package/dist/cli/commands/identity/plan.d.ts.map +1 -0
- package/dist/cli/commands/identity/plan.js +200 -0
- package/dist/cli/commands/identity/plan.js.map +1 -0
- package/dist/cli/commands/import.command.d.ts.map +1 -1
- package/dist/cli/commands/import.command.js +33 -9
- package/dist/cli/commands/import.command.js.map +1 -1
- package/dist/cli/commands/install.command.d.ts.map +1 -1
- package/dist/cli/commands/install.command.js +29 -32
- package/dist/cli/commands/install.command.js.map +1 -1
- package/dist/cli/commands/knowledge-index.command.d.ts +11 -0
- package/dist/cli/commands/knowledge-index.command.d.ts.map +1 -0
- package/dist/cli/commands/knowledge-index.command.js +111 -0
- package/dist/cli/commands/knowledge-index.command.js.map +1 -0
- package/dist/cli/commands/knowledge-query.command.d.ts +11 -0
- package/dist/cli/commands/knowledge-query.command.d.ts.map +1 -0
- package/dist/cli/commands/knowledge-query.command.js +118 -0
- package/dist/cli/commands/knowledge-query.command.js.map +1 -0
- package/dist/cli/commands/knowledge.command.d.ts +11 -0
- package/dist/cli/commands/knowledge.command.d.ts.map +1 -0
- package/dist/cli/commands/knowledge.command.js +16 -0
- package/dist/cli/commands/knowledge.command.js.map +1 -0
- package/dist/cli/commands/lint.command.d.ts.map +1 -1
- package/dist/cli/commands/lint.command.js +46 -27
- package/dist/cli/commands/lint.command.js.map +1 -1
- package/dist/cli/commands/migrate.command.d.ts +2 -17
- package/dist/cli/commands/migrate.command.d.ts.map +1 -1
- package/dist/cli/commands/migrate.command.js +107 -139
- package/dist/cli/commands/migrate.command.js.map +1 -1
- package/dist/cli/commands/publish.command.d.ts.map +1 -1
- package/dist/cli/commands/publish.command.js +72 -104
- package/dist/cli/commands/publish.command.js.map +1 -1
- package/dist/cli/commands/quickstart.command.d.ts.map +1 -1
- package/dist/cli/commands/quickstart.command.js +7 -3
- package/dist/cli/commands/quickstart.command.js.map +1 -1
- package/dist/cli/commands/release.command.d.ts +10 -0
- package/dist/cli/commands/release.command.d.ts.map +1 -0
- package/dist/cli/commands/release.command.js +73 -0
- package/dist/cli/commands/release.command.js.map +1 -0
- package/dist/cli/commands/scaffold.command.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.command.js +14 -4
- package/dist/cli/commands/scaffold.command.js.map +1 -1
- package/dist/cli/commands/search.command.d.ts.map +1 -1
- package/dist/cli/commands/search.command.js +33 -33
- package/dist/cli/commands/search.command.js.map +1 -1
- package/dist/cli/commands/skills.command.d.ts +10 -0
- package/dist/cli/commands/skills.command.d.ts.map +1 -0
- package/dist/cli/commands/skills.command.js +135 -0
- package/dist/cli/commands/skills.command.js.map +1 -0
- package/dist/cli/commands/standardize.command.d.ts.map +1 -1
- package/dist/cli/commands/standardize.command.js +39 -27
- package/dist/cli/commands/standardize.command.js.map +1 -1
- package/dist/cli/commands/taxonomy.command.d.ts +10 -0
- package/dist/cli/commands/taxonomy.command.d.ts.map +1 -0
- package/dist/cli/commands/taxonomy.command.js +379 -0
- package/dist/cli/commands/taxonomy.command.js.map +1 -0
- package/dist/cli/commands/template.command.d.ts +7 -0
- package/dist/cli/commands/template.command.d.ts.map +1 -0
- package/dist/cli/commands/template.command.js +159 -0
- package/dist/cli/commands/template.command.js.map +1 -0
- package/dist/cli/commands/update.command.d.ts +3 -0
- package/dist/cli/commands/update.command.d.ts.map +1 -0
- package/dist/cli/commands/update.command.js +43 -0
- package/dist/cli/commands/update.command.js.map +1 -0
- package/dist/cli/commands/validate.command.d.ts.map +1 -1
- package/dist/cli/commands/validate.command.js +105 -40
- package/dist/cli/commands/validate.command.js.map +1 -1
- package/dist/cli/commands/workspace.command.js +3 -1
- package/dist/cli/commands/workspace.command.js.map +1 -1
- package/dist/cli/index.js +43 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/templates/agent-templates.d.ts +49 -0
- package/dist/cli/templates/agent-templates.d.ts.map +1 -0
- package/dist/cli/templates/agent-templates.js +237 -0
- package/dist/cli/templates/agent-templates.js.map +1 -0
- package/dist/cli/templates/enhanced-templates.d.ts +32 -0
- package/dist/cli/templates/enhanced-templates.d.ts.map +1 -0
- package/dist/cli/templates/enhanced-templates.js +649 -0
- package/dist/cli/templates/enhanced-templates.js.map +1 -0
- package/dist/cli/utils/standard-options.d.ts +123 -0
- package/dist/cli/utils/standard-options.d.ts.map +1 -0
- package/dist/cli/utils/standard-options.js +215 -0
- package/dist/cli/utils/standard-options.js.map +1 -0
- package/dist/cli/wizard/data/agent-types.d.ts +7 -0
- package/dist/cli/wizard/data/agent-types.d.ts.map +1 -0
- package/dist/cli/wizard/data/agent-types.js +192 -0
- package/dist/cli/wizard/data/agent-types.js.map +1 -0
- package/dist/cli/wizard/data/llm-providers.d.ts +10 -0
- package/dist/cli/wizard/data/llm-providers.d.ts.map +1 -0
- package/dist/cli/wizard/data/llm-providers.js +176 -0
- package/dist/cli/wizard/data/llm-providers.js.map +1 -0
- package/dist/cli/wizard/data/taxonomy.d.ts +39 -0
- package/dist/cli/wizard/data/taxonomy.d.ts.map +1 -0
- package/dist/cli/wizard/data/taxonomy.js +134 -0
- package/dist/cli/wizard/data/taxonomy.js.map +1 -0
- package/dist/cli/wizard/data/templates.d.ts +10 -0
- package/dist/cli/wizard/data/templates.d.ts.map +1 -0
- package/dist/cli/wizard/data/templates.js +228 -0
- package/dist/cli/wizard/data/templates.js.map +1 -0
- package/dist/cli/wizard/engine/wizard-engine.d.ts +47 -0
- package/dist/cli/wizard/engine/wizard-engine.d.ts.map +1 -0
- package/dist/cli/wizard/engine/wizard-engine.js +193 -0
- package/dist/cli/wizard/engine/wizard-engine.js.map +1 -0
- package/dist/cli/wizard/steps/01-agent-type.d.ts +7 -0
- package/dist/cli/wizard/steps/01-agent-type.d.ts.map +1 -0
- package/dist/cli/wizard/steps/01-agent-type.js +35 -0
- package/dist/cli/wizard/steps/01-agent-type.js.map +1 -0
- package/dist/cli/wizard/steps/02-basic-info.d.ts +7 -0
- package/dist/cli/wizard/steps/02-basic-info.d.ts.map +1 -0
- package/dist/cli/wizard/steps/02-basic-info.js +81 -0
- package/dist/cli/wizard/steps/02-basic-info.js.map +1 -0
- package/dist/cli/wizard/steps/03-domain-capability.d.ts +7 -0
- package/dist/cli/wizard/steps/03-domain-capability.d.ts.map +1 -0
- package/dist/cli/wizard/steps/03-domain-capability.js +98 -0
- package/dist/cli/wizard/steps/03-domain-capability.js.map +1 -0
- package/dist/cli/wizard/steps/04-llm-config.d.ts +7 -0
- package/dist/cli/wizard/steps/04-llm-config.d.ts.map +1 -0
- package/dist/cli/wizard/steps/04-llm-config.js +86 -0
- package/dist/cli/wizard/steps/04-llm-config.js.map +1 -0
- package/dist/cli/wizard/steps/05-tools.d.ts +7 -0
- package/dist/cli/wizard/steps/05-tools.d.ts.map +1 -0
- package/dist/cli/wizard/steps/05-tools.js +172 -0
- package/dist/cli/wizard/steps/05-tools.js.map +1 -0
- package/dist/cli/wizard/steps/06-autonomy.d.ts +7 -0
- package/dist/cli/wizard/steps/06-autonomy.d.ts.map +1 -0
- package/dist/cli/wizard/steps/06-autonomy.js +87 -0
- package/dist/cli/wizard/steps/06-autonomy.js.map +1 -0
- package/dist/cli/wizard/steps/07-observability.d.ts +7 -0
- package/dist/cli/wizard/steps/07-observability.d.ts.map +1 -0
- package/dist/cli/wizard/steps/07-observability.js +149 -0
- package/dist/cli/wizard/steps/07-observability.js.map +1 -0
- package/dist/cli/wizard/steps/08-deployment.d.ts +7 -0
- package/dist/cli/wizard/steps/08-deployment.d.ts.map +1 -0
- package/dist/cli/wizard/steps/08-deployment.js +120 -0
- package/dist/cli/wizard/steps/08-deployment.js.map +1 -0
- package/dist/cli/wizard/steps/09-advanced.d.ts +7 -0
- package/dist/cli/wizard/steps/09-advanced.d.ts.map +1 -0
- package/dist/cli/wizard/steps/09-advanced.js +160 -0
- package/dist/cli/wizard/steps/09-advanced.js.map +1 -0
- package/dist/cli/wizard/steps/10-review.d.ts +7 -0
- package/dist/cli/wizard/steps/10-review.d.ts.map +1 -0
- package/dist/cli/wizard/steps/10-review.js +109 -0
- package/dist/cli/wizard/steps/10-review.js.map +1 -0
- package/dist/cli/wizard/steps/12-agents-folder.d.ts +7 -0
- package/dist/cli/wizard/steps/12-agents-folder.d.ts.map +1 -0
- package/dist/cli/wizard/steps/12-agents-folder.js +101 -0
- package/dist/cli/wizard/steps/12-agents-folder.js.map +1 -0
- package/dist/cli/wizard/steps/13-openapi-generation.d.ts +7 -0
- package/dist/cli/wizard/steps/13-openapi-generation.d.ts.map +1 -0
- package/dist/cli/wizard/steps/13-openapi-generation.js +60 -0
- package/dist/cli/wizard/steps/13-openapi-generation.js.map +1 -0
- package/dist/cli/wizard/steps/14-workspace-registration.d.ts +7 -0
- package/dist/cli/wizard/steps/14-workspace-registration.d.ts.map +1 -0
- package/dist/cli/wizard/steps/14-workspace-registration.js +64 -0
- package/dist/cli/wizard/steps/14-workspace-registration.js.map +1 -0
- package/dist/cli/wizard/steps/15-cost-estimation.d.ts +7 -0
- package/dist/cli/wizard/steps/15-cost-estimation.d.ts.map +1 -0
- package/dist/cli/wizard/steps/15-cost-estimation.js +119 -0
- package/dist/cli/wizard/steps/15-cost-estimation.js.map +1 -0
- package/dist/cli/wizard/steps/16-best-practices.d.ts +7 -0
- package/dist/cli/wizard/steps/16-best-practices.d.ts.map +1 -0
- package/dist/cli/wizard/steps/16-best-practices.js +180 -0
- package/dist/cli/wizard/steps/16-best-practices.js.map +1 -0
- package/dist/cli/wizard/steps/index.d.ts +15 -0
- package/dist/cli/wizard/steps/index.d.ts.map +1 -0
- package/dist/cli/wizard/steps/index.js +15 -0
- package/dist/cli/wizard/steps/index.js.map +1 -0
- package/dist/cli/wizard/types.d.ts +132 -0
- package/dist/cli/wizard/types.d.ts.map +1 -0
- package/dist/cli/wizard/types.js +6 -0
- package/dist/cli/wizard/types.js.map +1 -0
- package/dist/cli/wizard/ui/console.d.ts +26 -0
- package/dist/cli/wizard/ui/console.d.ts.map +1 -0
- package/dist/cli/wizard/ui/console.js +104 -0
- package/dist/cli/wizard/ui/console.js.map +1 -0
- package/dist/cli/wizard/ui/wizard-ui.d.ts +75 -0
- package/dist/cli/wizard/ui/wizard-ui.d.ts.map +1 -0
- package/dist/cli/wizard/ui/wizard-ui.js +171 -0
- package/dist/cli/wizard/ui/wizard-ui.js.map +1 -0
- package/dist/cli/wizard/validators/index.d.ts +11 -0
- package/dist/cli/wizard/validators/index.d.ts.map +1 -0
- package/dist/cli/wizard/validators/index.js +35 -0
- package/dist/cli/wizard/validators/index.js.map +1 -0
- package/dist/dev-cli/commands/env-cleanup.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/env-cleanup.command.js.map +1 -0
- package/dist/dev-cli/commands/migrate.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/migrate.command.js.map +1 -0
- package/dist/dev-cli/commands/release-prep.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/release-prep.command.js.map +1 -0
- package/dist/dev-cli/commands/release.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/release.command.js.map +1 -0
- package/dist/dev-cli/commands/spec.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/spec.command.js.map +1 -0
- package/dist/dev-cli/commands/version.command.d.ts.map +1 -0
- package/dist/dev-cli/{src/commands → commands}/version.command.js +103 -0
- package/dist/dev-cli/{src/commands → commands}/version.command.js.map +1 -1
- package/dist/dev-cli/commands/workflow.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/workflow.command.js.map +1 -0
- package/dist/dev-cli/index.d.ts.map +1 -0
- package/dist/dev-cli/{src/index.js → index.js} +0 -2
- package/dist/dev-cli/index.js.map +1 -0
- package/dist/dev-cli/schemas/migrate.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/migrate.schema.js.map +1 -0
- package/dist/dev-cli/schemas/release-prep.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/release-prep.schema.js.map +1 -0
- package/dist/dev-cli/schemas/release.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/release.schema.js.map +1 -0
- package/dist/dev-cli/schemas/spec.schema.d.ts +6 -10
- package/dist/dev-cli/schemas/spec.schema.d.ts.map +1 -1
- package/dist/dev-cli/schemas/spec.schema.js +11 -15
- package/dist/dev-cli/schemas/spec.schema.js.map +1 -1
- package/dist/dev-cli/schemas/version.schema.d.ts +29 -58
- package/dist/dev-cli/schemas/version.schema.d.ts.map +1 -1
- package/dist/dev-cli/schemas/version.schema.js +21 -61
- package/dist/dev-cli/schemas/version.schema.js.map +1 -1
- package/dist/dev-cli/services/agent-migration.service.d.ts.map +1 -0
- package/dist/dev-cli/services/agent-migration.service.js.map +1 -0
- package/dist/dev-cli/services/file.service.d.ts.map +1 -0
- package/dist/dev-cli/services/file.service.js.map +1 -0
- package/dist/dev-cli/services/git.service.d.ts.map +1 -0
- package/dist/dev-cli/services/git.service.js.map +1 -0
- package/dist/dev-cli/services/npm.service.d.ts.map +1 -0
- package/dist/dev-cli/services/npm.service.js.map +1 -0
- package/dist/dev-cli/services/release-prep.service.d.ts.map +1 -0
- package/dist/dev-cli/services/release-prep.service.js.map +1 -0
- package/dist/dev-cli/services/release-verify.service.d.ts.map +1 -0
- package/dist/dev-cli/services/release-verify.service.js.map +1 -0
- package/dist/dev-cli/services/spec-generate.service.d.ts.map +1 -0
- package/dist/dev-cli/services/spec-generate.service.js.map +1 -0
- package/dist/dev-cli/services/spec-validate.service.d.ts.map +1 -0
- package/dist/dev-cli/services/spec-validate.service.js.map +1 -0
- package/dist/dev-cli/services/version-audit.service.d.ts +24 -24
- package/dist/dev-cli/services/version-audit.service.d.ts.map +1 -1
- package/dist/dev-cli/services/version-audit.service.js +76 -134
- package/dist/dev-cli/services/version-audit.service.js.map +1 -1
- package/dist/dev-cli/services/version-check.service.d.ts +17 -0
- package/dist/dev-cli/services/version-check.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-check.service.js +54 -0
- package/dist/dev-cli/services/version-check.service.js.map +1 -0
- package/dist/dev-cli/services/version-detection.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-detection.service.js.map +1 -0
- package/dist/dev-cli/services/version-file.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-file.service.js.map +1 -0
- package/dist/dev-cli/services/version-release.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-release.service.js.map +1 -0
- package/dist/dev-cli/services/version-status.service.d.ts +24 -0
- package/dist/dev-cli/services/version-status.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-status.service.js +55 -0
- package/dist/dev-cli/services/version-status.service.js.map +1 -0
- package/dist/dev-cli/services/version-sync.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-sync.service.js.map +1 -0
- package/dist/dev-cli/services/version-validate.service.d.ts.map +1 -0
- package/dist/dev-cli/{src/services → services}/version-validate.service.js +1 -1
- package/dist/dev-cli/services/version-validate.service.js.map +1 -0
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +16 -0
- package/dist/di-container.js.map +1 -1
- package/dist/generated/types.d.ts +691 -0
- package/dist/generated/types.d.ts.map +1 -0
- package/dist/generated/types.js +6 -0
- package/dist/generated/types.js.map +1 -0
- package/dist/index.d.ts +7 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -31
- package/dist/index.js.map +1 -1
- package/dist/package.json +275 -0
- package/dist/repositories/manifest.repository.js +1 -1
- package/dist/repositories/manifest.repository.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +10 -4
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/runtime/langflow.runtime.d.ts +2 -2
- package/dist/sdks/kagent/crd-generator.d.ts +21 -0
- package/dist/sdks/kagent/crd-generator.d.ts.map +1 -0
- package/dist/sdks/kagent/crd-generator.js +101 -0
- package/dist/sdks/kagent/crd-generator.js.map +1 -0
- package/dist/sdks/kagent/crd-parser.d.ts +13 -0
- package/dist/sdks/kagent/crd-parser.d.ts.map +1 -0
- package/dist/sdks/kagent/crd-parser.js +91 -0
- package/dist/sdks/kagent/crd-parser.js.map +1 -0
- package/dist/sdks/kagent/index.d.ts +10 -0
- package/dist/sdks/kagent/index.d.ts.map +1 -0
- package/dist/sdks/kagent/index.js +9 -0
- package/dist/sdks/kagent/index.js.map +1 -0
- package/dist/sdks/kagent/runtime-adapter.d.ts +45 -0
- package/dist/sdks/kagent/runtime-adapter.d.ts.map +1 -0
- package/dist/sdks/kagent/runtime-adapter.js +129 -0
- package/dist/sdks/kagent/runtime-adapter.js.map +1 -0
- package/dist/sdks/kagent/types.d.ts +91 -0
- package/dist/sdks/kagent/types.d.ts.map +1 -0
- package/dist/sdks/kagent/types.js +5 -0
- package/dist/sdks/kagent/types.js.map +1 -0
- package/dist/sdks/kagent/validator.d.ts +17 -0
- package/dist/sdks/kagent/validator.d.ts.map +1 -0
- package/dist/sdks/kagent/validator.js +73 -0
- package/dist/sdks/kagent/validator.js.map +1 -0
- package/dist/sdks/shared/types.d.ts +1 -1
- package/dist/services/agents-md/agents-md.service.d.ts.map +1 -1
- package/dist/services/agents-md/agents-md.service.js +0 -6
- package/dist/services/agents-md/agents-md.service.js.map +1 -1
- package/dist/services/agents-md/repo-agents-md.service.d.ts +87 -0
- package/dist/services/agents-md/repo-agents-md.service.d.ts.map +1 -0
- package/dist/services/agents-md/repo-agents-md.service.js +202 -0
- package/dist/services/agents-md/repo-agents-md.service.js.map +1 -0
- package/dist/services/ai-architect.service.d.ts +48 -0
- package/dist/services/ai-architect.service.d.ts.map +1 -0
- package/dist/services/ai-architect.service.js +273 -0
- package/dist/services/ai-architect.service.js.map +1 -0
- package/dist/services/audit.d.ts +80 -0
- package/dist/services/audit.d.ts.map +1 -0
- package/dist/services/audit.js +249 -0
- package/dist/services/audit.js.map +1 -0
- package/dist/services/export/export-orchestrator.d.ts +89 -0
- package/dist/services/export/export-orchestrator.d.ts.map +1 -0
- package/dist/services/export/export-orchestrator.js +181 -0
- package/dist/services/export/export-orchestrator.js.map +1 -0
- package/dist/services/framework-import/langchain-importer.service.d.ts.map +1 -1
- package/dist/services/framework-import/langchain-importer.service.js +1 -0
- package/dist/services/framework-import/langchain-importer.service.js.map +1 -1
- package/dist/services/framework-import/langflow-importer.service.d.ts.map +1 -1
- package/dist/services/framework-import/langflow-importer.service.js +1 -0
- package/dist/services/framework-import/langflow-importer.service.js.map +1 -1
- package/dist/services/git.service.d.ts +10 -1
- package/dist/services/git.service.d.ts.map +1 -1
- package/dist/services/git.service.js +42 -2
- package/dist/services/git.service.js.map +1 -1
- package/dist/services/knowledge-generation.service.d.ts +46 -0
- package/dist/services/knowledge-generation.service.d.ts.map +1 -0
- package/dist/services/knowledge-generation.service.js +96 -0
- package/dist/services/knowledge-generation.service.js.map +1 -0
- package/dist/services/knowledge.service.d.ts +88 -0
- package/dist/services/knowledge.service.d.ts.map +1 -0
- package/dist/services/knowledge.service.js +214 -0
- package/dist/services/knowledge.service.js.map +1 -0
- package/dist/services/messaging/messaging.service.d.ts.map +1 -1
- package/dist/services/messaging/messaging.service.js +2 -0
- package/dist/services/messaging/messaging.service.js.map +1 -1
- package/dist/services/migration-transform.service.d.ts +11 -3
- package/dist/services/migration-transform.service.d.ts.map +1 -1
- package/dist/services/migration-transform.service.js +69 -10
- package/dist/services/migration-transform.service.js.map +1 -1
- package/dist/services/migration.service.d.ts +1 -1
- package/dist/services/migration.service.js +9 -9
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/registry/index.service.d.ts.map +1 -1
- package/dist/services/registry/index.service.js +2 -0
- package/dist/services/registry/index.service.js.map +1 -1
- package/dist/services/registry.service.d.ts +34 -0
- package/dist/services/registry.service.d.ts.map +1 -0
- package/dist/services/registry.service.js +161 -0
- package/dist/services/registry.service.js.map +1 -0
- package/dist/services/release-automation/release-agent.service.d.ts +39 -0
- package/dist/services/release-automation/release-agent.service.d.ts.map +1 -0
- package/dist/services/release-automation/release-agent.service.js +42 -0
- package/dist/services/release-automation/release-agent.service.js.map +1 -0
- package/dist/services/skills/claude-skills.service.d.ts +51 -0
- package/dist/services/skills/claude-skills.service.d.ts.map +1 -0
- package/dist/services/skills/claude-skills.service.js +252 -0
- package/dist/services/skills/claude-skills.service.js.map +1 -0
- package/dist/services/structure/agents-folder.service.d.ts +37 -0
- package/dist/services/structure/agents-folder.service.d.ts.map +1 -0
- package/dist/services/structure/agents-folder.service.js +318 -0
- package/dist/services/structure/agents-folder.service.js.map +1 -0
- package/dist/services/taxonomy-service.d.ts +103 -0
- package/dist/services/taxonomy-service.d.ts.map +1 -0
- package/dist/services/taxonomy-service.js +343 -0
- package/dist/services/taxonomy-service.js.map +1 -0
- package/dist/services/taxonomy-validator.service.d.ts +25 -0
- package/dist/services/taxonomy-validator.service.d.ts.map +1 -0
- package/dist/services/taxonomy-validator.service.js +149 -0
- package/dist/services/taxonomy-validator.service.js.map +1 -0
- package/dist/services/taxonomy.service.d.ts +132 -0
- package/dist/services/taxonomy.service.d.ts.map +1 -0
- package/dist/services/taxonomy.service.js +330 -0
- package/dist/services/taxonomy.service.js.map +1 -0
- package/dist/services/template-processor.service.d.ts +34 -0
- package/dist/services/template-processor.service.d.ts.map +1 -0
- package/dist/services/template-processor.service.js +112 -0
- package/dist/services/template-processor.service.js.map +1 -0
- package/dist/services/template.service.d.ts +54 -0
- package/dist/services/template.service.d.ts.map +1 -0
- package/dist/services/template.service.js +154 -0
- package/dist/services/template.service.js.map +1 -0
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +2 -0
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/a2a.validator.d.ts.map +1 -1
- package/dist/services/validators/a2a.validator.js +2 -0
- package/dist/services/validators/a2a.validator.js.map +1 -1
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
- package/dist/services/validators/anthropic.validator.js +1 -0
- package/dist/services/validators/anthropic.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.d.ts.map +1 -1
- package/dist/services/validators/autogen.validator.js +2 -0
- package/dist/services/validators/autogen.validator.js.map +1 -1
- package/dist/services/validators/contract.validator.d.ts.map +1 -1
- package/dist/services/validators/contract.validator.js +2 -0
- package/dist/services/validators/contract.validator.js.map +1 -1
- package/dist/services/validators/crewai.validator.d.ts.map +1 -1
- package/dist/services/validators/crewai.validator.js +2 -0
- package/dist/services/validators/crewai.validator.js.map +1 -1
- package/dist/services/validators/cursor.validator.d.ts.map +1 -1
- package/dist/services/validators/cursor.validator.js +1 -0
- package/dist/services/validators/cursor.validator.js.map +1 -1
- package/dist/services/validators/dependencies.validator.d.ts +1 -1
- package/dist/services/validators/dependencies.validator.d.ts.map +1 -1
- package/dist/services/validators/dependencies.validator.js +1 -0
- package/dist/services/validators/dependencies.validator.js.map +1 -1
- package/dist/services/validators/index.d.ts.map +1 -1
- package/dist/services/validators/index.js +1 -0
- package/dist/services/validators/index.js.map +1 -1
- package/dist/services/validators/kagent.validator.d.ts.map +1 -1
- package/dist/services/validators/kagent.validator.js +2 -0
- package/dist/services/validators/kagent.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.d.ts.map +1 -1
- package/dist/services/validators/langchain.validator.js +2 -0
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langflow.validator.d.ts.map +1 -1
- package/dist/services/validators/langflow.validator.js +1 -0
- package/dist/services/validators/langflow.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
- package/dist/services/validators/langgraph.validator.js +2 -0
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
- package/dist/services/validators/llamaindex.validator.js +1 -0
- package/dist/services/validators/llamaindex.validator.js.map +1 -1
- package/dist/services/validators/mcp.validator.d.ts.map +1 -1
- package/dist/services/validators/mcp.validator.js +2 -0
- package/dist/services/validators/mcp.validator.js.map +1 -1
- package/dist/services/validators/messaging.validator.d.ts.map +1 -1
- package/dist/services/validators/messaging.validator.js +2 -0
- package/dist/services/validators/messaging.validator.js.map +1 -1
- package/dist/services/validators/openai.validator.d.ts.map +1 -1
- package/dist/services/validators/openai.validator.js +1 -0
- package/dist/services/validators/openai.validator.js.map +1 -1
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
- package/dist/services/validators/vercel-ai.validator.js +1 -0
- package/dist/services/validators/vercel-ai.validator.js.map +1 -1
- package/dist/spec/ossa-audit-api.yaml +311 -0
- package/dist/spec/registry/registry-api.yaml +144 -0
- package/dist/spec/registry/registry-spec.md +1 -1
- package/dist/spec/schema/components/adapter.schema.json +33 -0
- package/dist/spec/schema/components/identity.schema.json +78 -0
- package/dist/spec/v0.3/CHANGELOG.md +2 -2
- package/dist/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +552 -0
- package/dist/spec/v0.3/README.md +2 -2
- package/dist/spec/v0.3/ossa-0.3.6.schema.json +14920 -0
- package/dist/spec/v0.3/ossa-v0.3.schema.json +15824 -0
- package/dist/spec/v0.3.6/CHANGELOG.md +171 -0
- package/dist/spec/v0.3.6/README.md +382 -0
- package/dist/spec/v0.3.6/taxonomy.yaml +506 -0
- package/dist/spec/v0.4/agent.schema.json +15944 -0
- package/dist/spec/v0.4/extensions/a2a/README.md +193 -0
- package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +77 -0
- package/dist/spec/v0.4/extensions/ag2/ag2.schema.json +277 -0
- package/dist/spec/v0.4/extensions/crewai/crewai.schema.json +256 -0
- package/dist/spec/v0.4/extensions/kagent/README.md +315 -0
- package/dist/spec/v0.4/extensions/kagent/kagent.schema.json +624 -0
- package/dist/spec/v0.4/extensions/langchain/langchain.schema.json +243 -0
- package/dist/spec/v0.4/extensions/langgraph/langgraph.schema.json +211 -0
- package/dist/spec/v0.4/extensions/mcp/README.md +276 -0
- package/dist/spec/v0.4/extensions/mcp/mcp.schema.json +84 -0
- package/dist/testing/fixtures.d.ts.map +1 -1
- package/dist/testing/fixtures.js +6 -0
- package/dist/testing/fixtures.js.map +1 -1
- package/dist/testing/runner.d.ts.map +1 -1
- package/dist/testing/runner.js +6 -21
- package/dist/testing/runner.js.map +1 -1
- package/dist/types/architect.d.ts +48 -0
- package/dist/types/architect.d.ts.map +1 -0
- package/dist/types/architect.js +7 -0
- package/dist/types/architect.js.map +1 -0
- package/dist/types/identity.d.ts +78 -401
- package/dist/types/identity.d.ts.map +1 -1
- package/dist/types/identity.js +5 -7
- package/dist/types/identity.js.map +1 -1
- package/dist/types/index.d.ts +80 -41
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/personality.zod.d.ts +36 -36
- package/dist/types/prompts.zod.d.ts +4 -4
- package/dist/utils/version.d.ts +4 -2
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +83 -48
- package/dist/utils/version.js.map +1 -1
- package/dist/validation/__tests__/error-codes.test.d.ts +5 -0
- package/dist/validation/__tests__/error-codes.test.d.ts.map +1 -0
- package/dist/validation/__tests__/error-codes.test.js +252 -0
- package/dist/validation/__tests__/error-codes.test.js.map +1 -0
- package/dist/validation/enhanced-validator.d.ts +38 -0
- package/dist/validation/enhanced-validator.d.ts.map +1 -0
- package/dist/validation/enhanced-validator.js +242 -0
- package/dist/validation/enhanced-validator.js.map +1 -0
- package/dist/validation/error-codes.d.ts +170 -0
- package/dist/validation/error-codes.d.ts.map +1 -0
- package/dist/validation/error-codes.js +1159 -0
- package/dist/validation/error-codes.js.map +1 -0
- package/dist/validation/error-formatter.d.ts +81 -0
- package/dist/validation/error-formatter.d.ts.map +1 -0
- package/dist/validation/error-formatter.js +375 -0
- package/dist/validation/error-formatter.js.map +1 -0
- package/dist/validation/index.d.ts +16 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +20 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/linter.d.ts +36 -0
- package/dist/validation/linter.d.ts.map +1 -0
- package/dist/validation/linter.js +453 -0
- package/dist/validation/linter.js.map +1 -0
- package/dist/validation/validator.d.ts +38 -0
- package/dist/validation/validator.d.ts.map +1 -0
- package/dist/validation/validator.js +263 -0
- package/dist/validation/validator.js.map +1 -0
- package/dist/version-management/api/server.d.ts +3 -0
- package/dist/version-management/api/server.d.ts.map +1 -0
- package/dist/version-management/api/server.js +75 -0
- package/dist/version-management/api/server.js.map +1 -0
- package/dist/version-management/cli/index.d.ts +3 -0
- package/dist/version-management/cli/index.d.ts.map +1 -0
- package/dist/version-management/cli/index.js +212 -0
- package/dist/version-management/cli/index.js.map +1 -0
- package/dist/version-management/core/version-manager.d.ts +108 -0
- package/dist/version-management/core/version-manager.d.ts.map +1 -0
- package/dist/version-management/core/version-manager.js +319 -0
- package/dist/version-management/core/version-manager.js.map +1 -0
- package/dist/version-management/core/version-manager.test.d.ts +2 -0
- package/dist/version-management/core/version-manager.test.d.ts.map +1 -0
- package/dist/version-management/core/version-manager.test.js +210 -0
- package/dist/version-management/core/version-manager.test.js.map +1 -0
- package/dist/version-management/index.d.ts +3 -0
- package/dist/version-management/index.d.ts.map +1 -0
- package/dist/version-management/index.js +2 -0
- package/dist/version-management/index.js.map +1 -0
- package/examples/a2a/agent-handoff.ossa.yaml +1 -1
- package/examples/a2a/service-discovery.ossa.yaml +1 -1
- package/examples/adapters/drupal-eca-mapping.yaml +1 -1
- package/examples/adapters/drupal-eca-task.yaml +1 -1
- package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
- package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
- package/examples/adapters/mistral-agent.yaml +1 -1
- package/examples/adapters/symfony-messenger-task.yaml +1 -1
- package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
- package/examples/advanced/reasoning-agent.yaml +1 -1
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
- package/examples/agents/architecture-healer-enterprise.yaml +1 -1
- package/examples/agents/dependency-healer-npm.yaml +1 -1
- package/examples/agents/spec-healer-openapi.yaml +1 -1
- package/examples/agents/wiki-healer-production.yaml +1 -1
- package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
- package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
- package/examples/build-once-use-everywhere/README.md +184 -0
- package/examples/build-once-use-everywhere/agent.ossa.yaml +38 -0
- package/examples/build-once-use-everywhere/deploy-config.yaml +32 -0
- package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
- package/examples/common_npm/agent-router.ossa.yaml +1 -1
- package/examples/contracts/data-consumer.ossa.yaml +1 -1
- package/examples/contracts/data-producer-v2.ossa.yaml +5 -3
- package/examples/contracts/data-producer.ossa.yaml +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
- package/examples/economics/marketplace-agent.ossa.json +210 -0
- package/examples/extensions/encryption-multi-provider.yaml +4 -4
- package/examples/extensions/knowledge-sources.yaml +1 -1
- package/examples/extensions/mcp-full-featured.yaml +1 -1
- package/examples/genetics/breeding-agent.ossa.json +194 -0
- package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
- package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
- package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
- package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
- package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +1 -1
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/lifecycle/mentoring-agent.ossa.json +293 -0
- package/examples/mcp/database-mcp.ossa.yaml +1 -1
- package/examples/mcp/filesystem-mcp.ossa.yaml +1 -1
- package/examples/messaging/dependency-healer.ossa.yaml +1 -1
- package/examples/messaging/incident-responder.ossa.yaml +1 -1
- package/examples/messaging/routing-rules.ossa.yaml +1 -1
- package/examples/messaging/security-scanner.ossa.yaml +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/migrations/crewai-to-ossa/README.md +66 -0
- package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +2 -2
- package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +2 -2
- package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +2 -2
- package/examples/migrations/langchain/04-config-based-after.ossa.yaml +2 -2
- package/examples/migrations/langchain-to-ossa/README.md +73 -0
- package/examples/migrations/swarm-to-ossa/COMPARISON.md +350 -0
- package/examples/migrations/swarm-to-ossa/INDEX.md +355 -0
- package/examples/migrations/swarm-to-ossa/MIGRATION-FLOW.md +410 -0
- package/examples/migrations/swarm-to-ossa/QUICKSTART.md +453 -0
- package/examples/migrations/swarm-to-ossa/README.md +665 -0
- package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +482 -0
- package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +315 -0
- package/examples/migrations/swarm-to-ossa/before-handoffs.py +373 -0
- package/examples/migrations/swarm-to-ossa/before-triage-agent.py +234 -0
- package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
- package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
- package/examples/multi-platform/single-manifest/README.md +72 -0
- package/examples/multi-platform/single-manifest/agent.ossa.yaml +32 -0
- package/examples/observability/activity-stream-full.yaml +1 -1
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +1 -1
- package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +1 -1
- package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +1 -1
- package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
- package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
- package/examples/registry/agents/code-reviewer/agent.yaml +1 -1
- package/examples/registry/agents/security-scanner/agent.yaml +1 -1
- package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
- package/examples/schema/reusable-components.yaml +1 -1
- package/examples/showcase/ci-pipeline.ossa.yaml +1 -1
- package/examples/showcase/code-assistant.ossa.yaml +1 -1
- package/examples/showcase/code-reviewer.ossa.yaml +1 -1
- package/examples/showcase/compliance-validator.ossa.yaml +1 -1
- package/examples/showcase/content-writer.ossa.yaml +1 -1
- package/examples/showcase/data-transformer.ossa.yaml +1 -1
- package/examples/showcase/doc-generator.ossa.yaml +1 -1
- package/examples/showcase/security-scanner.ossa.yaml +1 -1
- package/examples/showcase/test-generator.ossa.yaml +1 -1
- package/examples/showcase/workflow-orchestrator.ossa.yaml +1 -1
- package/examples/swarm/pso-optimizer.ossa.json +171 -0
- package/examples/tasks/batch-email-sender.yaml +1 -1
- package/examples/tasks/data-transform.yaml +1 -1
- package/examples/tasks/publish-content.yaml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/unified/security-scanner.ossa.yaml +1 -1
- package/examples/v0.3.6/full-featured-v0.3.6.ossa.yaml +304 -0
- package/examples/v0.3.6/gitlab-duo-composite-identity.ossa.yaml +119 -0
- package/examples/v0.3.6/knowledge-graph-integration.ossa.yaml +109 -0
- package/examples/v0.3.6/token-efficiency-economy.ossa.yaml +111 -0
- package/examples/v0.3.6-features/README.md +433 -0
- package/examples/v0.3.6-features/genetics-breeding-advanced.ossa.yaml +496 -0
- package/examples/v0.3.6-features/genetics-breeding-simple.ossa.yaml +304 -0
- package/examples/v0.3.6-features/genetics-fitness-scoring.ossa.yaml +551 -0
- package/examples/validation/error-codes-demo.ts +254 -0
- package/examples/workflows/batch-email-campaign.yaml +1 -1
- package/examples/workflows/content-review-publish.yaml +1 -1
- package/examples/workflows/simple-etl.yaml +1 -1
- package/openapi/agent-crud.yaml +3 -3
- package/openapi/agent-taxonomy.yaml +323 -0
- package/openapi/agents-md-service.yaml +338 -0
- package/openapi/{cli-commands.openapi.yaml → cli/openapi.yaml} +0 -28
- package/openapi/{dev-cli.openapi.yml → dev-cli/openapi.yaml} +107 -6
- package/openapi/ossa-cli-enhancements.openapi.yaml +589 -0
- package/openapi/ossa-cli.yaml +688 -0
- package/openapi/release-automation.openapi.yaml +144 -0
- package/openapi/schemas/common/agent.yaml +19 -2
- package/openapi/schemas/common/metadata.yaml +9 -0
- package/openapi/version-management.openapi.yaml +754 -0
- package/package.json +27 -22
- package/schemas/capability-contract.v0.json +116 -0
- package/schemas/identity.lock.schema.json +59 -0
- package/schemas/identity.plan.schema.json +132 -0
- package/spec/ossa-audit-api.yaml +311 -0
- package/spec/registry/registry-api.yaml +144 -0
- package/spec/registry/registry-spec.md +1 -1
- package/spec/schema/components/adapter.schema.json +33 -0
- package/spec/schema/components/identity.schema.json +78 -0
- package/spec/v0.3/CHANGELOG.md +2 -2
- package/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +552 -0
- package/spec/v0.3/README.md +2 -2
- package/spec/v0.3/ossa-0.3.6.schema.json +14920 -0
- package/spec/v0.3/ossa-v0.3.schema.json +15824 -0
- package/spec/v0.3.6/CHANGELOG.md +171 -0
- package/spec/v0.3.6/README.md +382 -0
- package/spec/v0.3.6/taxonomy.yaml +506 -0
- package/spec/v0.4/agent.schema.json +15944 -0
- package/spec/v0.4/extensions/a2a/README.md +193 -0
- package/spec/v0.4/extensions/a2a/a2a.schema.json +77 -0
- package/spec/v0.4/extensions/ag2/ag2.schema.json +277 -0
- package/spec/v0.4/extensions/crewai/crewai.schema.json +256 -0
- package/spec/v0.4/extensions/kagent/README.md +315 -0
- package/spec/v0.4/extensions/kagent/kagent.schema.json +624 -0
- package/spec/v0.4/extensions/langchain/langchain.schema.json +243 -0
- package/spec/v0.4/extensions/langgraph/langgraph.schema.json +211 -0
- package/spec/v0.4/extensions/mcp/README.md +276 -0
- package/spec/v0.4/extensions/mcp/mcp.schema.json +84 -0
- package/templates/agent-types/analyzer/cost-analyzer.yaml +38 -0
- package/templates/agent-types/analyzer/performance-profiler.yaml +38 -0
- package/templates/agent-types/analyzer/security-scanner.yaml +36 -0
- package/templates/agent-types/backend/api-validator.yaml +37 -0
- package/templates/agent-types/backend/load-balancer.yaml +39 -0
- package/templates/agent-types/content/content-generator.yaml +40 -0
- package/templates/agent-types/content/seo-optimizer.yaml +39 -0
- package/templates/agent-types/data/data-processor.yaml +38 -0
- package/templates/agent-types/data/report-generator.yaml +40 -0
- package/templates/agent-types/development/code-generator.yaml +39 -0
- package/templates/agent-types/development/dependency-updater.yaml +38 -0
- package/templates/agent-types/frontend/accessibility-checker.yaml +38 -0
- package/templates/agent-types/frontend/ui-tester.yaml +38 -0
- package/templates/agent-types/infrastructure/deployment-automator.yaml +39 -0
- package/templates/agent-types/infrastructure/resource-optimizer.yaml +38 -0
- package/templates/agent-types/monitor/health-checker.yaml +37 -0
- package/templates/agent-types/monitor/log-analyzer.yaml +37 -0
- package/templates/agent-types/orchestrator/multi-agent-coordinator.yaml +38 -0
- package/templates/agent-types/orchestrator/workflow-manager.yaml +39 -0
- package/templates/agent-types/security/compliance-checker.yaml +38 -0
- package/templates/agent-types/security/vulnerability-scanner.yaml +38 -0
- package/templates/agent-types/worker/api-tester.yaml +43 -0
- package/templates/agent-types/worker/code-reviewer.yaml +39 -0
- package/templates/agent-types/worker/database-migrator.yaml +38 -0
- package/dist/dev-cli/src/commands/env-cleanup.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/env-cleanup.command.js.map +0 -1
- package/dist/dev-cli/src/commands/migrate.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/migrate.command.js.map +0 -1
- package/dist/dev-cli/src/commands/release-prep.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/release-prep.command.js.map +0 -1
- package/dist/dev-cli/src/commands/release.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/release.command.js.map +0 -1
- package/dist/dev-cli/src/commands/spec.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/spec.command.js.map +0 -1
- package/dist/dev-cli/src/commands/v035.command.d.ts +0 -8
- package/dist/dev-cli/src/commands/v035.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/v035.command.js +0 -247
- package/dist/dev-cli/src/commands/v035.command.js.map +0 -1
- package/dist/dev-cli/src/commands/version.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/workflow.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/workflow.command.js.map +0 -1
- package/dist/dev-cli/src/index.d.ts.map +0 -1
- package/dist/dev-cli/src/index.js.map +0 -1
- package/dist/dev-cli/src/schemas/migrate.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/migrate.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/release-prep.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/release-prep.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/release.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/release.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/spec.schema.d.ts +0 -34
- package/dist/dev-cli/src/schemas/spec.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/spec.schema.js +0 -32
- package/dist/dev-cli/src/schemas/spec.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/version.schema.d.ts +0 -53
- package/dist/dev-cli/src/schemas/version.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/version.schema.js +0 -43
- package/dist/dev-cli/src/schemas/version.schema.js.map +0 -1
- package/dist/dev-cli/src/services/agent-migration.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/agent-migration.service.js.map +0 -1
- package/dist/dev-cli/src/services/file.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/file.service.js.map +0 -1
- package/dist/dev-cli/src/services/git.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/git.service.js.map +0 -1
- package/dist/dev-cli/src/services/npm.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/npm.service.js.map +0 -1
- package/dist/dev-cli/src/services/release-prep.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/release-prep.service.js.map +0 -1
- package/dist/dev-cli/src/services/release-verify.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/release-verify.service.js.map +0 -1
- package/dist/dev-cli/src/services/spec-generate.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/spec-generate.service.js.map +0 -1
- package/dist/dev-cli/src/services/spec-validate.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/spec-validate.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-detection.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-detection.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-file.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-file.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-release.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-release.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-sync.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-sync.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-validate.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-validate.service.js.map +0 -1
- package/dist/tools/validation/validate-v0.3.5-features.d.ts +0 -50
- package/dist/tools/validation/validate-v0.3.5-features.d.ts.map +0 -1
- package/dist/tools/validation/validate-v0.3.5-features.js +0 -280
- package/dist/tools/validation/validate-v0.3.5-features.js.map +0 -1
- package/src/dev-cli/README.md +0 -53
- package/src/dev-cli/src/index.ts +0 -47
- /package/dist/dev-cli/{src/commands → commands}/env-cleanup.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/env-cleanup.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/migrate.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/migrate.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release-prep.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release-prep.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/spec.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/spec.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/version.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/workflow.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/workflow.command.js +0 -0
- /package/dist/dev-cli/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/migrate.schema.d.ts +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/migrate.schema.js +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release-prep.schema.d.ts +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release-prep.schema.js +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release.schema.d.ts +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release.schema.js +0 -0
- /package/dist/dev-cli/{src/services → services}/agent-migration.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/agent-migration.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/file.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/file.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/git.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/git.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/npm.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/npm.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/release-prep.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/release-prep.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/release-verify.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/release-verify.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-generate.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-generate.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-validate.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-validate.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-detection.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-detection.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-file.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-file.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-release.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-release.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-sync.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-sync.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-validate.service.d.ts +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Taxonomy Service
|
|
3
|
+
* OSSA v0.3.6 - Full CRUD operations for agent classification and taxonomy
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
export declare const TaxonomyCategoryTypeSchema: z.ZodEnum<{
|
|
7
|
+
runtime: "runtime";
|
|
8
|
+
capability: "capability";
|
|
9
|
+
role: "role";
|
|
10
|
+
custom: "custom";
|
|
11
|
+
domain: "domain";
|
|
12
|
+
}>;
|
|
13
|
+
export declare const TaxonomyCategoryInputSchema: z.ZodObject<{
|
|
14
|
+
name: z.ZodString;
|
|
15
|
+
description: z.ZodOptional<z.ZodString>;
|
|
16
|
+
type: z.ZodEnum<{
|
|
17
|
+
runtime: "runtime";
|
|
18
|
+
capability: "capability";
|
|
19
|
+
role: "role";
|
|
20
|
+
custom: "custom";
|
|
21
|
+
domain: "domain";
|
|
22
|
+
}>;
|
|
23
|
+
level: z.ZodNumber;
|
|
24
|
+
parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
26
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const TaxonomyCategorySchema: z.ZodObject<{
|
|
29
|
+
name: z.ZodString;
|
|
30
|
+
description: z.ZodOptional<z.ZodString>;
|
|
31
|
+
type: z.ZodEnum<{
|
|
32
|
+
runtime: "runtime";
|
|
33
|
+
capability: "capability";
|
|
34
|
+
role: "role";
|
|
35
|
+
custom: "custom";
|
|
36
|
+
domain: "domain";
|
|
37
|
+
}>;
|
|
38
|
+
level: z.ZodNumber;
|
|
39
|
+
parent_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
40
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
41
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
created_at: z.ZodString;
|
|
44
|
+
updated_at: z.ZodString;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
export declare const AgentClassificationSchema: z.ZodObject<{
|
|
47
|
+
agent_id: z.ZodString;
|
|
48
|
+
classifications: z.ZodArray<z.ZodObject<{
|
|
49
|
+
category_id: z.ZodString;
|
|
50
|
+
category_name: z.ZodString;
|
|
51
|
+
confidence: z.ZodNumber;
|
|
52
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
53
|
+
}, z.core.$strip>>;
|
|
54
|
+
confidence: z.ZodNumber;
|
|
55
|
+
suggested_categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
56
|
+
}, z.core.$strip>;
|
|
57
|
+
export declare const ValidationResultSchema: z.ZodObject<{
|
|
58
|
+
valid: z.ZodBoolean;
|
|
59
|
+
category_id: z.ZodString;
|
|
60
|
+
errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
61
|
+
field: z.ZodString;
|
|
62
|
+
message: z.ZodString;
|
|
63
|
+
severity: z.ZodEnum<{
|
|
64
|
+
info: "info";
|
|
65
|
+
error: "error";
|
|
66
|
+
warning: "warning";
|
|
67
|
+
}>;
|
|
68
|
+
}, z.core.$strip>>>;
|
|
69
|
+
warnings: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
70
|
+
field: z.ZodString;
|
|
71
|
+
message: z.ZodString;
|
|
72
|
+
}, z.core.$strip>>>;
|
|
73
|
+
recommendations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
export type TaxonomyCategoryType = z.infer<typeof TaxonomyCategoryTypeSchema>;
|
|
76
|
+
export type TaxonomyCategoryInput = z.infer<typeof TaxonomyCategoryInputSchema>;
|
|
77
|
+
export type TaxonomyCategory = z.infer<typeof TaxonomyCategorySchema>;
|
|
78
|
+
export type AgentClassification = z.infer<typeof AgentClassificationSchema>;
|
|
79
|
+
export type ValidationResult = z.infer<typeof ValidationResultSchema>;
|
|
80
|
+
/**
|
|
81
|
+
* Taxonomy Service
|
|
82
|
+
*/
|
|
83
|
+
export declare class TaxonomyService {
|
|
84
|
+
private store;
|
|
85
|
+
constructor();
|
|
86
|
+
createCategory(input: TaxonomyCategoryInput): TaxonomyCategory;
|
|
87
|
+
getCategory(id: string): TaxonomyCategory;
|
|
88
|
+
listCategories(filters?: {
|
|
89
|
+
type?: TaxonomyCategoryType;
|
|
90
|
+
level?: number;
|
|
91
|
+
parent_id?: string | null;
|
|
92
|
+
}): {
|
|
93
|
+
categories: TaxonomyCategory[];
|
|
94
|
+
total: number;
|
|
95
|
+
};
|
|
96
|
+
getCategoryHierarchy(id: string): TaxonomyCategory[];
|
|
97
|
+
updateCategory(id: string, input: Partial<TaxonomyCategoryInput>): TaxonomyCategory;
|
|
98
|
+
deleteCategory(id: string): void;
|
|
99
|
+
classifyAgent(manifest: Record<string, unknown>): AgentClassification;
|
|
100
|
+
validateTaxonomy(categoryId: string, manifest: Record<string, unknown>): ValidationResult;
|
|
101
|
+
}
|
|
102
|
+
export declare const taxonomyService: TaxonomyService;
|
|
103
|
+
//# sourceMappingURL=taxonomy-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonomy-service.d.ts","sourceRoot":"","sources":["../../src/services/taxonomy-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,0BAA0B;;;;;;EAMrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;iBAQtC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAYpC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;iBAqBjC,CAAC;AAGH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAsLtE;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAgB;;IAO7B,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB;IAK9D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAQzC,cAAc,CAAC,OAAO,CAAC,EAAE;QACvB,IAAI,CAAC,EAAE,oBAAoB,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GAAG;QAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAQrD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAKpD,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACpC,gBAAgB;IAKnB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQhC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB;IAyDrE,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,gBAAgB;CAiEpB;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Taxonomy Service
|
|
3
|
+
* OSSA v0.3.6 - Full CRUD operations for agent classification and taxonomy
|
|
4
|
+
*/
|
|
5
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
// Zod schemas for runtime validation
|
|
8
|
+
export const TaxonomyCategoryTypeSchema = z.enum([
|
|
9
|
+
'role',
|
|
10
|
+
'domain',
|
|
11
|
+
'capability',
|
|
12
|
+
'runtime',
|
|
13
|
+
'custom',
|
|
14
|
+
]);
|
|
15
|
+
export const TaxonomyCategoryInputSchema = z.object({
|
|
16
|
+
name: z.string().min(1).max(255),
|
|
17
|
+
description: z.string().optional(),
|
|
18
|
+
type: TaxonomyCategoryTypeSchema,
|
|
19
|
+
level: z.number().int().min(1).max(5),
|
|
20
|
+
parent_id: z.string().uuid().nullable().optional(),
|
|
21
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
22
|
+
tags: z.array(z.string()).optional(),
|
|
23
|
+
});
|
|
24
|
+
export const TaxonomyCategorySchema = TaxonomyCategoryInputSchema.extend({
|
|
25
|
+
id: z.string().uuid(),
|
|
26
|
+
created_at: z.string().datetime(),
|
|
27
|
+
updated_at: z.string().datetime(),
|
|
28
|
+
});
|
|
29
|
+
export const AgentClassificationSchema = z.object({
|
|
30
|
+
agent_id: z.string(),
|
|
31
|
+
classifications: z.array(z.object({
|
|
32
|
+
category_id: z.string().uuid(),
|
|
33
|
+
category_name: z.string(),
|
|
34
|
+
confidence: z.number().min(0).max(1),
|
|
35
|
+
reason: z.string().optional(),
|
|
36
|
+
})),
|
|
37
|
+
confidence: z.number().min(0).max(1),
|
|
38
|
+
suggested_categories: z.array(z.string()).optional(),
|
|
39
|
+
});
|
|
40
|
+
export const ValidationResultSchema = z.object({
|
|
41
|
+
valid: z.boolean(),
|
|
42
|
+
category_id: z.string().uuid(),
|
|
43
|
+
errors: z
|
|
44
|
+
.array(z.object({
|
|
45
|
+
field: z.string(),
|
|
46
|
+
message: z.string(),
|
|
47
|
+
severity: z.enum(['error', 'warning', 'info']),
|
|
48
|
+
}))
|
|
49
|
+
.optional(),
|
|
50
|
+
warnings: z
|
|
51
|
+
.array(z.object({
|
|
52
|
+
field: z.string(),
|
|
53
|
+
message: z.string(),
|
|
54
|
+
}))
|
|
55
|
+
.optional(),
|
|
56
|
+
recommendations: z.array(z.string()).optional(),
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* In-memory storage (replace with database in production)
|
|
60
|
+
*/
|
|
61
|
+
class TaxonomyStore {
|
|
62
|
+
categories = new Map();
|
|
63
|
+
constructor() {
|
|
64
|
+
this.initializeDefaultCategories();
|
|
65
|
+
}
|
|
66
|
+
initializeDefaultCategories() {
|
|
67
|
+
// Role-based categories
|
|
68
|
+
this.createCategory({
|
|
69
|
+
name: 'Analyzer',
|
|
70
|
+
description: 'Read-only analysis and reporting agents',
|
|
71
|
+
type: 'role',
|
|
72
|
+
level: 1,
|
|
73
|
+
tags: ['tier_1_read', 'read-only', 'reporting'],
|
|
74
|
+
});
|
|
75
|
+
this.createCategory({
|
|
76
|
+
name: 'Executor',
|
|
77
|
+
description: 'Agents that execute tasks and make changes',
|
|
78
|
+
type: 'role',
|
|
79
|
+
level: 1,
|
|
80
|
+
tags: ['tier_3_full', 'execution', 'automation'],
|
|
81
|
+
});
|
|
82
|
+
this.createCategory({
|
|
83
|
+
name: 'Coordinator',
|
|
84
|
+
description: 'Agents that orchestrate multi-agent workflows',
|
|
85
|
+
type: 'role',
|
|
86
|
+
level: 1,
|
|
87
|
+
tags: ['tier_2_write_limited', 'orchestration', 'coordination'],
|
|
88
|
+
});
|
|
89
|
+
this.createCategory({
|
|
90
|
+
name: 'Reviewer',
|
|
91
|
+
description: 'Agents that review and approve changes',
|
|
92
|
+
type: 'role',
|
|
93
|
+
level: 1,
|
|
94
|
+
tags: ['tier_4_policy', 'approval', 'governance'],
|
|
95
|
+
});
|
|
96
|
+
// Domain-based categories
|
|
97
|
+
this.createCategory({
|
|
98
|
+
name: 'DevOps Automation',
|
|
99
|
+
description: 'CI/CD, deployment, and infrastructure automation',
|
|
100
|
+
type: 'domain',
|
|
101
|
+
level: 1,
|
|
102
|
+
tags: ['devops', 'cicd', 'deployment'],
|
|
103
|
+
});
|
|
104
|
+
this.createCategory({
|
|
105
|
+
name: 'Security Analysis',
|
|
106
|
+
description: 'Security scanning, compliance, and vulnerability detection',
|
|
107
|
+
type: 'domain',
|
|
108
|
+
level: 1,
|
|
109
|
+
tags: ['security', 'compliance', 'scanning'],
|
|
110
|
+
});
|
|
111
|
+
this.createCategory({
|
|
112
|
+
name: 'Data Processing',
|
|
113
|
+
description: 'Data transformation, ETL, and analytics',
|
|
114
|
+
type: 'domain',
|
|
115
|
+
level: 1,
|
|
116
|
+
tags: ['data', 'etl', 'analytics'],
|
|
117
|
+
});
|
|
118
|
+
// Runtime categories
|
|
119
|
+
this.createCategory({
|
|
120
|
+
name: 'Kubernetes Native',
|
|
121
|
+
description: 'Agents designed for Kubernetes environments',
|
|
122
|
+
type: 'runtime',
|
|
123
|
+
level: 1,
|
|
124
|
+
tags: ['kubernetes', 'k8s', 'cloud-native'],
|
|
125
|
+
});
|
|
126
|
+
this.createCategory({
|
|
127
|
+
name: 'Serverless',
|
|
128
|
+
description: 'Function-as-a-Service compatible agents',
|
|
129
|
+
type: 'runtime',
|
|
130
|
+
level: 1,
|
|
131
|
+
tags: ['serverless', 'lambda', 'functions'],
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
createCategory(input) {
|
|
135
|
+
const validated = TaxonomyCategoryInputSchema.parse(input);
|
|
136
|
+
const now = new Date().toISOString();
|
|
137
|
+
const category = {
|
|
138
|
+
...validated,
|
|
139
|
+
id: uuidv4(),
|
|
140
|
+
created_at: now,
|
|
141
|
+
updated_at: now,
|
|
142
|
+
};
|
|
143
|
+
this.categories.set(category.id, category);
|
|
144
|
+
return category;
|
|
145
|
+
}
|
|
146
|
+
getCategory(id) {
|
|
147
|
+
return this.categories.get(id);
|
|
148
|
+
}
|
|
149
|
+
listCategories(filters) {
|
|
150
|
+
let results = Array.from(this.categories.values());
|
|
151
|
+
if (filters) {
|
|
152
|
+
if (filters.type) {
|
|
153
|
+
results = results.filter((c) => c.type === filters.type);
|
|
154
|
+
}
|
|
155
|
+
if (filters.level !== undefined) {
|
|
156
|
+
results = results.filter((c) => c.level === filters.level);
|
|
157
|
+
}
|
|
158
|
+
if (filters.parent_id !== undefined) {
|
|
159
|
+
results = results.filter((c) => c.parent_id === filters.parent_id);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return results;
|
|
163
|
+
}
|
|
164
|
+
updateCategory(id, input) {
|
|
165
|
+
const existing = this.categories.get(id);
|
|
166
|
+
if (!existing) {
|
|
167
|
+
throw new Error(`Category ${id} not found`);
|
|
168
|
+
}
|
|
169
|
+
const updated = {
|
|
170
|
+
...existing,
|
|
171
|
+
...input,
|
|
172
|
+
id: existing.id,
|
|
173
|
+
created_at: existing.created_at,
|
|
174
|
+
updated_at: new Date().toISOString(),
|
|
175
|
+
};
|
|
176
|
+
const validated = TaxonomyCategorySchema.parse(updated);
|
|
177
|
+
this.categories.set(id, validated);
|
|
178
|
+
return validated;
|
|
179
|
+
}
|
|
180
|
+
deleteCategory(id) {
|
|
181
|
+
// Check for child categories
|
|
182
|
+
const children = this.listCategories({ parent_id: id });
|
|
183
|
+
if (children.length > 0) {
|
|
184
|
+
throw new Error(`Cannot delete category ${id}: has ${children.length} child categories`);
|
|
185
|
+
}
|
|
186
|
+
return this.categories.delete(id);
|
|
187
|
+
}
|
|
188
|
+
getCategoryHierarchy(id) {
|
|
189
|
+
const category = this.getCategory(id);
|
|
190
|
+
if (!category)
|
|
191
|
+
return [];
|
|
192
|
+
const hierarchy = [category];
|
|
193
|
+
let current = category;
|
|
194
|
+
while (current.parent_id) {
|
|
195
|
+
const parent = this.getCategory(current.parent_id);
|
|
196
|
+
if (!parent)
|
|
197
|
+
break;
|
|
198
|
+
hierarchy.unshift(parent);
|
|
199
|
+
current = parent;
|
|
200
|
+
}
|
|
201
|
+
return hierarchy;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Taxonomy Service
|
|
206
|
+
*/
|
|
207
|
+
export class TaxonomyService {
|
|
208
|
+
store;
|
|
209
|
+
constructor() {
|
|
210
|
+
this.store = new TaxonomyStore();
|
|
211
|
+
}
|
|
212
|
+
// CREATE
|
|
213
|
+
createCategory(input) {
|
|
214
|
+
return this.store.createCategory(input);
|
|
215
|
+
}
|
|
216
|
+
// READ
|
|
217
|
+
getCategory(id) {
|
|
218
|
+
const category = this.store.getCategory(id);
|
|
219
|
+
if (!category) {
|
|
220
|
+
throw new Error(`Category ${id} not found`);
|
|
221
|
+
}
|
|
222
|
+
return category;
|
|
223
|
+
}
|
|
224
|
+
listCategories(filters) {
|
|
225
|
+
const categories = this.store.listCategories(filters);
|
|
226
|
+
return {
|
|
227
|
+
categories,
|
|
228
|
+
total: categories.length,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
getCategoryHierarchy(id) {
|
|
232
|
+
return this.store.getCategoryHierarchy(id);
|
|
233
|
+
}
|
|
234
|
+
// UPDATE
|
|
235
|
+
updateCategory(id, input) {
|
|
236
|
+
return this.store.updateCategory(id, input);
|
|
237
|
+
}
|
|
238
|
+
// DELETE
|
|
239
|
+
deleteCategory(id) {
|
|
240
|
+
const deleted = this.store.deleteCategory(id);
|
|
241
|
+
if (!deleted) {
|
|
242
|
+
throw new Error(`Category ${id} not found`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// CLASSIFY
|
|
246
|
+
classifyAgent(manifest) {
|
|
247
|
+
const agentId = manifest.id || 'unknown';
|
|
248
|
+
const capabilities = manifest.capabilities || [];
|
|
249
|
+
const accessTier = manifest.access_tier || 'tier_1_read';
|
|
250
|
+
const classifications = [];
|
|
251
|
+
let totalConfidence = 0;
|
|
252
|
+
// Role classification based on access tier
|
|
253
|
+
const roleCategories = this.store.listCategories({ type: 'role' });
|
|
254
|
+
for (const category of roleCategories) {
|
|
255
|
+
if (category.tags?.includes(accessTier)) {
|
|
256
|
+
const confidence = 0.9;
|
|
257
|
+
classifications.push({
|
|
258
|
+
category_id: category.id,
|
|
259
|
+
category_name: category.name,
|
|
260
|
+
confidence,
|
|
261
|
+
reason: `Agent access tier (${accessTier}) matches role category`,
|
|
262
|
+
});
|
|
263
|
+
totalConfidence += confidence;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
// Domain classification based on capabilities
|
|
267
|
+
const domainCategories = this.store.listCategories({ type: 'domain' });
|
|
268
|
+
for (const category of domainCategories) {
|
|
269
|
+
const matchingTags = category.tags?.filter((tag) => capabilities.some((cap) => cap.toLowerCase().includes(tag.toLowerCase()))) || [];
|
|
270
|
+
if (matchingTags.length > 0) {
|
|
271
|
+
const confidence = Math.min(matchingTags.length * 0.3, 0.9);
|
|
272
|
+
classifications.push({
|
|
273
|
+
category_id: category.id,
|
|
274
|
+
category_name: category.name,
|
|
275
|
+
confidence,
|
|
276
|
+
reason: `Capabilities match domain tags: ${matchingTags.join(', ')}`,
|
|
277
|
+
});
|
|
278
|
+
totalConfidence += confidence;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
const avgConfidence = classifications.length > 0 ? totalConfidence / classifications.length : 0;
|
|
282
|
+
return {
|
|
283
|
+
agent_id: agentId,
|
|
284
|
+
classifications,
|
|
285
|
+
confidence: Math.min(avgConfidence, 1),
|
|
286
|
+
suggested_categories: classifications.map((c) => c.category_name),
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
// VALIDATE
|
|
290
|
+
validateTaxonomy(categoryId, manifest) {
|
|
291
|
+
const category = this.store.getCategory(categoryId);
|
|
292
|
+
if (!category) {
|
|
293
|
+
return {
|
|
294
|
+
valid: false,
|
|
295
|
+
category_id: categoryId,
|
|
296
|
+
errors: [
|
|
297
|
+
{
|
|
298
|
+
field: 'category_id',
|
|
299
|
+
message: `Category ${categoryId} not found`,
|
|
300
|
+
severity: 'error',
|
|
301
|
+
},
|
|
302
|
+
],
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
const errors = [];
|
|
306
|
+
const warnings = [];
|
|
307
|
+
const recommendations = [];
|
|
308
|
+
// Validate access tier matches role category
|
|
309
|
+
if (category.type === 'role') {
|
|
310
|
+
const accessTier = manifest.access_tier || 'tier_1_read';
|
|
311
|
+
const tierMatch = category.tags?.includes(accessTier);
|
|
312
|
+
if (!tierMatch) {
|
|
313
|
+
warnings?.push({
|
|
314
|
+
field: 'access_tier',
|
|
315
|
+
message: `Access tier ${accessTier} may not match role category ${category.name}`,
|
|
316
|
+
});
|
|
317
|
+
recommendations.push(`Consider ${category.tags?.find((t) => t.startsWith('tier_'))} access tier`);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
// Validate capabilities match domain category
|
|
321
|
+
if (category.type === 'domain') {
|
|
322
|
+
const capabilities = manifest.capabilities || [];
|
|
323
|
+
const hasMatchingCap = capabilities.some((cap) => category.tags?.some((tag) => cap.toLowerCase().includes(tag.toLowerCase())));
|
|
324
|
+
if (!hasMatchingCap) {
|
|
325
|
+
warnings?.push({
|
|
326
|
+
field: 'capabilities',
|
|
327
|
+
message: `No capabilities match domain category ${category.name}`,
|
|
328
|
+
});
|
|
329
|
+
recommendations.push(`Add capabilities related to: ${category.tags?.join(', ')}`);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return {
|
|
333
|
+
valid: (errors?.length || 0) === 0,
|
|
334
|
+
category_id: categoryId,
|
|
335
|
+
errors: errors && errors.length > 0 ? errors : undefined,
|
|
336
|
+
warnings: warnings && warnings.length > 0 ? warnings : undefined,
|
|
337
|
+
recommendations: recommendations.length > 0 ? recommendations : undefined,
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
// Singleton instance
|
|
342
|
+
export const taxonomyService = new TaxonomyService();
|
|
343
|
+
//# sourceMappingURL=taxonomy-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonomy-service.js","sourceRoot":"","sources":["../../src/services/taxonomy-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { OssaAgent } from '../types/index.js';
|
|
2
|
+
export interface TaxonomyValidationResult {
|
|
3
|
+
valid: boolean;
|
|
4
|
+
errors: string[];
|
|
5
|
+
warnings: string[];
|
|
6
|
+
conflicts: TaxonomyConflict[];
|
|
7
|
+
}
|
|
8
|
+
export interface TaxonomyConflict {
|
|
9
|
+
field: string;
|
|
10
|
+
value: string;
|
|
11
|
+
reason: string;
|
|
12
|
+
suggestion?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class TaxonomyValidatorService {
|
|
15
|
+
private taxonomyService;
|
|
16
|
+
constructor();
|
|
17
|
+
validate(manifest: OssaAgent): Promise<TaxonomyValidationResult>;
|
|
18
|
+
private checkConflicts;
|
|
19
|
+
private checkConsistency;
|
|
20
|
+
validateAgainstSpec(taxonomy: Record<string, unknown>): Promise<{
|
|
21
|
+
valid: boolean;
|
|
22
|
+
errors: string[];
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=taxonomy-validator.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonomy-validator.service.d.ts","sourceRoot":"","sources":["../../src/services/taxonomy-validator.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,eAAe,CAAkB;;IAMnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA6EtE,OAAO,CAAC,cAAc;IAmDtB,OAAO,CAAC,gBAAgB;IA8BlB,mBAAmB,CACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CA8BjD"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { TaxonomyService } from './taxonomy.service.js';
|
|
2
|
+
import { container } from '../di-container.js';
|
|
3
|
+
export class TaxonomyValidatorService {
|
|
4
|
+
taxonomyService;
|
|
5
|
+
constructor() {
|
|
6
|
+
this.taxonomyService = container.get(TaxonomyService);
|
|
7
|
+
}
|
|
8
|
+
async validate(manifest) {
|
|
9
|
+
const result = {
|
|
10
|
+
valid: true,
|
|
11
|
+
errors: [],
|
|
12
|
+
warnings: [],
|
|
13
|
+
conflicts: [],
|
|
14
|
+
};
|
|
15
|
+
const taxonomy = manifest.spec?.taxonomy;
|
|
16
|
+
if (!taxonomy) {
|
|
17
|
+
result.warnings.push('No taxonomy specified in manifest');
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
const taxonomySpec = await this.taxonomyService.loadTaxonomy();
|
|
21
|
+
// Validate maturity level
|
|
22
|
+
if (taxonomy.maturity) {
|
|
23
|
+
const maturity = taxonomy.maturity;
|
|
24
|
+
if (!taxonomySpec.maturity_levels?.[maturity]) {
|
|
25
|
+
result.errors.push(`Invalid maturity level: ${maturity}`);
|
|
26
|
+
result.valid = false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Validate deployment pattern
|
|
30
|
+
if (taxonomy.deployment_pattern) {
|
|
31
|
+
const deployment = taxonomy.deployment_pattern;
|
|
32
|
+
if (!taxonomySpec.deployment_patterns?.[deployment]) {
|
|
33
|
+
result.errors.push(`Invalid deployment pattern: ${deployment}`);
|
|
34
|
+
result.valid = false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Validate integration pattern
|
|
38
|
+
if (taxonomy.integration_pattern) {
|
|
39
|
+
const integration = taxonomy.integration_pattern;
|
|
40
|
+
if (!taxonomySpec.integration_patterns?.[integration]) {
|
|
41
|
+
result.errors.push(`Invalid integration pattern: ${integration}`);
|
|
42
|
+
result.valid = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Validate cost profile
|
|
46
|
+
if (taxonomy.cost_profile) {
|
|
47
|
+
const cost = taxonomy.cost_profile;
|
|
48
|
+
if (!taxonomySpec.cost_profiles?.[cost]) {
|
|
49
|
+
result.errors.push(`Invalid cost profile: ${cost}`);
|
|
50
|
+
result.valid = false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Validate performance tier
|
|
54
|
+
if (taxonomy.performance_tier) {
|
|
55
|
+
const performance = taxonomy.performance_tier;
|
|
56
|
+
if (!taxonomySpec.performance_tiers?.[performance]) {
|
|
57
|
+
result.errors.push(`Invalid performance tier: ${performance}`);
|
|
58
|
+
result.valid = false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Check for conflicts
|
|
62
|
+
const conflicts = this.checkConflicts(taxonomy, manifest);
|
|
63
|
+
result.conflicts = conflicts;
|
|
64
|
+
if (conflicts.length > 0) {
|
|
65
|
+
result.warnings.push(`${conflicts.length} taxonomy conflict(s) detected`);
|
|
66
|
+
}
|
|
67
|
+
// Check consistency
|
|
68
|
+
const consistencyIssues = this.checkConsistency(taxonomy, manifest);
|
|
69
|
+
result.warnings.push(...consistencyIssues);
|
|
70
|
+
return result;
|
|
71
|
+
}
|
|
72
|
+
checkConflicts(taxonomy, manifest) {
|
|
73
|
+
const conflicts = [];
|
|
74
|
+
// Check maturity vs deployment pattern conflicts
|
|
75
|
+
if (taxonomy.maturity === 'prototype' &&
|
|
76
|
+
taxonomy.deployment_pattern === 'serverless') {
|
|
77
|
+
conflicts.push({
|
|
78
|
+
field: 'deployment_pattern',
|
|
79
|
+
value: taxonomy.deployment_pattern,
|
|
80
|
+
reason: 'Prototype agents typically use container deployment for easier debugging',
|
|
81
|
+
suggestion: 'container',
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
// Check cost profile vs performance tier conflicts
|
|
85
|
+
if (taxonomy.cost_profile === 'low' &&
|
|
86
|
+
taxonomy.performance_tier === 'real-time') {
|
|
87
|
+
conflicts.push({
|
|
88
|
+
field: 'performance_tier',
|
|
89
|
+
value: taxonomy.performance_tier,
|
|
90
|
+
reason: 'Real-time performance typically requires higher cost infrastructure',
|
|
91
|
+
suggestion: 'near-real-time',
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Check integration pattern vs deployment pattern conflicts
|
|
95
|
+
if (taxonomy.integration_pattern === 'streaming' &&
|
|
96
|
+
taxonomy.deployment_pattern === 'serverless') {
|
|
97
|
+
conflicts.push({
|
|
98
|
+
field: 'deployment_pattern',
|
|
99
|
+
value: taxonomy.deployment_pattern,
|
|
100
|
+
reason: 'Streaming integration typically requires container or edge deployment',
|
|
101
|
+
suggestion: 'container',
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return conflicts;
|
|
105
|
+
}
|
|
106
|
+
checkConsistency(taxonomy, manifest) {
|
|
107
|
+
const issues = [];
|
|
108
|
+
// Check domain consistency
|
|
109
|
+
const domain = taxonomy.domain;
|
|
110
|
+
const labels = manifest.metadata?.labels || {};
|
|
111
|
+
const labelDomain = labels['ossa.ai/domain'];
|
|
112
|
+
if (domain && labelDomain && domain !== labelDomain) {
|
|
113
|
+
issues.push(`Taxonomy domain (${domain}) differs from label domain (${labelDomain})`);
|
|
114
|
+
}
|
|
115
|
+
// Check agent type consistency
|
|
116
|
+
const agentType = taxonomy.agent_type;
|
|
117
|
+
const labelType = labels['ossa.ai/type'];
|
|
118
|
+
if (agentType && labelType && agentType !== labelType) {
|
|
119
|
+
issues.push(`Taxonomy agent type (${agentType}) differs from label type (${labelType})`);
|
|
120
|
+
}
|
|
121
|
+
return issues;
|
|
122
|
+
}
|
|
123
|
+
async validateAgainstSpec(taxonomy) {
|
|
124
|
+
const taxonomySpec = await this.taxonomyService.loadTaxonomy();
|
|
125
|
+
const errors = [];
|
|
126
|
+
// Validate all taxonomy fields against spec
|
|
127
|
+
const fields = [
|
|
128
|
+
'maturity',
|
|
129
|
+
'deployment_pattern',
|
|
130
|
+
'integration_pattern',
|
|
131
|
+
'cost_profile',
|
|
132
|
+
'performance_tier',
|
|
133
|
+
];
|
|
134
|
+
for (const field of fields) {
|
|
135
|
+
const value = taxonomy[field];
|
|
136
|
+
if (!value)
|
|
137
|
+
continue;
|
|
138
|
+
const specSection = taxonomySpec[`${field}s`];
|
|
139
|
+
if (!specSection || !specSection[value]) {
|
|
140
|
+
errors.push(`Invalid ${field}: ${value}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
valid: errors.length === 0,
|
|
145
|
+
errors,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=taxonomy-validator.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonomy-validator.service.js","sourceRoot":"","sources":["../../src/services/taxonomy-validator.service.ts"],"names":[],"mappings":"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"}
|