@bluefly/openstandardagents 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.version.json +7 -0
- package/CHANGELOG.md +488 -0
- package/README.md +106 -417
- package/bin/ossa +3 -0
- package/dist/adapters/agent-skills/exporter.d.ts +98 -0
- package/dist/adapters/agent-skills/exporter.d.ts.map +1 -0
- package/dist/adapters/agent-skills/exporter.js +453 -0
- package/dist/adapters/agent-skills/exporter.js.map +1 -0
- package/dist/adapters/agent-skills/index.d.ts +7 -0
- package/dist/adapters/agent-skills/index.d.ts.map +1 -0
- package/dist/adapters/agent-skills/index.js +6 -0
- package/dist/adapters/agent-skills/index.js.map +1 -0
- package/dist/adapters/anthropic/claude-optimizations.d.ts +44 -0
- package/dist/adapters/anthropic/claude-optimizations.d.ts.map +1 -0
- package/dist/adapters/anthropic/claude-optimizations.js +180 -0
- package/dist/adapters/anthropic/claude-optimizations.js.map +1 -0
- package/dist/adapters/base/adapter.interface.d.ts +4 -0
- package/dist/adapters/base/adapter.interface.d.ts.map +1 -1
- package/dist/adapters/base/adapter.interface.js +7 -0
- package/dist/adapters/base/adapter.interface.js.map +1 -1
- package/dist/adapters/base/common-file-generator.d.ts +160 -0
- package/dist/adapters/base/common-file-generator.d.ts.map +1 -0
- package/dist/adapters/base/common-file-generator.js +584 -0
- package/dist/adapters/base/common-file-generator.js.map +1 -0
- package/dist/adapters/base/index.d.ts +21 -0
- package/dist/adapters/base/index.d.ts.map +1 -0
- package/dist/adapters/base/index.js +25 -0
- package/dist/adapters/base/index.js.map +1 -0
- package/dist/adapters/base/manifest-validator.d.ts +84 -0
- package/dist/adapters/base/manifest-validator.d.ts.map +1 -0
- package/dist/adapters/base/manifest-validator.js +266 -0
- package/dist/adapters/base/manifest-validator.js.map +1 -0
- package/dist/adapters/base/template-engine.d.ts +52 -0
- package/dist/adapters/base/template-engine.d.ts.map +1 -0
- package/dist/adapters/base/template-engine.js +157 -0
- package/dist/adapters/base/template-engine.js.map +1 -0
- package/dist/adapters/crewai/adapter.d.ts +53 -1
- package/dist/adapters/crewai/adapter.d.ts.map +1 -1
- package/dist/adapters/crewai/adapter.js +1457 -31
- package/dist/adapters/crewai/adapter.js.map +1 -1
- package/dist/adapters/crewai/converter.d.ts +8 -0
- package/dist/adapters/crewai/converter.d.ts.map +1 -1
- package/dist/adapters/crewai/converter.js +56 -24
- package/dist/adapters/crewai/converter.js.map +1 -1
- package/dist/adapters/docker/docker-exporter.d.ts +38 -0
- package/dist/adapters/docker/docker-exporter.d.ts.map +1 -0
- package/dist/adapters/docker/docker-exporter.js +648 -0
- package/dist/adapters/docker/docker-exporter.js.map +1 -0
- package/dist/adapters/docker/generators.d.ts +73 -7
- package/dist/adapters/docker/generators.d.ts.map +1 -1
- package/dist/adapters/docker/generators.js +728 -43
- package/dist/adapters/docker/generators.js.map +1 -1
- package/dist/adapters/docker/index.d.ts +4 -3
- package/dist/adapters/docker/index.d.ts.map +1 -1
- package/dist/adapters/docker/index.js +3 -2
- package/dist/adapters/docker/index.js.map +1 -1
- package/dist/adapters/docker/types.d.ts +70 -0
- package/dist/adapters/docker/types.d.ts.map +1 -1
- package/dist/adapters/drupal/adapter.d.ts.map +1 -1
- package/dist/adapters/drupal/adapter.js +2 -2
- package/dist/adapters/drupal/adapter.js.map +1 -1
- package/dist/adapters/drupal/generator.d.ts.map +1 -1
- package/dist/adapters/drupal/generator.js +14 -9
- package/dist/adapters/drupal/generator.js.map +1 -1
- package/dist/adapters/drupal/index.d.ts +3 -1
- package/dist/adapters/drupal/index.d.ts.map +1 -1
- package/dist/adapters/drupal/index.js +5 -1
- package/dist/adapters/drupal/index.js.map +1 -1
- package/dist/adapters/drupal/manifest-exporter.d.ts +77 -0
- package/dist/adapters/drupal/manifest-exporter.d.ts.map +1 -0
- package/dist/adapters/drupal/manifest-exporter.js +360 -0
- package/dist/adapters/drupal/manifest-exporter.js.map +1 -0
- package/dist/adapters/drupal/production-exporter.legacy.d.ts +131 -0
- package/dist/adapters/drupal/production-exporter.legacy.d.ts.map +1 -0
- package/dist/adapters/drupal/production-exporter.legacy.js +2537 -0
- package/dist/adapters/drupal/production-exporter.legacy.js.map +1 -0
- package/dist/adapters/gitlab/agent-generator.d.ts +103 -0
- package/dist/adapters/gitlab/agent-generator.d.ts.map +1 -0
- package/dist/adapters/gitlab/agent-generator.js +898 -0
- package/dist/adapters/gitlab/agent-generator.js.map +1 -0
- package/dist/adapters/gitlab/converter.d.ts +12 -2
- package/dist/adapters/gitlab/converter.d.ts.map +1 -1
- package/dist/adapters/gitlab/converter.js +19 -2
- package/dist/adapters/gitlab/converter.js.map +1 -1
- package/dist/adapters/gitlab/external-agent-generator.d.ts +70 -0
- package/dist/adapters/gitlab/external-agent-generator.d.ts.map +1 -0
- package/dist/adapters/gitlab/external-agent-generator.js +338 -0
- package/dist/adapters/gitlab/external-agent-generator.js.map +1 -0
- package/dist/adapters/gitlab/flow-generator.d.ts +73 -0
- package/dist/adapters/gitlab/flow-generator.d.ts.map +1 -0
- package/dist/adapters/gitlab/flow-generator.js +669 -0
- package/dist/adapters/gitlab/flow-generator.js.map +1 -0
- package/dist/adapters/gitlab/index.d.ts +10 -2
- package/dist/adapters/gitlab/index.d.ts.map +1 -1
- package/dist/adapters/gitlab/index.js +6 -1
- package/dist/adapters/gitlab/index.js.map +1 -1
- package/dist/adapters/gitlab/package-generator.d.ts +167 -0
- package/dist/adapters/gitlab/package-generator.d.ts.map +1 -0
- package/dist/adapters/gitlab/package-generator.js +2426 -0
- package/dist/adapters/gitlab/package-generator.js.map +1 -0
- package/dist/adapters/gitlab/router-generator.d.ts +113 -0
- package/dist/adapters/gitlab/router-generator.d.ts.map +1 -0
- package/dist/adapters/gitlab/router-generator.js +541 -0
- package/dist/adapters/gitlab/router-generator.js.map +1 -0
- package/dist/adapters/gitlab/trigger-generator.d.ts +154 -0
- package/dist/adapters/gitlab/trigger-generator.d.ts.map +1 -0
- package/dist/adapters/gitlab/trigger-generator.js +279 -0
- package/dist/adapters/gitlab/trigger-generator.js.map +1 -0
- package/dist/adapters/gitlab/types.d.ts +98 -0
- package/dist/adapters/gitlab/types.d.ts.map +1 -1
- package/dist/adapters/kubernetes/generator.d.ts +93 -5
- package/dist/adapters/kubernetes/generator.d.ts.map +1 -1
- package/dist/adapters/kubernetes/generator.js +1292 -33
- package/dist/adapters/kubernetes/generator.js.map +1 -1
- package/dist/adapters/kubernetes/index.d.ts +2 -2
- package/dist/adapters/kubernetes/index.d.ts.map +1 -1
- package/dist/adapters/kubernetes/index.js +1 -1
- package/dist/adapters/kubernetes/kagent-crd-generator.d.ts +72 -0
- package/dist/adapters/kubernetes/kagent-crd-generator.d.ts.map +1 -0
- package/dist/adapters/kubernetes/kagent-crd-generator.js +237 -0
- package/dist/adapters/kubernetes/kagent-crd-generator.js.map +1 -0
- package/dist/adapters/kubernetes/types.d.ts +45 -0
- package/dist/adapters/kubernetes/types.d.ts.map +1 -1
- package/dist/adapters/langchain/adapter.d.ts +1 -9
- package/dist/adapters/langchain/adapter.d.ts.map +1 -1
- package/dist/adapters/langchain/adapter.js +35 -131
- package/dist/adapters/langchain/adapter.js.map +1 -1
- package/dist/adapters/langchain/converter.d.ts.map +1 -1
- package/dist/adapters/langchain/converter.js +16 -4
- package/dist/adapters/langchain/converter.js.map +1 -1
- 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.map +1 -1
- package/dist/adapters/mcp/adapter.js +4 -1
- package/dist/adapters/mcp/adapter.js.map +1 -1
- package/dist/adapters/mcp/converter.d.ts.map +1 -1
- package/dist/adapters/mcp/converter.js.map +1 -1
- package/dist/adapters/npm/adapter.d.ts +1 -5
- package/dist/adapters/npm/adapter.d.ts.map +1 -1
- package/dist/adapters/npm/adapter.js +41 -84
- package/dist/adapters/npm/adapter.js.map +1 -1
- package/dist/adapters/npm/converter.d.ts.map +1 -1
- package/dist/adapters/npm/converter.js +28 -15
- package/dist/adapters/npm/converter.js.map +1 -1
- package/dist/adapters/npm/type-aware-dependencies.d.ts +19 -0
- package/dist/adapters/npm/type-aware-dependencies.d.ts.map +1 -0
- package/dist/adapters/npm/type-aware-dependencies.js +158 -0
- package/dist/adapters/npm/type-aware-dependencies.js.map +1 -0
- package/dist/adapters/opentelemetry.adapter.js.map +1 -1
- package/dist/adapters/phoenix.adapter.d.ts +1 -1
- package/dist/cli/banner.d.ts.map +1 -1
- package/dist/cli/banner.js +10 -3
- package/dist/cli/banner.js.map +1 -1
- package/dist/cli/commands/agent-wizard.command.d.ts.map +1 -1
- package/dist/cli/commands/agent-wizard.command.js +6 -1
- package/dist/cli/commands/agent-wizard.command.js.map +1 -1
- package/dist/cli/commands/agents/persona.command.d.ts +10 -0
- package/dist/cli/commands/agents/persona.command.d.ts.map +1 -0
- package/dist/cli/commands/agents/persona.command.js +519 -0
- package/dist/cli/commands/agents/persona.command.js.map +1 -0
- package/dist/cli/commands/agents.command.d.ts.map +1 -1
- package/dist/cli/commands/agents.command.js +6 -0
- package/dist/cli/commands/agents.command.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +26 -9
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/build.command.d.ts.map +1 -1
- package/dist/cli/commands/build.command.js +6 -5
- package/dist/cli/commands/build.command.js.map +1 -1
- package/dist/cli/commands/catalog/pull.command.d.ts.map +1 -1
- package/dist/cli/commands/catalog/pull.command.js +25 -5
- package/dist/cli/commands/catalog/pull.command.js.map +1 -1
- package/dist/cli/commands/catalog/push.command.d.ts.map +1 -1
- package/dist/cli/commands/catalog/push.command.js +29 -7
- package/dist/cli/commands/catalog/push.command.js.map +1 -1
- package/dist/cli/commands/catalog/sync.command.d.ts.map +1 -1
- package/dist/cli/commands/catalog/sync.command.js +23 -6
- package/dist/cli/commands/catalog/sync.command.js.map +1 -1
- package/dist/cli/commands/deploy-enhanced.command.d.ts +15 -0
- package/dist/cli/commands/deploy-enhanced.command.d.ts.map +1 -0
- package/dist/cli/commands/deploy-enhanced.command.js +335 -0
- package/dist/cli/commands/deploy-enhanced.command.js.map +1 -0
- package/dist/cli/commands/deploy.command.d.ts.map +1 -1
- package/dist/cli/commands/deploy.command.js +4 -3
- package/dist/cli/commands/deploy.command.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deploy.js +6 -5
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/discover.d.ts +15 -0
- package/dist/cli/commands/discover.d.ts.map +1 -0
- package/dist/cli/commands/discover.js +215 -0
- package/dist/cli/commands/discover.js.map +1 -0
- package/dist/cli/commands/estimate.command.js +1 -1
- package/dist/cli/commands/estimate.command.js.map +1 -1
- package/dist/cli/commands/export.command.js +260 -86
- package/dist/cli/commands/export.command.js.map +1 -1
- package/dist/cli/commands/generate-gaid.command.d.ts +14 -0
- package/dist/cli/commands/generate-gaid.command.d.ts.map +1 -0
- package/dist/cli/commands/generate-gaid.command.js +141 -0
- package/dist/cli/commands/generate-gaid.command.js.map +1 -0
- package/dist/cli/commands/governance.command.d.ts +11 -0
- package/dist/cli/commands/governance.command.d.ts.map +1 -0
- package/dist/cli/commands/governance.command.js +166 -0
- package/dist/cli/commands/governance.command.js.map +1 -0
- package/dist/cli/commands/import.command.js.map +1 -1
- package/dist/cli/commands/init.command.d.ts.map +1 -1
- package/dist/cli/commands/init.command.js +11 -13
- package/dist/cli/commands/init.command.js.map +1 -1
- package/dist/cli/commands/lint.command.js +3 -1
- package/dist/cli/commands/lint.command.js.map +1 -1
- package/dist/cli/commands/migrate-langchain.command.js +3 -3
- package/dist/cli/commands/migrate-langchain.command.js.map +1 -1
- 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.map +1 -1
- package/dist/cli/commands/quickstart.command.d.ts.map +1 -1
- package/dist/cli/commands/quickstart.command.js +32 -49
- package/dist/cli/commands/quickstart.command.js.map +1 -1
- package/dist/cli/commands/register.d.ts +12 -0
- package/dist/cli/commands/register.d.ts.map +1 -0
- package/dist/cli/commands/register.js +263 -0
- package/dist/cli/commands/register.js.map +1 -0
- package/dist/cli/commands/rollback.command.d.ts +13 -0
- package/dist/cli/commands/rollback.command.d.ts.map +1 -0
- package/dist/cli/commands/rollback.command.js +156 -0
- package/dist/cli/commands/rollback.command.js.map +1 -0
- package/dist/cli/commands/run.command.d.ts.map +1 -1
- package/dist/cli/commands/run.command.js +19 -4
- package/dist/cli/commands/run.command.js.map +1 -1
- package/dist/cli/commands/standardize.command.js +3 -6
- package/dist/cli/commands/standardize.command.js.map +1 -1
- package/dist/cli/commands/test.command.d.ts.map +1 -1
- package/dist/cli/commands/test.command.js +1 -1
- package/dist/cli/commands/test.command.js.map +1 -1
- package/dist/cli/commands/types/wizard-config.types.d.ts.map +1 -1
- package/dist/cli/commands/types/wizard-config.types.js.map +1 -1
- package/dist/cli/commands/upgrade.command.js.map +1 -1
- package/dist/cli/commands/validate.command.js +1 -3
- package/dist/cli/commands/validate.command.js.map +1 -1
- package/dist/cli/commands/verify.d.ts +15 -0
- package/dist/cli/commands/verify.d.ts.map +1 -0
- package/dist/cli/commands/verify.js +274 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/commands/wizard-api-first.command.d.ts.map +1 -1
- package/dist/cli/commands/wizard-api-first.command.js +1 -2
- package/dist/cli/commands/wizard-api-first.command.js.map +1 -1
- package/dist/cli/commands/wizard-interactive.command.d.ts.map +1 -1
- package/dist/cli/commands/wizard-interactive.command.js +1339 -28
- package/dist/cli/commands/wizard-interactive.command.js.map +1 -1
- package/dist/cli/index.js +136 -70
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/schema-driven/schema-loader.d.ts.map +1 -1
- package/dist/cli/schema-driven/schema-loader.js +2 -2
- package/dist/cli/schema-driven/schema-loader.js.map +1 -1
- package/dist/cli/schema-driven/ui-generator.d.ts.map +1 -1
- package/dist/cli/schema-driven/ui-generator.js +13 -4
- package/dist/cli/schema-driven/ui-generator.js.map +1 -1
- package/dist/cli/templates/enhanced-templates.d.ts.map +1 -1
- package/dist/cli/templates/enhanced-templates.js +2 -1
- package/dist/cli/templates/enhanced-templates.js.map +1 -1
- package/dist/cli/utils/index.d.ts +1 -0
- package/dist/cli/utils/index.d.ts.map +1 -1
- package/dist/cli/utils/index.js +2 -0
- package/dist/cli/utils/index.js.map +1 -1
- package/dist/cli/utils/logo.d.ts +10 -0
- package/dist/cli/utils/logo.d.ts.map +1 -0
- package/dist/cli/utils/logo.js +49 -0
- package/dist/cli/utils/logo.js.map +1 -0
- package/dist/cli/utils/standard-options.d.ts +21 -0
- package/dist/cli/utils/standard-options.d.ts.map +1 -1
- package/dist/cli/utils/standard-options.js +31 -0
- package/dist/cli/utils/standard-options.js.map +1 -1
- package/dist/cli/utils/validation-builder.d.ts +121 -0
- package/dist/cli/utils/validation-builder.d.ts.map +1 -0
- package/dist/cli/utils/validation-builder.js +322 -0
- package/dist/cli/utils/validation-builder.js.map +1 -0
- package/dist/cli/wizard/data/taxonomy.d.ts.map +1 -1
- package/dist/cli/wizard/data/taxonomy.js +5 -1
- package/dist/cli/wizard/data/taxonomy.js.map +1 -1
- package/dist/cli/wizard/interactive-wizard.d.ts.map +1 -1
- package/dist/cli/wizard/interactive-wizard.js +24 -11
- package/dist/cli/wizard/interactive-wizard.js.map +1 -1
- package/dist/cli/wizard/steps/04a-persona.d.ts +16 -0
- package/dist/cli/wizard/steps/04a-persona.d.ts.map +1 -0
- package/dist/cli/wizard/steps/04a-persona.js +297 -0
- package/dist/cli/wizard/steps/04a-persona.js.map +1 -0
- package/dist/cli/wizard/steps/05-tools.d.ts.map +1 -1
- package/dist/cli/wizard/steps/05-tools.js +10 -1
- package/dist/cli/wizard/steps/05-tools.js.map +1 -1
- package/dist/cli/wizard/steps/06-autonomy.js +1 -1
- package/dist/cli/wizard/steps/07-observability.js +1 -1
- package/dist/cli/wizard/steps/08-deployment.js +1 -1
- package/dist/cli/wizard/steps/09-advanced.js +1 -1
- package/dist/cli/wizard/steps/09-advanced.js.map +1 -1
- package/dist/cli/wizard/steps/10-review.d.ts.map +1 -1
- package/dist/cli/wizard/steps/10-review.js +6 -4
- package/dist/cli/wizard/steps/10-review.js.map +1 -1
- package/dist/cli/wizard/steps/12-agents-folder.d.ts.map +1 -1
- package/dist/cli/wizard/steps/12-agents-folder.js +14 -10
- package/dist/cli/wizard/steps/12-agents-folder.js.map +1 -1
- package/dist/cli/wizard/steps/13-openapi-generation.d.ts.map +1 -1
- package/dist/cli/wizard/steps/13-openapi-generation.js +10 -2
- package/dist/cli/wizard/steps/13-openapi-generation.js.map +1 -1
- package/dist/cli/wizard/steps/14-workspace-registration.d.ts.map +1 -1
- package/dist/cli/wizard/steps/14-workspace-registration.js +10 -2
- package/dist/cli/wizard/steps/14-workspace-registration.js.map +1 -1
- package/dist/cli/wizard/steps/15-cost-estimation.d.ts.map +1 -1
- package/dist/cli/wizard/steps/15-cost-estimation.js +27 -11
- package/dist/cli/wizard/steps/15-cost-estimation.js.map +1 -1
- package/dist/cli/wizard/steps/16-best-practices.d.ts.map +1 -1
- package/dist/cli/wizard/steps/16-best-practices.js +14 -13
- package/dist/cli/wizard/steps/16-best-practices.js.map +1 -1
- package/dist/cli/wizard/ui/banner.d.ts +20 -0
- package/dist/cli/wizard/ui/banner.d.ts.map +1 -0
- package/dist/cli/wizard/ui/banner.js +66 -0
- package/dist/cli/wizard/ui/banner.js.map +1 -0
- package/dist/cli/wizard/ui/console.d.ts.map +1 -1
- package/dist/cli/wizard/ui/console.js +21 -23
- package/dist/cli/wizard/ui/console.js.map +1 -1
- package/dist/cli/wizard/ui/wizard-ui.d.ts.map +1 -1
- package/dist/cli/wizard/ui/wizard-ui.js +54 -75
- package/dist/cli/wizard/ui/wizard-ui.js.map +1 -1
- package/dist/cli/wizard/use-cases.d.ts.map +1 -1
- package/dist/cli/wizard/use-cases.js.map +1 -1
- package/dist/config/defaults.d.ts +59 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +72 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/deploy/cloud/aws-driver.d.ts +75 -0
- package/dist/deploy/cloud/aws-driver.d.ts.map +1 -0
- package/dist/deploy/cloud/aws-driver.js +344 -0
- package/dist/deploy/cloud/aws-driver.js.map +1 -0
- package/dist/deploy/cloud/azure-driver.d.ts +54 -0
- package/dist/deploy/cloud/azure-driver.d.ts.map +1 -0
- package/dist/deploy/cloud/azure-driver.js +221 -0
- package/dist/deploy/cloud/azure-driver.js.map +1 -0
- package/dist/deploy/cloud/gcp-driver.d.ts +56 -0
- package/dist/deploy/cloud/gcp-driver.d.ts.map +1 -0
- package/dist/deploy/cloud/gcp-driver.js +212 -0
- package/dist/deploy/cloud/gcp-driver.js.map +1 -0
- package/dist/dev-cli/commands/version.command.js +18 -18
- package/dist/dev-cli/commands/version.command.js.map +1 -1
- package/dist/dev-cli/services/version-check.service.d.ts.map +1 -1
- package/dist/dev-cli/services/version-check.service.js +2 -1
- package/dist/dev-cli/services/version-check.service.js.map +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +13 -5
- package/dist/di-container.js.map +1 -1
- package/dist/errors/index.d.ts +154 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +327 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/generated/types.d.ts +91 -91
- package/dist/generated/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/governance-provider.interface.d.ts +98 -0
- package/dist/interfaces/governance-provider.interface.d.ts.map +1 -0
- package/dist/interfaces/governance-provider.interface.js +20 -0
- package/dist/interfaces/governance-provider.interface.js.map +1 -0
- package/dist/mesh/advanced-routing.d.ts +181 -0
- package/dist/mesh/advanced-routing.d.ts.map +1 -0
- package/dist/mesh/advanced-routing.js +473 -0
- package/dist/mesh/advanced-routing.js.map +1 -0
- package/dist/mesh/agent-graph.d.ts +218 -0
- package/dist/mesh/agent-graph.d.ts.map +1 -0
- package/dist/mesh/agent-graph.js +487 -0
- package/dist/mesh/agent-graph.js.map +1 -0
- package/dist/mesh/discovery-providers.d.ts +162 -0
- package/dist/mesh/discovery-providers.d.ts.map +1 -0
- package/dist/mesh/discovery-providers.js +514 -0
- package/dist/mesh/discovery-providers.js.map +1 -0
- package/dist/mesh/index.d.ts +3 -0
- package/dist/mesh/index.d.ts.map +1 -1
- package/dist/mesh/index.js +6 -0
- package/dist/mesh/index.js.map +1 -1
- package/dist/messenger/Commands/MessengerConsumeCommand.d.ts +57 -0
- package/dist/messenger/Commands/MessengerConsumeCommand.d.ts.map +1 -0
- package/dist/messenger/Commands/MessengerConsumeCommand.js +49 -0
- package/dist/messenger/Commands/MessengerConsumeCommand.js.map +1 -0
- package/dist/messenger/Commands/MessengerFailedCommand.d.ts +76 -0
- package/dist/messenger/Commands/MessengerFailedCommand.d.ts.map +1 -0
- package/dist/messenger/Commands/MessengerFailedCommand.js +120 -0
- package/dist/messenger/Commands/MessengerFailedCommand.js.map +1 -0
- package/dist/messenger/Commands/MessengerStatsCommand.d.ts +61 -0
- package/dist/messenger/Commands/MessengerStatsCommand.d.ts.map +1 -0
- package/dist/messenger/Commands/MessengerStatsCommand.js +80 -0
- package/dist/messenger/Commands/MessengerStatsCommand.js.map +1 -0
- package/dist/messenger/Commands/index.d.ts +10 -0
- package/dist/messenger/Commands/index.d.ts.map +1 -0
- package/dist/messenger/Commands/index.js +10 -0
- package/dist/messenger/Commands/index.js.map +1 -0
- package/dist/messenger/EventSubscriber/FailedMessageSubscriber.d.ts +44 -0
- package/dist/messenger/EventSubscriber/FailedMessageSubscriber.d.ts.map +1 -0
- package/dist/messenger/EventSubscriber/FailedMessageSubscriber.js +64 -0
- package/dist/messenger/EventSubscriber/FailedMessageSubscriber.js.map +1 -0
- package/dist/messenger/Handler/AgentBatchHandler.d.ts +80 -0
- package/dist/messenger/Handler/AgentBatchHandler.d.ts.map +1 -0
- package/dist/messenger/Handler/AgentBatchHandler.js +207 -0
- package/dist/messenger/Handler/AgentBatchHandler.js.map +1 -0
- package/dist/messenger/Handler/AgentExecutionHandler.d.ts +76 -0
- package/dist/messenger/Handler/AgentExecutionHandler.d.ts.map +1 -0
- package/dist/messenger/Handler/AgentExecutionHandler.js +131 -0
- package/dist/messenger/Handler/AgentExecutionHandler.js.map +1 -0
- package/dist/messenger/Handler/index.d.ts +9 -0
- package/dist/messenger/Handler/index.d.ts.map +1 -0
- package/dist/messenger/Handler/index.js +9 -0
- package/dist/messenger/Handler/index.js.map +1 -0
- package/dist/messenger/Message/AgentBatchMessage.d.ts +115 -0
- package/dist/messenger/Message/AgentBatchMessage.d.ts.map +1 -0
- package/dist/messenger/Message/AgentBatchMessage.js +100 -0
- package/dist/messenger/Message/AgentBatchMessage.js.map +1 -0
- package/dist/messenger/Message/AgentExecutionMessage.d.ts +98 -0
- package/dist/messenger/Message/AgentExecutionMessage.d.ts.map +1 -0
- package/dist/messenger/Message/AgentExecutionMessage.js +77 -0
- package/dist/messenger/Message/AgentExecutionMessage.js.map +1 -0
- package/dist/messenger/Message/index.d.ts +9 -0
- package/dist/messenger/Message/index.d.ts.map +1 -0
- package/dist/messenger/Message/index.js +9 -0
- package/dist/messenger/Message/index.js.map +1 -0
- package/dist/messenger/Middleware/AuthenticationMiddleware.d.ts +41 -0
- package/dist/messenger/Middleware/AuthenticationMiddleware.d.ts.map +1 -0
- package/dist/messenger/Middleware/AuthenticationMiddleware.js +85 -0
- package/dist/messenger/Middleware/AuthenticationMiddleware.js.map +1 -0
- package/dist/messenger/Middleware/LoggingMiddleware.d.ts +30 -0
- package/dist/messenger/Middleware/LoggingMiddleware.d.ts.map +1 -0
- package/dist/messenger/Middleware/LoggingMiddleware.js +57 -0
- package/dist/messenger/Middleware/LoggingMiddleware.js.map +1 -0
- package/dist/messenger/Middleware/RateLimitMiddleware.d.ts +67 -0
- package/dist/messenger/Middleware/RateLimitMiddleware.d.ts.map +1 -0
- package/dist/messenger/Middleware/RateLimitMiddleware.js +90 -0
- package/dist/messenger/Middleware/RateLimitMiddleware.js.map +1 -0
- package/dist/messenger/Middleware/ValidationMiddleware.d.ts +39 -0
- package/dist/messenger/Middleware/ValidationMiddleware.d.ts.map +1 -0
- package/dist/messenger/Middleware/ValidationMiddleware.js +91 -0
- package/dist/messenger/Middleware/ValidationMiddleware.js.map +1 -0
- package/dist/messenger/Middleware/index.d.ts +11 -0
- package/dist/messenger/Middleware/index.d.ts.map +1 -0
- package/dist/messenger/Middleware/index.js +11 -0
- package/dist/messenger/Middleware/index.js.map +1 -0
- package/dist/messenger/Monitoring/MetricsCollector.d.ts +107 -0
- package/dist/messenger/Monitoring/MetricsCollector.d.ts.map +1 -0
- package/dist/messenger/Monitoring/MetricsCollector.js +80 -0
- package/dist/messenger/Monitoring/MetricsCollector.js.map +1 -0
- package/dist/messenger/Monitoring/QueueMonitor.d.ts +74 -0
- package/dist/messenger/Monitoring/QueueMonitor.d.ts.map +1 -0
- package/dist/messenger/Monitoring/QueueMonitor.js +157 -0
- package/dist/messenger/Monitoring/QueueMonitor.js.map +1 -0
- package/dist/messenger/Monitoring/index.d.ts +9 -0
- package/dist/messenger/Monitoring/index.d.ts.map +1 -0
- package/dist/messenger/Monitoring/index.js +9 -0
- package/dist/messenger/Monitoring/index.js.map +1 -0
- package/dist/messenger/index.d.ts +38 -0
- package/dist/messenger/index.d.ts.map +1 -0
- package/dist/messenger/index.js +44 -0
- package/dist/messenger/index.js.map +1 -0
- package/dist/observability/index.d.ts +13 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +14 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/metrics.d.ts +131 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +308 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/observability/middleware.d.ts +64 -0
- package/dist/observability/middleware.d.ts.map +1 -0
- package/dist/observability/middleware.js +225 -0
- package/dist/observability/middleware.js.map +1 -0
- package/dist/package.json +17 -12
- package/dist/runtime/agent-runner.d.ts.map +1 -1
- package/dist/runtime/agent-runner.js +23 -23
- package/dist/runtime/agent-runner.js.map +1 -1
- package/dist/sdks/kagent/crd-generator.d.ts +63 -1
- package/dist/sdks/kagent/crd-generator.d.ts.map +1 -1
- package/dist/sdks/kagent/crd-generator.js +769 -20
- package/dist/sdks/kagent/crd-generator.js.map +1 -1
- package/dist/sdks/kagent/index.d.ts +1 -1
- package/dist/sdks/kagent/index.d.ts.map +1 -1
- package/dist/sdks/kagent/k8s-resources-generator.d.ts.map +1 -1
- package/dist/sdks/kagent/k8s-resources-generator.js.map +1 -1
- package/dist/sdks/kagent/types.d.ts +30 -0
- package/dist/sdks/kagent/types.d.ts.map +1 -1
- package/dist/sdks/shared/validation.d.ts +4 -4
- package/dist/services/agent-protocol-client.d.ts +541 -0
- package/dist/services/agent-protocol-client.d.ts.map +1 -0
- package/dist/services/agent-protocol-client.js +166 -0
- package/dist/services/agent-protocol-client.js.map +1 -0
- package/dist/services/ai-architect.service.js.map +1 -1
- package/dist/services/cost-estimation/token-counter.service.js +1 -1
- package/dist/services/cost-estimation/token-counter.service.js.map +1 -1
- package/dist/services/dev-server/websocket-server.d.ts.map +1 -1
- package/dist/services/dev-server/websocket-server.js +2 -1
- package/dist/services/dev-server/websocket-server.js.map +1 -1
- package/dist/services/export/anthropic/anthropic-exporter.d.ts.map +1 -1
- package/dist/services/export/anthropic/anthropic-exporter.js +8 -3
- package/dist/services/export/anthropic/anthropic-exporter.js.map +1 -1
- package/dist/services/export/anthropic/index.d.ts +1 -1
- package/dist/services/export/anthropic/index.d.ts.map +1 -1
- package/dist/services/export/anthropic/index.js +1 -1
- package/dist/services/export/anthropic/index.js.map +1 -1
- package/dist/services/export/langchain/callbacks-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/callbacks-generator.js +16 -8
- package/dist/services/export/langchain/callbacks-generator.js.map +1 -1
- package/dist/services/export/langchain/error-handling-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/error-handling-generator.js +9 -5
- package/dist/services/export/langchain/error-handling-generator.js.map +1 -1
- package/dist/services/export/langchain/langchain-exporter.d.ts.map +1 -1
- package/dist/services/export/langchain/langchain-exporter.js +16 -8
- package/dist/services/export/langchain/langchain-exporter.js.map +1 -1
- package/dist/services/export/langchain/langgraph-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/langgraph-generator.js +34 -20
- package/dist/services/export/langchain/langgraph-generator.js.map +1 -1
- package/dist/services/export/langchain/langserve-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/langserve-generator.js +7 -1
- package/dist/services/export/langchain/langserve-generator.js.map +1 -1
- package/dist/services/export/langchain/memory-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/memory-generator.js.map +1 -1
- package/dist/services/export/langchain/plan-execute-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/plan-execute-generator.js.map +1 -1
- package/dist/services/export/langchain/streaming-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/streaming-generator.js +12 -6
- package/dist/services/export/langchain/streaming-generator.js.map +1 -1
- package/dist/services/export/langchain/tools-generator.d.ts.map +1 -1
- package/dist/services/export/langchain/tools-generator.js.map +1 -1
- package/dist/services/export/npm/npm-exporter.d.ts +40 -0
- package/dist/services/export/npm/npm-exporter.d.ts.map +1 -1
- package/dist/services/export/npm/npm-exporter.js +1294 -1
- package/dist/services/export/npm/npm-exporter.js.map +1 -1
- package/dist/services/export/npm/package-json-generator.js +3 -1
- package/dist/services/export/npm/package-json-generator.js.map +1 -1
- package/dist/services/export/npm/typescript-generator.d.ts.map +1 -1
- package/dist/services/export/npm/typescript-generator.js +7 -3
- package/dist/services/export/npm/typescript-generator.js.map +1 -1
- package/dist/services/export/testing/index.d.ts +1 -1
- package/dist/services/export/testing/index.d.ts.map +1 -1
- package/dist/services/export/testing/test-generator.d.ts.map +1 -1
- package/dist/services/export/testing/test-generator.js +5 -1
- package/dist/services/export/testing/test-generator.js.map +1 -1
- package/dist/services/governance-client.service.d.ts +39 -0
- package/dist/services/governance-client.service.d.ts.map +1 -0
- package/dist/services/governance-client.service.js +124 -0
- package/dist/services/governance-client.service.js.map +1 -0
- package/dist/services/migration/langchain-migration.service.js +2 -2
- package/dist/services/migration/langchain-migration.service.js.map +1 -1
- package/dist/services/release-automation/release.service.d.ts +4 -4
- package/dist/services/release-automation/schemas/release.schema.d.ts +5 -5
- package/dist/services/release-automation/tag.service.d.ts +3 -3
- package/dist/services/taxonomy-service.d.ts +3 -3
- package/dist/services/test-runner/mock-llm.service.d.ts.map +1 -1
- package/dist/services/test-runner/mock-llm.service.js +1 -2
- package/dist/services/test-runner/mock-llm.service.js.map +1 -1
- package/dist/services/test-runner/scenarios.d.ts.map +1 -1
- package/dist/services/test-runner/scenarios.js +9 -3
- package/dist/services/test-runner/scenarios.js.map +1 -1
- package/dist/services/test-runner/test-runner.service.d.ts.map +1 -1
- package/dist/services/test-runner/test-runner.service.js.map +1 -1
- package/dist/services/validation/best-practices-validator.d.ts.map +1 -1
- package/dist/services/validation/best-practices-validator.js.map +1 -1
- package/dist/services/validation/cost-estimator.d.ts.map +1 -1
- package/dist/services/validation/cost-estimator.js +4 -2
- package/dist/services/validation/cost-estimator.js.map +1 -1
- package/dist/services/validation/enhanced-validator.d.ts.map +1 -1
- package/dist/services/validation/enhanced-validator.js +2 -4
- package/dist/services/validation/enhanced-validator.js.map +1 -1
- package/dist/services/validation/security-validator.d.ts.map +1 -1
- package/dist/services/validation/security-validator.js +3 -1
- package/dist/services/validation/security-validator.js.map +1 -1
- package/dist/services/validation-zod.service.js +1 -1
- package/dist/services/validation-zod.service.js.map +1 -1
- package/dist/services/validation.service.d.ts +7 -2
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +7 -4
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/a2a.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.js.map +1 -1
- package/dist/services/validators/contract.validator.js.map +1 -1
- package/dist/services/validators/crewai.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/kagent.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/mcp.validator.js.map +1 -1
- package/dist/services/wizard/prompts.d.ts.map +1 -1
- package/dist/services/wizard/prompts.js +12 -5
- package/dist/services/wizard/prompts.js.map +1 -1
- package/dist/services/wizard/wizard.service.d.ts.map +1 -1
- package/dist/services/wizard/wizard.service.js +9 -4
- package/dist/services/wizard/wizard.service.js.map +1 -1
- package/dist/spec/extensions/knowledge-graph/knowledge-graph.schema.json +386 -0
- package/dist/spec/v0.4/agent.schema.json +154 -1
- package/dist/spec/v0.4/validator.schema.json +282 -0
- package/dist/transports/websocket.d.ts +1 -0
- package/dist/transports/websocket.d.ts.map +1 -1
- package/dist/transports/websocket.js +9 -1
- package/dist/transports/websocket.js.map +1 -1
- package/dist/types/architect.d.ts +2 -2
- package/dist/types/architect.d.ts.map +1 -1
- package/dist/types/identity.zod.d.ts +21 -21
- package/dist/types/index.d.ts +65 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/personality.zod.d.ts +65 -65
- package/dist/types/prompts.zod.d.ts +2 -2
- package/dist/utils/logger.d.ts +82 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +250 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/validation/index.d.ts +3 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +6 -0
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/progressive-scorer.d.ts +123 -0
- package/dist/validation/progressive-scorer.d.ts.map +1 -0
- package/dist/validation/progressive-scorer.js +340 -0
- package/dist/validation/progressive-scorer.js.map +1 -0
- package/dist/validation/validation-context.d.ts +86 -0
- package/dist/validation/validation-context.d.ts.map +1 -0
- package/dist/validation/validation-context.js +138 -0
- package/dist/validation/validation-context.js.map +1 -0
- package/dist/validation/validator-registry.d.ts +158 -0
- package/dist/validation/validator-registry.d.ts.map +1 -0
- package/dist/validation/validator-registry.js +245 -0
- package/dist/validation/validator-registry.js.map +1 -0
- package/dist/version-management/api/server.d.ts.map +1 -1
- package/dist/version-management/api/server.js.map +1 -1
- package/dist/version-management/cli/index.js +8 -1
- package/dist/version-management/cli/index.js.map +1 -1
- package/dist/version-management/core/version-manager.d.ts.map +1 -1
- package/dist/version-management/core/version-manager.js +5 -2
- package/dist/version-management/core/version-manager.js.map +1 -1
- package/dist/version-management/core/version-manager.test.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +4 -6
- package/dist/version.js.map +1 -1
- package/examples/agent-mesh/DISCOVERY.md +679 -0
- package/examples/agent-mesh/discovery-system.ts +670 -0
- package/examples/agent-taxonomy-example.ossa.yaml +89 -0
- package/examples/agents/02-code-review-agent/agent.ossa.yaml +49 -0
- package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +55 -0
- package/examples/agents/06-devops-agent/agent.ossa.yaml +47 -0
- package/examples/agents/07-research-assistant/agent.ossa.yaml +61 -1
- package/examples/agents/09-security-scanner/agent.ossa.yaml +46 -0
- package/examples/deployment-workflow.md +601 -0
- package/examples/gitlab-agents/DEPLOYMENT.md +331 -0
- package/examples/gitlab-agents/daily-code-scan/.env.example +11 -0
- package/examples/gitlab-agents/daily-code-scan/.gitlab-ci.yml +34 -0
- package/examples/gitlab-agents/daily-code-scan/Dockerfile +18 -0
- package/examples/gitlab-agents/daily-code-scan/README.md +80 -0
- package/examples/gitlab-agents/daily-code-scan/package.json +28 -0
- package/examples/gitlab-agents/daily-code-scan/src/gitlab-client.ts +59 -0
- package/examples/gitlab-agents/daily-code-scan/src/index.ts +50 -0
- package/examples/gitlab-agents/daily-code-scan/src/types.ts +22 -0
- package/examples/gitlab-agents/daily-code-scan/src/workflow.ts +109 -0
- package/examples/gitlab-agents/daily-code-scan/tsconfig.json +24 -0
- package/examples/gitlab-agents/duo-comment-responder/.env.example +14 -0
- package/examples/gitlab-agents/duo-comment-responder/.gitlab-ci.yml +34 -0
- package/examples/gitlab-agents/duo-comment-responder/Dockerfile +18 -0
- package/examples/gitlab-agents/duo-comment-responder/README.md +98 -0
- package/examples/gitlab-agents/duo-comment-responder/package.json +29 -0
- package/examples/gitlab-agents/duo-comment-responder/src/gitlab-client.ts +56 -0
- package/examples/gitlab-agents/duo-comment-responder/src/index.ts +103 -0
- package/examples/gitlab-agents/duo-comment-responder/src/llm-client.ts +75 -0
- package/examples/gitlab-agents/duo-comment-responder/src/types.ts +22 -0
- package/examples/gitlab-agents/duo-comment-responder/src/workflow.ts +135 -0
- package/examples/gitlab-agents/duo-comment-responder/tsconfig.json +24 -0
- package/examples/gitlab-agents/duo-comment-responder/webhook-config.json +11 -0
- package/examples/gitlab-agents/k8s/deploy-all.yaml +341 -0
- package/examples/gitlab-agents/mr-reviewer/.env.example +14 -0
- package/examples/gitlab-agents/mr-reviewer/.gitlab-ci.yml +34 -0
- package/examples/gitlab-agents/mr-reviewer/Dockerfile +18 -0
- package/examples/gitlab-agents/mr-reviewer/README.md +98 -0
- package/examples/gitlab-agents/mr-reviewer/package.json +29 -0
- package/examples/gitlab-agents/mr-reviewer/src/gitlab-client.ts +66 -0
- package/examples/gitlab-agents/mr-reviewer/src/index.ts +103 -0
- package/examples/gitlab-agents/mr-reviewer/src/llm-client.ts +95 -0
- package/examples/gitlab-agents/mr-reviewer/src/types.ts +22 -0
- package/examples/gitlab-agents/mr-reviewer/src/workflow.ts +144 -0
- package/examples/gitlab-agents/mr-reviewer/tsconfig.json +24 -0
- package/examples/gitlab-agents/mr-reviewer/webhook-config.json +11 -0
- package/examples/gitlab-agents/pipeline-auto-fix/.env.example +14 -0
- package/examples/gitlab-agents/pipeline-auto-fix/.gitlab-ci.yml +34 -0
- package/examples/gitlab-agents/pipeline-auto-fix/Dockerfile +18 -0
- package/examples/gitlab-agents/pipeline-auto-fix/README.md +98 -0
- package/examples/gitlab-agents/pipeline-auto-fix/package.json +29 -0
- package/examples/gitlab-agents/pipeline-auto-fix/src/gitlab-client.ts +77 -0
- package/examples/gitlab-agents/pipeline-auto-fix/src/index.ts +103 -0
- package/examples/gitlab-agents/pipeline-auto-fix/src/llm-client.ts +79 -0
- package/examples/gitlab-agents/pipeline-auto-fix/src/types.ts +22 -0
- package/examples/gitlab-agents/pipeline-auto-fix/src/workflow.ts +146 -0
- package/examples/gitlab-agents/pipeline-auto-fix/tsconfig.json +24 -0
- package/examples/gitlab-agents/pipeline-auto-fix/webhook-config.json +11 -0
- package/examples/gitlab-agents/pre-commit-quality-check/.env.example +11 -0
- package/examples/gitlab-agents/pre-commit-quality-check/.gitlab-ci.yml +34 -0
- package/examples/gitlab-agents/pre-commit-quality-check/Dockerfile +18 -0
- package/examples/gitlab-agents/pre-commit-quality-check/README.md +80 -0
- package/examples/gitlab-agents/pre-commit-quality-check/package.json +28 -0
- package/examples/gitlab-agents/pre-commit-quality-check/src/gitlab-client.ts +20 -0
- package/examples/gitlab-agents/pre-commit-quality-check/src/index.ts +50 -0
- package/examples/gitlab-agents/pre-commit-quality-check/src/types.ts +22 -0
- package/examples/gitlab-agents/pre-commit-quality-check/src/workflow.ts +63 -0
- package/examples/gitlab-agents/pre-commit-quality-check/tsconfig.json +24 -0
- package/examples/gitlab-agents/pre-push-validation/.env.example +11 -0
- package/examples/gitlab-agents/pre-push-validation/.gitlab-ci.yml +34 -0
- package/examples/gitlab-agents/pre-push-validation/Dockerfile +18 -0
- package/examples/gitlab-agents/pre-push-validation/README.md +80 -0
- package/examples/gitlab-agents/pre-push-validation/package.json +28 -0
- package/examples/gitlab-agents/pre-push-validation/src/gitlab-client.ts +20 -0
- package/examples/gitlab-agents/pre-push-validation/src/index.ts +50 -0
- package/examples/gitlab-agents/pre-push-validation/src/types.ts +22 -0
- package/examples/gitlab-agents/pre-push-validation/src/workflow.ts +63 -0
- package/examples/gitlab-agents/pre-push-validation/tsconfig.json +24 -0
- package/examples/gitlab-duo/EXTERNAL_AGENTS.md +466 -0
- package/examples/gitlab-duo/README.md +307 -0
- package/examples/gitlab-duo/code-review-flow.yaml +62 -0
- package/examples/gitlab-duo/external-agent-example.ts +192 -0
- package/examples/gitlab-duo/generated/custom-vars-agent.yaml +45 -0
- package/examples/gitlab-duo/generated/go-agent.yaml +41 -0
- package/examples/gitlab-duo/generated/python-agent.yaml +43 -0
- package/examples/gitlab-duo/generated/webhook-agent.yaml +52 -0
- package/examples/infrastructure/token-rotation/README.md +117 -0
- package/examples/infrastructure/token-rotation/manifest.ossa.yaml +73 -0
- package/examples/infrastructure/token-rotation/openapi.yaml +133 -0
- package/examples/knowledge-graph/drupal-agent-with-kg.ossa.yaml +289 -0
- package/examples/mcp/browser-puppeteer.ossa.yaml +234 -0
- package/examples/mr-reviewer-with-governance.ossa.yaml +130 -0
- package/examples/showcase/PRODUCTION_EXAMPLES.md +499 -0
- package/examples/showcase/compliance-checker.ossa.yaml +207 -0
- package/examples/showcase/customer-support.ossa.yaml +344 -0
- package/examples/showcase/data-processing-pipeline.ossa.yaml +254 -0
- package/examples/showcase/security-scanner-enhanced.ossa.yaml +304 -0
- package/examples/showcase/team-leader.ossa.yaml +306 -0
- package/package.json +17 -12
- package/schemas/governance-extension.yaml +161 -0
- package/spec/extensions/knowledge-graph/knowledge-graph.schema.json +386 -0
- package/spec/v0.4/agent.schema.json +154 -1
- package/spec/v0.4/validator.schema.json +282 -0
- package/templates/agent-types/claude-agent.ossa.yaml +83 -0
- package/templates/agent-types/kagent.ossa.yaml +110 -0
- package/templates/agent-types/langchain-agent.ossa.yaml +106 -0
- package/templates/agent-types/openapi-agent.ossa.yaml +121 -0
- package/templates/agent-types/swarm-agents.ossa.yaml +168 -0
- package/templates/ci-cd/github-actions.deploy.yml +272 -0
- package/templates/ci-cd/gitlab-ci.deploy.yml +205 -0
- package/templates/validators/capability-compatibility.ossa.yaml +174 -0
- package/templates/validators/coordination-consistency.ossa.yaml +160 -0
- package/templates/validators/pattern-requirements.ossa.yaml +182 -0
- package/templates/validators/transport-compatibility.ossa.yaml +185 -0
- package/.wiki-config.json +0 -24
- package/DEMO.md +0 -212
- package/junit.xml +0 -1469
- package/llms-ctx-full.txt +0 -41
- package/llms-ctx.txt +0 -41
|
@@ -1,51 +1,171 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Docker Generators
|
|
3
|
-
* Generate
|
|
2
|
+
* Production-Grade Docker Generators
|
|
3
|
+
* Generate complete Docker deployment packages from OSSA agents
|
|
4
|
+
*
|
|
5
|
+
* Includes:
|
|
6
|
+
* - Multi-stage Dockerfiles (build + runtime)
|
|
7
|
+
* - Development and production Docker files
|
|
8
|
+
* - docker-compose.yml with all services
|
|
9
|
+
* - docker-compose.prod.yml for production
|
|
10
|
+
* - Entrypoint and healthcheck scripts
|
|
11
|
+
* - Configuration files (nginx, supervisor)
|
|
12
|
+
* - Deployment scripts
|
|
13
|
+
* - Complete documentation
|
|
4
14
|
*/
|
|
5
15
|
export class DockerfileGenerator {
|
|
6
16
|
/**
|
|
7
|
-
* Generate
|
|
17
|
+
* Generate multi-stage production Dockerfile
|
|
8
18
|
*/
|
|
9
19
|
generate(manifest, config = {}) {
|
|
10
20
|
const spec = manifest.spec;
|
|
11
21
|
const runtime = spec.runtime;
|
|
12
|
-
const
|
|
22
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
23
|
+
const nodeVersion = config.nodeVersion || '20';
|
|
24
|
+
const baseImage = config.baseImage || runtime?.image || `node:${nodeVersion}-alpine`;
|
|
13
25
|
const workingDir = config.workingDir || '/app';
|
|
14
26
|
const exposePort = config.exposePort || 3000;
|
|
15
|
-
|
|
16
|
-
# Generated from OSSA manifest
|
|
27
|
+
const dockerfile = `# Multi-stage Dockerfile for ${agentName}
|
|
28
|
+
# Generated from OSSA manifest: \${manifest.apiVersion}
|
|
17
29
|
|
|
18
|
-
|
|
30
|
+
# ================================
|
|
31
|
+
# Stage 1: Dependencies
|
|
32
|
+
# ================================
|
|
33
|
+
FROM ${baseImage} AS deps
|
|
19
34
|
|
|
20
35
|
WORKDIR ${workingDir}
|
|
21
36
|
|
|
22
|
-
# Install dependencies
|
|
37
|
+
# Install production dependencies only
|
|
23
38
|
COPY package*.json ./
|
|
24
|
-
RUN npm ci --production
|
|
39
|
+
RUN npm ci --production --ignore-scripts && \\
|
|
40
|
+
npm cache clean --force
|
|
25
41
|
|
|
26
|
-
#
|
|
27
|
-
|
|
42
|
+
# ================================
|
|
43
|
+
# Stage 2: Builder
|
|
44
|
+
# ================================
|
|
45
|
+
FROM ${baseImage} AS builder
|
|
46
|
+
|
|
47
|
+
WORKDIR ${workingDir}
|
|
48
|
+
|
|
49
|
+
# Copy package files
|
|
50
|
+
COPY package*.json ./
|
|
51
|
+
COPY tsconfig*.json ./
|
|
52
|
+
|
|
53
|
+
# Install all dependencies (including dev)
|
|
54
|
+
RUN npm ci --ignore-scripts
|
|
55
|
+
|
|
56
|
+
# Copy source code
|
|
57
|
+
COPY src/ ./src/
|
|
58
|
+
|
|
59
|
+
# Build TypeScript
|
|
60
|
+
RUN npm run build && \\
|
|
61
|
+
npm prune --production
|
|
62
|
+
|
|
63
|
+
# ================================
|
|
64
|
+
# Stage 3: Runtime
|
|
65
|
+
# ================================
|
|
66
|
+
FROM ${baseImage} AS runtime
|
|
67
|
+
|
|
68
|
+
# Install dumb-init for proper signal handling
|
|
69
|
+
RUN apk add --no-cache dumb-init
|
|
70
|
+
|
|
71
|
+
# Create non-root user
|
|
72
|
+
RUN addgroup -g 1001 -S nodejs && \\
|
|
73
|
+
adduser -S nodejs -u 1001
|
|
74
|
+
|
|
75
|
+
WORKDIR ${workingDir}
|
|
76
|
+
|
|
77
|
+
# Copy production dependencies from deps stage
|
|
78
|
+
COPY --from=deps --chown=nodejs:nodejs ${workingDir}/node_modules ./node_modules
|
|
79
|
+
|
|
80
|
+
# Copy built application from builder stage
|
|
81
|
+
COPY --from=builder --chown=nodejs:nodejs ${workingDir}/dist ./dist
|
|
82
|
+
COPY --from=builder --chown=nodejs:nodejs ${workingDir}/package*.json ./
|
|
83
|
+
|
|
84
|
+
# Copy scripts
|
|
85
|
+
COPY --chown=nodejs:nodejs scripts/ ./scripts/
|
|
86
|
+
RUN chmod +x ./scripts/*.sh
|
|
87
|
+
|
|
88
|
+
# Switch to non-root user
|
|
89
|
+
USER nodejs
|
|
28
90
|
|
|
29
91
|
# Expose port
|
|
30
92
|
EXPOSE ${exposePort}
|
|
31
93
|
|
|
32
94
|
# Health check
|
|
95
|
+
${this.generateHealthCheck(config)}
|
|
96
|
+
|
|
97
|
+
# Set environment
|
|
98
|
+
ENV NODE_ENV=production \\
|
|
99
|
+
PORT=${exposePort}
|
|
100
|
+
|
|
101
|
+
# Use dumb-init to handle signals properly
|
|
102
|
+
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
|
103
|
+
|
|
104
|
+
# Run application
|
|
105
|
+
CMD ["node", "dist/index.js"]
|
|
33
106
|
`;
|
|
34
|
-
if (config.healthCheck) {
|
|
35
|
-
dockerfile += `HEALTHCHECK --interval=${config.healthCheck.interval ?? 30}s \\
|
|
36
|
-
--timeout=${config.healthCheck.timeout ?? 10}s \\
|
|
37
|
-
--retries=${config.healthCheck.retries ?? 3} \\
|
|
38
|
-
CMD ${config.healthCheck.command}\n\n`;
|
|
39
|
-
}
|
|
40
|
-
const command = runtime?.command?.[0] || 'node dist/index.js';
|
|
41
|
-
dockerfile += `# Run agent
|
|
42
|
-
CMD ["${command}"]\n`;
|
|
43
107
|
return dockerfile;
|
|
44
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Generate development Dockerfile
|
|
111
|
+
*/
|
|
112
|
+
generateDev(manifest, config = {}) {
|
|
113
|
+
const nodeVersion = config.nodeVersion || '20';
|
|
114
|
+
const baseImage = config.baseImage || `node:${nodeVersion}`;
|
|
115
|
+
const workingDir = config.workingDir || '/app';
|
|
116
|
+
const exposePort = config.exposePort || 3000;
|
|
117
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
118
|
+
return `# Development Dockerfile for ${agentName}
|
|
119
|
+
# Hot-reload enabled for development
|
|
120
|
+
|
|
121
|
+
FROM ${baseImage}
|
|
122
|
+
|
|
123
|
+
# Install development tools
|
|
124
|
+
RUN apt-get update && apt-get install -y \\
|
|
125
|
+
git \\
|
|
126
|
+
curl \\
|
|
127
|
+
vim \\
|
|
128
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
129
|
+
|
|
130
|
+
WORKDIR ${workingDir}
|
|
131
|
+
|
|
132
|
+
# Copy package files
|
|
133
|
+
COPY package*.json ./
|
|
134
|
+
|
|
135
|
+
# Install all dependencies (including dev)
|
|
136
|
+
RUN npm install
|
|
137
|
+
|
|
138
|
+
# Copy source code
|
|
139
|
+
COPY . .
|
|
140
|
+
|
|
141
|
+
# Expose port and debug port
|
|
142
|
+
EXPOSE ${exposePort}
|
|
143
|
+
EXPOSE 9229
|
|
144
|
+
|
|
145
|
+
# Set development environment
|
|
146
|
+
ENV NODE_ENV=development \\
|
|
147
|
+
PORT=${exposePort}
|
|
148
|
+
|
|
149
|
+
# Run with nodemon for hot-reload
|
|
150
|
+
CMD ["npm", "run", "dev"]
|
|
151
|
+
`;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Generate health check configuration
|
|
155
|
+
*/
|
|
156
|
+
generateHealthCheck(config) {
|
|
157
|
+
if (!config.healthCheck) {
|
|
158
|
+
return `HEALTHCHECK --interval=30s --timeout=10s --retries=3 \\
|
|
159
|
+
CMD node -e "require('http').get('http://localhost:${config.exposePort || 3000}/health', (res) => { process.exit(res.statusCode === 200 ? 0 : 1); });"`;
|
|
160
|
+
}
|
|
161
|
+
const { command, interval = 30, timeout = 10, retries = 3 } = config.healthCheck;
|
|
162
|
+
return `HEALTHCHECK --interval=${interval}s --timeout=${timeout}s --retries=${retries} \\
|
|
163
|
+
CMD ${command}`;
|
|
164
|
+
}
|
|
45
165
|
}
|
|
46
166
|
export class DockerComposeGenerator {
|
|
47
167
|
/**
|
|
48
|
-
* Generate docker-compose.yml
|
|
168
|
+
* Generate development docker-compose.yml
|
|
49
169
|
*/
|
|
50
170
|
generate(manifests, config = {}) {
|
|
51
171
|
const services = {};
|
|
@@ -56,37 +176,602 @@ export class DockerComposeGenerator {
|
|
|
56
176
|
services[name] = {
|
|
57
177
|
build: {
|
|
58
178
|
context: '.',
|
|
59
|
-
dockerfile:
|
|
179
|
+
dockerfile: 'Dockerfile.dev',
|
|
180
|
+
target: 'development',
|
|
181
|
+
},
|
|
182
|
+
ports: [`${config.exposePort || 3000}:${config.exposePort || 3000}`, '9229:9229'],
|
|
183
|
+
volumes: [
|
|
184
|
+
'.:/app',
|
|
185
|
+
'/app/node_modules', // Don't override node_modules
|
|
186
|
+
],
|
|
187
|
+
environment: {
|
|
188
|
+
NODE_ENV: 'development',
|
|
189
|
+
PORT: config.exposePort || 3000,
|
|
190
|
+
LOG_LEVEL: 'debug',
|
|
191
|
+
...(config.environment || {}),
|
|
192
|
+
},
|
|
193
|
+
networks: ['agent-network'],
|
|
194
|
+
depends_on: this.generateDependencies(manifest),
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
// Add common services
|
|
198
|
+
services.postgres = {
|
|
199
|
+
image: 'postgres:16-alpine',
|
|
200
|
+
environment: {
|
|
201
|
+
POSTGRES_DB: 'agent_db',
|
|
202
|
+
POSTGRES_USER: 'agent',
|
|
203
|
+
POSTGRES_PASSWORD: 'development',
|
|
204
|
+
},
|
|
205
|
+
ports: ['5432:5432'],
|
|
206
|
+
volumes: ['postgres-data:/var/lib/postgresql/data'],
|
|
207
|
+
networks: ['agent-network'],
|
|
208
|
+
healthcheck: {
|
|
209
|
+
test: ['CMD-SHELL', 'pg_isready -U agent'],
|
|
210
|
+
interval: '10s',
|
|
211
|
+
timeout: '5s',
|
|
212
|
+
retries: 5,
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
services.redis = {
|
|
216
|
+
image: 'redis:7-alpine',
|
|
217
|
+
ports: ['6379:6379'],
|
|
218
|
+
volumes: ['redis-data:/data'],
|
|
219
|
+
networks: ['agent-network'],
|
|
220
|
+
healthcheck: {
|
|
221
|
+
test: ['CMD', 'redis-cli', 'ping'],
|
|
222
|
+
interval: '10s',
|
|
223
|
+
timeout: '5s',
|
|
224
|
+
retries: 5,
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
const compose = {
|
|
228
|
+
version: '3.8',
|
|
229
|
+
services,
|
|
230
|
+
networks: {
|
|
231
|
+
'agent-network': {
|
|
232
|
+
driver: 'bridge',
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
volumes: {
|
|
236
|
+
'postgres-data': {},
|
|
237
|
+
'redis-data': {},
|
|
238
|
+
},
|
|
239
|
+
};
|
|
240
|
+
return this.formatYAML(compose);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Generate production docker-compose.yml
|
|
244
|
+
*/
|
|
245
|
+
generateProduction(manifests, config = {}) {
|
|
246
|
+
const services = {};
|
|
247
|
+
for (const manifest of manifests) {
|
|
248
|
+
const name = manifest.metadata?.name || 'agent';
|
|
249
|
+
const spec = manifest.spec;
|
|
250
|
+
const constraints = spec.constraints;
|
|
251
|
+
services[name] = {
|
|
252
|
+
image: `${name}:latest`,
|
|
253
|
+
build: {
|
|
254
|
+
context: '.',
|
|
255
|
+
dockerfile: 'Dockerfile',
|
|
256
|
+
target: 'runtime',
|
|
60
257
|
},
|
|
61
258
|
ports: [`${config.exposePort || 3000}:${config.exposePort || 3000}`],
|
|
62
259
|
environment: {
|
|
63
260
|
NODE_ENV: 'production',
|
|
261
|
+
PORT: config.exposePort || 3000,
|
|
262
|
+
LOG_LEVEL: 'info',
|
|
263
|
+
...(config.environment || {}),
|
|
64
264
|
},
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
265
|
+
networks: ['agent-network'],
|
|
266
|
+
restart: 'unless-stopped',
|
|
267
|
+
depends_on: this.generateDependencies(manifest),
|
|
268
|
+
deploy: {
|
|
269
|
+
replicas: 2,
|
|
270
|
+
resources: {
|
|
271
|
+
limits: {
|
|
272
|
+
cpus: constraints?.resources?.cpu || config.resources?.cpus || '1.0',
|
|
273
|
+
memory: constraints?.resources?.memory || config.resources?.memory || '512M',
|
|
274
|
+
},
|
|
275
|
+
reservations: {
|
|
276
|
+
cpus: '0.5',
|
|
277
|
+
memory: '256M',
|
|
72
278
|
},
|
|
73
279
|
},
|
|
74
|
-
|
|
280
|
+
restart_policy: {
|
|
281
|
+
condition: 'on-failure',
|
|
282
|
+
delay: '5s',
|
|
283
|
+
max_attempts: 3,
|
|
284
|
+
window: '120s',
|
|
285
|
+
},
|
|
286
|
+
update_config: {
|
|
287
|
+
parallelism: 1,
|
|
288
|
+
delay: '10s',
|
|
289
|
+
failure_action: 'rollback',
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
healthcheck: {
|
|
293
|
+
test: ['CMD-SHELL', 'node scripts/healthcheck.sh'],
|
|
294
|
+
interval: '30s',
|
|
295
|
+
timeout: '10s',
|
|
296
|
+
retries: 3,
|
|
297
|
+
start_period: '40s',
|
|
298
|
+
},
|
|
299
|
+
logging: {
|
|
300
|
+
driver: 'json-file',
|
|
301
|
+
options: {
|
|
302
|
+
'max-size': '10m',
|
|
303
|
+
'max-file': '3',
|
|
304
|
+
},
|
|
305
|
+
},
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
// Production database
|
|
309
|
+
services.postgres = {
|
|
310
|
+
image: 'postgres:16-alpine',
|
|
311
|
+
environment: {
|
|
312
|
+
POSTGRES_DB: '${POSTGRES_DB}',
|
|
313
|
+
POSTGRES_USER: '${POSTGRES_USER}',
|
|
314
|
+
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}',
|
|
315
|
+
},
|
|
316
|
+
volumes: ['postgres-data:/var/lib/postgresql/data'],
|
|
317
|
+
networks: ['agent-network'],
|
|
318
|
+
restart: 'unless-stopped',
|
|
319
|
+
healthcheck: {
|
|
320
|
+
test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER}'],
|
|
321
|
+
interval: '10s',
|
|
322
|
+
timeout: '5s',
|
|
323
|
+
retries: 5,
|
|
324
|
+
},
|
|
325
|
+
};
|
|
326
|
+
// Production Redis
|
|
327
|
+
services.redis = {
|
|
328
|
+
image: 'redis:7-alpine',
|
|
329
|
+
command: ['redis-server', '--appendonly', 'yes'],
|
|
330
|
+
volumes: ['redis-data:/data'],
|
|
331
|
+
networks: ['agent-network'],
|
|
332
|
+
restart: 'unless-stopped',
|
|
333
|
+
healthcheck: {
|
|
334
|
+
test: ['CMD', 'redis-cli', 'ping'],
|
|
335
|
+
interval: '10s',
|
|
336
|
+
timeout: '5s',
|
|
337
|
+
retries: 5,
|
|
338
|
+
},
|
|
339
|
+
};
|
|
340
|
+
// Nginx reverse proxy (optional)
|
|
341
|
+
if (config.includeNginx) {
|
|
342
|
+
services.nginx = {
|
|
343
|
+
image: 'nginx:alpine',
|
|
344
|
+
ports: ['80:80', '443:443'],
|
|
345
|
+
volumes: [
|
|
346
|
+
'./nginx/nginx.conf:/etc/nginx/nginx.conf:ro',
|
|
347
|
+
'./nginx/ssl:/etc/nginx/ssl:ro',
|
|
348
|
+
],
|
|
349
|
+
networks: ['agent-network'],
|
|
350
|
+
depends_on: manifests.map((m) => m.metadata?.name || 'agent'),
|
|
351
|
+
restart: 'unless-stopped',
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
const compose = {
|
|
355
|
+
version: '3.8',
|
|
356
|
+
services,
|
|
357
|
+
networks: {
|
|
358
|
+
'agent-network': {
|
|
359
|
+
driver: 'bridge',
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
volumes: {
|
|
363
|
+
'postgres-data': {},
|
|
364
|
+
'redis-data': {},
|
|
365
|
+
},
|
|
366
|
+
};
|
|
367
|
+
return this.formatYAML(compose);
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Generate service dependencies
|
|
371
|
+
*/
|
|
372
|
+
generateDependencies(manifest) {
|
|
373
|
+
const spec = manifest.spec;
|
|
374
|
+
const dependencies = {};
|
|
375
|
+
// Check for database dependencies
|
|
376
|
+
if (spec.storage || spec.memory) {
|
|
377
|
+
dependencies.postgres = {
|
|
378
|
+
condition: 'service_healthy',
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
// Check for cache dependencies
|
|
382
|
+
if (spec.cache || spec.session) {
|
|
383
|
+
dependencies.redis = {
|
|
384
|
+
condition: 'service_healthy',
|
|
75
385
|
};
|
|
76
386
|
}
|
|
77
|
-
return
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
.
|
|
387
|
+
return dependencies;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Format object as YAML
|
|
391
|
+
*/
|
|
392
|
+
formatYAML(obj, indent = 0) {
|
|
393
|
+
const spaces = ' '.repeat(indent);
|
|
394
|
+
let yaml = '';
|
|
395
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
396
|
+
if (value === null || value === undefined) {
|
|
397
|
+
continue;
|
|
398
|
+
}
|
|
399
|
+
if (Array.isArray(value)) {
|
|
400
|
+
yaml += `${spaces}${key}:\n`;
|
|
401
|
+
for (const item of value) {
|
|
402
|
+
if (typeof item === 'object') {
|
|
403
|
+
yaml += `${spaces} - ${this.formatYAML(item, indent + 2).trim()}\n`;
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
yaml += `${spaces} - ${item}\n`;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
else if (typeof value === 'object') {
|
|
411
|
+
yaml += `${spaces}${key}:\n`;
|
|
412
|
+
yaml += this.formatYAML(value, indent + 1);
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
yaml += `${spaces}${key}: ${value}\n`;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return yaml;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
export class DockerScriptsGenerator {
|
|
422
|
+
/**
|
|
423
|
+
* Generate entrypoint.sh script
|
|
424
|
+
*/
|
|
425
|
+
generateEntrypoint(manifest) {
|
|
426
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
427
|
+
return `#!/bin/sh
|
|
428
|
+
# Entrypoint script for ${agentName}
|
|
429
|
+
# Handles initialization and graceful shutdown
|
|
430
|
+
|
|
431
|
+
set -e
|
|
432
|
+
|
|
433
|
+
echo "Starting ${agentName}..."
|
|
434
|
+
|
|
435
|
+
# Wait for dependencies
|
|
436
|
+
if [ -n "\$POSTGRES_HOST" ]; then
|
|
437
|
+
echo "Waiting for PostgreSQL..."
|
|
438
|
+
until nc -z "\$POSTGRES_HOST" "\${POSTGRES_PORT:-5432}"; do
|
|
439
|
+
echo "PostgreSQL is unavailable - sleeping"
|
|
440
|
+
sleep 1
|
|
441
|
+
done
|
|
442
|
+
echo "PostgreSQL is up"
|
|
443
|
+
fi
|
|
444
|
+
|
|
445
|
+
if [ -n "\$REDIS_HOST" ]; then
|
|
446
|
+
echo "Waiting for Redis..."
|
|
447
|
+
until nc -z "\$REDIS_HOST" "\${REDIS_PORT:-6379}"; do
|
|
448
|
+
echo "Redis is unavailable - sleeping"
|
|
449
|
+
sleep 1
|
|
450
|
+
done
|
|
451
|
+
echo "Redis is up"
|
|
452
|
+
fi
|
|
453
|
+
|
|
454
|
+
# Run database migrations (if applicable)
|
|
455
|
+
if [ -f "scripts/migrate.sh" ]; then
|
|
456
|
+
echo "Running database migrations..."
|
|
457
|
+
./scripts/migrate.sh
|
|
458
|
+
fi
|
|
459
|
+
|
|
460
|
+
# Execute the main command
|
|
461
|
+
echo "Starting application..."
|
|
462
|
+
exec "\$@"
|
|
463
|
+
`;
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Generate healthcheck.sh script
|
|
467
|
+
*/
|
|
468
|
+
generateHealthcheck(manifest, port = 3000) {
|
|
469
|
+
return `#!/bin/sh
|
|
470
|
+
# Health check script
|
|
471
|
+
# Returns 0 if healthy, 1 if unhealthy
|
|
472
|
+
|
|
473
|
+
set -e
|
|
474
|
+
|
|
475
|
+
# Check if process is running
|
|
476
|
+
if ! pgrep -f "node" > /dev/null; then
|
|
477
|
+
echo "Process not running"
|
|
478
|
+
exit 1
|
|
479
|
+
fi
|
|
480
|
+
|
|
481
|
+
# Check HTTP health endpoint
|
|
482
|
+
response=\$(curl -s -o /dev/null -w "%{http_code}" http://localhost:${port}/health || echo "000")
|
|
483
|
+
|
|
484
|
+
if [ "\$response" = "200" ]; then
|
|
485
|
+
echo "Health check passed"
|
|
486
|
+
exit 0
|
|
487
|
+
else
|
|
488
|
+
echo "Health check failed with status: \$response"
|
|
489
|
+
exit 1
|
|
490
|
+
fi
|
|
491
|
+
`;
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Generate build.sh script
|
|
495
|
+
*/
|
|
496
|
+
generateBuild(manifest) {
|
|
497
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
498
|
+
return `#!/bin/bash
|
|
499
|
+
# Build Docker image for ${agentName}
|
|
500
|
+
|
|
501
|
+
set -e
|
|
502
|
+
|
|
503
|
+
IMAGE_NAME="${agentName}"
|
|
504
|
+
VERSION=\${VERSION:-latest}
|
|
505
|
+
REGISTRY=\${REGISTRY:-}
|
|
506
|
+
|
|
507
|
+
echo "Building Docker image: \${IMAGE_NAME}:\${VERSION}"
|
|
508
|
+
|
|
509
|
+
# Build production image
|
|
510
|
+
docker build \\
|
|
511
|
+
--target runtime \\
|
|
512
|
+
--tag "\${IMAGE_NAME}:\${VERSION}" \\
|
|
513
|
+
--tag "\${IMAGE_NAME}:latest" \\
|
|
514
|
+
--build-arg BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" \\
|
|
515
|
+
--build-arg VCS_REF="$(git rev-parse --short HEAD)" \\
|
|
516
|
+
--build-arg VERSION="\${VERSION}" \\
|
|
517
|
+
.
|
|
518
|
+
|
|
519
|
+
echo "✓ Build complete"
|
|
520
|
+
echo " Image: \${IMAGE_NAME}:\${VERSION}"
|
|
521
|
+
echo " Size: \$(docker images \${IMAGE_NAME}:\${VERSION} --format "{{.Size}}")"
|
|
522
|
+
`;
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* Generate push.sh script
|
|
526
|
+
*/
|
|
527
|
+
generatePush(manifest) {
|
|
528
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
529
|
+
return `#!/bin/bash
|
|
530
|
+
# Push Docker image to registry
|
|
531
|
+
|
|
532
|
+
set -e
|
|
533
|
+
|
|
534
|
+
IMAGE_NAME="${agentName}"
|
|
535
|
+
VERSION=\${VERSION:-latest}
|
|
536
|
+
REGISTRY=\${REGISTRY:-docker.io}
|
|
537
|
+
|
|
538
|
+
if [ -z "\$REGISTRY" ]; then
|
|
539
|
+
echo "Error: REGISTRY environment variable is required"
|
|
540
|
+
exit 1
|
|
541
|
+
fi
|
|
542
|
+
|
|
543
|
+
FULL_IMAGE="\${REGISTRY}/\${IMAGE_NAME}:\${VERSION}"
|
|
544
|
+
|
|
545
|
+
echo "Tagging image: \${FULL_IMAGE}"
|
|
546
|
+
docker tag "\${IMAGE_NAME}:\${VERSION}" "\${FULL_IMAGE}"
|
|
547
|
+
|
|
548
|
+
echo "Pushing image: \${FULL_IMAGE}"
|
|
549
|
+
docker push "\${FULL_IMAGE}"
|
|
550
|
+
|
|
551
|
+
echo "✓ Push complete"
|
|
552
|
+
echo " Image: \${FULL_IMAGE}"
|
|
553
|
+
`;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Generate run.sh script
|
|
557
|
+
*/
|
|
558
|
+
generateRun(manifest, port = 3000) {
|
|
559
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
560
|
+
return `#!/bin/bash
|
|
561
|
+
# Run ${agentName} container locally
|
|
562
|
+
|
|
563
|
+
set -e
|
|
564
|
+
|
|
565
|
+
IMAGE_NAME="${agentName}"
|
|
566
|
+
CONTAINER_NAME="\${CONTAINER_NAME:-${agentName}}"
|
|
567
|
+
PORT=\${PORT:-${port}}
|
|
568
|
+
|
|
569
|
+
echo "Running container: \${CONTAINER_NAME}"
|
|
570
|
+
|
|
571
|
+
docker run -d \\
|
|
572
|
+
--name "\${CONTAINER_NAME}" \\
|
|
573
|
+
--restart unless-stopped \\
|
|
574
|
+
-p "\${PORT}:${port}" \\
|
|
575
|
+
--env-file .env \\
|
|
576
|
+
"\${IMAGE_NAME}:latest"
|
|
577
|
+
|
|
578
|
+
echo "✓ Container started"
|
|
579
|
+
echo " Name: \${CONTAINER_NAME}"
|
|
580
|
+
echo " Port: \${PORT}"
|
|
581
|
+
echo ""
|
|
582
|
+
echo "View logs: docker logs -f \${CONTAINER_NAME}"
|
|
583
|
+
echo "Stop container: docker stop \${CONTAINER_NAME}"
|
|
584
|
+
`;
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
export class DockerConfigGenerator {
|
|
588
|
+
/**
|
|
589
|
+
* Generate .dockerignore file
|
|
590
|
+
*/
|
|
591
|
+
generateDockerignore() {
|
|
592
|
+
return `# Dependencies
|
|
593
|
+
node_modules/
|
|
594
|
+
npm-debug.log*
|
|
595
|
+
yarn-debug.log*
|
|
596
|
+
yarn-error.log*
|
|
597
|
+
|
|
598
|
+
# Testing
|
|
599
|
+
coverage/
|
|
600
|
+
*.test.ts
|
|
601
|
+
*.spec.ts
|
|
602
|
+
**/__tests__/
|
|
603
|
+
**/__mocks__/
|
|
604
|
+
|
|
605
|
+
# Build outputs
|
|
606
|
+
dist/
|
|
607
|
+
build/
|
|
608
|
+
*.tsbuildinfo
|
|
609
|
+
|
|
610
|
+
# Environment
|
|
611
|
+
.env
|
|
612
|
+
.env.local
|
|
613
|
+
.env.*.local
|
|
614
|
+
|
|
615
|
+
# Development
|
|
616
|
+
.git/
|
|
617
|
+
.gitignore
|
|
618
|
+
.vscode/
|
|
619
|
+
.idea/
|
|
620
|
+
*.swp
|
|
621
|
+
*.swo
|
|
622
|
+
*~
|
|
623
|
+
|
|
624
|
+
# Documentation
|
|
625
|
+
*.md
|
|
626
|
+
docs/
|
|
627
|
+
examples/
|
|
628
|
+
|
|
629
|
+
# CI/CD
|
|
630
|
+
.github/
|
|
631
|
+
.gitlab-ci.yml
|
|
632
|
+
|
|
633
|
+
# Docker
|
|
634
|
+
Dockerfile*
|
|
635
|
+
docker-compose*.yml
|
|
636
|
+
.dockerignore
|
|
637
|
+
|
|
638
|
+
# Misc
|
|
639
|
+
.DS_Store
|
|
640
|
+
Thumbs.db
|
|
641
|
+
`;
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* Generate .env.example file
|
|
645
|
+
*/
|
|
646
|
+
generateEnvExample(manifest) {
|
|
647
|
+
const spec = manifest.spec;
|
|
648
|
+
const llm = spec.llm;
|
|
649
|
+
return `# Environment Configuration
|
|
650
|
+
NODE_ENV=production
|
|
651
|
+
PORT=3000
|
|
652
|
+
LOG_LEVEL=info
|
|
653
|
+
|
|
654
|
+
# Database
|
|
655
|
+
POSTGRES_HOST=postgres
|
|
656
|
+
POSTGRES_PORT=5432
|
|
657
|
+
POSTGRES_DB=agent_db
|
|
658
|
+
POSTGRES_USER=agent
|
|
659
|
+
POSTGRES_PASSWORD=changeme
|
|
660
|
+
|
|
661
|
+
# Redis
|
|
662
|
+
REDIS_HOST=redis
|
|
663
|
+
REDIS_PORT=6379
|
|
664
|
+
REDIS_PASSWORD=
|
|
665
|
+
|
|
666
|
+
# LLM Configuration
|
|
667
|
+
LLM_PROVIDER=${llm?.provider || 'anthropic'}
|
|
668
|
+
LLM_MODEL=${llm?.model || 'claude-sonnet-3-5'}
|
|
669
|
+
LLM_API_KEY=your-api-key-here
|
|
670
|
+
LLM_MAX_TOKENS=${llm?.maxTokens || 4000}
|
|
671
|
+
LLM_TEMPERATURE=${llm?.temperature || 0.7}
|
|
672
|
+
|
|
673
|
+
# Monitoring
|
|
674
|
+
ENABLE_METRICS=true
|
|
675
|
+
METRICS_PORT=9090
|
|
676
|
+
|
|
677
|
+
# Security
|
|
678
|
+
JWT_SECRET=generate-a-secure-random-secret
|
|
679
|
+
API_KEY=your-api-key-here
|
|
680
|
+
|
|
681
|
+
# OSSA Configuration
|
|
682
|
+
OSSA_VERSION=${manifest.apiVersion}
|
|
683
|
+
AGENT_NAME=${manifest.metadata?.name || 'agent'}
|
|
684
|
+
AGENT_VERSION=${manifest.metadata?.version || '1.0.0'}
|
|
685
|
+
`;
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* Generate nginx.conf
|
|
689
|
+
*/
|
|
690
|
+
generateNginxConfig(manifest, port = 3000) {
|
|
691
|
+
const agentName = manifest.metadata?.name || 'agent';
|
|
692
|
+
return `# Nginx configuration for ${agentName}
|
|
693
|
+
|
|
694
|
+
user nginx;
|
|
695
|
+
worker_processes auto;
|
|
696
|
+
error_log /var/log/nginx/error.log warn;
|
|
697
|
+
pid /var/run/nginx.pid;
|
|
698
|
+
|
|
699
|
+
events {
|
|
700
|
+
worker_connections 1024;
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
http {
|
|
704
|
+
include /etc/nginx/mime.types;
|
|
705
|
+
default_type application/octet-stream;
|
|
706
|
+
|
|
707
|
+
log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
|
|
708
|
+
'\$status \$body_bytes_sent "\$http_referer" '
|
|
709
|
+
'"\$http_user_agent" "\$http_x_forwarded_for"';
|
|
710
|
+
|
|
711
|
+
access_log /var/log/nginx/access.log main;
|
|
712
|
+
|
|
713
|
+
sendfile on;
|
|
714
|
+
tcp_nopush on;
|
|
715
|
+
tcp_nodelay on;
|
|
716
|
+
keepalive_timeout 65;
|
|
717
|
+
types_hash_max_size 2048;
|
|
718
|
+
|
|
719
|
+
# Gzip compression
|
|
720
|
+
gzip on;
|
|
721
|
+
gzip_vary on;
|
|
722
|
+
gzip_min_length 1024;
|
|
723
|
+
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
|
|
724
|
+
|
|
725
|
+
# Rate limiting
|
|
726
|
+
limit_req_zone \$binary_remote_addr zone=api_limit:10m rate=10r/s;
|
|
727
|
+
|
|
728
|
+
upstream agent_backend {
|
|
729
|
+
least_conn;
|
|
730
|
+
server ${agentName}:${port} max_fails=3 fail_timeout=30;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
server {
|
|
734
|
+
listen 80;
|
|
735
|
+
server_name _;
|
|
736
|
+
|
|
737
|
+
# Security headers
|
|
738
|
+
add_header X-Frame-Options "SAMEORIGIN" always;
|
|
739
|
+
add_header X-Content-Type-Options "nosniff" always;
|
|
740
|
+
add_header X-XSS-Protection "1; mode=block" always;
|
|
741
|
+
|
|
742
|
+
# Health check endpoint (no rate limit)
|
|
743
|
+
location /health {
|
|
744
|
+
proxy_pass http://agent_backend;
|
|
745
|
+
access_log off;
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
# API endpoints
|
|
749
|
+
location /api/ {
|
|
750
|
+
limit_req zone=api_limit burst=20 nodelay;
|
|
751
|
+
|
|
752
|
+
proxy_pass http://agent_backend;
|
|
753
|
+
proxy_http_version 1.1;
|
|
754
|
+
proxy_set_header Upgrade \$http_upgrade;
|
|
755
|
+
proxy_set_header Connection "upgrade";
|
|
756
|
+
proxy_set_header Host \$host;
|
|
757
|
+
proxy_set_header X-Real-IP \$remote_addr;
|
|
758
|
+
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
|
759
|
+
proxy_set_header X-Forwarded-Proto \$scheme;
|
|
760
|
+
|
|
761
|
+
# Timeouts
|
|
762
|
+
proxy_connect_timeout 60;
|
|
763
|
+
proxy_send_timeout 60;
|
|
764
|
+
proxy_read_timeout 60;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
# Deny access to sensitive files
|
|
768
|
+
location ~ /\\. {
|
|
769
|
+
deny all;
|
|
770
|
+
access_log off;
|
|
771
|
+
log_not_found off;
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
}
|
|
90
775
|
`;
|
|
91
776
|
}
|
|
92
777
|
}
|