@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
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Gitlab } from '@gitbeaker/rest';
|
|
2
|
+
import type { Logger } from 'pino';
|
|
3
|
+
|
|
4
|
+
export interface GitLabClientConfig {
|
|
5
|
+
token: string;
|
|
6
|
+
baseUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class GitLabClient {
|
|
10
|
+
private gitlab: InstanceType<typeof Gitlab>;
|
|
11
|
+
|
|
12
|
+
constructor(config: GitLabClientConfig) {
|
|
13
|
+
this.gitlab = new Gitlab({
|
|
14
|
+
host: config.baseUrl || 'https://gitlab.com',
|
|
15
|
+
token: config.token,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Get all file changes in the MR
|
|
21
|
+
*/
|
|
22
|
+
async getMRChanges(projectId: any, mrIid: any) {
|
|
23
|
+
// TODO: Implement getMRChanges
|
|
24
|
+
throw new Error('Not implemented: getMRChanges');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Run production-grade audit on changed files
|
|
29
|
+
*/
|
|
30
|
+
async runAudit(projectId: any, mrIid: any) {
|
|
31
|
+
// TODO: Implement runAudit
|
|
32
|
+
throw new Error('Not implemented: runAudit');
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Run security scan on dependencies
|
|
37
|
+
*/
|
|
38
|
+
async runSecurityScan(projectId: any, branch: any) {
|
|
39
|
+
// TODO: Implement runSecurityScan
|
|
40
|
+
throw new Error('Not implemented: runSecurityScan');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Post comment to merge request
|
|
45
|
+
*/
|
|
46
|
+
async postMRComment(projectId: string, mrIid: number, body: string, replyToId?: number) {
|
|
47
|
+
return await this.gitlab.MergeRequestNotes.create(projectId, mrIid, body, {
|
|
48
|
+
...(replyToId && { reply_to: replyToId }),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Approve merge request
|
|
54
|
+
*/
|
|
55
|
+
async approveMR(projectId: string, mrIid: number) {
|
|
56
|
+
return await this.gitlab.MergeRequestApprovals.approve(projectId, mrIid);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Block MR with required changes
|
|
61
|
+
*/
|
|
62
|
+
async blockMR(projectId: any, mrIid: any, reason: any) {
|
|
63
|
+
// TODO: Implement blockMR
|
|
64
|
+
throw new Error('Not implemented: blockMR');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import express from 'express';
|
|
2
|
+
import pino from 'pino';
|
|
3
|
+
import { GitLabClient } from './gitlab-client.js';
|
|
4
|
+
import { LLMClient } from './llm-client.js';
|
|
5
|
+
import { WorkflowExecutor } from './workflow.js';
|
|
6
|
+
import type { WebhookEvent } from './types.js';
|
|
7
|
+
|
|
8
|
+
const app = express();
|
|
9
|
+
app.use(express.json());
|
|
10
|
+
|
|
11
|
+
const logger = pino({
|
|
12
|
+
level: process.env.LOG_LEVEL || 'info',
|
|
13
|
+
transport: {
|
|
14
|
+
target: 'pino-pretty',
|
|
15
|
+
options: {
|
|
16
|
+
colorize: true,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
// Initialize clients
|
|
22
|
+
const gitlabClient = new GitLabClient({
|
|
23
|
+
token: process.env.GITLAB_API_TOKEN!,
|
|
24
|
+
baseUrl: process.env.GITLAB_API_URL || 'https://gitlab.com/api/v4',
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const llmClient = new LLMClient({
|
|
28
|
+
apiKey: process.env.ANTHROPIC_API_KEY!,
|
|
29
|
+
model: 'claude-sonnet-4-5',
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const workflowExecutor = new WorkflowExecutor({
|
|
33
|
+
gitlabClient,
|
|
34
|
+
llmClient,
|
|
35
|
+
logger,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// Health check endpoint
|
|
39
|
+
app.get('/health', (req, res) => {
|
|
40
|
+
res.json({ status: 'healthy', agent: 'mr-reviewer' });
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Ready check endpoint
|
|
44
|
+
app.get('/ready', (req, res) => {
|
|
45
|
+
res.json({ status: 'ready', agent: 'mr-reviewer' });
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Webhook endpoint
|
|
49
|
+
app.post('/webhook/mr-reviewer', async (req, res) => {
|
|
50
|
+
const event: WebhookEvent = req.body;
|
|
51
|
+
|
|
52
|
+
// Validate webhook token
|
|
53
|
+
const webhookToken = req.headers['x-gitlab-token'];
|
|
54
|
+
if (webhookToken !== process.env.WEBHOOK_SECRET) {
|
|
55
|
+
logger.warn({ event: event.object_kind }, 'Invalid webhook token');
|
|
56
|
+
return res.status(401).json({ error: 'Unauthorized' });
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
logger.info({ event: event.object_kind }, 'Webhook received');
|
|
60
|
+
|
|
61
|
+
try {
|
|
62
|
+
// Check if event matches filter
|
|
63
|
+
if (!matchesFilter(event, {"action":["opened","reopened","updated"]})) {
|
|
64
|
+
logger.info({ event: event.object_kind }, 'Event filtered out');
|
|
65
|
+
return res.status(200).json({ skipped: true });
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Execute workflow
|
|
69
|
+
const result = await workflowExecutor.execute(event);
|
|
70
|
+
|
|
71
|
+
logger.info({ result }, 'Workflow completed successfully');
|
|
72
|
+
return res.status(200).json(result);
|
|
73
|
+
} catch (error) {
|
|
74
|
+
logger.error({ err: error }, 'Workflow execution failed');
|
|
75
|
+
return res.status(500).json({
|
|
76
|
+
error: error instanceof Error ? error.message : String(error),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
function matchesFilter(event: WebhookEvent, filter: any): boolean {
|
|
82
|
+
// Implement filter matching logic based on manifest
|
|
83
|
+
|
|
84
|
+
if (filter.note_author && event.object_attributes?.author?.username !== filter.note_author) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (filter.note_contains && Array.isArray(filter.note_contains)) {
|
|
89
|
+
const noteBody = event.object_attributes?.note || '';
|
|
90
|
+
const matches = filter.note_contains.some((keyword: string) =>
|
|
91
|
+
noteBody.toLowerCase().includes(keyword.toLowerCase())
|
|
92
|
+
);
|
|
93
|
+
if (!matches) return false;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const PORT = process.env.PORT || 9090;
|
|
101
|
+
app.listen(PORT, () => {
|
|
102
|
+
logger.info(`Agent '${agentName}' listening on port ${PORT}`);
|
|
103
|
+
});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import Anthropic from '@anthropic-ai/sdk';
|
|
2
|
+
import type { Logger } from 'pino';
|
|
3
|
+
|
|
4
|
+
export interface LLMClientConfig {
|
|
5
|
+
apiKey: string;
|
|
6
|
+
model?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class LLMClient {
|
|
10
|
+
private anthropic: Anthropic;
|
|
11
|
+
private model: string;
|
|
12
|
+
|
|
13
|
+
constructor(config: LLMClientConfig) {
|
|
14
|
+
this.anthropic = new Anthropic({
|
|
15
|
+
apiKey: config.apiKey,
|
|
16
|
+
});
|
|
17
|
+
this.model = config.model || 'claude-sonnet-4-5';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Invoke LLM with prompt
|
|
22
|
+
*/
|
|
23
|
+
async invoke(prompt: string, systemPrompt?: string): Promise<string> {
|
|
24
|
+
const response = await this.anthropic.messages.create({
|
|
25
|
+
model: this.model,
|
|
26
|
+
max_tokens: 16384,
|
|
27
|
+
temperature: 0.2,
|
|
28
|
+
system: systemPrompt || `You are an expert code reviewer for the OSSA project.
|
|
29
|
+
|
|
30
|
+
Review criteria:
|
|
31
|
+
1. Code Quality
|
|
32
|
+
- DRY principle violations
|
|
33
|
+
- SOLID principle adherence
|
|
34
|
+
- Complexity (cyclomatic, cognitive)
|
|
35
|
+
- Code smells
|
|
36
|
+
|
|
37
|
+
2. Architecture
|
|
38
|
+
- API-First pattern compliance
|
|
39
|
+
- Dependency injection usage
|
|
40
|
+
- Module boundaries
|
|
41
|
+
- Type safety
|
|
42
|
+
|
|
43
|
+
3. Security
|
|
44
|
+
- Credentials in code
|
|
45
|
+
- SQL injection risks
|
|
46
|
+
- XSS vulnerabilities
|
|
47
|
+
- Dependency vulnerabilities
|
|
48
|
+
|
|
49
|
+
4. Performance
|
|
50
|
+
- N+1 queries
|
|
51
|
+
- Memory leaks
|
|
52
|
+
- Inefficient algorithms
|
|
53
|
+
- Bundle size impact
|
|
54
|
+
|
|
55
|
+
5. Production-Grade
|
|
56
|
+
- Structured logging (Pino)
|
|
57
|
+
- Error handling (OssaError)
|
|
58
|
+
- Configuration externalization
|
|
59
|
+
- Test coverage
|
|
60
|
+
|
|
61
|
+
Provide:
|
|
62
|
+
- Clear, actionable feedback
|
|
63
|
+
- Code examples for improvements
|
|
64
|
+
- Severity ratings (critical, high, medium, low)
|
|
65
|
+
- Blocking vs non-blocking issues
|
|
66
|
+
`,
|
|
67
|
+
messages: [
|
|
68
|
+
{
|
|
69
|
+
role: 'user',
|
|
70
|
+
content: prompt,
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
const content = response.content[0];
|
|
76
|
+
if (content.type === 'text') {
|
|
77
|
+
return content.text;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
throw new Error('Unexpected response type from LLM');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Invoke LLM and parse JSON response
|
|
85
|
+
*/
|
|
86
|
+
async invokeJSON<T = any>(prompt: string, systemPrompt?: string): Promise<T> {
|
|
87
|
+
const response = await this.invoke(prompt, systemPrompt);
|
|
88
|
+
|
|
89
|
+
// Extract JSON from markdown code blocks if present
|
|
90
|
+
const jsonMatch = response.match(/```json\n([\s\S]*?)\n```/);
|
|
91
|
+
const jsonStr = jsonMatch ? jsonMatch[1] : response;
|
|
92
|
+
|
|
93
|
+
return JSON.parse(jsonStr);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface WebhookEvent {
|
|
2
|
+
object_kind: string;
|
|
3
|
+
project?: {
|
|
4
|
+
id: string | number;
|
|
5
|
+
name: string;
|
|
6
|
+
};
|
|
7
|
+
project_id?: string | number;
|
|
8
|
+
merge_request?: {
|
|
9
|
+
iid: number;
|
|
10
|
+
source_branch: string;
|
|
11
|
+
target_branch: string;
|
|
12
|
+
};
|
|
13
|
+
object_attributes?: any;
|
|
14
|
+
commit?: any;
|
|
15
|
+
ref?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface WorkflowContext {
|
|
19
|
+
event: WebhookEvent;
|
|
20
|
+
variables: Record<string, any>;
|
|
21
|
+
outputs: Record<string, any>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { GitLabClient } from './gitlab-client.js';
|
|
2
|
+
import type { LLMClient } from './llm-client.js';
|
|
3
|
+
import type { Logger } from 'pino';
|
|
4
|
+
import type { WebhookEvent, WorkflowContext } from './types.js';
|
|
5
|
+
|
|
6
|
+
export interface WorkflowExecutorConfig {
|
|
7
|
+
gitlabClient: GitLabClient;
|
|
8
|
+
llmClient: LLMClient;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class WorkflowExecutor {
|
|
13
|
+
private gitlabClient: GitLabClient;
|
|
14
|
+
private llmClient: LLMClient;
|
|
15
|
+
private logger: Logger;
|
|
16
|
+
|
|
17
|
+
constructor(config: WorkflowExecutorConfig) {
|
|
18
|
+
this.gitlabClient = config.gitlabClient;
|
|
19
|
+
this.llmClient = config.llmClient;
|
|
20
|
+
this.logger = config.logger;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Execute workflow
|
|
25
|
+
*/
|
|
26
|
+
async execute(event: WebhookEvent): Promise<any> {
|
|
27
|
+
const context: WorkflowContext = {
|
|
28
|
+
event,
|
|
29
|
+
variables: this.extractVariables(event),
|
|
30
|
+
outputs: {},
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
this.logger.info({ context }, 'Starting workflow execution');
|
|
34
|
+
|
|
35
|
+
try {
|
|
36
|
+
// Step 1: Fetch MR Changes
|
|
37
|
+
this.logger.info('Executing step: Fetch MR Changes');
|
|
38
|
+
context.outputs.fetch-changes = await this.gitlabClient.getMRChanges(
|
|
39
|
+
context.variables.PROJECT_ID, context.variables.MR_IID
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
// Step 2: Run Production-Grade Audit
|
|
44
|
+
this.logger.info('Executing step: Run Production-Grade Audit');
|
|
45
|
+
context.outputs.run-audit = await this.gitlabClient.runAudit(
|
|
46
|
+
context.variables.PROJECT_ID, context.variables.MR_IID
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
// Step 3: Run Security Scan
|
|
51
|
+
this.logger.info('Executing step: Run Security Scan');
|
|
52
|
+
context.outputs.security-scan = await this.gitlabClient.runSecurityScan(
|
|
53
|
+
context.variables.PROJECT_ID, context.variables.SOURCE_BRANCH
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
// Step 4: Comprehensive Code Review
|
|
58
|
+
this.logger.info('Executing step: Comprehensive Code Review');
|
|
59
|
+
const prompt = `Review this merge request:
|
|
60
|
+
|
|
61
|
+
Changes:
|
|
62
|
+
${JSON.stringify(changes, null, 2)}
|
|
63
|
+
|
|
64
|
+
Audit Results:
|
|
65
|
+
Score: ${auditResult.score}/100
|
|
66
|
+
Violations: ${auditResult.violations.length}
|
|
67
|
+
|
|
68
|
+
Security Scan:
|
|
69
|
+
${JSON.stringify(securityResult, null, 2)}
|
|
70
|
+
|
|
71
|
+
Provide comprehensive review in JSON:
|
|
72
|
+
{
|
|
73
|
+
"summary": "Brief overview",
|
|
74
|
+
"score": number (0-100),
|
|
75
|
+
"blocking_issues": [
|
|
76
|
+
{
|
|
77
|
+
"severity": "critical",
|
|
78
|
+
"category": "security|quality|architecture|performance",
|
|
79
|
+
"file": "path",
|
|
80
|
+
"line": number,
|
|
81
|
+
"issue": "description",
|
|
82
|
+
"suggestion": "how to fix"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"non_blocking_issues": [...],
|
|
86
|
+
"improvements": [...],
|
|
87
|
+
"positive_points": [...],
|
|
88
|
+
"recommendation": "approve|changes_required|hold"
|
|
89
|
+
}
|
|
90
|
+
`;
|
|
91
|
+
context.outputs.llm-review = await this.llmClient.invokeJSON(prompt);
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
// Step 5: Post Review Comment
|
|
95
|
+
this.logger.info('Executing step: Post Review Comment');
|
|
96
|
+
context.outputs.post-review = await this.gitlabClient.postMRComment(
|
|
97
|
+
context.variables.PROJECT_ID, context.variables.MR_IID, "## 🤖 Agent Review Summary\n\n**Production-Grade Score**: ${auditResult.score}/100\n\n**Recommendation**: ${review.recommendation === 'approve' ? '✅ Approve' : '⚠️ Changes Required'}\n\n### Summary\n${review.summary}\n\n${review.blocking_issues.length > 0 ? `\n### 🚫 Blocking Issues\n${review.blocking_issues.map(i => `\n**${i.severity.toUpperCase()}**: ${i.category}\n- File: \\`${i.file}:${i.line}\\`\n- Issue: ${i.issue}\n- Fix: ${i.suggestion}\n`).join('\\n')}\n` : ''}\n\n${review.non_blocking_issues.length > 0 ? `\n### ⚠️ Non-Blocking Issues\n${review.non_blocking_issues.map(i => `\n- **${i.category}**: ${i.issue} (\\`${i.file}\\`)\n`).join('\\n')}\n` : ''}\n\n${review.improvements.length > 0 ? `\n### 💡 Suggested Improvements\n${review.improvements.map(i => `- ${i}`).join('\\n')}\n` : ''}\n\n${review.positive_points.length > 0 ? `\n### ✅ Positive Points\n${review.positive_points.map(p => `- ${p}`).join('\\n')}\n` : ''}\n\n---\n🔗 [Full Audit Report](${CI_PROJECT_URL}/-/merge_requests/${MR_IID}/pipelines) | 🤖 Reviewed by: mr-reviewer\n"
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
// Step 6: Approve MR
|
|
102
|
+
this.logger.info('Executing step: Approve MR');
|
|
103
|
+
if (review.recommendation === 'approve' && review.blocking_issues.length === 0) {
|
|
104
|
+
context.outputs.approve-mr = await this.gitlabClient.approveMR(
|
|
105
|
+
context.variables.PROJECT_ID, context.variables.MR_IID
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
// Step 7: Block MR
|
|
111
|
+
this.logger.info('Executing step: Block MR');
|
|
112
|
+
if (review.blocking_issues.length > 0) {
|
|
113
|
+
context.outputs.block-mr = await this.gitlabClient.blockMR(
|
|
114
|
+
context.variables.PROJECT_ID, context.variables.MR_IID, "Blocking issues found - see review comment"
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
this.logger.info({ outputs: context.outputs }, 'Workflow completed');
|
|
120
|
+
return context.outputs;
|
|
121
|
+
} catch (error) {
|
|
122
|
+
this.logger.error({ err: error }, 'Workflow execution failed');
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Extract variables from webhook event
|
|
129
|
+
*/
|
|
130
|
+
private extractVariables(event: WebhookEvent): Record<string, any> {
|
|
131
|
+
return {
|
|
132
|
+
PROJECT_ID: event.project?.id || event.project_id,
|
|
133
|
+
MR_IID: event.merge_request?.iid || event.object_attributes?.iid,
|
|
134
|
+
PIPELINE_ID: event.object_attributes?.id,
|
|
135
|
+
COMMIT_SHA: event.object_attributes?.sha || event.commit?.id,
|
|
136
|
+
REF: event.object_attributes?.ref || event.ref,
|
|
137
|
+
SOURCE_BRANCH: event.merge_request?.source_branch,
|
|
138
|
+
TARGET_BRANCH: event.merge_request?.target_branch,
|
|
139
|
+
DUO_COMMENT_ID: event.object_attributes?.id,
|
|
140
|
+
DUO_COMMENT_BODY: event.object_attributes?.note,
|
|
141
|
+
// Add more as needed
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "ES2022",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"lib": [
|
|
7
|
+
"ES2022"
|
|
8
|
+
],
|
|
9
|
+
"outDir": "./dist",
|
|
10
|
+
"rootDir": "./src",
|
|
11
|
+
"strict": true,
|
|
12
|
+
"esModuleInterop": true,
|
|
13
|
+
"skipLibCheck": true,
|
|
14
|
+
"forceConsistentCasingInFileNames": true,
|
|
15
|
+
"resolveJsonModule": true
|
|
16
|
+
},
|
|
17
|
+
"include": [
|
|
18
|
+
"src/**/*"
|
|
19
|
+
],
|
|
20
|
+
"exclude": [
|
|
21
|
+
"node_modules",
|
|
22
|
+
"dist"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"url": "http://api.blueflyagents.com/webhook/mr-reviewer",
|
|
3
|
+
"token": "${WEBHOOK_SECRET}",
|
|
4
|
+
"enable_ssl_verification": false,
|
|
5
|
+
"push_events": false,
|
|
6
|
+
"issues_events": false,
|
|
7
|
+
"merge_requests_events": true,
|
|
8
|
+
"note_events": false,
|
|
9
|
+
"pipeline_events": false,
|
|
10
|
+
"wiki_page_events": false
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# GitLab Agent Environment Variables
|
|
2
|
+
|
|
3
|
+
# GitLab Configuration
|
|
4
|
+
GITLAB_API_TOKEN=glpat-your-token-here
|
|
5
|
+
GITLAB_API_URL=https://gitlab.com/api/v4
|
|
6
|
+
WEBHOOK_SECRET=your-webhook-secret
|
|
7
|
+
|
|
8
|
+
# LLM Configuration
|
|
9
|
+
ANTHROPIC_API_KEY=sk-ant-your-key-here
|
|
10
|
+
|
|
11
|
+
# Server Configuration
|
|
12
|
+
PORT=9090
|
|
13
|
+
NODE_ENV=production
|
|
14
|
+
LOG_LEVEL=info
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# GitLab CI/CD for pipeline-auto-fix
|
|
2
|
+
# Auto-generated from OSSA manifest
|
|
3
|
+
|
|
4
|
+
stages:
|
|
5
|
+
- build
|
|
6
|
+
- deploy
|
|
7
|
+
|
|
8
|
+
build:
|
|
9
|
+
stage: build
|
|
10
|
+
image: node:20-alpine
|
|
11
|
+
script:
|
|
12
|
+
- npm ci
|
|
13
|
+
- npm run build
|
|
14
|
+
- npm test
|
|
15
|
+
artifacts:
|
|
16
|
+
paths:
|
|
17
|
+
- dist/
|
|
18
|
+
- node_modules/
|
|
19
|
+
expire_in: 1 hour
|
|
20
|
+
|
|
21
|
+
deploy:pipeline-auto-fix:
|
|
22
|
+
stage: deploy
|
|
23
|
+
image: docker:24
|
|
24
|
+
services:
|
|
25
|
+
- docker:24-dind
|
|
26
|
+
before_script:
|
|
27
|
+
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
28
|
+
script:
|
|
29
|
+
- docker build -t registry.gitlab.com/$CI_PROJECT_PATH/pipeline-auto-fix:latest .
|
|
30
|
+
- docker push registry.gitlab.com/$CI_PROJECT_PATH/pipeline-auto-fix:latest
|
|
31
|
+
# Deploy to Kubernetes
|
|
32
|
+
- kubectl set image deployment/pipeline-auto-fix pipeline-auto-fix=registry.gitlab.com/$CI_PROJECT_PATH/pipeline-auto-fix:latest -n agents
|
|
33
|
+
only:
|
|
34
|
+
- main
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
FROM node:20-alpine
|
|
2
|
+
|
|
3
|
+
WORKDIR /app
|
|
4
|
+
|
|
5
|
+
COPY package*.json ./
|
|
6
|
+
RUN npm ci --only=production
|
|
7
|
+
|
|
8
|
+
COPY dist/ ./dist/
|
|
9
|
+
|
|
10
|
+
ENV NODE_ENV=production
|
|
11
|
+
ENV PORT=9090
|
|
12
|
+
|
|
13
|
+
EXPOSE 9090
|
|
14
|
+
|
|
15
|
+
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
|
|
16
|
+
CMD wget --no-verbose --tries=1 --spider http://localhost:9090/health || exit 1
|
|
17
|
+
|
|
18
|
+
CMD ["node", "dist/index.js"]
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# pipeline-auto-fix
|
|
2
|
+
|
|
3
|
+
Automatically analyzes failed pipelines, identifies root causes, generates fixes, and creates MRs with solutions. Prevents pipelines from failing for days by auto-remediation.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Generated from OSSA Manifest
|
|
7
|
+
|
|
8
|
+
This agent was auto-generated from an OSSA v0.4.1 manifest using:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
ossa export agents/gitlab/pipeline-auto-fix.ossa.yaml --platform gitlab-agent --output ./pipeline-auto-fix
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
1. Install dependencies:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
2. Copy `.env.example` to `.env` and fill in your credentials:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
cp .env.example .env
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
3. Build the agent:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm run build
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
4. Run the agent:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm start
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Development
|
|
41
|
+
|
|
42
|
+
Run in development mode with hot reload:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm run dev
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Deployment
|
|
49
|
+
|
|
50
|
+
### Docker
|
|
51
|
+
|
|
52
|
+
Build and run with Docker:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
docker build -t pipeline-auto-fix .
|
|
56
|
+
docker run -p 9090:9090 --env-file .env pipeline-auto-fix
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Kubernetes
|
|
60
|
+
|
|
61
|
+
Deploy to Kubernetes:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
kubectl apply -f k8s/deployment.yaml
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## GitLab Webhook Configuration
|
|
68
|
+
|
|
69
|
+
Configure the webhook in your GitLab project:
|
|
70
|
+
|
|
71
|
+
1. Go to **Settings** → **Webhooks**
|
|
72
|
+
2. Add webhook URL: `http://api.blueflyagents.com/webhook/pipeline-auto-fix`
|
|
73
|
+
3. Set secret token (from .env WEBHOOK_SECRET)
|
|
74
|
+
4. Select events: Pipelines
|
|
75
|
+
5. Save webhook
|
|
76
|
+
|
|
77
|
+
Test the webhook:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
curl -X POST http://localhost:9090/webhook/pipeline-auto-fix \
|
|
81
|
+
-H "Content-Type: application/json" \
|
|
82
|
+
-H "X-Gitlab-Token: your-secret" \
|
|
83
|
+
-d @test-event.json
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
## Health Checks
|
|
88
|
+
|
|
89
|
+
- Health: `GET /health`
|
|
90
|
+
- Ready: `GET /ready`
|
|
91
|
+
|
|
92
|
+
## Monitoring
|
|
93
|
+
|
|
94
|
+
The agent exposes Prometheus metrics and OpenTelemetry traces.
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bluefly/pipeline-auto-fix",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Automatically analyzes failed pipelines, identifies root causes, generates fixes, and creates MRs with solutions. Prevents pipelines from failing for days by auto-remediation.\n",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"start": "node dist/index.js",
|
|
10
|
+
"dev": "tsx watch src/index.ts",
|
|
11
|
+
"test": "echo \"No tests yet\""
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"express": "^4.18.2",
|
|
15
|
+
"@gitbeaker/rest": "^40.0.0",
|
|
16
|
+
"@anthropic-ai/sdk": "^0.32.1",
|
|
17
|
+
"pino": "^8.19.0",
|
|
18
|
+
"pino-pretty": "^11.0.0"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/express": "^4.17.21",
|
|
22
|
+
"@types/node": "^20.11.19",
|
|
23
|
+
"typescript": "^5.3.3",
|
|
24
|
+
"tsx": "^4.7.1"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=20.0.0"
|
|
28
|
+
}
|
|
29
|
+
}
|