@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,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Skills Service
|
|
3
|
+
* Discovery, generation, and synchronization of Claude Skills from OSSA manifests
|
|
4
|
+
*/
|
|
5
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
6
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
9
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
10
|
+
};
|
|
11
|
+
import * as fs from 'fs';
|
|
12
|
+
import * as path from 'path';
|
|
13
|
+
import * as yaml from 'yaml';
|
|
14
|
+
import { injectable } from 'inversify';
|
|
15
|
+
let ClaudeSkillsService = class ClaudeSkillsService {
|
|
16
|
+
/**
|
|
17
|
+
* Discover Claude Skills from standard locations
|
|
18
|
+
*/
|
|
19
|
+
async discoverSkills() {
|
|
20
|
+
const skills = [];
|
|
21
|
+
const skillPaths = [
|
|
22
|
+
path.join(process.env.HOME || '~', '.claude', 'skills'),
|
|
23
|
+
path.join(process.cwd(), '.claude', 'skills'),
|
|
24
|
+
path.join(process.cwd(), 'skills'),
|
|
25
|
+
];
|
|
26
|
+
for (const skillPath of skillPaths) {
|
|
27
|
+
const resolvedPath = path.resolve(skillPath);
|
|
28
|
+
if (fs.existsSync(resolvedPath)) {
|
|
29
|
+
const discovered = await this.scanSkillsDirectory(resolvedPath);
|
|
30
|
+
skills.push(...discovered);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return skills;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Scan directory for Claude Skills
|
|
37
|
+
*/
|
|
38
|
+
async scanSkillsDirectory(dir) {
|
|
39
|
+
const skills = [];
|
|
40
|
+
if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
|
|
41
|
+
return skills;
|
|
42
|
+
}
|
|
43
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
44
|
+
for (const entry of entries) {
|
|
45
|
+
if (entry.isDirectory()) {
|
|
46
|
+
const skillDir = path.join(dir, entry.name);
|
|
47
|
+
const skillFile = path.join(skillDir, 'SKILL.md');
|
|
48
|
+
if (fs.existsSync(skillFile)) {
|
|
49
|
+
try {
|
|
50
|
+
const skill = await this.parseSkillFile(skillFile);
|
|
51
|
+
skills.push({
|
|
52
|
+
...skill,
|
|
53
|
+
path: skillFile,
|
|
54
|
+
skillPath: skillDir,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
// Skip invalid skill files
|
|
59
|
+
if (process.env.DEBUG) {
|
|
60
|
+
console.warn(`Failed to parse skill: ${skillFile}`, error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return skills;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Parse Claude Skill file (SKILL.md)
|
|
70
|
+
*/
|
|
71
|
+
async parseSkillFile(skillPath) {
|
|
72
|
+
const content = fs.readFileSync(skillPath, 'utf-8');
|
|
73
|
+
// Extract frontmatter
|
|
74
|
+
const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
|
|
75
|
+
if (!frontmatterMatch) {
|
|
76
|
+
throw new Error('No frontmatter found in SKILL.md');
|
|
77
|
+
}
|
|
78
|
+
const frontmatter = yaml.parse(frontmatterMatch[1]);
|
|
79
|
+
// Extract description from content if not in frontmatter
|
|
80
|
+
let description = frontmatter.description || '';
|
|
81
|
+
if (!description) {
|
|
82
|
+
const contentAfterFrontmatter = content.replace(/^---\n[\s\S]*?\n---\n/, '');
|
|
83
|
+
const firstParagraph = contentAfterFrontmatter
|
|
84
|
+
.split('\n\n')
|
|
85
|
+
.find((p) => p.trim().length > 0);
|
|
86
|
+
description = firstParagraph?.trim() || '';
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
name: frontmatter.name || path.basename(path.dirname(skillPath)),
|
|
90
|
+
description,
|
|
91
|
+
triggerKeywords: frontmatter.trigger_keywords || [],
|
|
92
|
+
path: skillPath,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Generate Claude Skill from OSSA manifest
|
|
97
|
+
*/
|
|
98
|
+
async generateSkillFromOSSA(manifest, options = {}) {
|
|
99
|
+
const agentName = manifest.metadata?.name || 'unknown-agent';
|
|
100
|
+
const skillName = options.skillName || agentName;
|
|
101
|
+
const outputPath = options.outputPath ||
|
|
102
|
+
path.join(process.cwd(), '.claude', 'skills', skillName);
|
|
103
|
+
// Ensure directory exists
|
|
104
|
+
if (!fs.existsSync(outputPath)) {
|
|
105
|
+
fs.mkdirSync(outputPath, { recursive: true });
|
|
106
|
+
}
|
|
107
|
+
const skillPath = path.join(outputPath, 'SKILL.md');
|
|
108
|
+
// Extract trigger keywords from taxonomy and capabilities
|
|
109
|
+
const triggerKeywords = [];
|
|
110
|
+
const taxonomy = manifest.spec?.taxonomy;
|
|
111
|
+
if (taxonomy?.domain) {
|
|
112
|
+
triggerKeywords.push(taxonomy.domain);
|
|
113
|
+
}
|
|
114
|
+
if (taxonomy?.subdomain) {
|
|
115
|
+
triggerKeywords.push(taxonomy.subdomain);
|
|
116
|
+
}
|
|
117
|
+
if (taxonomy?.capability) {
|
|
118
|
+
triggerKeywords.push(taxonomy.capability);
|
|
119
|
+
}
|
|
120
|
+
// Extract from capabilities (if exists in spec)
|
|
121
|
+
const specRecord = manifest.spec;
|
|
122
|
+
if (specRecord.capabilities) {
|
|
123
|
+
const capabilities = specRecord.capabilities;
|
|
124
|
+
for (const cap of capabilities) {
|
|
125
|
+
if (typeof cap === 'string') {
|
|
126
|
+
triggerKeywords.push(cap);
|
|
127
|
+
}
|
|
128
|
+
else if (cap && typeof cap === 'object' && 'name' in cap) {
|
|
129
|
+
triggerKeywords.push(String(cap.name));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Extract from role/system prompt
|
|
134
|
+
const role = manifest.spec?.role || '';
|
|
135
|
+
const roleKeywords = role
|
|
136
|
+
.toLowerCase()
|
|
137
|
+
.split(/\s+/)
|
|
138
|
+
.filter((w) => w.length > 4)
|
|
139
|
+
.slice(0, 5);
|
|
140
|
+
triggerKeywords.push(...roleKeywords);
|
|
141
|
+
// Generate skill content
|
|
142
|
+
const skillContent = this.generateSkillContent(manifest, triggerKeywords, options.includeExamples || false);
|
|
143
|
+
fs.writeFileSync(skillPath, skillContent, 'utf-8');
|
|
144
|
+
return skillPath;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Generate skill content from OSSA manifest
|
|
148
|
+
*/
|
|
149
|
+
generateSkillContent(manifest, triggerKeywords, includeExamples) {
|
|
150
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
151
|
+
const description = manifest.metadata?.description || manifest.spec?.role || 'OSSA agent';
|
|
152
|
+
const frontmatter = {
|
|
153
|
+
name: agentName,
|
|
154
|
+
description: description.substring(0, 200),
|
|
155
|
+
trigger_keywords: [...new Set(triggerKeywords)].slice(0, 10),
|
|
156
|
+
};
|
|
157
|
+
let content = `---\n${yaml.stringify(frontmatter)}---\n\n`;
|
|
158
|
+
content += `# ${agentName}\n\n`;
|
|
159
|
+
content += `${description}\n\n`;
|
|
160
|
+
content += `## Purpose\n\n`;
|
|
161
|
+
content += `This skill enables Claude to work with the ${agentName} OSSA agent.\n\n`;
|
|
162
|
+
content += `## OSSA Manifest\n\n`;
|
|
163
|
+
content += `- **Agent Name**: ${agentName}\n`;
|
|
164
|
+
content += `- **Version**: ${manifest.metadata?.version || '0.1.0'}\n`;
|
|
165
|
+
if (manifest.metadata?.labels?.['ossa.ai/domain']) {
|
|
166
|
+
content += `- **Domain**: ${manifest.metadata.labels['ossa.ai/domain']}\n`;
|
|
167
|
+
}
|
|
168
|
+
content += `\n`;
|
|
169
|
+
if (manifest.spec?.tools && manifest.spec.tools.length > 0) {
|
|
170
|
+
content += `## Available Tools\n\n`;
|
|
171
|
+
for (const tool of manifest.spec.tools) {
|
|
172
|
+
const toolName = typeof tool === 'string' ? tool : tool.name || 'unknown';
|
|
173
|
+
content += `- ${toolName}\n`;
|
|
174
|
+
}
|
|
175
|
+
content += `\n`;
|
|
176
|
+
}
|
|
177
|
+
if (includeExamples && manifest.spec?.role) {
|
|
178
|
+
content += `## Example Usage\n\n`;
|
|
179
|
+
content += `\`\`\`\n`;
|
|
180
|
+
content += `Use ${agentName} to: ${description}\n`;
|
|
181
|
+
content += `\`\`\`\n\n`;
|
|
182
|
+
}
|
|
183
|
+
content += `## When to Use\n\n`;
|
|
184
|
+
content += `This skill activates when:\n`;
|
|
185
|
+
for (const keyword of triggerKeywords.slice(0, 5)) {
|
|
186
|
+
content += `- Task involves: ${keyword}\n`;
|
|
187
|
+
}
|
|
188
|
+
content += `\n`;
|
|
189
|
+
return content;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Sync OSSA manifest with Claude Skill
|
|
193
|
+
*/
|
|
194
|
+
async syncSkillToOSSA(skillPath, manifestPath) {
|
|
195
|
+
const skill = await this.parseSkillFile(skillPath);
|
|
196
|
+
const manifestContent = fs.readFileSync(manifestPath, 'utf-8');
|
|
197
|
+
const manifest = yaml.parse(manifestContent);
|
|
198
|
+
// Update manifest metadata with skill info
|
|
199
|
+
if (!manifest.metadata) {
|
|
200
|
+
manifest.metadata = { name: '' };
|
|
201
|
+
}
|
|
202
|
+
if (!manifest.metadata.labels) {
|
|
203
|
+
manifest.metadata.labels = {};
|
|
204
|
+
}
|
|
205
|
+
manifest.metadata.labels['claude.skill.path'] = skillPath;
|
|
206
|
+
manifest.metadata.labels['claude.skill.name'] = skill.name;
|
|
207
|
+
// Update taxonomy from trigger keywords if not set
|
|
208
|
+
if (!manifest.spec?.taxonomy) {
|
|
209
|
+
const specRecord = manifest.spec;
|
|
210
|
+
if (!specRecord.taxonomy) {
|
|
211
|
+
specRecord.taxonomy = {};
|
|
212
|
+
}
|
|
213
|
+
const taxonomy = specRecord.taxonomy;
|
|
214
|
+
if (skill.triggerKeywords.length > 0 && !taxonomy.domain) {
|
|
215
|
+
taxonomy.domain = skill.triggerKeywords[0];
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// Write updated manifest
|
|
219
|
+
const updatedContent = yaml.stringify(manifest);
|
|
220
|
+
fs.writeFileSync(manifestPath, updatedContent, 'utf-8');
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Validate skill against OSSA schema
|
|
224
|
+
*/
|
|
225
|
+
async validateSkill(skillPath) {
|
|
226
|
+
const errors = [];
|
|
227
|
+
try {
|
|
228
|
+
const skill = await this.parseSkillFile(skillPath);
|
|
229
|
+
if (!skill.name) {
|
|
230
|
+
errors.push('Skill name is required');
|
|
231
|
+
}
|
|
232
|
+
if (!skill.description || skill.description.length < 10) {
|
|
233
|
+
errors.push('Skill description must be at least 10 characters');
|
|
234
|
+
}
|
|
235
|
+
if (skill.triggerKeywords.length === 0) {
|
|
236
|
+
errors.push('At least one trigger keyword is required');
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
errors.push(`Failed to parse skill: ${error instanceof Error ? error.message : String(error)}`);
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
valid: errors.length === 0,
|
|
244
|
+
errors,
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
ClaudeSkillsService = __decorate([
|
|
249
|
+
injectable()
|
|
250
|
+
], ClaudeSkillsService);
|
|
251
|
+
export { ClaudeSkillsService };
|
|
252
|
+
//# sourceMappingURL=claude-skills.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-skills.service.js","sourceRoot":"","sources":["../../../src/services/skills/claude-skills.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Folder Structure Service
|
|
3
|
+
*
|
|
4
|
+
* Creates complete, standardized .agents folder structure following
|
|
5
|
+
* OpenAPI-first, API-first, Zod, CRUD, SOLID, and DRY principles.
|
|
6
|
+
*
|
|
7
|
+
* SOLID: Single Responsibility - Only creates folder structure
|
|
8
|
+
* DRY: Single source of truth (manifest), all code generated
|
|
9
|
+
*/
|
|
10
|
+
export interface AgentFolderStructure {
|
|
11
|
+
agentName: string;
|
|
12
|
+
basePath: string;
|
|
13
|
+
directories: string[];
|
|
14
|
+
files: Array<{
|
|
15
|
+
path: string;
|
|
16
|
+
content: string;
|
|
17
|
+
description: string;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export declare class AgentsFolderService {
|
|
21
|
+
/**
|
|
22
|
+
* Generate complete agent folder structure
|
|
23
|
+
*/
|
|
24
|
+
generateStructure(agentName: string, basePath?: string): AgentFolderStructure;
|
|
25
|
+
/**
|
|
26
|
+
* Create folder structure on filesystem
|
|
27
|
+
*/
|
|
28
|
+
createStructure(structure: AgentFolderStructure, overwrite?: boolean): void;
|
|
29
|
+
/**
|
|
30
|
+
* Validate folder structure
|
|
31
|
+
*/
|
|
32
|
+
validateStructure(agentDir: string): {
|
|
33
|
+
valid: boolean;
|
|
34
|
+
errors: string[];
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=agents-folder.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-folder.service.d.ts","sourceRoot":"","sources":["../../../src/services/structure/agents-folder.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,MAAkB,GAC3B,oBAAoB;IAqRvB;;OAEG;IACH,eAAe,CACb,SAAS,EAAE,oBAAoB,EAC/B,SAAS,GAAE,OAAe,GACzB,IAAI;IAkBP;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAqC1E"}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Folder Structure Service
|
|
3
|
+
*
|
|
4
|
+
* Creates complete, standardized .agents folder structure following
|
|
5
|
+
* OpenAPI-first, API-first, Zod, CRUD, SOLID, and DRY principles.
|
|
6
|
+
*
|
|
7
|
+
* SOLID: Single Responsibility - Only creates folder structure
|
|
8
|
+
* DRY: Single source of truth (manifest), all code generated
|
|
9
|
+
*/
|
|
10
|
+
import * as fs from 'fs';
|
|
11
|
+
import * as path from 'path';
|
|
12
|
+
export class AgentsFolderService {
|
|
13
|
+
/**
|
|
14
|
+
* Generate complete agent folder structure
|
|
15
|
+
*/
|
|
16
|
+
generateStructure(agentName, basePath = '.agents') {
|
|
17
|
+
const agentDir = path.join(basePath, agentName);
|
|
18
|
+
const directories = [
|
|
19
|
+
// Core structure
|
|
20
|
+
agentDir,
|
|
21
|
+
path.join(agentDir, 'prompts'),
|
|
22
|
+
path.join(agentDir, 'prompts', 'examples'),
|
|
23
|
+
path.join(agentDir, 'tools'),
|
|
24
|
+
path.join(agentDir, 'tools', 'functions'),
|
|
25
|
+
path.join(agentDir, 'tools', 'schemas'),
|
|
26
|
+
path.join(agentDir, 'skills'),
|
|
27
|
+
path.join(agentDir, 'config'),
|
|
28
|
+
path.join(agentDir, 'api'),
|
|
29
|
+
path.join(agentDir, 'src'),
|
|
30
|
+
path.join(agentDir, 'src', 'adapters'),
|
|
31
|
+
path.join(agentDir, 'src', 'runtime'),
|
|
32
|
+
path.join(agentDir, 'src', 'mcp'),
|
|
33
|
+
path.join(agentDir, 'tests'),
|
|
34
|
+
path.join(agentDir, 'tests', 'unit'),
|
|
35
|
+
path.join(agentDir, 'tests', 'integration'),
|
|
36
|
+
path.join(agentDir, 'tests', 'fixtures'),
|
|
37
|
+
path.join(agentDir, 'docs'),
|
|
38
|
+
path.join(agentDir, 'docker'),
|
|
39
|
+
path.join(agentDir, 'k8s'),
|
|
40
|
+
];
|
|
41
|
+
const files = [
|
|
42
|
+
// Core manifest (will be created by wizard/scaffold)
|
|
43
|
+
{
|
|
44
|
+
path: path.join(agentDir, 'manifest.ossa.yaml'),
|
|
45
|
+
content: '# OSSA Manifest - Single Source of Truth\n# Generated by ossa wizard\n',
|
|
46
|
+
description: 'OSSA manifest (single source of truth)',
|
|
47
|
+
},
|
|
48
|
+
// OpenAPI spec placeholder (will be generated)
|
|
49
|
+
{
|
|
50
|
+
path: path.join(agentDir, 'openapi.yaml'),
|
|
51
|
+
content: '# OpenAPI 3.1 Specification\n# Generated from manifest.ossa.yaml\n# Use: ossa generate openapi\n',
|
|
52
|
+
description: 'OpenAPI spec (generated from manifest)',
|
|
53
|
+
},
|
|
54
|
+
// Zod schemas placeholder (will be generated)
|
|
55
|
+
{
|
|
56
|
+
path: path.join(agentDir, 'zod-schemas.ts'),
|
|
57
|
+
content: '// Zod schemas generated from OpenAPI\n// Use: ossa generate zod\n',
|
|
58
|
+
description: 'Zod schemas (generated from OpenAPI)',
|
|
59
|
+
},
|
|
60
|
+
// API client placeholder (will be generated)
|
|
61
|
+
{
|
|
62
|
+
path: path.join(agentDir, 'api-client.ts'),
|
|
63
|
+
content: '// Type-safe API client generated from OpenAPI\n// Use: ossa generate client\n',
|
|
64
|
+
description: 'API client (generated from OpenAPI)',
|
|
65
|
+
},
|
|
66
|
+
// Prompt templates
|
|
67
|
+
{
|
|
68
|
+
path: path.join(agentDir, 'prompts', 'system.txt'),
|
|
69
|
+
content: "# System Prompt\n# Define the agent's role and behavior\n",
|
|
70
|
+
description: 'System prompt template',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
path: path.join(agentDir, 'prompts', 'user-template.jinja2'),
|
|
74
|
+
content: '# User Prompt Template\n# Jinja2 template for user prompts\n',
|
|
75
|
+
description: 'User prompt template (Jinja2)',
|
|
76
|
+
},
|
|
77
|
+
// Tools configuration
|
|
78
|
+
{
|
|
79
|
+
path: path.join(agentDir, 'tools', 'tools.yaml'),
|
|
80
|
+
content: '# Tool Registry\n# MCP-first tool definitions\n',
|
|
81
|
+
description: 'Tool registry (MCP-first)',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
path: path.join(agentDir, 'tools', 'mcp-servers.yaml'),
|
|
85
|
+
content: '# MCP Server Configurations\n# Model Context Protocol servers\n',
|
|
86
|
+
description: 'MCP server configurations',
|
|
87
|
+
},
|
|
88
|
+
// Config files
|
|
89
|
+
{
|
|
90
|
+
path: path.join(agentDir, 'config', 'development.yaml'),
|
|
91
|
+
content: '# Development Configuration\n',
|
|
92
|
+
description: 'Development config',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
path: path.join(agentDir, 'config', 'staging.yaml'),
|
|
96
|
+
content: '# Staging Configuration\n',
|
|
97
|
+
description: 'Staging config',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
path: path.join(agentDir, 'config', 'production.yaml'),
|
|
101
|
+
content: '# Production Configuration\n',
|
|
102
|
+
description: 'Production config',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
path: path.join(agentDir, 'config', 'local.yaml'),
|
|
106
|
+
content: '# Local Configuration\n',
|
|
107
|
+
description: 'Local config',
|
|
108
|
+
},
|
|
109
|
+
// API structure (CRUD)
|
|
110
|
+
{
|
|
111
|
+
path: path.join(agentDir, 'api', 'routes.ts'),
|
|
112
|
+
content: `// REST API Routes\n// Generated from OpenAPI spec\nimport { Router } from 'express';\n\nconst router = Router();\n\n// Routes will be generated from OpenAPI spec\n\nexport default router;\n`,
|
|
113
|
+
description: 'API routes (generated from OpenAPI)',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
path: path.join(agentDir, 'api', 'controllers.ts'),
|
|
117
|
+
content: `// API Controllers (SOLID)\n// Single Responsibility: HTTP handling only\n\nimport type { Request, Response } from 'express';\n\nexport class AgentController {\n // Controllers will be generated\n}\n`,
|
|
118
|
+
description: 'API controllers (SOLID)',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
path: path.join(agentDir, 'api', 'services.ts'),
|
|
122
|
+
content: `// Business Logic Services (SOLID)\n// Single Responsibility: Business logic only\n\nexport class AgentService {\n // Services will be generated\n}\n`,
|
|
123
|
+
description: 'Business logic services (SOLID)',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
path: path.join(agentDir, 'api', 'repositories.ts'),
|
|
127
|
+
content: `// Data Access Repositories (SOLID)\n// Single Responsibility: Data access only\n\nexport interface IAgentRepository {\n // Repository interface will be generated\n}\n`,
|
|
128
|
+
description: 'Data access repositories (SOLID)',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
path: path.join(agentDir, 'api', 'middleware.ts'),
|
|
132
|
+
content: `// API Middleware\n// Validation, auth, error handling\n\nimport { z } from 'zod';\n\n// Middleware will be generated\n`,
|
|
133
|
+
description: 'API middleware (validation, auth)',
|
|
134
|
+
},
|
|
135
|
+
// Source code structure
|
|
136
|
+
{
|
|
137
|
+
path: path.join(agentDir, 'src', 'index.ts'),
|
|
138
|
+
content: `// Agent Entry Point\n// Platform-agnostic runtime\n\nimport { AgentRuntime } from './runtime/agent-runtime';\n\nexport { AgentRuntime };\n`,
|
|
139
|
+
description: 'Agent entry point',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
path: path.join(agentDir, 'src', 'adapters', 'base.adapter.ts'),
|
|
143
|
+
content: `// Base LLM Adapter Interface (SOLID)\n// All adapters must implement this interface\n\nexport interface BaseAdapter {\n initialize(manifest: OssaManifest): void;\n chat(message: string, options?: RunOptions): Promise<string>;\n chatStream(message: string, options?: RunOptions): AsyncGenerator<string>;\n registerToolHandler(name: string, handler: ToolHandler): void;\n getConversationHistory(): Message[];\n clearHistory(): void;\n getAgentInfo(): AgentInfo;\n}\n`,
|
|
144
|
+
description: 'Base adapter interface (SOLID)',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
path: path.join(agentDir, 'src', 'runtime', 'agent-runtime.ts'),
|
|
148
|
+
content: `// Agent Runtime\n// Platform-agnostic runtime binding\n\nimport { loadManifest } from '@ossa/sdk';\nimport { getAdapter } from '../adapters';\n\nexport class AgentRuntime {\n private adapter: BaseAdapter;\n\n async initialize(manifestPath: string) {\n const manifest = await loadManifest(manifestPath);\n const provider = manifest.spec.llm?.provider || 'anthropic';\n this.adapter = getAdapter(provider);\n this.adapter.initialize(manifest);\n }\n\n async chat(message: string) {\n return this.adapter.chat(message);\n }\n}\n`,
|
|
149
|
+
description: 'Agent runtime (platform-agnostic)',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
path: path.join(agentDir, 'src', 'mcp', 'mcp-client.ts'),
|
|
153
|
+
content: `// MCP Client\n// Model Context Protocol integration\n\nimport { Client } from '@modelcontextprotocol/sdk/client';\n\nexport class MCPClient {\n // MCP client implementation\n}\n`,
|
|
154
|
+
description: 'MCP client integration',
|
|
155
|
+
},
|
|
156
|
+
// Test structure
|
|
157
|
+
{
|
|
158
|
+
path: path.join(agentDir, 'tests', 'unit', 'adapters.test.ts'),
|
|
159
|
+
content: `// Adapter Unit Tests\nimport { describe, it, expect } from 'vitest';\n\n// Tests will be generated\n`,
|
|
160
|
+
description: 'Adapter unit tests',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
path: path.join(agentDir, 'tests', 'unit', 'api.test.ts'),
|
|
164
|
+
content: `// API Unit Tests\nimport { describe, it, expect } from 'vitest';\n\n// Tests will be generated\n`,
|
|
165
|
+
description: 'API unit tests',
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
path: path.join(agentDir, 'tests', 'integration', 'agent.test.ts'),
|
|
169
|
+
content: `// Agent Integration Tests\nimport { describe, it, expect } from 'vitest';\n\n// Tests will be generated\n`,
|
|
170
|
+
description: 'Agent integration tests',
|
|
171
|
+
},
|
|
172
|
+
// Documentation
|
|
173
|
+
{
|
|
174
|
+
path: path.join(agentDir, 'docs', 'architecture.md'),
|
|
175
|
+
content: `# Architecture Documentation\n\n## Overview\n\nThis agent follows OpenAPI-first, API-first, Zod, CRUD, SOLID, and DRY principles.\n\n## Structure\n\n- \`manifest.ossa.yaml\` - Single source of truth\n- \`openapi.yaml\` - Generated from manifest\n- \`zod-schemas.ts\` - Generated from OpenAPI\n- \`api-client.ts\` - Generated from OpenAPI\n`,
|
|
176
|
+
description: 'Architecture documentation',
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
path: path.join(agentDir, 'docs', 'api.md'),
|
|
180
|
+
content: `# API Documentation\n\nGenerated from OpenAPI spec.\n\nUse: \`ossa docs generate\`\n`,
|
|
181
|
+
description: 'API documentation (from OpenAPI)',
|
|
182
|
+
},
|
|
183
|
+
// Docker
|
|
184
|
+
{
|
|
185
|
+
path: path.join(agentDir, 'docker', 'Dockerfile'),
|
|
186
|
+
content: `# Dockerfile\n# Multi-stage build for production\n\nFROM node:20-alpine AS builder\nWORKDIR /app\nCOPY package*.json ./\nRUN npm ci\nCOPY . .\nRUN npm run build\n\nFROM node:20-alpine\nWORKDIR /app\nCOPY --from=builder /app/dist ./dist\nCOPY --from=builder /app/node_modules ./node_modules\nCMD ["node", "dist/index.js"]\n`,
|
|
187
|
+
description: 'Dockerfile',
|
|
188
|
+
},
|
|
189
|
+
// Kubernetes
|
|
190
|
+
{
|
|
191
|
+
path: path.join(agentDir, 'k8s', 'deployment.yaml'),
|
|
192
|
+
content: `# Kubernetes Deployment\n# Generated from manifest\n\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n name: ${agentName}\nspec:\n replicas: 1\n selector:\n matchLabels:\n app: ${agentName}\n template:\n metadata:\n labels:\n app: ${agentName}\n spec:\n containers:\n - name: ${agentName}\n image: ${agentName}:latest\n`,
|
|
193
|
+
description: 'Kubernetes deployment',
|
|
194
|
+
},
|
|
195
|
+
// Root files
|
|
196
|
+
{
|
|
197
|
+
path: path.join(agentDir, 'package.json'),
|
|
198
|
+
content: JSON.stringify({
|
|
199
|
+
name: agentName,
|
|
200
|
+
version: '1.0.0',
|
|
201
|
+
type: 'module',
|
|
202
|
+
main: 'dist/index.js',
|
|
203
|
+
scripts: {
|
|
204
|
+
build: 'tsc',
|
|
205
|
+
test: 'vitest',
|
|
206
|
+
validate: 'ossa validate manifest.ossa.yaml',
|
|
207
|
+
'generate:openapi': 'ossa generate openapi manifest.ossa.yaml',
|
|
208
|
+
'generate:zod': 'ossa generate zod openapi.yaml',
|
|
209
|
+
'generate:client': 'ossa generate client openapi.yaml',
|
|
210
|
+
},
|
|
211
|
+
dependencies: {
|
|
212
|
+
'@ossa/sdk': '^0.3.5',
|
|
213
|
+
zod: '^3.22.0',
|
|
214
|
+
},
|
|
215
|
+
devDependencies: {
|
|
216
|
+
'@types/node': '^20.0.0',
|
|
217
|
+
typescript: '^5.0.0',
|
|
218
|
+
vitest: '^1.0.0',
|
|
219
|
+
},
|
|
220
|
+
}, null, 2),
|
|
221
|
+
description: 'package.json',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
path: path.join(agentDir, 'tsconfig.json'),
|
|
225
|
+
content: JSON.stringify({
|
|
226
|
+
compilerOptions: {
|
|
227
|
+
target: 'ES2022',
|
|
228
|
+
module: 'ESNext',
|
|
229
|
+
lib: ['ES2022'],
|
|
230
|
+
moduleResolution: 'node',
|
|
231
|
+
outDir: './dist',
|
|
232
|
+
rootDir: './src',
|
|
233
|
+
strict: true,
|
|
234
|
+
esModuleInterop: true,
|
|
235
|
+
skipLibCheck: true,
|
|
236
|
+
forceConsistentCasingInFileNames: true,
|
|
237
|
+
},
|
|
238
|
+
include: ['src/**/*'],
|
|
239
|
+
exclude: ['node_modules', 'dist', 'tests'],
|
|
240
|
+
}, null, 2),
|
|
241
|
+
description: 'TypeScript config',
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
path: path.join(agentDir, 'AGENTS.md'),
|
|
245
|
+
content: `# AGENTS.md\n\n## Dev environment tips\n\n- Use Node.js 20+\n- Run \`npm install\` to install dependencies\n- Run \`npm run build\` to build\n\n## Testing instructions\n\n- Run \`npm test\` for unit tests\n- Run \`npm run test:integration\` for integration tests\n\n## PR instructions\n\n- Use conventional commits\n- Run \`npm run validate\` before committing\n`,
|
|
246
|
+
description: 'AGENTS.md (AAIF standard)',
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
path: path.join(agentDir, 'README.md'),
|
|
250
|
+
content: `# ${agentName}\n\nOSSA-compliant agent following OpenAPI-first, API-first, Zod, CRUD, SOLID, and DRY principles.\n\n## Structure\n\n- \`manifest.ossa.yaml\` - Single source of truth\n- \`openapi.yaml\` - Generated from manifest\n- \`zod-schemas.ts\` - Generated from OpenAPI\n- \`api-client.ts\` - Generated from OpenAPI\n\n## Usage\n\n\`\`\`bash\n# Validate manifest\nossa validate manifest.ossa.yaml\n\n# Generate OpenAPI\nossa generate openapi manifest.ossa.yaml\n\n# Generate Zod schemas\nossa generate zod openapi.yaml\n\n# Generate API client\nossa generate client openapi.yaml\n\`\`\`\n`,
|
|
251
|
+
description: 'README.md',
|
|
252
|
+
},
|
|
253
|
+
];
|
|
254
|
+
return {
|
|
255
|
+
agentName,
|
|
256
|
+
basePath,
|
|
257
|
+
directories,
|
|
258
|
+
files,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Create folder structure on filesystem
|
|
263
|
+
*/
|
|
264
|
+
createStructure(structure, overwrite = false) {
|
|
265
|
+
// Create directories
|
|
266
|
+
for (const dir of structure.directories) {
|
|
267
|
+
if (fs.existsSync(dir) && !overwrite) {
|
|
268
|
+
continue;
|
|
269
|
+
}
|
|
270
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
271
|
+
}
|
|
272
|
+
// Create files
|
|
273
|
+
for (const file of structure.files) {
|
|
274
|
+
if (fs.existsSync(file.path) && !overwrite) {
|
|
275
|
+
continue;
|
|
276
|
+
}
|
|
277
|
+
fs.writeFileSync(file.path, file.content, 'utf-8');
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Validate folder structure
|
|
282
|
+
*/
|
|
283
|
+
validateStructure(agentDir) {
|
|
284
|
+
const errors = [];
|
|
285
|
+
const requiredDirs = [
|
|
286
|
+
'prompts',
|
|
287
|
+
'tools',
|
|
288
|
+
'config',
|
|
289
|
+
'api',
|
|
290
|
+
'src',
|
|
291
|
+
'tests',
|
|
292
|
+
'docs',
|
|
293
|
+
];
|
|
294
|
+
const requiredFiles = [
|
|
295
|
+
'manifest.ossa.yaml',
|
|
296
|
+
'package.json',
|
|
297
|
+
'tsconfig.json',
|
|
298
|
+
'README.md',
|
|
299
|
+
];
|
|
300
|
+
for (const dir of requiredDirs) {
|
|
301
|
+
const dirPath = path.join(agentDir, dir);
|
|
302
|
+
if (!fs.existsSync(dirPath)) {
|
|
303
|
+
errors.push(`Missing directory: ${dir}`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
for (const file of requiredFiles) {
|
|
307
|
+
const filePath = path.join(agentDir, file);
|
|
308
|
+
if (!fs.existsSync(filePath)) {
|
|
309
|
+
errors.push(`Missing file: ${file}`);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
return {
|
|
313
|
+
valid: errors.length === 0,
|
|
314
|
+
errors,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
//# sourceMappingURL=agents-folder.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-folder.service.js","sourceRoot":"","sources":["../../../src/services/structure/agents-folder.service.ts"],"names":[],"mappings":"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"}
|