@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,77 @@
|
|
|
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 jobs for pipeline
|
|
21
|
+
*/
|
|
22
|
+
async getPipelineJobs(projectId: string, pipelineId: number) {
|
|
23
|
+
return await this.gitlab.Jobs.showPipelineJobs(projectId, pipelineId);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Get job log output
|
|
28
|
+
*/
|
|
29
|
+
async getJobLog(projectId: string, jobId: number) {
|
|
30
|
+
return await this.gitlab.Jobs.showLog(projectId, jobId);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get file content from repository
|
|
35
|
+
*/
|
|
36
|
+
async getFileContent(projectId: string, filePath: string, ref: string) {
|
|
37
|
+
const file = await this.gitlab.RepositoryFiles.show(projectId, filePath, ref);
|
|
38
|
+
return Buffer.from(file.content, 'base64').toString('utf-8');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Create new branch
|
|
43
|
+
*/
|
|
44
|
+
async createBranch(projectId: string, branch: string, ref: string) {
|
|
45
|
+
return await this.gitlab.Branches.create(projectId, branch, ref);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Create commit with changes
|
|
50
|
+
*/
|
|
51
|
+
async createCommit(projectId: string, branch: string, message: string, actions: any[]) {
|
|
52
|
+
return await this.gitlab.Commits.create(projectId, branch, message, actions);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Create merge request
|
|
57
|
+
*/
|
|
58
|
+
async createMR(
|
|
59
|
+
projectId: string,
|
|
60
|
+
sourceBranch: string,
|
|
61
|
+
targetBranch: string,
|
|
62
|
+
title: string,
|
|
63
|
+
description: string
|
|
64
|
+
) {
|
|
65
|
+
return await this.gitlab.MergeRequests.create(projectId, sourceBranch, targetBranch, title, {
|
|
66
|
+
description,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Post comment explaining the fix
|
|
72
|
+
*/
|
|
73
|
+
async postComment(projectId: any, mrIid: any, body: any) {
|
|
74
|
+
// TODO: Implement postComment
|
|
75
|
+
throw new Error('Not implemented: postComment');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -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: 'pipeline-auto-fix' });
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Ready check endpoint
|
|
44
|
+
app.get('/ready', (req, res) => {
|
|
45
|
+
res.json({ status: 'ready', agent: 'pipeline-auto-fix' });
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Webhook endpoint
|
|
49
|
+
app.post('/webhook/pipeline-auto-fix', 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, {"status":"failed","ref":["main","development","/^release\\/.*/","/^feature\\/.*/"]})) {
|
|
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,79 @@
|
|
|
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: 32000,
|
|
27
|
+
temperature: 0.1,
|
|
28
|
+
system: systemPrompt || `You are a CI/CD remediation specialist.
|
|
29
|
+
|
|
30
|
+
Your role:
|
|
31
|
+
1. Analyze pipeline failure logs
|
|
32
|
+
2. Identify root cause (TypeScript errors, test failures, lint errors, etc.)
|
|
33
|
+
3. Generate precise fixes
|
|
34
|
+
4. Create MR with fix and detailed explanation
|
|
35
|
+
|
|
36
|
+
Common failure types:
|
|
37
|
+
- TypeScript compilation errors
|
|
38
|
+
- Test failures
|
|
39
|
+
- Lint/format errors
|
|
40
|
+
- Dependency issues
|
|
41
|
+
- Configuration errors
|
|
42
|
+
- Build failures
|
|
43
|
+
|
|
44
|
+
Response format:
|
|
45
|
+
- Root cause analysis
|
|
46
|
+
- Fix strategy
|
|
47
|
+
- Code changes
|
|
48
|
+
- Commit message
|
|
49
|
+
- MR description
|
|
50
|
+
`,
|
|
51
|
+
messages: [
|
|
52
|
+
{
|
|
53
|
+
role: 'user',
|
|
54
|
+
content: prompt,
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const content = response.content[0];
|
|
60
|
+
if (content.type === 'text') {
|
|
61
|
+
return content.text;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
throw new Error('Unexpected response type from LLM');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Invoke LLM and parse JSON response
|
|
69
|
+
*/
|
|
70
|
+
async invokeJSON<T = any>(prompt: string, systemPrompt?: string): Promise<T> {
|
|
71
|
+
const response = await this.invoke(prompt, systemPrompt);
|
|
72
|
+
|
|
73
|
+
// Extract JSON from markdown code blocks if present
|
|
74
|
+
const jsonMatch = response.match(/```json\n([\s\S]*?)\n```/);
|
|
75
|
+
const jsonStr = jsonMatch ? jsonMatch[1] : response;
|
|
76
|
+
|
|
77
|
+
return JSON.parse(jsonStr);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -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,146 @@
|
|
|
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 Failed Jobs
|
|
37
|
+
this.logger.info('Executing step: Fetch Failed Jobs');
|
|
38
|
+
context.outputs.fetch-jobs = await this.gitlabClient.getPipelineJobs(
|
|
39
|
+
context.variables.PROJECT_ID, context.variables.PIPELINE_ID
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
// Step 2: Get Failure Logs
|
|
44
|
+
this.logger.info('Executing step: Get Failure Logs');
|
|
45
|
+
context.outputs.get-logs = await Promise.all([
|
|
46
|
+
|
|
47
|
+
]);
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
// Step 3: Analyze Root Cause
|
|
51
|
+
this.logger.info('Executing step: Analyze Root Cause');
|
|
52
|
+
const prompt = `Pipeline #${PIPELINE_ID} failed on ${REF}
|
|
53
|
+
|
|
54
|
+
Failed Jobs:
|
|
55
|
+
${jobs.filter(j => j.status === 'failed').map(j => `- ${j.name} (stage: ${j.stage})`).join('\n')}
|
|
56
|
+
|
|
57
|
+
Logs:
|
|
58
|
+
${logs.map((log, i) => `
|
|
59
|
+
=== ${jobs[i].name} ===
|
|
60
|
+
${log}
|
|
61
|
+
`).join('\n\n')}
|
|
62
|
+
|
|
63
|
+
Analyze and provide fix in JSON:
|
|
64
|
+
{
|
|
65
|
+
"root_cause": "string (detailed explanation)",
|
|
66
|
+
"error_type": "typescript|test|lint|dependency|build|config",
|
|
67
|
+
"affected_files": ["list of files that need changes"],
|
|
68
|
+
"fix_strategy": "string (how to fix)",
|
|
69
|
+
"code_changes": [
|
|
70
|
+
{
|
|
71
|
+
"file_path": "string",
|
|
72
|
+
"action": "update",
|
|
73
|
+
"current_content": "string (if known)",
|
|
74
|
+
"new_content": "string (fixed version)"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"commit_message": "string (conventional commit format)",
|
|
78
|
+
"mr_title": "string (descriptive title)",
|
|
79
|
+
"mr_description": "string (markdown formatted)",
|
|
80
|
+
"confidence": number (0-100, how confident in this fix)
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
context.outputs.analyze-failure = await this.llmClient.invokeJSON(prompt);
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
// Step 4: Check Fix Confidence
|
|
87
|
+
this.logger.info('Executing step: Check Fix Confidence');
|
|
88
|
+
if (analysis.confidence < 70) {
|
|
89
|
+
// TODO: Implement evaluate
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
// Step 5: Create Fix Branch
|
|
94
|
+
this.logger.info('Executing step: Create Fix Branch');
|
|
95
|
+
context.outputs.create-fix-branch = await this.gitlabClient.createBranch(
|
|
96
|
+
context.variables.PROJECT_ID, "auto-fix/pipeline-${PIPELINE_ID}", context.variables.REF
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
// Step 6: Apply Code Fixes
|
|
101
|
+
this.logger.info('Executing step: Apply Code Fixes');
|
|
102
|
+
context.outputs.apply-fixes = await this.gitlabClient.createCommit(
|
|
103
|
+
context.variables.PROJECT_ID, context.variables.branch.name, "${analysis.commit_message}\n\nAuto-generated fix for pipeline #${PIPELINE_ID}\n\nRoot cause: ${analysis.root_cause}\n\nCo-Authored-By: Pipeline Auto-Fix Agent <pipeline-remediation@blueflyagents.com>\n", context.variables.analysis.code_changes
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
// Step 7: Create Fix MR
|
|
108
|
+
this.logger.info('Executing step: Create Fix MR');
|
|
109
|
+
context.outputs.create-fix-mr = await this.gitlabClient.createMR(
|
|
110
|
+
context.variables.PROJECT_ID, context.variables.branch.name, context.variables.REF, context.variables.analysis.mr_title, "## 🤖 Auto-Fix for Pipeline #${PIPELINE_ID}\n\n**Status**: Failed ❌ → Fixed ✅\n\n### Root Cause\n${analysis.root_cause}\n\n### Error Type\n`${analysis.error_type}`\n\n### Fix Strategy\n${analysis.fix_strategy}\n\n### Files Changed\n${analysis.affected_files.map(f => `- \\`${f}\\``).join('\\n')}\n\n### Commit\n${commit.short_id}: ${analysis.commit_message}\n\n### Testing\n- [ ] Pipeline passes on this MR\n- [ ] Code review approved\n- [ ] Ready to merge\n\n---\n🤖 Generated by: pipeline-auto-fix agent\n📊 Confidence: ${analysis.confidence}%\n🔗 Failed pipeline: [#${PIPELINE_ID}](${CI_PROJECT_URL}/-/pipelines/${PIPELINE_ID})\n"
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
// Step 8: Post Detailed Comment
|
|
115
|
+
this.logger.info('Executing step: Post Detailed Comment');
|
|
116
|
+
context.outputs.post-explanation = await this.gitlabClient.postComment(
|
|
117
|
+
context.variables.PROJECT_ID, context.variables.mr.iid, "## 🔍 Detailed Analysis\n\n### Failed Jobs\n${jobs.filter(j => j.status === 'failed').map(j => `\n**${j.name}** (${j.stage})\n- Duration: ${j.duration}s\n- Exit code: ${j.exit_code}\n`).join('\\n')}\n\n### Root Cause Deep Dive\n${analysis.root_cause}\n\n### Code Changes Explanation\n${analysis.code_changes.map(c => `\n#### \\`${c.file_path}\\`\n\\`\\`\\`diff\n- Old (line causing error)\n+ New (fixed line)\n\\`\\`\\`\n`).join('\\n')}\n\n### Verification\nThis MR will trigger a new pipeline. If it passes, the fix is confirmed.\n\n**Confidence**: ${analysis.confidence}%\n${analysis.confidence < 90 ? '\\n⚠️ Manual review recommended due to confidence level.' : ''}\n"
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
this.logger.info({ outputs: context.outputs }, 'Workflow completed');
|
|
122
|
+
return context.outputs;
|
|
123
|
+
} catch (error) {
|
|
124
|
+
this.logger.error({ err: error }, 'Workflow execution failed');
|
|
125
|
+
throw error;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Extract variables from webhook event
|
|
131
|
+
*/
|
|
132
|
+
private extractVariables(event: WebhookEvent): Record<string, any> {
|
|
133
|
+
return {
|
|
134
|
+
PROJECT_ID: event.project?.id || event.project_id,
|
|
135
|
+
MR_IID: event.merge_request?.iid || event.object_attributes?.iid,
|
|
136
|
+
PIPELINE_ID: event.object_attributes?.id,
|
|
137
|
+
COMMIT_SHA: event.object_attributes?.sha || event.commit?.id,
|
|
138
|
+
REF: event.object_attributes?.ref || event.ref,
|
|
139
|
+
SOURCE_BRANCH: event.merge_request?.source_branch,
|
|
140
|
+
TARGET_BRANCH: event.merge_request?.target_branch,
|
|
141
|
+
DUO_COMMENT_ID: event.object_attributes?.id,
|
|
142
|
+
DUO_COMMENT_BODY: event.object_attributes?.note,
|
|
143
|
+
// Add more as needed
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -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/pipeline-auto-fix",
|
|
3
|
+
"token": "${WEBHOOK_SECRET}",
|
|
4
|
+
"enable_ssl_verification": false,
|
|
5
|
+
"push_events": false,
|
|
6
|
+
"issues_events": false,
|
|
7
|
+
"merge_requests_events": false,
|
|
8
|
+
"note_events": false,
|
|
9
|
+
"pipeline_events": true,
|
|
10
|
+
"wiki_page_events": false
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
# Server Configuration
|
|
9
|
+
PORT=9090
|
|
10
|
+
NODE_ENV=production
|
|
11
|
+
LOG_LEVEL=info
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# GitLab CI/CD for pre-commit-quality-check
|
|
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:pre-commit-quality-check:
|
|
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/pre-commit-quality-check:latest .
|
|
30
|
+
- docker push registry.gitlab.com/$CI_PROJECT_PATH/pre-commit-quality-check:latest
|
|
31
|
+
# Deploy to Kubernetes
|
|
32
|
+
- kubectl set image deployment/pre-commit-quality-check pre-commit-quality-check=registry.gitlab.com/$CI_PROJECT_PATH/pre-commit-quality-check: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,80 @@
|
|
|
1
|
+
# pre-commit-quality-check
|
|
2
|
+
|
|
3
|
+
Pre-commit quality gate that blocks commits with production-grade issues. Runs locally via git hooks to catch problems before they reach CI.
|
|
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/pre-commit-quality-check.ossa.yaml --platform gitlab-agent --output ./pre-commit-quality-check
|
|
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 pre-commit-quality-check .
|
|
56
|
+
docker run -p 9090:9090 --env-file .env pre-commit-quality-check
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Kubernetes
|
|
60
|
+
|
|
61
|
+
Deploy to Kubernetes:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
kubectl apply -f k8s/deployment.yaml
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
## Health Checks
|
|
70
|
+
|
|
71
|
+
- Health: `GET /health`
|
|
72
|
+
- Ready: `GET /ready`
|
|
73
|
+
|
|
74
|
+
## Monitoring
|
|
75
|
+
|
|
76
|
+
The agent exposes Prometheus metrics and OpenTelemetry traces.
|
|
77
|
+
|
|
78
|
+
## License
|
|
79
|
+
|
|
80
|
+
MIT
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bluefly/pre-commit-quality-check",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Pre-commit quality gate that blocks commits with production-grade issues. Runs locally via git hooks to catch problems before they reach CI.\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
|
+
"pino": "^8.19.0",
|
|
17
|
+
"pino-pretty": "^11.0.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/express": "^4.17.21",
|
|
21
|
+
"@types/node": "^20.11.19",
|
|
22
|
+
"typescript": "^5.3.3",
|
|
23
|
+
"tsx": "^4.7.1"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=20.0.0"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
}
|