@bluefly/openstandardagents 0.4.3 → 0.4.5
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 +3 -3
- package/CHANGELOG.md +770 -0
- package/README.md +497 -360
- package/bin/ossa +3 -0
- package/dist/.version.json +7 -0
- package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts +5 -0
- package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts.map +1 -0
- package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +267 -0
- package/dist/adapters/a2a/__tests__/mcp-integration.spec.js.map +1 -0
- package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts +5 -0
- package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts.map +1 -0
- package/dist/adapters/a2a/__tests__/mcp-transport.spec.js +202 -0
- package/dist/adapters/a2a/__tests__/mcp-transport.spec.js.map +1 -0
- package/dist/adapters/a2a/a2a-protocol.d.ts +398 -0
- package/dist/adapters/a2a/a2a-protocol.d.ts.map +1 -0
- package/dist/adapters/a2a/a2a-protocol.js +257 -0
- package/dist/adapters/a2a/a2a-protocol.js.map +1 -0
- package/dist/adapters/a2a/a2a-tool.d.ts +110 -0
- package/dist/adapters/a2a/a2a-tool.d.ts.map +1 -0
- package/dist/adapters/a2a/a2a-tool.js +349 -0
- package/dist/adapters/a2a/a2a-tool.js.map +1 -0
- package/dist/adapters/a2a/agent-mesh.d.ts +195 -0
- package/dist/adapters/a2a/agent-mesh.d.ts.map +1 -0
- package/dist/adapters/a2a/agent-mesh.js +347 -0
- package/dist/adapters/a2a/agent-mesh.js.map +1 -0
- package/dist/adapters/a2a/delegation.d.ts +232 -0
- package/dist/adapters/a2a/delegation.d.ts.map +1 -0
- package/dist/adapters/a2a/delegation.js +236 -0
- package/dist/adapters/a2a/delegation.js.map +1 -0
- package/dist/adapters/a2a/index.d.ts +18 -0
- package/dist/adapters/a2a/index.d.ts.map +1 -0
- package/dist/adapters/a2a/index.js +24 -0
- package/dist/adapters/a2a/index.js.map +1 -0
- package/dist/adapters/a2a/mcp-integration.d.ts +258 -0
- package/dist/adapters/a2a/mcp-integration.d.ts.map +1 -0
- package/dist/adapters/a2a/mcp-integration.js +328 -0
- package/dist/adapters/a2a/mcp-integration.js.map +1 -0
- package/dist/adapters/a2a/mcp-transport.d.ts +118 -0
- package/dist/adapters/a2a/mcp-transport.d.ts.map +1 -0
- package/dist/adapters/a2a/mcp-transport.js +287 -0
- package/dist/adapters/a2a/mcp-transport.js.map +1 -0
- package/dist/adapters/a2a/swarm-orchestration.d.ts +278 -0
- package/dist/adapters/a2a/swarm-orchestration.d.ts.map +1 -0
- package/dist/adapters/a2a/swarm-orchestration.js +322 -0
- package/dist/adapters/a2a/swarm-orchestration.js.map +1 -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 +460 -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 +187 -0
- package/dist/adapters/anthropic/claude-optimizations.js.map +1 -0
- package/dist/adapters/anthropic/client.d.ts +33 -121
- package/dist/adapters/anthropic/client.d.ts.map +1 -1
- package/dist/adapters/anthropic/client.js +67 -334
- package/dist/adapters/anthropic/client.js.map +1 -1
- package/dist/adapters/anthropic/index.d.ts +4 -25
- package/dist/adapters/anthropic/index.d.ts.map +1 -1
- package/dist/adapters/anthropic/index.js +5 -25
- package/dist/adapters/anthropic/index.js.map +1 -1
- package/dist/adapters/anthropic/messages.d.ts +3 -3
- package/dist/adapters/anthropic/messages.d.ts.map +1 -1
- package/dist/adapters/anthropic/messages.js +60 -99
- package/dist/adapters/anthropic/messages.js.map +1 -1
- package/dist/adapters/anthropic/tools.d.ts +0 -15
- package/dist/adapters/anthropic/tools.d.ts.map +1 -1
- package/dist/adapters/anthropic/tools.js +20 -84
- package/dist/adapters/anthropic/tools.js.map +1 -1
- package/dist/adapters/base/adapter.interface.d.ts +67 -2
- package/dist/adapters/base/adapter.interface.d.ts.map +1 -1
- package/dist/adapters/base/adapter.interface.js +41 -0
- package/dist/adapters/base/adapter.interface.js.map +1 -1
- package/dist/adapters/base/base-exporter.d.ts +108 -0
- package/dist/adapters/base/base-exporter.d.ts.map +1 -0
- package/dist/adapters/base/base-exporter.js +165 -0
- package/dist/adapters/base/base-exporter.js.map +1 -0
- package/dist/adapters/base/common-file-generator.d.ts +217 -0
- package/dist/adapters/base/common-file-generator.d.ts.map +1 -0
- package/dist/adapters/base/common-file-generator.js +682 -0
- package/dist/adapters/base/common-file-generator.js.map +1 -0
- package/dist/adapters/base/index.d.ts +23 -0
- package/dist/adapters/base/index.d.ts.map +1 -0
- package/dist/adapters/base/index.js +29 -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/perfect-agent-utils.d.ts +29 -0
- package/dist/adapters/base/perfect-agent-utils.d.ts.map +1 -0
- package/dist/adapters/base/perfect-agent-utils.js +234 -0
- package/dist/adapters/base/perfect-agent-utils.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/base/tool-params.d.ts +42 -0
- package/dist/adapters/base/tool-params.d.ts.map +1 -0
- package/dist/adapters/base/tool-params.js +123 -0
- package/dist/adapters/base/tool-params.js.map +1 -0
- package/dist/adapters/claude-code/adapter.d.ts +64 -0
- package/dist/adapters/claude-code/adapter.d.ts.map +1 -0
- package/dist/adapters/claude-code/adapter.js +336 -0
- package/dist/adapters/claude-code/adapter.js.map +1 -0
- package/dist/adapters/claude-code/types.d.ts +154 -0
- package/dist/adapters/claude-code/types.d.ts.map +1 -0
- package/dist/adapters/claude-code/types.js +6 -0
- package/dist/adapters/claude-code/types.js.map +1 -0
- package/dist/adapters/crewai/adapter.d.ts +54 -1
- package/dist/adapters/crewai/adapter.d.ts.map +1 -1
- package/dist/adapters/crewai/adapter.js +1494 -41
- 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 -25
- package/dist/adapters/crewai/converter.js.map +1 -1
- package/dist/adapters/cursor/adapter.d.ts +75 -0
- package/dist/adapters/cursor/adapter.d.ts.map +1 -0
- package/dist/adapters/cursor/adapter.js +474 -0
- package/dist/adapters/cursor/adapter.js.map +1 -0
- package/dist/adapters/cursor/types.d.ts +221 -0
- package/dist/adapters/cursor/types.d.ts.map +1 -0
- package/dist/adapters/cursor/types.js +6 -0
- package/dist/adapters/cursor/types.js.map +1 -0
- 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 +733 -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 +1 -0
- package/dist/adapters/drupal/adapter.d.ts.map +1 -1
- package/dist/adapters/drupal/adapter.js +5 -2
- package/dist/adapters/drupal/adapter.js.map +1 -1
- package/dist/adapters/drupal/generator.d.ts +1 -0
- package/dist/adapters/drupal/generator.d.ts.map +1 -1
- package/dist/adapters/drupal/generator.js +17 -9
- package/dist/adapters/drupal/generator.js.map +1 -1
- package/dist/adapters/drupal/index.d.ts +2 -1
- package/dist/adapters/drupal/index.d.ts.map +1 -1
- package/dist/adapters/drupal/index.js +3 -1
- package/dist/adapters/drupal/index.js.map +1 -1
- package/dist/adapters/drupal/manifest-exporter.d.ts +87 -0
- package/dist/adapters/drupal/manifest-exporter.d.ts.map +1 -0
- package/dist/adapters/drupal/manifest-exporter.js +406 -0
- package/dist/adapters/drupal/manifest-exporter.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 +347 -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 +710 -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 +180 -0
- package/dist/adapters/gitlab/package-generator.d.ts.map +1 -0
- package/dist/adapters/gitlab/package-generator.js +2401 -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 +545 -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/gitlab-duo/adapter.d.ts +1 -0
- package/dist/adapters/gitlab-duo/adapter.d.ts.map +1 -1
- package/dist/adapters/gitlab-duo/adapter.js +3 -0
- package/dist/adapters/gitlab-duo/adapter.js.map +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +12 -0
- package/dist/adapters/index.js.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 +1286 -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 +2 -9
- package/dist/adapters/langchain/adapter.d.ts.map +1 -1
- package/dist/adapters/langchain/adapter.js +38 -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 +17 -6
- 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 +12 -20
- package/dist/adapters/mcp/adapter.d.ts.map +1 -1
- package/dist/adapters/mcp/adapter.js +67 -213
- package/dist/adapters/mcp/adapter.js.map +1 -1
- package/dist/adapters/mcp/converter.d.ts +1 -0
- package/dist/adapters/mcp/converter.d.ts.map +1 -1
- package/dist/adapters/mcp/converter.js +5 -2
- package/dist/adapters/mcp/converter.js.map +1 -1
- package/dist/adapters/mobile-agent/adapter.d.ts +63 -0
- package/dist/adapters/mobile-agent/adapter.d.ts.map +1 -0
- package/dist/adapters/mobile-agent/adapter.js +678 -0
- package/dist/adapters/mobile-agent/adapter.js.map +1 -0
- package/dist/adapters/npm/adapter.d.ts +2 -5
- package/dist/adapters/npm/adapter.d.ts.map +1 -1
- package/dist/adapters/npm/adapter.js +49 -86
- package/dist/adapters/npm/adapter.js.map +1 -1
- package/dist/adapters/npm/converter.d.ts +6 -9
- package/dist/adapters/npm/converter.d.ts.map +1 -1
- package/dist/adapters/npm/converter.js +50 -83
- package/dist/adapters/npm/converter.js.map +1 -1
- package/dist/adapters/npm/package-generator.d.ts +93 -0
- package/dist/adapters/npm/package-generator.d.ts.map +1 -0
- package/dist/adapters/npm/package-generator.js +240 -0
- package/dist/adapters/npm/package-generator.js.map +1 -0
- 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 +160 -0
- package/dist/adapters/npm/type-aware-dependencies.js.map +1 -0
- package/dist/adapters/openai-agents/adapter.d.ts +31 -0
- package/dist/adapters/openai-agents/adapter.d.ts.map +1 -0
- package/dist/adapters/openai-agents/adapter.js +344 -0
- package/dist/adapters/openai-agents/adapter.js.map +1 -0
- package/dist/adapters/openai-agents/index.d.ts +10 -0
- package/dist/adapters/openai-agents/index.d.ts.map +1 -0
- package/dist/adapters/openai-agents/index.js +10 -0
- package/dist/adapters/openai-agents/index.js.map +1 -0
- package/dist/adapters/opentelemetry.adapter.d.ts +8 -2
- package/dist/adapters/opentelemetry.adapter.d.ts.map +1 -1
- package/dist/adapters/opentelemetry.adapter.js +92 -11
- package/dist/adapters/opentelemetry.adapter.js.map +1 -1
- package/dist/adapters/phoenix.adapter.d.ts +1 -1
- package/dist/adapters/registry/platform-registry.d.ts +1 -0
- package/dist/adapters/registry/platform-registry.d.ts.map +1 -1
- package/dist/adapters/registry/platform-registry.js +1 -0
- package/dist/adapters/registry/platform-registry.js.map +1 -1
- package/dist/adapters/warp/adapter.d.ts +52 -0
- package/dist/adapters/warp/adapter.d.ts.map +1 -0
- package/dist/adapters/warp/adapter.js +383 -0
- package/dist/adapters/warp/adapter.js.map +1 -0
- package/dist/adapters/warp/types.d.ts +140 -0
- package/dist/adapters/warp/types.d.ts.map +1 -0
- package/dist/adapters/warp/types.js +6 -0
- package/dist/adapters/warp/types.js.map +1 -0
- package/dist/bot/agent-compliance.js +1 -1
- package/dist/cli/banner.d.ts.map +1 -1
- package/dist/cli/banner.js +11 -4
- package/dist/cli/banner.js.map +1 -1
- package/dist/cli/commands/agent/discover-type.command.d.ts +39 -0
- package/dist/cli/commands/agent/discover-type.command.d.ts.map +1 -0
- package/dist/cli/commands/agent/discover-type.command.js +332 -0
- package/dist/cli/commands/agent/discover-type.command.js.map +1 -0
- package/dist/cli/commands/agent-card.command.d.ts +3 -9
- package/dist/cli/commands/agent-card.command.d.ts.map +1 -1
- package/dist/cli/commands/agent-card.command.js +109 -255
- package/dist/cli/commands/agent-card.command.js.map +1 -1
- package/dist/cli/commands/agent-wizard.command.d.ts.map +1 -1
- package/dist/cli/commands/agent-wizard.command.js +396 -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-local.command.d.ts +10 -0
- package/dist/cli/commands/agents-local.command.d.ts.map +1 -0
- package/dist/cli/commands/agents-local.command.js +283 -0
- package/dist/cli/commands/agents-local.command.js.map +1 -0
- package/dist/cli/commands/agents-md.command.d.ts.map +1 -1
- package/dist/cli/commands/agents-md.command.js.map +1 -1
- package/dist/cli/commands/agents.command.d.ts +4 -4
- package/dist/cli/commands/agents.command.d.ts.map +1 -1
- package/dist/cli/commands/agents.command.js +9 -136
- 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 +8 -31
- package/dist/cli/commands/build.command.js.map +1 -1
- package/dist/cli/commands/capability/create.command.d.ts +7 -0
- package/dist/cli/commands/capability/create.command.d.ts.map +1 -0
- package/dist/cli/commands/capability/create.command.js +225 -0
- package/dist/cli/commands/capability/create.command.js.map +1 -0
- package/dist/cli/commands/capability/index.d.ts +7 -0
- package/dist/cli/commands/capability/index.d.ts.map +1 -0
- package/dist/cli/commands/capability/index.js +10 -0
- package/dist/cli/commands/capability/index.js.map +1 -0
- package/dist/cli/commands/catalog/index.d.ts +0 -4
- package/dist/cli/commands/catalog/index.d.ts.map +1 -1
- package/dist/cli/commands/catalog/index.js +0 -12
- package/dist/cli/commands/catalog/index.js.map +1 -1
- package/dist/cli/commands/catalog/schemas.d.ts +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 +334 -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.d.ts.map +1 -1
- package/dist/cli/commands/export.command.js +567 -89
- package/dist/cli/commands/export.command.js.map +1 -1
- package/dist/cli/commands/framework.command.d.ts.map +1 -1
- package/dist/cli/commands/framework.command.js +2 -1
- package/dist/cli/commands/framework.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.d.ts.map +1 -1
- package/dist/cli/commands/import.command.js +11 -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 +23 -14
- 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/manifest/diff.command.d.ts +7 -0
- package/dist/cli/commands/manifest/diff.command.d.ts.map +1 -0
- package/dist/cli/commands/manifest/diff.command.js +186 -0
- package/dist/cli/commands/manifest/diff.command.js.map +1 -0
- package/dist/cli/commands/manifest/explain.command.d.ts +7 -0
- package/dist/cli/commands/manifest/explain.command.d.ts.map +1 -0
- package/dist/cli/commands/manifest/explain.command.js +193 -0
- package/dist/cli/commands/manifest/explain.command.js.map +1 -0
- package/dist/cli/commands/manifest/index.d.ts +7 -0
- package/dist/cli/commands/manifest/index.d.ts.map +1 -0
- package/dist/cli/commands/manifest/index.js +12 -0
- package/dist/cli/commands/manifest/index.js.map +1 -0
- 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.d.ts +4 -1
- package/dist/cli/commands/migrate.command.d.ts.map +1 -1
- package/dist/cli/commands/migrate.command.js +56 -81
- 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 +200 -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/skills.command.d.ts.map +1 -1
- package/dist/cli/commands/skills.command.js +177 -0
- package/dist/cli/commands/skills.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/tool/create.command.d.ts +12 -0
- package/dist/cli/commands/tool/create.command.d.ts.map +1 -0
- package/dist/cli/commands/tool/create.command.js +276 -0
- package/dist/cli/commands/tool/create.command.js.map +1 -0
- package/dist/cli/commands/tool/index.d.ts +7 -0
- package/dist/cli/commands/tool/index.d.ts.map +1 -0
- package/dist/cli/commands/tool/index.js +14 -0
- package/dist/cli/commands/tool/index.js.map +1 -0
- package/dist/cli/commands/tool/list.command.d.ts +7 -0
- package/dist/cli/commands/tool/list.command.d.ts.map +1 -0
- package/dist/cli/commands/tool/list.command.js +268 -0
- package/dist/cli/commands/tool/list.command.js.map +1 -0
- package/dist/cli/commands/tool/validate.command.d.ts +7 -0
- package/dist/cli/commands/tool/validate.command.d.ts.map +1 -0
- package/dist/cli/commands/tool/validate.command.js +103 -0
- package/dist/cli/commands/tool/validate.command.js.map +1 -0
- 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.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.command.js +12 -0
- 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 +77 -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 +1503 -118
- package/dist/cli/commands/wizard-interactive.command.js.map +1 -1
- package/dist/cli/commands/wizard.command.js +1 -1
- package/dist/cli/commands/wizard.command.js.map +1 -1
- package/dist/cli/extensions/gitlab.extension.js +1 -1
- package/dist/cli/index.js +107 -63
- 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/error-formatter.js +3 -3
- 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 +26 -13
- package/dist/cli/wizard/interactive-wizard.js.map +1 -1
- package/dist/cli/wizard/steps/02-basic-info.js +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 +32 -4
- 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 +73 -1
- 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 +216 -0
- package/dist/deploy/cloud/gcp-driver.js.map +1 -0
- package/dist/dev-cli/commands/release-prep.command.d.ts +1 -5
- package/dist/dev-cli/commands/release-prep.command.d.ts.map +1 -1
- package/dist/dev-cli/commands/release-prep.command.js +4 -8
- package/dist/dev-cli/commands/release-prep.command.js.map +1 -1
- 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/spec-generate.service.d.ts +8 -1
- package/dist/dev-cli/services/spec-generate.service.d.ts.map +1 -1
- package/dist/dev-cli/services/spec-generate.service.js +96 -11
- package/dist/dev-cli/services/spec-generate.service.js.map +1 -1
- package/dist/dev-cli/services/spec-validate.service.d.ts.map +1 -1
- package/dist/dev-cli/services/spec-validate.service.js +66 -5
- package/dist/dev-cli/services/spec-validate.service.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/dev-cli/services/version-validate.service.d.ts.map +1 -1
- package/dist/dev-cli/services/version-validate.service.js +1 -3
- package/dist/dev-cli/services/version-validate.service.js.map +1 -1
- package/dist/di-container.d.ts +5 -0
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +30 -6
- 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/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 +479 -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 +493 -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 +520 -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/mesh/types.d.ts +212 -1
- package/dist/mesh/types.d.ts.map +1 -1
- package/dist/messaging/channels.d.ts +1 -1
- package/dist/messaging/channels.js +1 -1
- package/dist/messaging/protocols/memory.d.ts +1 -1
- package/dist/messaging/protocols/memory.js +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 +211 -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 +102 -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 +84 -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 +59 -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 +96 -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 +160 -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 +49 -28
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +10 -4
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/runtime/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 +770 -20
- package/dist/sdks/kagent/crd-generator.js.map +1 -1
- package/dist/sdks/kagent/crd-parser.d.ts.map +1 -1
- package/dist/sdks/kagent/crd-parser.js +2 -1
- package/dist/sdks/kagent/crd-parser.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/sdks/typescript/builders/autonomy.builder.d.ts +119 -0
- package/dist/sdks/typescript/builders/autonomy.builder.d.ts.map +1 -0
- package/dist/sdks/typescript/builders/autonomy.builder.js +165 -0
- package/dist/sdks/typescript/builders/autonomy.builder.js.map +1 -0
- package/dist/sdks/typescript/builders/index.d.ts +12 -0
- package/dist/sdks/typescript/builders/index.d.ts.map +1 -0
- package/dist/sdks/typescript/builders/index.js +11 -0
- package/dist/sdks/typescript/builders/index.js.map +1 -0
- package/dist/sdks/typescript/builders/llm.builder.d.ts +74 -0
- package/dist/sdks/typescript/builders/llm.builder.d.ts.map +1 -0
- package/dist/sdks/typescript/builders/llm.builder.js +123 -0
- package/dist/sdks/typescript/builders/llm.builder.js.map +1 -0
- package/dist/sdks/typescript/builders/manifest.builder.d.ts +153 -0
- package/dist/sdks/typescript/builders/manifest.builder.d.ts.map +1 -0
- package/dist/sdks/typescript/builders/manifest.builder.js +343 -0
- package/dist/sdks/typescript/builders/manifest.builder.js.map +1 -0
- package/dist/sdks/typescript/builders/safety.builder.d.ts +79 -0
- package/dist/sdks/typescript/builders/safety.builder.d.ts.map +1 -0
- package/dist/sdks/typescript/builders/safety.builder.js +147 -0
- package/dist/sdks/typescript/builders/safety.builder.js.map +1 -0
- package/dist/sdks/typescript/builders/tool.builder.d.ts +179 -0
- package/dist/sdks/typescript/builders/tool.builder.d.ts.map +1 -0
- package/dist/sdks/typescript/builders/tool.builder.js +305 -0
- package/dist/sdks/typescript/builders/tool.builder.js.map +1 -0
- package/dist/sdks/typescript/client.d.ts +1 -3
- package/dist/sdks/typescript/client.d.ts.map +1 -1
- package/dist/sdks/typescript/client.js +1 -3
- package/dist/sdks/typescript/client.js.map +1 -1
- package/dist/sdks/typescript/constants.d.ts +24 -0
- package/dist/sdks/typescript/constants.d.ts.map +1 -0
- package/dist/sdks/typescript/constants.js +102 -0
- package/dist/sdks/typescript/constants.js.map +1 -0
- package/dist/sdks/typescript/index.d.ts +4 -0
- package/dist/sdks/typescript/index.d.ts.map +1 -1
- package/dist/sdks/typescript/index.js +4 -0
- package/dist/sdks/typescript/index.js.map +1 -1
- package/dist/sdks/typescript/manifest.d.ts +8 -3
- package/dist/sdks/typescript/manifest.d.ts.map +1 -1
- package/dist/sdks/typescript/manifest.js +12 -28
- package/dist/sdks/typescript/manifest.js.map +1 -1
- package/dist/sdks/typescript/types.d.ts +5 -3
- package/dist/sdks/typescript/types.d.ts.map +1 -1
- package/dist/sdks/typescript/types.js +6 -3
- package/dist/sdks/typescript/types.js.map +1 -1
- package/dist/sdks/typescript/validator.d.ts +31 -0
- package/dist/sdks/typescript/validator.d.ts.map +1 -1
- package/dist/sdks/typescript/validator.js +205 -1
- package/dist/sdks/typescript/validator.js.map +1 -1
- package/dist/services/agent-card-generator.d.ts +57 -0
- package/dist/services/agent-card-generator.d.ts.map +1 -0
- package/dist/services/agent-card-generator.js +592 -0
- package/dist/services/agent-card-generator.js.map +1 -0
- package/dist/services/agent-type-detector.service.d.ts +72 -0
- package/dist/services/agent-type-detector.service.d.ts.map +1 -0
- package/dist/services/agent-type-detector.service.js +197 -0
- package/dist/services/agent-type-detector.service.js.map +1 -0
- package/dist/services/agents-md/agents-md-generator.service.d.ts +29 -0
- package/dist/services/agents-md/agents-md-generator.service.d.ts.map +1 -0
- package/dist/services/agents-md/agents-md-generator.service.js +252 -0
- package/dist/services/agents-md/agents-md-generator.service.js.map +1 -0
- package/dist/services/ai-architect.service.js +1 -1
- package/dist/services/ai-architect.service.js.map +1 -1
- package/dist/services/audit.d.ts +7 -1
- package/dist/services/audit.d.ts.map +1 -1
- package/dist/services/audit.js +70 -40
- package/dist/services/audit.js.map +1 -1
- package/dist/services/codegen/generators/vscode.generator.js +2 -2
- package/dist/services/codegen/generators/vscode.generator.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/evals/evals-generator.service.d.ts +90 -0
- package/dist/services/evals/evals-generator.service.d.ts.map +1 -0
- package/dist/services/evals/evals-generator.service.js +1603 -0
- package/dist/services/evals/evals-generator.service.js.map +1 -0
- package/dist/services/export/anthropic/anthropic-exporter.d.ts +1 -0
- package/dist/services/export/anthropic/anthropic-exporter.d.ts.map +1 -1
- package/dist/services/export/anthropic/anthropic-exporter.js +19 -5
- 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/export-orchestrator.d.ts +1 -0
- package/dist/services/export/export-orchestrator.d.ts.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.d.ts.map +1 -1
- package/dist/services/export/npm/package-json-generator.js +5 -2
- 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/framework-import/langchain-importer.service.d.ts.map +1 -1
- package/dist/services/framework-import/langchain-importer.service.js +2 -1
- package/dist/services/framework-import/langchain-importer.service.js.map +1 -1
- package/dist/services/framework-import/langflow-importer.service.d.ts.map +1 -1
- package/dist/services/framework-import/langflow-importer.service.js +3 -2
- package/dist/services/framework-import/langflow-importer.service.js.map +1 -1
- package/dist/services/generation.service.d.ts +7 -0
- package/dist/services/generation.service.d.ts.map +1 -1
- package/dist/services/generation.service.js +31 -8
- package/dist/services/generation.service.js.map +1 -1
- package/dist/services/github-sync/schemas.d.ts +1 -1
- package/dist/services/governance/governance-generator.service.d.ts +120 -0
- package/dist/services/governance/governance-generator.service.d.ts.map +1 -0
- package/dist/services/governance/governance-generator.service.js +955 -0
- package/dist/services/governance/governance-generator.service.js.map +1 -0
- 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/id-card.service.d.ts +109 -0
- package/dist/services/id-card.service.d.ts.map +1 -0
- package/dist/services/id-card.service.js +236 -0
- package/dist/services/id-card.service.js.map +1 -0
- package/dist/services/llms-txt/llms-txt.service.d.ts +2 -2
- package/dist/services/llms-txt/llms-txt.service.js +2 -2
- package/dist/services/messaging/index.d.ts +0 -1
- package/dist/services/messaging/index.d.ts.map +1 -1
- package/dist/services/messaging/index.js +2 -1
- package/dist/services/messaging/index.js.map +1 -1
- package/dist/services/migration/langchain-migration.service.js +2 -2
- package/dist/services/migration/langchain-migration.service.js.map +1 -1
- package/dist/services/multi-agent/team-generator.service.d.ts +41 -0
- package/dist/services/multi-agent/team-generator.service.d.ts.map +1 -0
- package/dist/services/multi-agent/team-generator.service.js +560 -0
- package/dist/services/multi-agent/team-generator.service.js.map +1 -0
- package/dist/services/observability/observability-generator.service.d.ts +54 -0
- package/dist/services/observability/observability-generator.service.d.ts.map +1 -0
- package/dist/services/observability/observability-generator.service.js +1353 -0
- package/dist/services/observability/observability-generator.service.js.map +1 -0
- package/dist/services/registry/bundle.service.d.ts.map +1 -1
- package/dist/services/registry/bundle.service.js +2 -1
- package/dist/services/registry/bundle.service.js.map +1 -1
- package/dist/services/registry/index.service.js +1 -1
- package/dist/services/registry.service.d.ts.map +1 -1
- package/dist/services/registry.service.js +2 -1
- package/dist/services/registry.service.js.map +1 -1
- package/dist/services/release-automation/release-agent.service.js +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/runtime/anthropic.adapter.d.ts.map +1 -1
- package/dist/services/runtime/anthropic.adapter.js +2 -6
- package/dist/services/runtime/anthropic.adapter.js.map +1 -1
- package/dist/services/runtime/azure.adapter.d.ts +1 -1
- package/dist/services/runtime/azure.adapter.js +3 -3
- package/dist/services/runtime/azure.adapter.js.map +1 -1
- package/dist/services/runtime/bedrock.adapter.d.ts.map +1 -1
- package/dist/services/runtime/bedrock.adapter.js +2 -6
- package/dist/services/runtime/bedrock.adapter.js.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.js +2 -6
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
- package/dist/services/runtime/gemini.adapter.d.ts.map +1 -1
- package/dist/services/runtime/gemini.adapter.js +2 -6
- package/dist/services/runtime/gemini.adapter.js.map +1 -1
- package/dist/services/runtime/mistral.adapter.d.ts.map +1 -1
- package/dist/services/runtime/mistral.adapter.js +2 -6
- package/dist/services/runtime/mistral.adapter.js.map +1 -1
- package/dist/services/runtime/ollama.adapter.d.ts.map +1 -1
- package/dist/services/runtime/ollama.adapter.js +2 -6
- package/dist/services/runtime/ollama.adapter.js.map +1 -1
- package/dist/services/runtime/openai.adapter.js +2 -2
- package/dist/services/runtime/openai.adapter.js.map +1 -1
- package/dist/services/skills-pipeline/index.d.ts +8 -0
- package/dist/services/skills-pipeline/index.d.ts.map +1 -0
- package/dist/services/skills-pipeline/index.js +8 -0
- package/dist/services/skills-pipeline/index.js.map +1 -0
- package/dist/services/skills-pipeline/skills-export.service.d.ts +86 -0
- package/dist/services/skills-pipeline/skills-export.service.d.ts.map +1 -0
- package/dist/services/skills-pipeline/skills-export.service.js +483 -0
- package/dist/services/skills-pipeline/skills-export.service.js.map +1 -0
- package/dist/services/skills-pipeline/skills-generator.service.d.ts +118 -0
- package/dist/services/skills-pipeline/skills-generator.service.d.ts.map +1 -0
- package/dist/services/skills-pipeline/skills-generator.service.js +648 -0
- package/dist/services/skills-pipeline/skills-generator.service.js.map +1 -0
- package/dist/services/skills-pipeline/skills-research.service.d.ts +112 -0
- package/dist/services/skills-pipeline/skills-research.service.d.ts.map +1 -0
- package/dist/services/skills-pipeline/skills-research.service.js +471 -0
- package/dist/services/skills-pipeline/skills-research.service.js.map +1 -0
- package/dist/services/taxonomy-service.d.ts +4 -4
- package/dist/services/taxonomy-service.js +1 -1
- package/dist/services/template-processor.service.d.ts.map +1 -1
- package/dist/services/template-processor.service.js +7 -5
- package/dist/services/template-processor.service.js.map +1 -1
- 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 +1 -1
- package/dist/services/validators/a2a.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.js +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 +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 +1 -1
- package/dist/services/validators/kagent.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.js +1 -1
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.js +1 -1
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/mcp.validator.js +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 +37 -14
- package/dist/services/wizard/prompts.js.map +1 -1
- package/dist/services/wizard/wizard.service.d.ts +1 -1
- package/dist/services/wizard/wizard.service.d.ts.map +1 -1
- package/dist/services/wizard/wizard.service.js +98 -30
- 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/extensions/manifest-extensions.md +2 -2
- package/dist/spec/registry/README.md +1 -1
- package/dist/spec/registry/registry-spec.md +4 -4
- package/dist/spec/v0.4/agent-card.schema.json +390 -0
- package/dist/spec/v0.4/agent.schema.json +952 -39
- package/dist/spec/v0.4/extensions/drupal/drupal.schema.json +77 -0
- package/dist/spec/v0.4/extensions/evals/evals.schema.json +597 -0
- package/dist/spec/v0.4/extensions/governance/governance-extension.yaml +161 -0
- package/dist/spec/v0.4/extensions/identity/identity.schema.json +302 -0
- package/dist/spec/v0.4/extensions/kagent/README.md +1 -1
- package/dist/spec/v0.4/extensions/team/team.schema.json +304 -0
- package/dist/spec/v0.4/validator.schema.json +282 -0
- package/dist/spec/v0.5/agent.schema.json +768 -0
- package/dist/transports/websocket.d.ts +1 -0
- package/dist/transports/websocket.d.ts.map +1 -1
- package/dist/transports/websocket.js +10 -2
- 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/dynamic-agent-types.d.ts +158 -0
- package/dist/types/dynamic-agent-types.d.ts.map +1 -0
- package/dist/types/dynamic-agent-types.js +473 -0
- package/dist/types/dynamic-agent-types.js.map +1 -0
- package/dist/types/generated/ossa-0.3.4.types.d.ts +63 -0
- package/dist/types/generated/ossa-0.3.4.types.d.ts.map +1 -1
- package/dist/types/generated/ossa-0.3.4.zod.d.ts +303 -0
- package/dist/types/generated/ossa-0.3.4.zod.d.ts.map +1 -1
- package/dist/types/generated/ossa-0.3.4.zod.js +92 -0
- package/dist/types/generated/ossa-0.3.4.zod.js.map +1 -1
- package/dist/types/identity.zod.d.ts +20 -20
- package/dist/types/index.d.ts +238 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/personality.zod.d.ts +69 -69
- package/dist/types/prompts.zod.d.ts +2 -2
- package/dist/types/protocols.d.ts +158 -0
- package/dist/types/protocols.d.ts.map +1 -0
- package/dist/types/protocols.js +8 -0
- package/dist/types/protocols.js.map +1 -0
- package/dist/types/security.d.ts +123 -0
- package/dist/types/security.d.ts.map +1 -0
- package/dist/types/security.js +9 -0
- package/dist/types/security.js.map +1 -0
- package/dist/types/tool.d.ts +73 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +66 -0
- package/dist/types/tool.js.map +1 -0
- 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/utils/version.d.ts +9 -9
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +11 -18
- package/dist/utils/version.js.map +1 -1
- package/dist/validation/error-codes.js +5 -5
- package/dist/validation/error-codes.js.map +1 -1
- 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/linter.d.ts +3 -3
- package/dist/validation/linter.js +4 -4
- package/dist/validation/linter.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 +353 -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/validation/validator.d.ts +3 -3
- package/dist/validation/validator.d.ts.map +1 -1
- package/dist/validation/validator.js +4 -4
- package/dist/validation/validator.js.map +1 -1
- 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 +10 -7
- package/dist/version.js.map +1 -1
- package/examples/a2a/agent-handoff.ossa.yaml +1 -1
- package/examples/a2a/service-discovery.ossa.yaml +1 -1
- package/examples/adapters/drupal-eca-mapping.yaml +1 -1
- package/examples/adapters/drupal-eca-task.yaml +1 -1
- package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
- package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
- package/examples/adapters/mistral-README.md +1 -1
- package/examples/adapters/mistral-agent.yaml +1 -1
- package/examples/adapters/symfony-messenger-task.yaml +1 -1
- package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/reasoning-agent.yaml +1 -1
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
- package/examples/agent-manifests/v0.5-identity-security-protocols.ossa.yaml +159 -0
- package/examples/agent-manifests/v0.5-minimal.ossa.yaml +37 -0
- package/examples/agent-manifests/workers/worker-agent.yaml +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/01-customer-support-bot/agent.ossa.yaml +1 -1
- package/examples/agents/02-code-review-agent/agent.ossa.yaml +50 -1
- package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +56 -1
- package/examples/agents/04-content-moderator/agent.ossa.yaml +1 -1
- package/examples/agents/05-sales-assistant/agent.ossa.yaml +1 -1
- package/examples/agents/06-devops-agent/agent.ossa.yaml +48 -1
- package/examples/agents/07-research-assistant/agent.ossa.yaml +62 -2
- package/examples/agents/08-email-triage-agent/agent.ossa.yaml +1 -1
- package/examples/agents/09-security-scanner/agent.ossa.yaml +47 -1
- package/examples/agents/10-meeting-assistant/agent.ossa.yaml +1 -1
- package/examples/agents/architecture-healer-enterprise.yaml +1 -1
- package/examples/agents/dependency-healer-npm.yaml +1 -1
- package/examples/agents/spec-healer-openapi.yaml +1 -1
- package/examples/agents/wiki-healer-production.yaml +1 -1
- package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
- package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
- package/examples/build-once-use-everywhere/README.md +3 -3
- package/examples/build-once-use-everywhere/agent.ossa.yaml +1 -1
- package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
- package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
- package/examples/common_npm/agent-router.ossa.yaml +1 -1
- package/examples/contracts/data-consumer.ossa.yaml +1 -1
- package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
- package/examples/contracts/data-producer.ossa.yaml +1 -1
- package/examples/deployment-workflow.md +601 -0
- package/examples/drupal/QUICKSTART.md +8 -8
- package/examples/drupal/content-moderator.ossa.yaml +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
- package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +1 -1
- package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +1 -1
- package/examples/extensions/agents-md-advanced.yml +1 -1
- package/examples/extensions/agents-md-basic.yml +1 -1
- package/examples/extensions/agents-md-sync.yml +1 -1
- package/examples/extensions/agents-md-v1.yml +3 -3
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/encryption-multi-provider.yaml +4 -4
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/extensions/knowledge-sources.yaml +1 -1
- package/examples/extensions/mcp-full-featured.yaml +1 -1
- package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
- package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
- package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
- package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
- package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +2 -1
- 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 +135 -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 +136 -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 +76 -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/hierarchical-agent.ossa.yaml +126 -0
- package/examples/hierarchical-crewai.ossa.yaml +96 -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/integration-patterns/agent-to-agent-orchestration.ossa.yaml +1 -1
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/knowledge-graph/drupal-agent-with-kg.ossa.yaml +289 -0
- package/examples/mcp/browser-puppeteer.ossa.yaml +232 -0
- package/examples/mcp/database-mcp.ossa.yaml +1 -1
- package/examples/mcp/filesystem-mcp.ossa.yaml +1 -1
- package/examples/messaging/dependency-healer.ossa.yaml +1 -1
- package/examples/messaging/incident-responder.ossa.yaml +1 -1
- package/examples/messaging/routing-rules.ossa.yaml +1 -1
- package/examples/messaging/security-scanner.ossa.yaml +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +1 -1
- package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +1 -1
- package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +1 -1
- package/examples/migrations/langchain/04-config-based-after.ossa.yaml +1 -1
- package/examples/migrations/langchain/USAGE.txt +1 -1
- package/examples/migrations/swarm-to-ossa/QUICKSTART.md +3 -3
- package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +6 -6
- package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +3 -3
- package/examples/minimal/agent.yml +1 -1
- package/examples/mr-reviewer-with-governance.ossa.yaml +130 -0
- package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
- package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
- package/examples/multi-agent-research-workflow.ossa.yaml +1 -1
- package/examples/multi-platform/single-manifest/agent.ossa.yaml +1 -1
- package/examples/observability/activity-stream-full.yaml +1 -1
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/ossa-templates/01-code-assistant.ossa.yaml +1 -1
- package/examples/ossa-templates/02-security-scanner.ossa.yaml +1 -1
- package/examples/ossa-templates/03-ci-pipeline.ossa.yaml +1 -1
- package/examples/ossa-templates/04-code-reviewer.ossa.yaml +1 -1
- package/examples/ossa-templates/05-doc-generator.ossa.yaml +1 -1
- package/examples/ossa-templates/06-compliance-validator.ossa.yaml +1 -1
- package/examples/ossa-templates/07-workflow-orchestrator.ossa.yaml +1 -1
- package/examples/ossa-templates/08-content-writer.ossa.yaml +1 -1
- package/examples/ossa-templates/09-test-generator.ossa.yaml +1 -1
- package/examples/ossa-templates/10-data-transformer.ossa.yaml +1 -1
- package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +1 -1
- package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +1 -1
- package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +1 -1
- package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +1 -1
- package/examples/pipeline-agent.ossa.yaml +196 -0
- package/examples/platform-specific/claude-code-subagent.yaml +185 -0
- package/examples/platform-specific/cursor-coding-agent.yaml +175 -0
- package/examples/platform-specific/warp-terminal-agent.yaml +122 -0
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +1 -1
- package/examples/production-ready/02-code-review-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/03-data-analysis-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/04-content-moderator/agent.ossa.yaml +1 -1
- package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +1 -1
- package/examples/production-ready/06-devops-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/07-research-assistant/agent.ossa.yaml +1 -1
- package/examples/production-ready/08-email-triage-agent/agent.ossa.yaml +1 -1
- package/examples/production-ready/09-security-scanner/agent.ossa.yaml +1 -1
- package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
- package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
- package/examples/reference-implementations/python-client/README.md +2 -2
- package/examples/reference-implementations/typescript-client/README.md +1 -1
- package/examples/registry/agents/code-reviewer/agent.yaml +1 -1
- package/examples/registry/agents/security-scanner/agent.yaml +1 -1
- package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
- package/examples/schema/reusable-components.yaml +1 -1
- package/examples/showcase/PRODUCTION_EXAMPLES.md +499 -0
- package/examples/showcase/ci-pipeline.ossa.yaml +1 -1
- package/examples/showcase/code-assistant.ossa.yaml +1 -1
- package/examples/showcase/code-reviewer.ossa.yaml +1 -1
- package/examples/showcase/compliance-checker.ossa.yaml +207 -0
- package/examples/showcase/compliance-validator.ossa.yaml +1 -1
- package/examples/showcase/content-writer.ossa.yaml +1 -1
- package/examples/showcase/customer-support.ossa.yaml +344 -0
- package/examples/showcase/data-processing-pipeline.ossa.yaml +254 -0
- package/examples/showcase/data-transformer.ossa.yaml +1 -1
- package/examples/showcase/doc-generator.ossa.yaml +1 -1
- package/examples/showcase/full-power-agent.ossa.yaml +350 -0
- package/examples/showcase/security-scanner-enhanced.ossa.yaml +304 -0
- package/examples/showcase/security-scanner.ossa.yaml +1 -1
- package/examples/showcase/team-leader.ossa.yaml +306 -0
- package/examples/showcase/test-generator.ossa.yaml +1 -1
- package/examples/showcase/workflow-orchestrator.ossa.yaml +1 -1
- package/examples/single-agent.ossa.yaml +40 -0
- package/examples/skills-example.ossa.yaml +1 -1
- package/examples/subagents-pipeline.ossa.yaml +76 -0
- package/examples/swarm-agent.ossa.yaml +136 -0
- package/examples/swarm-handoff.ossa.yaml +67 -0
- package/examples/tasks/batch-email-sender.yaml +1 -1
- package/examples/tasks/data-transform.yaml +1 -1
- package/examples/tasks/publish-content.yaml +1 -1
- package/examples/team-agent.ossa.yaml +159 -0
- package/examples/team-lead-teammate.ossa.yaml +83 -0
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/unified/security-scanner.ossa.yaml +1 -1
- package/examples/workflows/batch-email-campaign.yaml +1 -1
- package/examples/workflows/content-review-publish.yaml +1 -1
- package/examples/workflows/simple-etl.yaml +1 -1
- package/openapi/agents-md-service.yaml +1 -1
- package/openapi/core/unified-agent-gateway.openapi.yaml +1 -1
- package/openapi/ossa-cli-enhancements.openapi.yaml +3 -3
- package/openapi/ossa-cli.yaml +1 -1
- package/openapi/protocols/sse-streams.yaml +1 -1
- package/openapi/protocols/websocket-events.yaml +2 -2
- package/openapi/release-automation.openapi.yaml +1 -1
- package/package.json +49 -28
- package/spec/extensions/knowledge-graph/knowledge-graph.schema.json +386 -0
- package/spec/extensions/manifest-extensions.md +2 -2
- package/spec/registry/README.md +1 -1
- package/spec/registry/registry-spec.md +4 -4
- package/spec/v0.4/agent-card.schema.json +390 -0
- package/spec/v0.4/agent.schema.json +952 -39
- package/spec/v0.4/extensions/drupal/drupal.schema.json +77 -0
- package/spec/v0.4/extensions/evals/evals.schema.json +597 -0
- package/spec/v0.4/extensions/governance/governance-extension.yaml +161 -0
- package/spec/v0.4/extensions/identity/identity.schema.json +302 -0
- package/spec/v0.4/extensions/kagent/README.md +1 -1
- package/spec/v0.4/extensions/team/team.schema.json +304 -0
- package/spec/v0.4/validator.schema.json +282 -0
- package/spec/v0.5/agent.schema.json +768 -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/dist/adapters/anthropic/runtime.d.ts +0 -136
- package/dist/adapters/anthropic/runtime.d.ts.map +0 -1
- package/dist/adapters/anthropic/runtime.js +0 -290
- package/dist/adapters/anthropic/runtime.js.map +0 -1
- package/dist/cli/commands/agent-create.command.d.ts +0 -18
- package/dist/cli/commands/agent-create.command.d.ts.map +0 -1
- package/dist/cli/commands/agent-create.command.js +0 -437
- package/dist/cli/commands/agent-create.command.js.map +0 -1
- package/dist/cli/commands/catalog/diff.command.d.ts +0 -8
- package/dist/cli/commands/catalog/diff.command.d.ts.map +0 -1
- package/dist/cli/commands/catalog/diff.command.js +0 -76
- package/dist/cli/commands/catalog/diff.command.js.map +0 -1
- package/dist/cli/commands/catalog/pull.command.d.ts +0 -8
- package/dist/cli/commands/catalog/pull.command.d.ts.map +0 -1
- package/dist/cli/commands/catalog/pull.command.js +0 -87
- package/dist/cli/commands/catalog/pull.command.js.map +0 -1
- package/dist/cli/commands/catalog/push.command.d.ts +0 -8
- package/dist/cli/commands/catalog/push.command.d.ts.map +0 -1
- package/dist/cli/commands/catalog/push.command.js +0 -98
- package/dist/cli/commands/catalog/push.command.js.map +0 -1
- package/dist/cli/commands/catalog/sync.command.d.ts +0 -8
- package/dist/cli/commands/catalog/sync.command.d.ts.map +0 -1
- package/dist/cli/commands/catalog/sync.command.js +0 -69
- package/dist/cli/commands/catalog/sync.command.js.map +0 -1
- package/dist/cli/commands/setup.command.d.ts +0 -11
- package/dist/cli/commands/setup.command.d.ts.map +0 -1
- package/dist/cli/commands/setup.command.js +0 -354
- package/dist/cli/commands/setup.command.js.map +0 -1
- package/dist/spec/v0.3/CHANGELOG.md +0 -237
- package/dist/spec/v0.3/MIGRATION-v0.3.4-to-v0.3.5.md +0 -292
- package/dist/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +0 -552
- package/dist/spec/v0.3/README.md +0 -366
- package/dist/spec/v0.3/adoption-blockers.json +0 -142
- package/dist/spec/v0.3/bat-framework.schema.json +0 -114
- package/dist/spec/v0.3/capability-discovery.schema.json +0 -128
- package/dist/spec/v0.3/checkpoint.schema.json +0 -132
- package/dist/spec/v0.3/completion-signals.schema.json +0 -136
- package/dist/spec/v0.3/conformance/IMPLEMENTATION.md +0 -402
- package/dist/spec/v0.3/conformance/PROFILES.md +0 -210
- package/dist/spec/v0.3/conformance/README.md +0 -263
- package/dist/spec/v0.3/conformance/profiles/baseline.json +0 -27
- package/dist/spec/v0.3/conformance/profiles/enterprise.json +0 -33
- package/dist/spec/v0.3/conformance/profiles/gitlab-kagent.json +0 -36
- package/dist/spec/v0.3/conformance/tests/baseline/invalid/missing-identity.yaml +0 -6
- package/dist/spec/v0.3/conformance/tests/baseline/invalid/missing-kind.yaml +0 -7
- package/dist/spec/v0.3/conformance/tests/baseline/valid/basic-agent.yaml +0 -22
- package/dist/spec/v0.3/conformance/tests/baseline/valid/minimal-agent.yaml +0 -15
- package/dist/spec/v0.3/conformance/tests/enterprise/valid/enterprise-agent.yaml +0 -88
- package/dist/spec/v0.3/conformance/tests/enterprise/valid/production-agent.yaml +0 -112
- package/dist/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-agent.yaml +0 -117
- package/dist/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-full.yaml +0 -125
- package/dist/spec/v0.3/examples/checkpoint-example.ossa.yaml +0 -81
- package/dist/spec/v0.3/examples/flow-example.ossa.yaml +0 -119
- package/dist/spec/v0.3/examples/forward-thinking-agent.ossa.yaml +0 -294
- package/dist/spec/v0.3/examples/moe-example.ossa.yaml +0 -120
- package/dist/spec/v0.3/extensions/a2a/README.md +0 -193
- package/dist/spec/v0.3/extensions/a2a/a2a.schema.json +0 -77
- package/dist/spec/v0.3/extensions/ag2/ag2.schema.json +0 -277
- package/dist/spec/v0.3/extensions/crewai/crewai.schema.json +0 -256
- package/dist/spec/v0.3/extensions/kagent/README.md +0 -315
- package/dist/spec/v0.3/extensions/kagent/kagent.schema.json +0 -624
- package/dist/spec/v0.3/extensions/langchain/langchain.schema.json +0 -243
- package/dist/spec/v0.3/extensions/langgraph/langgraph.schema.json +0 -211
- package/dist/spec/v0.3/extensions/mcp/README.md +0 -276
- package/dist/spec/v0.3/extensions/mcp/mcp.schema.json +0 -84
- package/dist/spec/v0.3/feedback-loops.schema.json +0 -145
- package/dist/spec/v0.3/flow-kind.schema.json +0 -244
- package/dist/spec/v0.3/infrastructure-substrate.schema.json +0 -190
- package/dist/spec/v0.3/mixture-of-experts.schema.json +0 -159
- package/dist/spec/v0.3/moe-metrics.schema.json +0 -162
- package/dist/spec/v0.3/ossa-0.3.5.schema.json +0 -13534
- package/dist/spec/v0.3/ossa-0.3.6.schema.json +0 -14920
- package/dist/spec/v0.3/ossa-v0.3.schema.json +0 -15824
- package/dist/spec/v0.3/registry/registry-contract.schema.json +0 -359
- package/dist/spec/v0.3.6/CHANGELOG.md +0 -171
- package/dist/spec/v0.3.6/README.md +0 -382
- package/dist/spec/v0.3.6/taxonomy.yaml +0 -506
- package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
- package/examples/migrations/swarm-to-ossa/before-handoffs.py +0 -373
- package/examples/v0.3.6/full-featured-v0.3.6.ossa.yaml +0 -304
- package/examples/v0.3.6/gitlab-duo-composite-identity.ossa.yaml +0 -119
- package/examples/v0.3.6/knowledge-graph-integration.ossa.yaml +0 -109
- package/examples/v0.3.6/token-efficiency-economy.ossa.yaml +0 -111
- package/examples/v0.3.6-features/README.md +0 -433
- package/examples/v0.3.6-features/genetics-breeding-advanced.ossa.yaml +0 -496
- package/examples/v0.3.6-features/genetics-breeding-simple.ossa.yaml +0 -304
- package/examples/v0.3.6-features/genetics-fitness-scoring.ossa.yaml +0 -551
- package/junit.xml +0 -1469
- package/llms-ctx-full.txt +0 -41
- package/llms-ctx.txt +0 -41
- package/schemas/capability-contract.v0.json +0 -116
- package/schemas/identity.lock.schema.json +0 -59
- package/schemas/identity.plan.schema.json +0 -132
- package/spec/v0.3/CHANGELOG.md +0 -237
- package/spec/v0.3/MIGRATION-v0.3.4-to-v0.3.5.md +0 -292
- package/spec/v0.3/MIGRATION-v0.3.5-to-v0.3.6.md +0 -552
- package/spec/v0.3/README.md +0 -366
- package/spec/v0.3/adoption-blockers.json +0 -142
- package/spec/v0.3/bat-framework.schema.json +0 -114
- package/spec/v0.3/capability-discovery.schema.json +0 -128
- package/spec/v0.3/checkpoint.schema.json +0 -132
- package/spec/v0.3/completion-signals.schema.json +0 -136
- package/spec/v0.3/conformance/IMPLEMENTATION.md +0 -402
- package/spec/v0.3/conformance/PROFILES.md +0 -210
- package/spec/v0.3/conformance/README.md +0 -263
- package/spec/v0.3/conformance/profiles/baseline.json +0 -27
- package/spec/v0.3/conformance/profiles/enterprise.json +0 -33
- package/spec/v0.3/conformance/profiles/gitlab-kagent.json +0 -36
- package/spec/v0.3/conformance/tests/baseline/invalid/missing-identity.yaml +0 -6
- package/spec/v0.3/conformance/tests/baseline/invalid/missing-kind.yaml +0 -7
- package/spec/v0.3/conformance/tests/baseline/valid/basic-agent.yaml +0 -22
- package/spec/v0.3/conformance/tests/baseline/valid/minimal-agent.yaml +0 -15
- package/spec/v0.3/conformance/tests/enterprise/valid/enterprise-agent.yaml +0 -88
- package/spec/v0.3/conformance/tests/enterprise/valid/production-agent.yaml +0 -112
- package/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-agent.yaml +0 -117
- package/spec/v0.3/conformance/tests/gitlab-kagent/valid/kagent-full.yaml +0 -125
- package/spec/v0.3/examples/checkpoint-example.ossa.yaml +0 -81
- package/spec/v0.3/examples/flow-example.ossa.yaml +0 -119
- package/spec/v0.3/examples/forward-thinking-agent.ossa.yaml +0 -294
- package/spec/v0.3/examples/moe-example.ossa.yaml +0 -120
- package/spec/v0.3/extensions/a2a/README.md +0 -193
- package/spec/v0.3/extensions/a2a/a2a.schema.json +0 -77
- package/spec/v0.3/extensions/ag2/ag2.schema.json +0 -277
- package/spec/v0.3/extensions/crewai/crewai.schema.json +0 -256
- package/spec/v0.3/extensions/kagent/README.md +0 -315
- package/spec/v0.3/extensions/kagent/kagent.schema.json +0 -624
- package/spec/v0.3/extensions/langchain/langchain.schema.json +0 -243
- package/spec/v0.3/extensions/langgraph/langgraph.schema.json +0 -211
- package/spec/v0.3/extensions/mcp/README.md +0 -276
- package/spec/v0.3/extensions/mcp/mcp.schema.json +0 -84
- package/spec/v0.3/feedback-loops.schema.json +0 -145
- package/spec/v0.3/flow-kind.schema.json +0 -244
- package/spec/v0.3/infrastructure-substrate.schema.json +0 -190
- package/spec/v0.3/mixture-of-experts.schema.json +0 -159
- package/spec/v0.3/moe-metrics.schema.json +0 -162
- package/spec/v0.3/ossa-0.3.5.schema.json +0 -13534
- package/spec/v0.3/ossa-0.3.6.schema.json +0 -14920
- package/spec/v0.3/ossa-v0.3.schema.json +0 -15824
- package/spec/v0.3/registry/registry-contract.schema.json +0 -359
- package/spec/v0.3.6/CHANGELOG.md +0 -171
- package/spec/v0.3.6/README.md +0 -382
- package/spec/v0.3.6/taxonomy.yaml +0 -506
- package/templates/agent-types/analyzer/cost-analyzer.yaml +0 -38
- package/templates/agent-types/analyzer/performance-profiler.yaml +0 -38
- package/templates/agent-types/analyzer/security-scanner.yaml +0 -36
- package/templates/agent-types/backend/api-validator.yaml +0 -37
- package/templates/agent-types/backend/load-balancer.yaml +0 -39
- package/templates/agent-types/content/content-generator.yaml +0 -40
- package/templates/agent-types/content/seo-optimizer.yaml +0 -39
- package/templates/agent-types/data/data-processor.yaml +0 -38
- package/templates/agent-types/data/report-generator.yaml +0 -40
- package/templates/agent-types/development/code-generator.yaml +0 -39
- package/templates/agent-types/development/dependency-updater.yaml +0 -38
- package/templates/agent-types/frontend/accessibility-checker.yaml +0 -38
- package/templates/agent-types/frontend/ui-tester.yaml +0 -38
- package/templates/agent-types/infrastructure/deployment-automator.yaml +0 -39
- package/templates/agent-types/infrastructure/resource-optimizer.yaml +0 -38
- package/templates/agent-types/monitor/health-checker.yaml +0 -37
- package/templates/agent-types/monitor/log-analyzer.yaml +0 -37
- package/templates/agent-types/orchestrator/multi-agent-coordinator.yaml +0 -38
- package/templates/agent-types/orchestrator/workflow-manager.yaml +0 -39
- package/templates/agent-types/security/compliance-checker.yaml +0 -38
- package/templates/agent-types/security/vulnerability-scanner.yaml +0 -38
- package/templates/agent-types/worker/api-tester.yaml +0 -43
- package/templates/agent-types/worker/code-reviewer.yaml +0 -39
- package/templates/agent-types/worker/database-migrator.yaml +0 -38
- package/templates/platforms/cursor/code-assistant/manifest.ossa.yaml +0 -40
- package/templates/platforms/drupal/content-agent/manifest.ossa.yaml +0 -39
- package/templates/platforms/gitlab/ci-agent/manifest.ossa.yaml +0 -41
- package/templates/platforms/kubernetes/operator-agent/manifest.ossa.yaml +0 -39
- package/templates/platforms/langflow/workflow-agent/manifest.ossa.yaml +0 -38
|
@@ -8,12 +8,16 @@
|
|
|
8
8
|
* SOLID: Single Responsibility - CrewAI export only
|
|
9
9
|
* DRY: Reuses BaseAdapter validation and existing converter
|
|
10
10
|
*/
|
|
11
|
+
import * as yaml from 'yaml';
|
|
11
12
|
import { BaseAdapter } from '../base/adapter.interface.js';
|
|
13
|
+
import { getApiVersion } from '../../utils/version.js';
|
|
14
|
+
import { generatePythonToolParams } from '../base/tool-params.js';
|
|
12
15
|
import { CrewAIConverter } from './converter.js';
|
|
13
16
|
export class CrewAIAdapter extends BaseAdapter {
|
|
14
17
|
platform = 'crewai';
|
|
15
18
|
displayName = 'CrewAI';
|
|
16
19
|
description = 'CrewAI multi-agent framework (Python)';
|
|
20
|
+
status = 'beta';
|
|
17
21
|
supportedVersions = ['v0.3.6', 'v{{VERSION}}'];
|
|
18
22
|
converter = new CrewAIConverter();
|
|
19
23
|
/**
|
|
@@ -35,27 +39,61 @@ export class CrewAIAdapter extends BaseAdapter {
|
|
|
35
39
|
// Convert to CrewAI config
|
|
36
40
|
const config = this.converter.convert(manifest);
|
|
37
41
|
const files = [];
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// Generate agents.py - Individual agent definitions
|
|
42
|
+
const projectName = manifest.metadata?.name || 'crew';
|
|
43
|
+
// Generate directory structure: agents/, tasks/, crew/, tools/
|
|
44
|
+
// 1. agents/ directory - Individual agent definitions
|
|
42
45
|
const agentsCode = this.generateAgentsCode(config, manifest);
|
|
43
|
-
files.push(this.createFile('
|
|
44
|
-
//
|
|
46
|
+
files.push(this.createFile('agents/__init__.py', agentsCode, 'code', 'python'));
|
|
47
|
+
// 2. tasks/ directory - Task definitions
|
|
45
48
|
const tasksCode = this.generateTasksCode(config, manifest);
|
|
46
|
-
files.push(this.createFile('
|
|
47
|
-
//
|
|
49
|
+
files.push(this.createFile('tasks/__init__.py', tasksCode, 'code', 'python'));
|
|
50
|
+
// 3. tools/ directory - Custom tool implementations
|
|
48
51
|
const toolsCode = this.generateToolsCode(manifest);
|
|
49
|
-
files.push(this.createFile('
|
|
50
|
-
|
|
52
|
+
files.push(this.createFile('tools/__init__.py', toolsCode, 'code', 'python'));
|
|
53
|
+
const customToolsCode = this.generateCustomToolsCode(manifest);
|
|
54
|
+
files.push(this.createFile('tools/custom_tools.py', customToolsCode, 'code', 'python'));
|
|
55
|
+
// 4. crew/ directory - Crew setup and orchestration
|
|
56
|
+
const crewCode = this.generateCrewCode(config, manifest);
|
|
57
|
+
files.push(this.createFile('crew/__init__.py', crewCode, 'code', 'python'));
|
|
58
|
+
const crewSetupCode = this.generateCrewSetupCode(config, manifest);
|
|
59
|
+
files.push(this.createFile('crew/crew.py', crewSetupCode, 'code', 'python'));
|
|
60
|
+
// 5. main.py - Entry point
|
|
61
|
+
const mainCode = this.generateMainCode(manifest);
|
|
62
|
+
files.push(this.createFile('main.py', mainCode, 'code', 'python'));
|
|
63
|
+
// 6. Configuration files
|
|
51
64
|
const requirements = this.generateRequirements();
|
|
52
|
-
files.push(this.createFile('
|
|
53
|
-
|
|
65
|
+
files.push(this.createFile('requirements.txt', requirements, 'config'));
|
|
66
|
+
const envExample = this.generateEnvExample(manifest);
|
|
67
|
+
files.push(this.createFile('.env.example', envExample, 'config'));
|
|
68
|
+
const dockerignore = this.generateDockerignore();
|
|
69
|
+
files.push(this.createFile('.dockerignore', dockerignore, 'config'));
|
|
70
|
+
const gitignore = this.generateGitignore();
|
|
71
|
+
files.push(this.createFile('.gitignore', gitignore, 'config'));
|
|
72
|
+
// 7. Documentation
|
|
54
73
|
const readme = this.generateReadme(manifest, config);
|
|
55
|
-
files.push(this.createFile('
|
|
74
|
+
files.push(this.createFile('README.md', readme, 'documentation'));
|
|
75
|
+
const deployment = this.generateDeploymentGuide(manifest);
|
|
76
|
+
files.push(this.createFile('DEPLOYMENT.md', deployment, 'documentation'));
|
|
77
|
+
// Include source OSSA manifest for provenance
|
|
78
|
+
files.push(this.createFile('agent.ossa.yaml', yaml.stringify(manifest), 'config', 'yaml'));
|
|
79
|
+
// 8. Examples
|
|
80
|
+
const exampleUsage = this.generateExampleUsage(manifest);
|
|
81
|
+
files.push(this.createFile('examples/basic_usage.py', exampleUsage, 'code', 'python'));
|
|
82
|
+
const exampleAsync = this.generateExampleAsync(manifest);
|
|
83
|
+
files.push(this.createFile('examples/async_usage.py', exampleAsync, 'code', 'python'));
|
|
84
|
+
// 9. Tests (if requested)
|
|
85
|
+
if (options?.includeTests) {
|
|
86
|
+
const testsCode = this.generateTestsCode(manifest);
|
|
87
|
+
files.push(this.createFile('tests/test_crew.py', testsCode, 'test', 'python'));
|
|
88
|
+
const testToolsCode = this.generateTestToolsCode(manifest);
|
|
89
|
+
files.push(this.createFile('tests/test_tools.py', testToolsCode, 'test', 'python'));
|
|
90
|
+
}
|
|
91
|
+
// Perfect Agent files
|
|
92
|
+
files.push(...await this.generatePerfectAgentFiles(manifest, options));
|
|
56
93
|
return this.createResult(true, files, undefined, {
|
|
57
94
|
duration: Date.now() - startTime,
|
|
58
95
|
version: '0.1.0',
|
|
96
|
+
structure: 'production-grade',
|
|
59
97
|
});
|
|
60
98
|
}
|
|
61
99
|
catch (error) {
|
|
@@ -167,7 +205,7 @@ ${agent.role.replace(/[^a-zA-Z0-9]/g, '_')}_agent = Agent(
|
|
|
167
205
|
goal="${agent.goal}",
|
|
168
206
|
backstory="""${agent.backstory}""",
|
|
169
207
|
tools=get_tools(),
|
|
170
|
-
verbose=${agent.verbose
|
|
208
|
+
verbose=${agent.verbose ? 'True' : 'False'},
|
|
171
209
|
allow_delegation=True,
|
|
172
210
|
)`)
|
|
173
211
|
.join('\n')}
|
|
@@ -211,82 +249,1497 @@ ${config.tasks.map((_, index) => ` task_${index + 1}`).join(',\n')}
|
|
|
211
249
|
*/
|
|
212
250
|
generateToolsCode(manifest) {
|
|
213
251
|
const tools = (manifest.spec?.tools || []);
|
|
252
|
+
const allImports = new Set();
|
|
253
|
+
const toolDefs = tools.map((t) => {
|
|
254
|
+
const { params, imports, docParams } = generatePythonToolParams(t);
|
|
255
|
+
imports.forEach((i) => allImports.add(i));
|
|
256
|
+
return `
|
|
257
|
+
@tool
|
|
258
|
+
def ${t.name || 'unknown_tool'}(${params}) -> str:
|
|
259
|
+
"""${t.description || 'Tool implementation'}
|
|
260
|
+
|
|
261
|
+
Args:
|
|
262
|
+
${docParams}
|
|
263
|
+
"""
|
|
264
|
+
raise NotImplementedError("Tool '${t.name || 'tool'}' requires implementation")
|
|
265
|
+
`;
|
|
266
|
+
});
|
|
267
|
+
const extraImports = allImports.size > 0 ? '\n' + Array.from(allImports).join('\n') : '';
|
|
214
268
|
return `"""
|
|
215
269
|
CrewAI Tool Implementations
|
|
216
270
|
Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
|
|
217
271
|
"""
|
|
218
272
|
|
|
219
273
|
from crewai_tools import tool
|
|
220
|
-
from typing import Any
|
|
274
|
+
from typing import Any${extraImports}
|
|
221
275
|
|
|
222
|
-
${
|
|
223
|
-
.map((t) => `
|
|
224
|
-
@tool
|
|
225
|
-
def ${t.name || 'unknown_tool'}(input_data: str) -> str:
|
|
226
|
-
"""${t.description || 'Tool implementation'}"""
|
|
227
|
-
# Implement tool logic here
|
|
228
|
-
return f"Executed ${t.name || 'tool'} with: {input_data}"
|
|
229
|
-
`)
|
|
230
|
-
.join('\n')}
|
|
276
|
+
${toolDefs.join('\n')}
|
|
231
277
|
|
|
232
278
|
def get_tools() -> list:
|
|
233
279
|
"""Return all available tools"""
|
|
234
280
|
return [
|
|
235
281
|
${tools.map((t) => ` ${t.name || 'unknown_tool'}`).join(',\n')}
|
|
236
282
|
]
|
|
283
|
+
`;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Generate crew/__init__.py - Crew module exports
|
|
287
|
+
*/
|
|
288
|
+
generateCrewCode(config, manifest) {
|
|
289
|
+
return `"""
|
|
290
|
+
${manifest.metadata?.name || 'CrewAI'} Crew Module
|
|
291
|
+
Generated from OSSA manifest
|
|
292
|
+
|
|
293
|
+
This module exports the main crew instance.
|
|
294
|
+
"""
|
|
295
|
+
|
|
296
|
+
from .crew import ${this.toPascalCase(manifest.metadata?.name || 'crew')}
|
|
297
|
+
|
|
298
|
+
__all__ = ['${this.toPascalCase(manifest.metadata?.name || 'crew')}']
|
|
299
|
+
`;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Generate crew/crew.py - Main crew setup
|
|
303
|
+
*/
|
|
304
|
+
generateCrewSetupCode(config, manifest) {
|
|
305
|
+
const className = this.toPascalCase(manifest.metadata?.name || 'crew');
|
|
306
|
+
return `"""
|
|
307
|
+
${manifest.metadata?.name || 'CrewAI'} Crew Setup
|
|
308
|
+
Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
|
|
309
|
+
|
|
310
|
+
This module defines the main crew orchestration.
|
|
311
|
+
"""
|
|
312
|
+
|
|
313
|
+
from crewai import Crew, Process
|
|
314
|
+
from agents import agents
|
|
315
|
+
from tasks import tasks
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
class ${className}:
|
|
319
|
+
"""Main crew orchestration class"""
|
|
320
|
+
|
|
321
|
+
def __init__(self):
|
|
322
|
+
"""Initialize the crew"""
|
|
323
|
+
self.agents = agents
|
|
324
|
+
self.tasks = tasks
|
|
325
|
+
self.crew = self._create_crew()
|
|
326
|
+
|
|
327
|
+
def _create_crew(self) -> Crew:
|
|
328
|
+
"""Create and configure the crew"""
|
|
329
|
+
return Crew(
|
|
330
|
+
agents=self.agents,
|
|
331
|
+
tasks=self.tasks,
|
|
332
|
+
process=Process.${config.process || 'sequential'},
|
|
333
|
+
verbose=${config.verbose ? 'True' : 'False'},
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
def kickoff(self, inputs: dict = None) -> str:
|
|
337
|
+
"""
|
|
338
|
+
Execute the crew with optional inputs
|
|
339
|
+
|
|
340
|
+
Args:
|
|
341
|
+
inputs: Dictionary of input parameters
|
|
342
|
+
|
|
343
|
+
Returns:
|
|
344
|
+
Crew execution result
|
|
345
|
+
"""
|
|
346
|
+
if inputs is None:
|
|
347
|
+
inputs = {}
|
|
348
|
+
|
|
349
|
+
return self.crew.kickoff(inputs=inputs)
|
|
350
|
+
|
|
351
|
+
async def kickoff_async(self, inputs: dict = None) -> str:
|
|
352
|
+
"""
|
|
353
|
+
Execute the crew asynchronously
|
|
354
|
+
|
|
355
|
+
Args:
|
|
356
|
+
inputs: Dictionary of input parameters
|
|
357
|
+
|
|
358
|
+
Returns:
|
|
359
|
+
Crew execution result
|
|
360
|
+
"""
|
|
361
|
+
if inputs is None:
|
|
362
|
+
inputs = {}
|
|
363
|
+
|
|
364
|
+
return await self.crew.kickoff_async(inputs=inputs)
|
|
365
|
+
`;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Generate tools/custom_tools.py - Custom tool implementations
|
|
369
|
+
*/
|
|
370
|
+
generateCustomToolsCode(manifest) {
|
|
371
|
+
const tools = (manifest.spec?.tools || []);
|
|
372
|
+
const allImports = new Set();
|
|
373
|
+
const toolDefs = tools.map((t) => {
|
|
374
|
+
const { params, imports, docParams } = generatePythonToolParams(t);
|
|
375
|
+
imports.forEach((i) => allImports.add(i));
|
|
376
|
+
return `@tool("${t.name || 'unknown_tool'}")
|
|
377
|
+
def ${t.name || 'unknown_tool'}(${params}) -> str:
|
|
378
|
+
"""
|
|
379
|
+
${t.description || 'Tool implementation'}
|
|
380
|
+
|
|
381
|
+
Args:
|
|
382
|
+
${docParams}
|
|
383
|
+
|
|
384
|
+
Returns:
|
|
385
|
+
Tool execution result
|
|
386
|
+
"""
|
|
387
|
+
raise NotImplementedError("Tool '${t.name || 'tool'}' requires implementation")
|
|
388
|
+
`;
|
|
389
|
+
});
|
|
390
|
+
const extraImports = allImports.size > 0 ? '\n' + Array.from(allImports).join('\n') : '';
|
|
391
|
+
return `"""
|
|
392
|
+
Custom Tool Implementations
|
|
393
|
+
Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
|
|
394
|
+
|
|
395
|
+
Implement your custom tools here following CrewAI's tool decorator pattern.
|
|
396
|
+
"""
|
|
397
|
+
|
|
398
|
+
from crewai_tools import tool
|
|
399
|
+
from typing import Any, Optional${extraImports}
|
|
400
|
+
import os
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
${toolDefs.join('\n\n')}
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
# Add more custom tools as needed
|
|
407
|
+
${tools.length === 0
|
|
408
|
+
? `
|
|
409
|
+
@tool("example_tool")
|
|
410
|
+
def example_tool(query: str) -> str:
|
|
411
|
+
"""
|
|
412
|
+
Example tool implementation
|
|
413
|
+
|
|
414
|
+
Args:
|
|
415
|
+
query: Query string
|
|
416
|
+
|
|
417
|
+
Returns:
|
|
418
|
+
Tool result
|
|
419
|
+
"""
|
|
420
|
+
raise NotImplementedError("Example tool requires implementation")
|
|
421
|
+
`
|
|
422
|
+
: ''}
|
|
423
|
+
`;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Generate main.py - Entry point
|
|
427
|
+
*/
|
|
428
|
+
generateMainCode(manifest) {
|
|
429
|
+
const className = this.toPascalCase(manifest.metadata?.name || 'crew');
|
|
430
|
+
const llmProvider = manifest.spec?.llm?.provider || 'openai';
|
|
431
|
+
const primaryApiKey = llmProvider === 'anthropic' ? 'ANTHROPIC_API_KEY' : 'OPENAI_API_KEY';
|
|
432
|
+
return `#!/usr/bin/env python3
|
|
433
|
+
"""
|
|
434
|
+
${manifest.metadata?.name || 'CrewAI Crew'} - Main Entry Point
|
|
435
|
+
Generated from OSSA manifest
|
|
436
|
+
|
|
437
|
+
Run this file to execute the crew.
|
|
438
|
+
"""
|
|
439
|
+
|
|
440
|
+
import os
|
|
441
|
+
import sys
|
|
442
|
+
from dotenv import load_dotenv
|
|
443
|
+
from crew import ${className}
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
def main():
|
|
447
|
+
"""Main execution function"""
|
|
448
|
+
# Load environment variables
|
|
449
|
+
load_dotenv()
|
|
450
|
+
|
|
451
|
+
# Validate required environment variables
|
|
452
|
+
required_vars = ['${primaryApiKey}']
|
|
453
|
+
missing_vars = [var for var in required_vars if not os.getenv(var)]
|
|
454
|
+
|
|
455
|
+
if missing_vars:
|
|
456
|
+
print(f"Error: Missing required environment variables: {', '.join(missing_vars)}")
|
|
457
|
+
print("Please copy .env.example to .env and set the required values")
|
|
458
|
+
sys.exit(1)
|
|
459
|
+
|
|
460
|
+
# Initialize crew
|
|
461
|
+
print("Initializing ${manifest.metadata?.name || 'crew'}...")
|
|
462
|
+
crew = ${className}()
|
|
463
|
+
|
|
464
|
+
# Execute crew
|
|
465
|
+
print("\\nExecuting crew...\\n")
|
|
466
|
+
|
|
467
|
+
inputs = {
|
|
468
|
+
# Add your input parameters here
|
|
469
|
+
# "topic": "AI agents",
|
|
470
|
+
# "context": "research paper",
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
try:
|
|
474
|
+
result = crew.kickoff(inputs=inputs)
|
|
475
|
+
|
|
476
|
+
print("\\n" + "="*80)
|
|
477
|
+
print("CREW EXECUTION RESULT")
|
|
478
|
+
print("="*80)
|
|
479
|
+
print(result)
|
|
480
|
+
print("="*80 + "\\n")
|
|
481
|
+
|
|
482
|
+
except Exception as e:
|
|
483
|
+
print(f"Error executing crew: {str(e)}")
|
|
484
|
+
sys.exit(1)
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
if __name__ == "__main__":
|
|
488
|
+
main()
|
|
237
489
|
`;
|
|
238
490
|
}
|
|
239
491
|
/**
|
|
240
492
|
* Generate requirements.txt
|
|
241
493
|
*/
|
|
242
494
|
generateRequirements() {
|
|
243
|
-
return
|
|
244
|
-
crewai
|
|
495
|
+
return `# CrewAI Framework
|
|
496
|
+
crewai>=0.28.0
|
|
497
|
+
crewai-tools>=0.4.0
|
|
498
|
+
|
|
499
|
+
# LLM Providers
|
|
500
|
+
openai>=1.12.0
|
|
501
|
+
anthropic>=0.18.0
|
|
502
|
+
|
|
503
|
+
# Utilities
|
|
245
504
|
python-dotenv>=1.0.0
|
|
505
|
+
pydantic>=2.6.0
|
|
506
|
+
|
|
507
|
+
# Optional: Enhanced features
|
|
508
|
+
langchain>=0.1.0
|
|
509
|
+
langchain-community>=0.0.20
|
|
510
|
+
`;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Generate .env.example
|
|
514
|
+
*/
|
|
515
|
+
generateEnvExample(manifest) {
|
|
516
|
+
const llmProvider = manifest.spec?.llm?.provider || 'openai';
|
|
517
|
+
const primaryKey = llmProvider === 'anthropic'
|
|
518
|
+
? 'ANTHROPIC_API_KEY=sk-ant-...'
|
|
519
|
+
: 'OPENAI_API_KEY=sk-...';
|
|
520
|
+
const secondaryKey = llmProvider === 'anthropic'
|
|
521
|
+
? '# OPENAI_API_KEY=sk-...'
|
|
522
|
+
: '# ANTHROPIC_API_KEY=sk-ant-...';
|
|
523
|
+
return `# ${manifest.metadata?.name || 'CrewAI Crew'} Environment Configuration
|
|
524
|
+
|
|
525
|
+
# LLM Provider API Keys
|
|
526
|
+
${primaryKey}
|
|
527
|
+
${secondaryKey}
|
|
528
|
+
|
|
529
|
+
# CrewAI Configuration
|
|
530
|
+
CREWAI_VERBOSE=true
|
|
531
|
+
CREWAI_LOG_LEVEL=INFO
|
|
532
|
+
|
|
533
|
+
# Optional: Tool-specific configuration
|
|
534
|
+
# Add your tool-specific env vars here
|
|
535
|
+
|
|
536
|
+
# Optional: Logging and monitoring
|
|
537
|
+
# LANGSMITH_API_KEY=lsv2_pt_...
|
|
538
|
+
# LANGSMITH_PROJECT=${manifest.metadata?.name || 'crew'}
|
|
539
|
+
`;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Generate .dockerignore
|
|
543
|
+
*/
|
|
544
|
+
generateDockerignore() {
|
|
545
|
+
return `# Python
|
|
546
|
+
__pycache__/
|
|
547
|
+
*.py[cod]
|
|
548
|
+
*$py.class
|
|
549
|
+
*.so
|
|
550
|
+
.Python
|
|
551
|
+
env/
|
|
552
|
+
venv/
|
|
553
|
+
ENV/
|
|
554
|
+
.venv/
|
|
555
|
+
|
|
556
|
+
# Environment
|
|
557
|
+
.env
|
|
558
|
+
.env.local
|
|
559
|
+
|
|
560
|
+
# IDE
|
|
561
|
+
.vscode/
|
|
562
|
+
.idea/
|
|
563
|
+
*.swp
|
|
564
|
+
*.swo
|
|
565
|
+
|
|
566
|
+
# Testing
|
|
567
|
+
.pytest_cache/
|
|
568
|
+
.coverage
|
|
569
|
+
htmlcov/
|
|
570
|
+
|
|
571
|
+
# Documentation build
|
|
572
|
+
docs/_build/
|
|
573
|
+
|
|
574
|
+
# OS
|
|
575
|
+
.DS_Store
|
|
576
|
+
Thumbs.db
|
|
577
|
+
|
|
578
|
+
# Git
|
|
579
|
+
.git/
|
|
580
|
+
.gitignore
|
|
581
|
+
`;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Generate .gitignore
|
|
585
|
+
*/
|
|
586
|
+
generateGitignore() {
|
|
587
|
+
return `# Python
|
|
588
|
+
__pycache__/
|
|
589
|
+
*.py[cod]
|
|
590
|
+
*$py.class
|
|
591
|
+
*.so
|
|
592
|
+
.Python
|
|
593
|
+
build/
|
|
594
|
+
develop-eggs/
|
|
595
|
+
dist/
|
|
596
|
+
downloads/
|
|
597
|
+
eggs/
|
|
598
|
+
.eggs/
|
|
599
|
+
lib/
|
|
600
|
+
lib64/
|
|
601
|
+
parts/
|
|
602
|
+
sdist/
|
|
603
|
+
var/
|
|
604
|
+
wheels/
|
|
605
|
+
*.egg-info/
|
|
606
|
+
.installed.cfg
|
|
607
|
+
*.egg
|
|
608
|
+
|
|
609
|
+
# Virtual Environment
|
|
610
|
+
venv/
|
|
611
|
+
ENV/
|
|
612
|
+
env/
|
|
613
|
+
.venv/
|
|
614
|
+
|
|
615
|
+
# Environment Variables
|
|
616
|
+
.env
|
|
617
|
+
.env.local
|
|
618
|
+
.env.*.local
|
|
619
|
+
|
|
620
|
+
# IDE
|
|
621
|
+
.vscode/
|
|
622
|
+
.idea/
|
|
623
|
+
*.swp
|
|
624
|
+
*.swo
|
|
625
|
+
*.sublime-project
|
|
626
|
+
*.sublime-workspace
|
|
627
|
+
|
|
628
|
+
# Testing
|
|
629
|
+
.pytest_cache/
|
|
630
|
+
.coverage
|
|
631
|
+
.coverage.*
|
|
632
|
+
htmlcov/
|
|
633
|
+
.tox/
|
|
634
|
+
|
|
635
|
+
# Jupyter
|
|
636
|
+
.ipynb_checkpoints/
|
|
637
|
+
|
|
638
|
+
# OS
|
|
639
|
+
.DS_Store
|
|
640
|
+
Thumbs.db
|
|
641
|
+
desktop.ini
|
|
642
|
+
|
|
643
|
+
# Logs
|
|
644
|
+
*.log
|
|
645
|
+
logs/
|
|
646
|
+
|
|
647
|
+
# CrewAI specific
|
|
648
|
+
crew_output/
|
|
246
649
|
`;
|
|
247
650
|
}
|
|
248
651
|
/**
|
|
249
|
-
* Generate
|
|
652
|
+
* Generate examples/basic_usage.py
|
|
653
|
+
*/
|
|
654
|
+
generateExampleUsage(manifest) {
|
|
655
|
+
const className = this.toPascalCase(manifest.metadata?.name || 'crew');
|
|
656
|
+
return `#!/usr/bin/env python3
|
|
657
|
+
"""
|
|
658
|
+
Basic Usage Example for ${manifest.metadata?.name || 'CrewAI Crew'}
|
|
659
|
+
|
|
660
|
+
This example demonstrates how to use the crew in your applications.
|
|
661
|
+
"""
|
|
662
|
+
|
|
663
|
+
import os
|
|
664
|
+
from dotenv import load_dotenv
|
|
665
|
+
from crew import ${className}
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
def basic_example():
|
|
669
|
+
"""Run a basic crew execution"""
|
|
670
|
+
# Load environment
|
|
671
|
+
load_dotenv()
|
|
672
|
+
|
|
673
|
+
# Initialize crew
|
|
674
|
+
crew = ${className}()
|
|
675
|
+
|
|
676
|
+
# Prepare inputs
|
|
677
|
+
inputs = {
|
|
678
|
+
"topic": "artificial intelligence",
|
|
679
|
+
"context": "Write a comprehensive analysis"
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
# Execute crew
|
|
683
|
+
result = crew.kickoff(inputs=inputs)
|
|
684
|
+
|
|
685
|
+
# Process result
|
|
686
|
+
print("Crew Result:")
|
|
687
|
+
print("-" * 80)
|
|
688
|
+
print(result)
|
|
689
|
+
|
|
690
|
+
return result
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
if __name__ == "__main__":
|
|
694
|
+
basic_example()
|
|
695
|
+
`;
|
|
696
|
+
}
|
|
697
|
+
/**
|
|
698
|
+
* Generate examples/async_usage.py
|
|
699
|
+
*/
|
|
700
|
+
generateExampleAsync(manifest) {
|
|
701
|
+
const className = this.toPascalCase(manifest.metadata?.name || 'crew');
|
|
702
|
+
return `#!/usr/bin/env python3
|
|
703
|
+
"""
|
|
704
|
+
Async Usage Example for ${manifest.metadata?.name || 'CrewAI Crew'}
|
|
705
|
+
|
|
706
|
+
This example demonstrates asynchronous crew execution.
|
|
707
|
+
"""
|
|
708
|
+
|
|
709
|
+
import asyncio
|
|
710
|
+
import os
|
|
711
|
+
from dotenv import load_dotenv
|
|
712
|
+
from crew import ${className}
|
|
713
|
+
|
|
714
|
+
|
|
715
|
+
async def async_example():
|
|
716
|
+
"""Run crew execution asynchronously"""
|
|
717
|
+
# Load environment
|
|
718
|
+
load_dotenv()
|
|
719
|
+
|
|
720
|
+
# Initialize crew
|
|
721
|
+
crew = ${className}()
|
|
722
|
+
|
|
723
|
+
# Prepare inputs
|
|
724
|
+
inputs = {
|
|
725
|
+
"topic": "machine learning",
|
|
726
|
+
"context": "Generate a detailed report"
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
# Execute crew asynchronously
|
|
730
|
+
print("Starting async crew execution...")
|
|
731
|
+
result = await crew.kickoff_async(inputs=inputs)
|
|
732
|
+
|
|
733
|
+
# Process result
|
|
734
|
+
print("\\nCrew Result:")
|
|
735
|
+
print("-" * 80)
|
|
736
|
+
print(result)
|
|
737
|
+
|
|
738
|
+
return result
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
async def parallel_execution_example():
|
|
742
|
+
"""Run multiple crew executions in parallel"""
|
|
743
|
+
# Load environment
|
|
744
|
+
load_dotenv()
|
|
745
|
+
|
|
746
|
+
# Initialize crew
|
|
747
|
+
crew = ${className}()
|
|
748
|
+
|
|
749
|
+
# Prepare multiple inputs
|
|
750
|
+
inputs_list = [
|
|
751
|
+
{"topic": "AI ethics", "context": "research"},
|
|
752
|
+
{"topic": "neural networks", "context": "technical"},
|
|
753
|
+
{"topic": "robotics", "context": "industry"},
|
|
754
|
+
]
|
|
755
|
+
|
|
756
|
+
# Execute in parallel
|
|
757
|
+
print("Starting parallel executions...")
|
|
758
|
+
tasks = [crew.kickoff_async(inputs=inputs) for inputs in inputs_list]
|
|
759
|
+
results = await asyncio.gather(*tasks)
|
|
760
|
+
|
|
761
|
+
# Process results
|
|
762
|
+
for i, result in enumerate(results, 1):
|
|
763
|
+
print(f"\\nResult {i}:")
|
|
764
|
+
print("-" * 80)
|
|
765
|
+
print(result)
|
|
766
|
+
|
|
767
|
+
return results
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
if __name__ == "__main__":
|
|
771
|
+
# Run async example
|
|
772
|
+
asyncio.run(async_example())
|
|
773
|
+
|
|
774
|
+
# Uncomment to run parallel example
|
|
775
|
+
# asyncio.run(parallel_execution_example())
|
|
776
|
+
`;
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
* Generate tests/test_crew.py
|
|
780
|
+
*/
|
|
781
|
+
generateTestsCode(manifest) {
|
|
782
|
+
const className = this.toPascalCase(manifest.metadata?.name || 'crew');
|
|
783
|
+
return `"""
|
|
784
|
+
Unit Tests for ${manifest.metadata?.name || 'CrewAI Crew'}
|
|
785
|
+
"""
|
|
786
|
+
|
|
787
|
+
import pytest
|
|
788
|
+
from crew import ${className}
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
class Test${className}:
|
|
792
|
+
"""Test suite for ${className}"""
|
|
793
|
+
|
|
794
|
+
@pytest.fixture
|
|
795
|
+
def crew(self):
|
|
796
|
+
"""Fixture to create crew instance"""
|
|
797
|
+
return ${className}()
|
|
798
|
+
|
|
799
|
+
def test_crew_initialization(self, crew):
|
|
800
|
+
"""Test crew initializes correctly"""
|
|
801
|
+
assert crew is not None
|
|
802
|
+
assert crew.agents is not None
|
|
803
|
+
assert crew.tasks is not None
|
|
804
|
+
assert crew.crew is not None
|
|
805
|
+
|
|
806
|
+
def test_crew_has_agents(self, crew):
|
|
807
|
+
"""Test crew has configured agents"""
|
|
808
|
+
assert len(crew.agents) > 0
|
|
809
|
+
|
|
810
|
+
def test_crew_has_tasks(self, crew):
|
|
811
|
+
"""Test crew has configured tasks"""
|
|
812
|
+
assert len(crew.tasks) > 0
|
|
813
|
+
|
|
814
|
+
def test_kickoff_with_empty_inputs(self, crew):
|
|
815
|
+
"""Test crew execution with empty inputs"""
|
|
816
|
+
# This test requires mocking or integration environment
|
|
817
|
+
# Implement based on your testing strategy
|
|
818
|
+
pass
|
|
819
|
+
|
|
820
|
+
def test_kickoff_with_valid_inputs(self, crew):
|
|
821
|
+
"""Test crew execution with valid inputs"""
|
|
822
|
+
# This test requires mocking or integration environment
|
|
823
|
+
# Implement based on your testing strategy
|
|
824
|
+
pass
|
|
825
|
+
|
|
826
|
+
|
|
827
|
+
if __name__ == "__main__":
|
|
828
|
+
pytest.main([__file__, "-v"])
|
|
829
|
+
`;
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* Generate tests/test_tools.py
|
|
833
|
+
*/
|
|
834
|
+
generateTestToolsCode(manifest) {
|
|
835
|
+
const tools = (manifest.spec?.tools || []);
|
|
836
|
+
return `"""
|
|
837
|
+
Unit Tests for Custom Tools
|
|
838
|
+
"""
|
|
839
|
+
|
|
840
|
+
import pytest
|
|
841
|
+
from tools.custom_tools import *
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
${tools
|
|
845
|
+
.map((t) => `
|
|
846
|
+
class Test${this.toPascalCase(t.name || 'Tool')}:
|
|
847
|
+
"""Test suite for ${t.name || 'tool'}"""
|
|
848
|
+
|
|
849
|
+
def test_${t.name || 'tool'}_executes(self):
|
|
850
|
+
"""Test ${t.name || 'tool'} executes without error"""
|
|
851
|
+
result = ${t.name || 'tool'}("test input")
|
|
852
|
+
assert result is not None
|
|
853
|
+
assert isinstance(result, str)
|
|
854
|
+
|
|
855
|
+
def test_${t.name || 'tool'}_handles_empty_input(self):
|
|
856
|
+
"""Test ${t.name || 'tool'} handles empty input"""
|
|
857
|
+
result = ${t.name || 'tool'}("")
|
|
858
|
+
assert result is not None
|
|
859
|
+
`)
|
|
860
|
+
.join('\n')}
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
if __name__ == "__main__":
|
|
864
|
+
pytest.main([__file__, "-v"])
|
|
865
|
+
`;
|
|
866
|
+
}
|
|
867
|
+
/**
|
|
868
|
+
* Convert string to PascalCase
|
|
869
|
+
*/
|
|
870
|
+
toPascalCase(str) {
|
|
871
|
+
return str
|
|
872
|
+
.replace(/[^a-zA-Z0-9]+(.)/g, (_, char) => char.toUpperCase())
|
|
873
|
+
.replace(/^(.)/, (char) => char.toUpperCase());
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* Generate README.md - Production-grade documentation
|
|
250
877
|
*/
|
|
251
878
|
generateReadme(manifest, config) {
|
|
252
|
-
|
|
879
|
+
const projectName = manifest.metadata?.name || 'crewai-crew';
|
|
880
|
+
const description = manifest.metadata?.description || 'CrewAI multi-agent crew';
|
|
881
|
+
return `# ${projectName}
|
|
882
|
+
|
|
883
|
+
${description}
|
|
884
|
+
|
|
885
|
+
> **Generated from OSSA v${manifest.apiVersion?.split('/')[1] || getApiVersion()} manifest**
|
|
886
|
+
|
|
887
|
+
## Table of Contents
|
|
888
|
+
|
|
889
|
+
- [Overview](#overview)
|
|
890
|
+
- [Features](#features)
|
|
891
|
+
- [Installation](#installation)
|
|
892
|
+
- [Quick Start](#quick-start)
|
|
893
|
+
- [Configuration](#configuration)
|
|
894
|
+
- [Usage](#usage)
|
|
895
|
+
- [Project Structure](#project-structure)
|
|
896
|
+
- [Agents](#agents)
|
|
897
|
+
- [Tasks](#tasks)
|
|
898
|
+
- [Tools](#tools)
|
|
899
|
+
- [Development](#development)
|
|
900
|
+
- [Testing](#testing)
|
|
901
|
+
- [Deployment](#deployment)
|
|
902
|
+
- [Troubleshooting](#troubleshooting)
|
|
903
|
+
- [Contributing](#contributing)
|
|
904
|
+
- [License](#license)
|
|
905
|
+
|
|
906
|
+
## Overview
|
|
907
|
+
|
|
908
|
+
${manifest.spec?.role || 'This is a multi-agent crew built with CrewAI, designed to collaborate on complex tasks through structured agent orchestration.'}
|
|
909
|
+
|
|
910
|
+
### Key Specifications
|
|
911
|
+
|
|
912
|
+
- **Process Type**: ${config.process || 'sequential'}
|
|
913
|
+
- **Number of Agents**: ${config.agents.length}
|
|
914
|
+
- **Number of Tasks**: ${config.tasks.length}
|
|
915
|
+
- **LLM Provider**: ${manifest.spec?.llm?.provider || 'openai'}
|
|
916
|
+
- **Model**: ${manifest.spec?.llm?.model || 'gpt-4'}
|
|
917
|
+
|
|
918
|
+
## Features
|
|
919
|
+
|
|
920
|
+
- ✅ Multi-agent collaboration with CrewAI
|
|
921
|
+
- ✅ ${config.process === 'sequential' ? 'Sequential task processing' : 'Hierarchical agent organization'}
|
|
922
|
+
- ✅ Custom tool implementations
|
|
923
|
+
- ✅ Async execution support
|
|
924
|
+
- ✅ Environment-based configuration
|
|
925
|
+
- ✅ Production-ready structure
|
|
926
|
+
- ✅ Comprehensive testing
|
|
927
|
+
- ✅ Docker deployment ready
|
|
928
|
+
|
|
929
|
+
## Installation
|
|
930
|
+
|
|
931
|
+
### Prerequisites
|
|
932
|
+
|
|
933
|
+
- Python 3.9 or higher
|
|
934
|
+
- pip or poetry for package management
|
|
935
|
+
- OpenAI API key (or other LLM provider credentials)
|
|
936
|
+
|
|
937
|
+
### Setup
|
|
253
938
|
|
|
254
|
-
|
|
939
|
+
1. **Clone the repository**
|
|
255
940
|
|
|
256
|
-
|
|
941
|
+
\`\`\`bash
|
|
942
|
+
git clone <repository-url>
|
|
943
|
+
cd ${projectName}
|
|
944
|
+
\`\`\`
|
|
257
945
|
|
|
258
|
-
|
|
946
|
+
2. **Create virtual environment**
|
|
947
|
+
|
|
948
|
+
\`\`\`bash
|
|
949
|
+
python -m venv venv
|
|
950
|
+
source venv/bin/activate # On Windows: venv\\Scripts\\activate
|
|
951
|
+
\`\`\`
|
|
259
952
|
|
|
260
|
-
|
|
953
|
+
3. **Install dependencies**
|
|
261
954
|
|
|
262
955
|
\`\`\`bash
|
|
263
956
|
pip install -r requirements.txt
|
|
264
|
-
|
|
957
|
+
\`\`\`
|
|
958
|
+
|
|
959
|
+
4. **Configure environment**
|
|
960
|
+
|
|
961
|
+
\`\`\`bash
|
|
962
|
+
cp .env.example .env
|
|
963
|
+
# Edit .env with your API keys and configuration
|
|
964
|
+
\`\`\`
|
|
965
|
+
|
|
966
|
+
## Quick Start
|
|
967
|
+
|
|
968
|
+
### Basic Execution
|
|
969
|
+
|
|
970
|
+
\`\`\`bash
|
|
971
|
+
python main.py
|
|
972
|
+
\`\`\`
|
|
973
|
+
|
|
974
|
+
### Programmatic Usage
|
|
975
|
+
|
|
976
|
+
\`\`\`python
|
|
977
|
+
from crew import ${this.toPascalCase(projectName)}
|
|
978
|
+
|
|
979
|
+
# Initialize crew
|
|
980
|
+
crew = ${this.toPascalCase(projectName)}()
|
|
981
|
+
|
|
982
|
+
# Execute with inputs
|
|
983
|
+
result = crew.kickoff(inputs={
|
|
984
|
+
"topic": "your topic here",
|
|
985
|
+
"context": "additional context"
|
|
986
|
+
})
|
|
987
|
+
|
|
988
|
+
print(result)
|
|
989
|
+
\`\`\`
|
|
990
|
+
|
|
991
|
+
### Async Execution
|
|
992
|
+
|
|
993
|
+
\`\`\`python
|
|
994
|
+
import asyncio
|
|
995
|
+
from crew import ${this.toPascalCase(projectName)}
|
|
996
|
+
|
|
997
|
+
async def run():
|
|
998
|
+
crew = ${this.toPascalCase(projectName)}()
|
|
999
|
+
result = await crew.kickoff_async(inputs={
|
|
1000
|
+
"topic": "your topic"
|
|
1001
|
+
})
|
|
1002
|
+
return result
|
|
1003
|
+
|
|
1004
|
+
asyncio.run(run())
|
|
265
1005
|
\`\`\`
|
|
266
1006
|
|
|
267
1007
|
## Configuration
|
|
268
1008
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
1009
|
+
### Environment Variables
|
|
1010
|
+
|
|
1011
|
+
See \`.env.example\` for all configuration options:
|
|
1012
|
+
|
|
1013
|
+
- \`OPENAI_API_KEY\`: Your OpenAI API key (required)
|
|
1014
|
+
- \`CREWAI_VERBOSE\`: Enable verbose logging (default: true)
|
|
1015
|
+
- \`CREWAI_LOG_LEVEL\`: Logging level (default: INFO)
|
|
1016
|
+
|
|
1017
|
+
### Crew Configuration
|
|
1018
|
+
|
|
1019
|
+
Modify \`crew/crew.py\` to adjust:
|
|
1020
|
+
|
|
1021
|
+
- Process type (sequential/hierarchical)
|
|
1022
|
+
- Verbose mode
|
|
1023
|
+
- Custom agent configurations
|
|
1024
|
+
|
|
1025
|
+
## Usage
|
|
1026
|
+
|
|
1027
|
+
### Examples
|
|
1028
|
+
|
|
1029
|
+
See the \`examples/\` directory for detailed usage examples:
|
|
1030
|
+
|
|
1031
|
+
- \`basic_usage.py\`: Simple crew execution
|
|
1032
|
+
- \`async_usage.py\`: Asynchronous and parallel execution
|
|
1033
|
+
|
|
1034
|
+
### Running Examples
|
|
1035
|
+
|
|
1036
|
+
\`\`\`bash
|
|
1037
|
+
python examples/basic_usage.py
|
|
1038
|
+
python examples/async_usage.py
|
|
1039
|
+
\`\`\`
|
|
1040
|
+
|
|
1041
|
+
## Project Structure
|
|
1042
|
+
|
|
1043
|
+
\`\`\`
|
|
1044
|
+
${projectName}/
|
|
1045
|
+
├── agents/ # Agent definitions
|
|
1046
|
+
│ └── __init__.py # Agent configurations
|
|
1047
|
+
├── tasks/ # Task definitions
|
|
1048
|
+
│ └── __init__.py # Task configurations
|
|
1049
|
+
├── tools/ # Custom tools
|
|
1050
|
+
│ ├── __init__.py # Tool exports
|
|
1051
|
+
│ └── custom_tools.py # Tool implementations
|
|
1052
|
+
├── crew/ # Crew orchestration
|
|
1053
|
+
│ ├── __init__.py # Module exports
|
|
1054
|
+
│ └── crew.py # Main crew class
|
|
1055
|
+
├── examples/ # Usage examples
|
|
1056
|
+
│ ├── basic_usage.py
|
|
1057
|
+
│ └── async_usage.py
|
|
1058
|
+
├── tests/ # Test suite
|
|
1059
|
+
│ ├── test_crew.py
|
|
1060
|
+
│ └── test_tools.py
|
|
1061
|
+
├── main.py # Entry point
|
|
1062
|
+
├── requirements.txt # Python dependencies
|
|
1063
|
+
├── .env.example # Environment template
|
|
1064
|
+
├── .gitignore # Git ignore rules
|
|
1065
|
+
├── README.md # This file
|
|
1066
|
+
└── DEPLOYMENT.md # Deployment guide
|
|
1067
|
+
\`\`\`
|
|
272
1068
|
|
|
273
1069
|
## Agents
|
|
274
1070
|
|
|
275
|
-
|
|
1071
|
+
This crew consists of ${config.agents.length} specialized agent(s):
|
|
1072
|
+
|
|
1073
|
+
${config.agents
|
|
1074
|
+
.map((a, i) => `
|
|
1075
|
+
### ${i + 1}. ${a.role}
|
|
1076
|
+
|
|
1077
|
+
**Goal:** ${a.goal}
|
|
1078
|
+
|
|
1079
|
+
**Backstory:** ${a.backstory}
|
|
1080
|
+
|
|
1081
|
+
**Capabilities:**
|
|
1082
|
+
- Utilizes custom tools for enhanced functionality
|
|
1083
|
+
- Collaborates with other agents in the crew
|
|
1084
|
+
- Produces structured outputs for downstream tasks
|
|
1085
|
+
`)
|
|
1086
|
+
.join('\n')}
|
|
276
1087
|
|
|
277
1088
|
## Tasks
|
|
278
1089
|
|
|
279
|
-
${config.tasks.
|
|
1090
|
+
The crew executes ${config.tasks.length} task(s) in ${config.process} order:
|
|
1091
|
+
|
|
1092
|
+
${config.tasks
|
|
1093
|
+
.map((t, i) => `
|
|
1094
|
+
### Task ${i + 1}: ${t.description}
|
|
1095
|
+
|
|
1096
|
+
- **Assigned Agent:** ${t.agent}
|
|
1097
|
+
- **Expected Output:** ${t.expected_output || 'Completed task result'}
|
|
1098
|
+
${i < config.tasks.length - 1 ? '- **Flows to:** Task ' + (i + 2) : '- **Final Output:** Yes'}
|
|
1099
|
+
`)
|
|
1100
|
+
.join('\n')}
|
|
280
1101
|
|
|
281
|
-
##
|
|
1102
|
+
## Tools
|
|
1103
|
+
|
|
1104
|
+
Custom tools are implemented in \`tools/custom_tools.py\`:
|
|
1105
|
+
|
|
1106
|
+
${(manifest.spec?.tools || []).length > 0
|
|
1107
|
+
? (manifest.spec?.tools)
|
|
1108
|
+
.map((t) => `
|
|
1109
|
+
### ${t.name || 'Tool'}
|
|
1110
|
+
|
|
1111
|
+
${t.description || 'Custom tool implementation'}
|
|
1112
|
+
|
|
1113
|
+
\`\`\`python
|
|
1114
|
+
from tools.custom_tools import ${t.name || 'tool'}
|
|
1115
|
+
|
|
1116
|
+
result = ${t.name || 'tool'}("input data")
|
|
1117
|
+
\`\`\`
|
|
1118
|
+
`)
|
|
1119
|
+
.join('\n')
|
|
1120
|
+
: `
|
|
1121
|
+
No custom tools defined. Add tools in \`tools/custom_tools.py\`.
|
|
1122
|
+
`}
|
|
1123
|
+
|
|
1124
|
+
## Development
|
|
1125
|
+
|
|
1126
|
+
### Adding New Agents
|
|
1127
|
+
|
|
1128
|
+
Edit \`agents/__init__.py\`:
|
|
1129
|
+
|
|
1130
|
+
\`\`\`python
|
|
1131
|
+
from crewai import Agent
|
|
1132
|
+
|
|
1133
|
+
new_agent = Agent(
|
|
1134
|
+
role="New Role",
|
|
1135
|
+
goal="Agent goal",
|
|
1136
|
+
backstory="Agent backstory",
|
|
1137
|
+
tools=get_tools(),
|
|
1138
|
+
verbose=True
|
|
1139
|
+
)
|
|
1140
|
+
|
|
1141
|
+
agents.append(new_agent)
|
|
1142
|
+
\`\`\`
|
|
1143
|
+
|
|
1144
|
+
### Adding New Tasks
|
|
1145
|
+
|
|
1146
|
+
Edit \`tasks/__init__.py\`:
|
|
1147
|
+
|
|
1148
|
+
\`\`\`python
|
|
1149
|
+
from crewai import Task
|
|
1150
|
+
|
|
1151
|
+
new_task = Task(
|
|
1152
|
+
description="Task description",
|
|
1153
|
+
agent=agents[0],
|
|
1154
|
+
expected_output="Expected result"
|
|
1155
|
+
)
|
|
1156
|
+
|
|
1157
|
+
tasks.append(new_task)
|
|
1158
|
+
\`\`\`
|
|
1159
|
+
|
|
1160
|
+
### Adding Custom Tools
|
|
1161
|
+
|
|
1162
|
+
Edit \`tools/custom_tools.py\`:
|
|
1163
|
+
|
|
1164
|
+
\`\`\`python
|
|
1165
|
+
from crewai_tools import tool
|
|
1166
|
+
|
|
1167
|
+
@tool("my_custom_tool")
|
|
1168
|
+
def my_custom_tool(input: str) -> str:
|
|
1169
|
+
"""Tool description"""
|
|
1170
|
+
# Implementation
|
|
1171
|
+
return result
|
|
1172
|
+
\`\`\`
|
|
1173
|
+
|
|
1174
|
+
## Testing
|
|
1175
|
+
|
|
1176
|
+
Run the test suite:
|
|
1177
|
+
|
|
1178
|
+
\`\`\`bash
|
|
1179
|
+
# Install test dependencies
|
|
1180
|
+
pip install pytest pytest-cov pytest-asyncio
|
|
1181
|
+
|
|
1182
|
+
# Run all tests
|
|
1183
|
+
pytest
|
|
1184
|
+
|
|
1185
|
+
# Run with coverage
|
|
1186
|
+
pytest --cov=. --cov-report=html
|
|
1187
|
+
|
|
1188
|
+
# Run specific test file
|
|
1189
|
+
pytest tests/test_crew.py -v
|
|
1190
|
+
\`\`\`
|
|
282
1191
|
|
|
283
|
-
|
|
1192
|
+
## Deployment
|
|
284
1193
|
|
|
285
|
-
|
|
1194
|
+
See [DEPLOYMENT.md](./DEPLOYMENT.md) for detailed deployment instructions covering:
|
|
1195
|
+
|
|
1196
|
+
- Docker deployment
|
|
1197
|
+
- Kubernetes deployment
|
|
1198
|
+
- Cloud platforms (AWS, GCP, Azure)
|
|
1199
|
+
- Environment configuration
|
|
1200
|
+
- Monitoring and logging
|
|
1201
|
+
- Production best practices
|
|
1202
|
+
|
|
1203
|
+
### Quick Docker Deployment
|
|
1204
|
+
|
|
1205
|
+
\`\`\`bash
|
|
1206
|
+
# Build image
|
|
1207
|
+
docker build -t ${projectName}:latest .
|
|
1208
|
+
|
|
1209
|
+
# Run container
|
|
1210
|
+
docker run -e OPENAI_API_KEY=your-key ${projectName}:latest
|
|
1211
|
+
\`\`\`
|
|
1212
|
+
|
|
1213
|
+
## Troubleshooting
|
|
1214
|
+
|
|
1215
|
+
### Common Issues
|
|
1216
|
+
|
|
1217
|
+
**Import Errors**
|
|
1218
|
+
|
|
1219
|
+
\`\`\`bash
|
|
1220
|
+
pip install -r requirements.txt --force-reinstall
|
|
1221
|
+
\`\`\`
|
|
1222
|
+
|
|
1223
|
+
**API Key Errors**
|
|
1224
|
+
|
|
1225
|
+
Ensure your \`.env\` file has valid API keys:
|
|
1226
|
+
|
|
1227
|
+
\`\`\`bash
|
|
1228
|
+
# Verify .env file exists
|
|
1229
|
+
ls -la .env
|
|
1230
|
+
|
|
1231
|
+
# Check API key is set
|
|
1232
|
+
source .env && echo $OPENAI_API_KEY
|
|
1233
|
+
\`\`\`
|
|
1234
|
+
|
|
1235
|
+
**Agent Execution Failures**
|
|
1236
|
+
|
|
1237
|
+
Enable verbose logging:
|
|
1238
|
+
|
|
1239
|
+
\`\`\`python
|
|
1240
|
+
crew = ${this.toPascalCase(projectName)}()
|
|
1241
|
+
crew.crew.verbose = True
|
|
1242
|
+
\`\`\`
|
|
1243
|
+
|
|
1244
|
+
### Debug Mode
|
|
1245
|
+
|
|
1246
|
+
Run with debug logging:
|
|
1247
|
+
|
|
1248
|
+
\`\`\`bash
|
|
1249
|
+
CREWAI_LOG_LEVEL=DEBUG python main.py
|
|
1250
|
+
\`\`\`
|
|
1251
|
+
|
|
1252
|
+
## Contributing
|
|
1253
|
+
|
|
1254
|
+
Contributions are welcome! Please:
|
|
1255
|
+
|
|
1256
|
+
1. Fork the repository
|
|
1257
|
+
2. Create a feature branch
|
|
1258
|
+
3. Make your changes
|
|
1259
|
+
4. Add tests
|
|
1260
|
+
5. Submit a pull request
|
|
286
1261
|
|
|
287
1262
|
## License
|
|
288
1263
|
|
|
289
1264
|
${manifest.metadata?.license || 'MIT'}
|
|
1265
|
+
|
|
1266
|
+
---
|
|
1267
|
+
|
|
1268
|
+
**Generated by OSSA v${manifest.apiVersion?.split('/')[1] || getApiVersion()}**
|
|
1269
|
+
|
|
1270
|
+
For more information about OSSA, visit: https://openstandardagents.org
|
|
1271
|
+
`;
|
|
1272
|
+
}
|
|
1273
|
+
/**
|
|
1274
|
+
* Generate DEPLOYMENT.md - Production deployment guide
|
|
1275
|
+
*/
|
|
1276
|
+
generateDeploymentGuide(manifest) {
|
|
1277
|
+
const projectName = manifest.metadata?.name || 'crewai-crew';
|
|
1278
|
+
return `# Deployment Guide - ${projectName}
|
|
1279
|
+
|
|
1280
|
+
This guide covers production deployment options for your CrewAI crew.
|
|
1281
|
+
|
|
1282
|
+
## Table of Contents
|
|
1283
|
+
|
|
1284
|
+
- [Prerequisites](#prerequisites)
|
|
1285
|
+
- [Docker Deployment](#docker-deployment)
|
|
1286
|
+
- [Kubernetes Deployment](#kubernetes-deployment)
|
|
1287
|
+
- [Cloud Platforms](#cloud-platforms)
|
|
1288
|
+
- [Environment Configuration](#environment-configuration)
|
|
1289
|
+
- [Monitoring & Logging](#monitoring--logging)
|
|
1290
|
+
- [Security Best Practices](#security-best-practices)
|
|
1291
|
+
- [Scaling](#scaling)
|
|
1292
|
+
- [Troubleshooting](#troubleshooting)
|
|
1293
|
+
|
|
1294
|
+
## Prerequisites
|
|
1295
|
+
|
|
1296
|
+
- Docker (20.10+) and Docker Compose (2.0+)
|
|
1297
|
+
- kubectl (for Kubernetes deployments)
|
|
1298
|
+
- Cloud CLI tools (AWS CLI, gcloud, or az)
|
|
1299
|
+
- Valid LLM provider API keys
|
|
1300
|
+
|
|
1301
|
+
## Docker Deployment
|
|
1302
|
+
|
|
1303
|
+
### Dockerfile
|
|
1304
|
+
|
|
1305
|
+
Create a \`Dockerfile\` in the project root:
|
|
1306
|
+
|
|
1307
|
+
\`\`\`dockerfile
|
|
1308
|
+
FROM python:3.11-slim
|
|
1309
|
+
|
|
1310
|
+
WORKDIR /app
|
|
1311
|
+
|
|
1312
|
+
# Install dependencies
|
|
1313
|
+
COPY requirements.txt .
|
|
1314
|
+
RUN pip install --no-cache-dir -r requirements.txt
|
|
1315
|
+
|
|
1316
|
+
# Copy application
|
|
1317
|
+
COPY . .
|
|
1318
|
+
|
|
1319
|
+
# Run as non-root user
|
|
1320
|
+
RUN useradd -m -u 1000 crewai && chown -R crewai:crewai /app
|
|
1321
|
+
USER crewai
|
|
1322
|
+
|
|
1323
|
+
# Set environment
|
|
1324
|
+
ENV PYTHONUNBUFFERED=1
|
|
1325
|
+
|
|
1326
|
+
# Run application
|
|
1327
|
+
CMD ["python", "main.py"]
|
|
1328
|
+
\`\`\`
|
|
1329
|
+
|
|
1330
|
+
### Build and Run
|
|
1331
|
+
|
|
1332
|
+
\`\`\`bash
|
|
1333
|
+
# Build image
|
|
1334
|
+
docker build -t ${projectName}:latest .
|
|
1335
|
+
|
|
1336
|
+
# Run container
|
|
1337
|
+
docker run -d \\
|
|
1338
|
+
--name ${projectName} \\
|
|
1339
|
+
-e OPENAI_API_KEY=\${OPENAI_API_KEY} \\
|
|
1340
|
+
-e CREWAI_VERBOSE=true \\
|
|
1341
|
+
--restart unless-stopped \\
|
|
1342
|
+
${projectName}:latest
|
|
1343
|
+
|
|
1344
|
+
# View logs
|
|
1345
|
+
docker logs -f ${projectName}
|
|
1346
|
+
\`\`\`
|
|
1347
|
+
|
|
1348
|
+
### Docker Compose
|
|
1349
|
+
|
|
1350
|
+
Create \`docker-compose.yml\`:
|
|
1351
|
+
|
|
1352
|
+
\`\`\`yaml
|
|
1353
|
+
version: '3.8'
|
|
1354
|
+
|
|
1355
|
+
services:
|
|
1356
|
+
crew:
|
|
1357
|
+
build: .
|
|
1358
|
+
image: ${projectName}:latest
|
|
1359
|
+
container_name: ${projectName}
|
|
1360
|
+
env_file:
|
|
1361
|
+
- .env
|
|
1362
|
+
restart: unless-stopped
|
|
1363
|
+
volumes:
|
|
1364
|
+
- ./logs:/app/logs
|
|
1365
|
+
networks:
|
|
1366
|
+
- crew-network
|
|
1367
|
+
|
|
1368
|
+
networks:
|
|
1369
|
+
crew-network:
|
|
1370
|
+
driver: bridge
|
|
1371
|
+
\`\`\`
|
|
1372
|
+
|
|
1373
|
+
Run with Docker Compose:
|
|
1374
|
+
|
|
1375
|
+
\`\`\`bash
|
|
1376
|
+
docker-compose up -d
|
|
1377
|
+
docker-compose logs -f
|
|
1378
|
+
\`\`\`
|
|
1379
|
+
|
|
1380
|
+
## Kubernetes Deployment
|
|
1381
|
+
|
|
1382
|
+
### Deployment Manifest
|
|
1383
|
+
|
|
1384
|
+
Create \`k8s/deployment.yaml\`:
|
|
1385
|
+
|
|
1386
|
+
\`\`\`yaml
|
|
1387
|
+
apiVersion: apps/v1
|
|
1388
|
+
kind: Deployment
|
|
1389
|
+
metadata:
|
|
1390
|
+
name: ${projectName}
|
|
1391
|
+
labels:
|
|
1392
|
+
app: ${projectName}
|
|
1393
|
+
spec:
|
|
1394
|
+
replicas: 3
|
|
1395
|
+
selector:
|
|
1396
|
+
matchLabels:
|
|
1397
|
+
app: ${projectName}
|
|
1398
|
+
template:
|
|
1399
|
+
metadata:
|
|
1400
|
+
labels:
|
|
1401
|
+
app: ${projectName}
|
|
1402
|
+
spec:
|
|
1403
|
+
containers:
|
|
1404
|
+
- name: crew
|
|
1405
|
+
image: ${projectName}:latest
|
|
1406
|
+
ports:
|
|
1407
|
+
- containerPort: 8080
|
|
1408
|
+
env:
|
|
1409
|
+
- name: OPENAI_API_KEY
|
|
1410
|
+
valueFrom:
|
|
1411
|
+
secretKeyRef:
|
|
1412
|
+
name: llm-credentials
|
|
1413
|
+
key: openai-api-key
|
|
1414
|
+
- name: CREWAI_VERBOSE
|
|
1415
|
+
value: "true"
|
|
1416
|
+
resources:
|
|
1417
|
+
requests:
|
|
1418
|
+
memory: "512Mi"
|
|
1419
|
+
cpu: "500m"
|
|
1420
|
+
limits:
|
|
1421
|
+
memory: "1Gi"
|
|
1422
|
+
cpu: "1000m"
|
|
1423
|
+
livenessProbe:
|
|
1424
|
+
exec:
|
|
1425
|
+
command:
|
|
1426
|
+
- python
|
|
1427
|
+
- -c
|
|
1428
|
+
- "import sys; sys.exit(0)"
|
|
1429
|
+
initialDelaySeconds: 30
|
|
1430
|
+
periodSeconds: 10
|
|
1431
|
+
readinessProbe:
|
|
1432
|
+
exec:
|
|
1433
|
+
command:
|
|
1434
|
+
- python
|
|
1435
|
+
- -c
|
|
1436
|
+
- "import sys; sys.exit(0)"
|
|
1437
|
+
initialDelaySeconds: 5
|
|
1438
|
+
periodSeconds: 5
|
|
1439
|
+
\`\`\`
|
|
1440
|
+
|
|
1441
|
+
### Secret Management
|
|
1442
|
+
|
|
1443
|
+
\`\`\`bash
|
|
1444
|
+
# Create secret for API keys
|
|
1445
|
+
kubectl create secret generic llm-credentials \\
|
|
1446
|
+
--from-literal=openai-api-key=\${OPENAI_API_KEY}
|
|
1447
|
+
|
|
1448
|
+
# Deploy
|
|
1449
|
+
kubectl apply -f k8s/deployment.yaml
|
|
1450
|
+
kubectl apply -f k8s/service.yaml
|
|
1451
|
+
|
|
1452
|
+
# Check status
|
|
1453
|
+
kubectl get pods -l app=${projectName}
|
|
1454
|
+
kubectl logs -f deployment/${projectName}
|
|
1455
|
+
\`\`\`
|
|
1456
|
+
|
|
1457
|
+
## Cloud Platforms
|
|
1458
|
+
|
|
1459
|
+
### AWS ECS
|
|
1460
|
+
|
|
1461
|
+
\`\`\`bash
|
|
1462
|
+
# Build and push to ECR
|
|
1463
|
+
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <account>.dkr.ecr.us-east-1.amazonaws.com
|
|
1464
|
+
docker tag ${projectName}:latest <account>.dkr.ecr.us-east-1.amazonaws.com/${projectName}:latest
|
|
1465
|
+
docker push <account>.dkr.ecr.us-east-1.amazonaws.com/${projectName}:latest
|
|
1466
|
+
|
|
1467
|
+
# Create ECS task definition and service
|
|
1468
|
+
aws ecs create-service \\
|
|
1469
|
+
--cluster production \\
|
|
1470
|
+
--service-name ${projectName} \\
|
|
1471
|
+
--task-definition ${projectName}:1 \\
|
|
1472
|
+
--desired-count 3
|
|
1473
|
+
\`\`\`
|
|
1474
|
+
|
|
1475
|
+
### Google Cloud Run
|
|
1476
|
+
|
|
1477
|
+
\`\`\`bash
|
|
1478
|
+
# Build and deploy
|
|
1479
|
+
gcloud builds submit --tag gcr.io/\${PROJECT_ID}/${projectName}
|
|
1480
|
+
gcloud run deploy ${projectName} \\
|
|
1481
|
+
--image gcr.io/\${PROJECT_ID}/${projectName} \\
|
|
1482
|
+
--platform managed \\
|
|
1483
|
+
--region us-central1 \\
|
|
1484
|
+
--set-env-vars OPENAI_API_KEY=\${OPENAI_API_KEY}
|
|
1485
|
+
\`\`\`
|
|
1486
|
+
|
|
1487
|
+
### Azure Container Instances
|
|
1488
|
+
|
|
1489
|
+
\`\`\`bash
|
|
1490
|
+
# Build and push to ACR
|
|
1491
|
+
az acr build --registry <registry-name> --image ${projectName}:latest .
|
|
1492
|
+
|
|
1493
|
+
# Deploy to ACI
|
|
1494
|
+
az container create \\
|
|
1495
|
+
--resource-group <resource-group> \\
|
|
1496
|
+
--name ${projectName} \\
|
|
1497
|
+
--image <registry-name>.azurecr.io/${projectName}:latest \\
|
|
1498
|
+
--environment-variables OPENAI_API_KEY=\${OPENAI_API_KEY}
|
|
1499
|
+
\`\`\`
|
|
1500
|
+
|
|
1501
|
+
## Environment Configuration
|
|
1502
|
+
|
|
1503
|
+
### Production Environment Variables
|
|
1504
|
+
|
|
1505
|
+
\`\`\`bash
|
|
1506
|
+
# Required
|
|
1507
|
+
OPENAI_API_KEY=sk-...
|
|
1508
|
+
|
|
1509
|
+
# Optional
|
|
1510
|
+
CREWAI_VERBOSE=false
|
|
1511
|
+
CREWAI_LOG_LEVEL=WARNING
|
|
1512
|
+
CREWAI_MAX_RETRIES=3
|
|
1513
|
+
CREWAI_TIMEOUT=300
|
|
1514
|
+
|
|
1515
|
+
# Monitoring
|
|
1516
|
+
LANGSMITH_API_KEY=lsv2_pt_...
|
|
1517
|
+
LANGSMITH_PROJECT=${projectName}-production
|
|
1518
|
+
|
|
1519
|
+
# Performance
|
|
1520
|
+
CREWAI_CACHE_ENABLED=true
|
|
1521
|
+
CREWAI_PARALLEL_EXECUTION=true
|
|
1522
|
+
\`\`\`
|
|
1523
|
+
|
|
1524
|
+
### Secrets Management
|
|
1525
|
+
|
|
1526
|
+
**AWS Secrets Manager**
|
|
1527
|
+
|
|
1528
|
+
\`\`\`python
|
|
1529
|
+
import boto3
|
|
1530
|
+
import json
|
|
1531
|
+
|
|
1532
|
+
def get_secret(secret_name):
|
|
1533
|
+
client = boto3.client('secretsmanager')
|
|
1534
|
+
response = client.get_secret_value(SecretId=secret_name)
|
|
1535
|
+
return json.loads(response['SecretString'])
|
|
1536
|
+
\`\`\`
|
|
1537
|
+
|
|
1538
|
+
**Kubernetes Secrets**
|
|
1539
|
+
|
|
1540
|
+
\`\`\`bash
|
|
1541
|
+
kubectl create secret generic ${projectName}-secrets \\
|
|
1542
|
+
--from-literal=openai-api-key=\${OPENAI_API_KEY} \\
|
|
1543
|
+
--from-literal=anthropic-api-key=\${ANTHROPIC_API_KEY}
|
|
1544
|
+
\`\`\`
|
|
1545
|
+
|
|
1546
|
+
## Monitoring & Logging
|
|
1547
|
+
|
|
1548
|
+
### Application Logging
|
|
1549
|
+
|
|
1550
|
+
Configure structured logging in \`main.py\`:
|
|
1551
|
+
|
|
1552
|
+
\`\`\`python
|
|
1553
|
+
import logging
|
|
1554
|
+
import json
|
|
1555
|
+
|
|
1556
|
+
logging.basicConfig(
|
|
1557
|
+
level=logging.INFO,
|
|
1558
|
+
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
|
1559
|
+
handlers=[
|
|
1560
|
+
logging.FileHandler('logs/crew.log'),
|
|
1561
|
+
logging.StreamHandler()
|
|
1562
|
+
]
|
|
1563
|
+
)
|
|
1564
|
+
\`\`\`
|
|
1565
|
+
|
|
1566
|
+
### LangSmith Integration
|
|
1567
|
+
|
|
1568
|
+
\`\`\`python
|
|
1569
|
+
import os
|
|
1570
|
+
os.environ["LANGCHAIN_TRACING_V2"] = "true"
|
|
1571
|
+
os.environ["LANGCHAIN_PROJECT"] = "${projectName}"
|
|
1572
|
+
os.environ["LANGCHAIN_API_KEY"] = "your-langsmith-key"
|
|
1573
|
+
\`\`\`
|
|
1574
|
+
|
|
1575
|
+
### Prometheus Metrics
|
|
1576
|
+
|
|
1577
|
+
Expose metrics for Prometheus scraping:
|
|
1578
|
+
|
|
1579
|
+
\`\`\`python
|
|
1580
|
+
from prometheus_client import Counter, Histogram, start_http_server
|
|
1581
|
+
|
|
1582
|
+
crew_executions = Counter('crew_executions_total', 'Total crew executions')
|
|
1583
|
+
crew_duration = Histogram('crew_duration_seconds', 'Crew execution duration')
|
|
1584
|
+
|
|
1585
|
+
# Start metrics server
|
|
1586
|
+
start_http_server(8000)
|
|
1587
|
+
\`\`\`
|
|
1588
|
+
|
|
1589
|
+
## Security Best Practices
|
|
1590
|
+
|
|
1591
|
+
1. **Never commit secrets to version control**
|
|
1592
|
+
- Use \`.env\` files (gitignored)
|
|
1593
|
+
- Use secret managers in production
|
|
1594
|
+
|
|
1595
|
+
2. **Use environment-specific configurations**
|
|
1596
|
+
- Separate dev/staging/prod configs
|
|
1597
|
+
- Validate all environment variables on startup
|
|
1598
|
+
|
|
1599
|
+
3. **Implement rate limiting**
|
|
1600
|
+
- Prevent API abuse
|
|
1601
|
+
- Use exponential backoff for retries
|
|
1602
|
+
|
|
1603
|
+
4. **Enable audit logging**
|
|
1604
|
+
- Log all crew executions
|
|
1605
|
+
- Track API usage and costs
|
|
1606
|
+
|
|
1607
|
+
5. **Regular security updates**
|
|
1608
|
+
- Keep dependencies updated
|
|
1609
|
+
- Monitor for vulnerabilities
|
|
1610
|
+
|
|
1611
|
+
6. **Network security**
|
|
1612
|
+
- Use private networks where possible
|
|
1613
|
+
- Implement proper firewall rules
|
|
1614
|
+
- Enable TLS for all communications
|
|
1615
|
+
|
|
1616
|
+
## Scaling
|
|
1617
|
+
|
|
1618
|
+
### Horizontal Scaling
|
|
1619
|
+
|
|
1620
|
+
**Kubernetes HPA:**
|
|
1621
|
+
|
|
1622
|
+
\`\`\`yaml
|
|
1623
|
+
apiVersion: autoscaling/v2
|
|
1624
|
+
kind: HorizontalPodAutoscaler
|
|
1625
|
+
metadata:
|
|
1626
|
+
name: ${projectName}-hpa
|
|
1627
|
+
spec:
|
|
1628
|
+
scaleTargetRef:
|
|
1629
|
+
apiVersion: apps/v1
|
|
1630
|
+
kind: Deployment
|
|
1631
|
+
name: ${projectName}
|
|
1632
|
+
minReplicas: 2
|
|
1633
|
+
maxReplicas: 10
|
|
1634
|
+
metrics:
|
|
1635
|
+
- type: Resource
|
|
1636
|
+
resource:
|
|
1637
|
+
name: cpu
|
|
1638
|
+
target:
|
|
1639
|
+
type: Utilization
|
|
1640
|
+
averageUtilization: 70
|
|
1641
|
+
\`\`\`
|
|
1642
|
+
|
|
1643
|
+
### Vertical Scaling
|
|
1644
|
+
|
|
1645
|
+
Adjust resource limits based on actual usage:
|
|
1646
|
+
|
|
1647
|
+
\`\`\`yaml
|
|
1648
|
+
resources:
|
|
1649
|
+
requests:
|
|
1650
|
+
memory: "1Gi"
|
|
1651
|
+
cpu: "1000m"
|
|
1652
|
+
limits:
|
|
1653
|
+
memory: "2Gi"
|
|
1654
|
+
cpu: "2000m"
|
|
1655
|
+
\`\`\`
|
|
1656
|
+
|
|
1657
|
+
## Troubleshooting
|
|
1658
|
+
|
|
1659
|
+
### Container Fails to Start
|
|
1660
|
+
|
|
1661
|
+
\`\`\`bash
|
|
1662
|
+
# Check logs
|
|
1663
|
+
docker logs ${projectName}
|
|
1664
|
+
|
|
1665
|
+
# Verify environment variables
|
|
1666
|
+
docker exec ${projectName} env
|
|
1667
|
+
|
|
1668
|
+
# Test manually
|
|
1669
|
+
docker run -it ${projectName}:latest /bin/bash
|
|
1670
|
+
\`\`\`
|
|
1671
|
+
|
|
1672
|
+
### High Memory Usage
|
|
1673
|
+
|
|
1674
|
+
- Monitor memory consumption
|
|
1675
|
+
- Adjust resource limits
|
|
1676
|
+
- Implement caching strategies
|
|
1677
|
+
- Consider using smaller LLM models
|
|
1678
|
+
|
|
1679
|
+
### API Rate Limits
|
|
1680
|
+
|
|
1681
|
+
- Implement exponential backoff
|
|
1682
|
+
- Use rate limiting middleware
|
|
1683
|
+
- Cache responses when possible
|
|
1684
|
+
- Consider using multiple API keys
|
|
1685
|
+
|
|
1686
|
+
### Network Issues
|
|
1687
|
+
|
|
1688
|
+
\`\`\`bash
|
|
1689
|
+
# Test connectivity
|
|
1690
|
+
kubectl exec -it pod-name -- curl https://api.openai.com/v1/models
|
|
1691
|
+
|
|
1692
|
+
# Check DNS resolution
|
|
1693
|
+
kubectl exec -it pod-name -- nslookup api.openai.com
|
|
1694
|
+
\`\`\`
|
|
1695
|
+
|
|
1696
|
+
## Performance Optimization
|
|
1697
|
+
|
|
1698
|
+
1. **Enable caching** for repeated queries
|
|
1699
|
+
2. **Use async execution** for parallel tasks
|
|
1700
|
+
3. **Implement connection pooling**
|
|
1701
|
+
4. **Optimize tool implementations**
|
|
1702
|
+
5. **Monitor and tune LLM parameters**
|
|
1703
|
+
|
|
1704
|
+
## Rollback Procedures
|
|
1705
|
+
|
|
1706
|
+
**Docker:**
|
|
1707
|
+
|
|
1708
|
+
\`\`\`bash
|
|
1709
|
+
docker tag ${projectName}:latest ${projectName}:backup
|
|
1710
|
+
docker pull ${projectName}:previous
|
|
1711
|
+
docker tag ${projectName}:previous ${projectName}:latest
|
|
1712
|
+
\`\`\`
|
|
1713
|
+
|
|
1714
|
+
**Kubernetes:**
|
|
1715
|
+
|
|
1716
|
+
\`\`\`bash
|
|
1717
|
+
kubectl rollout undo deployment/${projectName}
|
|
1718
|
+
kubectl rollout status deployment/${projectName}
|
|
1719
|
+
\`\`\`
|
|
1720
|
+
|
|
1721
|
+
## Health Checks
|
|
1722
|
+
|
|
1723
|
+
Implement health endpoints:
|
|
1724
|
+
|
|
1725
|
+
\`\`\`python
|
|
1726
|
+
from flask import Flask, jsonify
|
|
1727
|
+
|
|
1728
|
+
app = Flask(__name__)
|
|
1729
|
+
|
|
1730
|
+
@app.route('/health')
|
|
1731
|
+
def health():
|
|
1732
|
+
return jsonify({"status": "healthy"}), 200
|
|
1733
|
+
|
|
1734
|
+
@app.route('/ready')
|
|
1735
|
+
def ready():
|
|
1736
|
+
# Check crew initialization
|
|
1737
|
+
return jsonify({"status": "ready"}), 200
|
|
1738
|
+
\`\`\`
|
|
1739
|
+
|
|
1740
|
+
---
|
|
1741
|
+
|
|
1742
|
+
For additional support, see the main [README.md](./README.md) or consult the OSSA documentation.
|
|
290
1743
|
`;
|
|
291
1744
|
}
|
|
292
1745
|
}
|