@bluefly/openstandardagents 0.5.1 → 0.5.3
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/.well-known/agent-card.json +28 -0
- package/.well-known/ossa.json +22 -0
- package/CHANGELOG.md +44 -26
- package/README.md +41 -697
- package/docs/README.md +59 -0
- package/docs/migration-v0.5.2.md +18 -0
- package/docs/spec.md +41 -0
- package/package.json +55 -371
- package/packages/cli/dist/cli.d.ts +1 -0
- package/packages/cli/dist/cli.js +128 -0
- package/packages/cli/package.json +25 -0
- package/packages/discovery/dist/index.d.ts +10 -0
- package/packages/discovery/dist/index.js +20 -0
- package/packages/discovery/package.json +25 -0
- package/packages/identity/dist/index.d.ts +3 -0
- package/packages/identity/dist/index.js +11 -0
- package/packages/identity/package.json +26 -0
- package/packages/policy/dist/index.d.ts +62 -0
- package/packages/policy/dist/index.js +17 -0
- package/packages/policy/package.json +22 -0
- package/packages/schema/package.json +14 -0
- package/packages/validator/dist/index.d.ts +13 -0
- package/packages/validator/dist/index.js +90 -0
- package/packages/validator/package.json +28 -0
- package/spec/reference/compliance-engine.openapi.yaml +84 -0
- package/spec/reference/reference-agents/advisor-pattern-example/manifest.ossa.yaml +57 -0
- package/spec/reference/reference-agents/compliance-auditor/manifest.ossa.yaml +0 -6
- package/spec/reference/reference-agents/doc-agent/manifest.ossa.yaml +1 -1
- package/spec/reference/reference-agents/mr-reviewer/manifest.ossa.yaml +1 -1
- package/spec/reference/reference-agents/mr-reviewer/system-prompt.md +1 -1
- package/spec/reference/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +1 -4
- package/spec/v0.5/agent-builder-openapi.yaml +1 -1
- package/spec/v0.5/agent-card.schema.json +2 -2
- package/spec/v0.5/agent.schema.json +289 -8
- package/spec/v0.5/conformance/profiles/baseline.json +7 -1
- package/spec/v0.5/extensions/a2a/a2a.schema.json +1 -1
- package/spec/v0.5/extensions/ag2/README.md +38 -0
- package/spec/v0.5/extensions/cognition/README.md +38 -0
- package/spec/v0.5/extensions/crewai/README.md +76 -0
- package/spec/v0.5/extensions/drupal/README.md +39 -0
- package/spec/v0.5/extensions/duadp/duadp-export-bundle.schema.json +47 -0
- package/spec/v0.5/extensions/duadp/duadp-validation-report.schema.json +54 -0
- package/spec/v0.5/extensions/economics/README.md +39 -0
- package/spec/v0.5/extensions/emotion.schema.json +47 -0
- package/spec/v0.5/extensions/evals/README.md +49 -0
- package/spec/v0.5/extensions/governance/README.md +61 -0
- package/spec/v0.5/extensions/governance/governance.schema.json +117 -0
- package/spec/v0.5/extensions/identity/README.md +50 -0
- package/spec/v0.5/extensions/kagent/kagent.schema.json +51 -0
- package/spec/v0.5/extensions/langchain/README.md +79 -0
- package/spec/v0.5/extensions/langgraph/README.md +97 -0
- package/spec/v0.5/extensions/memory/README.md +92 -0
- package/spec/v0.5/extensions/memory/governed-memory.schema.json +108 -0
- package/spec/v0.5/extensions/memory/memory-contract.schema.json +240 -0
- package/spec/v0.5/extensions/team/README.md +51 -0
- package/spec/v0.5/extensions/token-efficiency/README.md +55 -0
- package/spec/v0.5/invocation.openapi.yaml +120 -0
- package/spec/v0.5/memory-contract.schema.json +300 -0
- package/spec/v0.5/policy-binding.schema.json +38 -0
- package/spec/v0.5/registry.schema.json +31 -0
- package/spec/v0.5/role.schema.json +173 -0
- package/spec/v0.5/workflow.schema.json +53 -0
- package/.version.json +0 -7
- package/bin/ossa +0 -11
- package/bin/ossa-dev +0 -8
- package/bin/ossa-validate-all +0 -55
- package/bin/ossa-version +0 -23
- package/bin/postinstall +0 -62
- package/dist/.version.json +0 -7
- package/dist/adapters/a2a/a2a-protocol.d.ts +0 -398
- package/dist/adapters/a2a/a2a-protocol.js +0 -259
- package/dist/adapters/a2a/a2a-tool.d.ts +0 -110
- package/dist/adapters/a2a/a2a-tool.js +0 -351
- package/dist/adapters/a2a/agent-mesh.d.ts +0 -195
- package/dist/adapters/a2a/agent-mesh.js +0 -347
- package/dist/adapters/a2a/delegation.d.ts +0 -232
- package/dist/adapters/a2a/delegation.js +0 -236
- package/dist/adapters/a2a/index.d.ts +0 -18
- package/dist/adapters/a2a/index.js +0 -24
- package/dist/adapters/a2a/mcp-integration.d.ts +0 -259
- package/dist/adapters/a2a/mcp-integration.js +0 -331
- package/dist/adapters/a2a/mcp-transport.d.ts +0 -124
- package/dist/adapters/a2a/mcp-transport.js +0 -302
- package/dist/adapters/a2a/swarm-orchestration.d.ts +0 -278
- package/dist/adapters/a2a/swarm-orchestration.js +0 -322
- package/dist/adapters/agent-skills/exporter.d.ts +0 -98
- package/dist/adapters/agent-skills/exporter.js +0 -460
- package/dist/adapters/agent-skills/index.d.ts +0 -7
- package/dist/adapters/agent-skills/index.js +0 -6
- package/dist/adapters/anthropic/claude-optimizations.d.ts +0 -44
- package/dist/adapters/anthropic/claude-optimizations.js +0 -187
- package/dist/adapters/anthropic/client.d.ts +0 -56
- package/dist/adapters/anthropic/client.js +0 -105
- package/dist/adapters/anthropic/config-adapter.d.ts +0 -22
- package/dist/adapters/anthropic/config-adapter.js +0 -48
- package/dist/adapters/anthropic/config.d.ts +0 -149
- package/dist/adapters/anthropic/config.js +0 -157
- package/dist/adapters/anthropic/index.d.ts +0 -19
- package/dist/adapters/anthropic/index.js +0 -20
- package/dist/adapters/anthropic/messages.d.ts +0 -93
- package/dist/adapters/anthropic/messages.js +0 -285
- package/dist/adapters/anthropic/tools.d.ts +0 -111
- package/dist/adapters/anthropic/tools.js +0 -272
- package/dist/adapters/autogen/config-adapter.d.ts +0 -22
- package/dist/adapters/autogen/config-adapter.js +0 -72
- package/dist/adapters/base/adapter.interface.d.ts +0 -327
- package/dist/adapters/base/adapter.interface.js +0 -138
- package/dist/adapters/base/base-exporter.d.ts +0 -108
- package/dist/adapters/base/base-exporter.js +0 -165
- package/dist/adapters/base/common-file-generator.d.ts +0 -217
- package/dist/adapters/base/common-file-generator.js +0 -719
- package/dist/adapters/base/index.d.ts +0 -23
- package/dist/adapters/base/index.js +0 -29
- package/dist/adapters/base/manifest-validator.d.ts +0 -82
- package/dist/adapters/base/manifest-validator.js +0 -264
- package/dist/adapters/base/perfect-agent-utils.d.ts +0 -29
- package/dist/adapters/base/perfect-agent-utils.js +0 -327
- package/dist/adapters/base/template-engine.d.ts +0 -52
- package/dist/adapters/base/template-engine.js +0 -157
- package/dist/adapters/base/tool-params.d.ts +0 -42
- package/dist/adapters/base/tool-params.js +0 -123
- package/dist/adapters/browser/browser-exporter.d.ts +0 -26
- package/dist/adapters/browser/browser-exporter.js +0 -73
- package/dist/adapters/browser/browser-runner.d.ts +0 -23
- package/dist/adapters/browser/browser-runner.js +0 -46
- package/dist/adapters/browser/index.d.ts +0 -9
- package/dist/adapters/browser/index.js +0 -9
- package/dist/adapters/claude-agent-sdk/adapter.d.ts +0 -58
- package/dist/adapters/claude-agent-sdk/adapter.js +0 -705
- package/dist/adapters/claude-agent-sdk/index.d.ts +0 -9
- package/dist/adapters/claude-agent-sdk/index.js +0 -8
- package/dist/adapters/claude-agent-sdk/types.d.ts +0 -135
- package/dist/adapters/claude-agent-sdk/types.js +0 -14
- package/dist/adapters/claude-code/adapter.d.ts +0 -64
- package/dist/adapters/claude-code/adapter.js +0 -341
- package/dist/adapters/claude-code/types.d.ts +0 -154
- package/dist/adapters/claude-code/types.js +0 -6
- package/dist/adapters/crewai/adapter.d.ts +0 -109
- package/dist/adapters/crewai/adapter.js +0 -1769
- package/dist/adapters/crewai/converter.d.ts +0 -25
- package/dist/adapters/crewai/converter.js +0 -141
- package/dist/adapters/crewai/index.d.ts +0 -7
- package/dist/adapters/crewai/index.js +0 -6
- package/dist/adapters/crewai/types.d.ts +0 -29
- package/dist/adapters/crewai/types.js +0 -5
- package/dist/adapters/crewai-adapter.d.ts +0 -57
- package/dist/adapters/crewai-adapter.js +0 -166
- package/dist/adapters/cursor/adapter.d.ts +0 -75
- package/dist/adapters/cursor/adapter.js +0 -478
- package/dist/adapters/cursor/types.d.ts +0 -221
- package/dist/adapters/cursor/types.js +0 -6
- package/dist/adapters/docker/config-adapter.d.ts +0 -22
- package/dist/adapters/docker/config-adapter.js +0 -54
- package/dist/adapters/docker/docker-exporter.d.ts +0 -38
- package/dist/adapters/docker/docker-exporter.js +0 -648
- package/dist/adapters/docker/generators.d.ts +0 -85
- package/dist/adapters/docker/generators.js +0 -783
- package/dist/adapters/docker/index.d.ts +0 -10
- package/dist/adapters/docker/index.js +0 -9
- package/dist/adapters/docker/openclaw-bridge.d.ts +0 -57
- package/dist/adapters/docker/openclaw-bridge.js +0 -173
- package/dist/adapters/docker/types.d.ts +0 -87
- package/dist/adapters/docker/types.js +0 -5
- package/dist/adapters/drupal/adapter.d.ts +0 -59
- package/dist/adapters/drupal/adapter.js +0 -430
- package/dist/adapters/drupal/drupal-utils.d.ts +0 -213
- package/dist/adapters/drupal/drupal-utils.js +0 -313
- package/dist/adapters/drupal/generator.d.ts +0 -303
- package/dist/adapters/drupal/generator.js +0 -2628
- package/dist/adapters/drupal/index.d.ts +0 -114
- package/dist/adapters/drupal/index.js +0 -301
- package/dist/adapters/drupal/manifest-exporter.d.ts +0 -115
- package/dist/adapters/drupal/manifest-exporter.js +0 -584
- package/dist/adapters/drupal/twig-renderer.d.ts +0 -23
- package/dist/adapters/drupal/twig-renderer.js +0 -99
- package/dist/adapters/fusioninventory/config-adapter.d.ts +0 -22
- package/dist/adapters/fusioninventory/config-adapter.js +0 -145
- package/dist/adapters/fusioninventory/types.d.ts +0 -40
- package/dist/adapters/fusioninventory/types.js +0 -29
- package/dist/adapters/gitlab/agent-generator.d.ts +0 -103
- package/dist/adapters/gitlab/agent-generator.js +0 -909
- package/dist/adapters/gitlab/converter.d.ts +0 -35
- package/dist/adapters/gitlab/converter.js +0 -113
- package/dist/adapters/gitlab/external-agent-generator.d.ts +0 -70
- package/dist/adapters/gitlab/external-agent-generator.js +0 -347
- package/dist/adapters/gitlab/flow-generator.d.ts +0 -73
- package/dist/adapters/gitlab/flow-generator.js +0 -710
- package/dist/adapters/gitlab/index.d.ts +0 -15
- package/dist/adapters/gitlab/index.js +0 -11
- package/dist/adapters/gitlab/package-generator.d.ts +0 -180
- package/dist/adapters/gitlab/package-generator.js +0 -2400
- package/dist/adapters/gitlab/router-generator.d.ts +0 -113
- package/dist/adapters/gitlab/router-generator.js +0 -545
- package/dist/adapters/gitlab/trigger-generator.d.ts +0 -154
- package/dist/adapters/gitlab/trigger-generator.js +0 -279
- package/dist/adapters/gitlab/types.d.ts +0 -120
- package/dist/adapters/gitlab/types.js +0 -5
- package/dist/adapters/gitlab-duo/adapter.d.ts +0 -72
- package/dist/adapters/gitlab-duo/adapter.js +0 -350
- package/dist/adapters/index.d.ts +0 -14
- package/dist/adapters/index.js +0 -73
- package/dist/adapters/kubernetes/config-adapter.d.ts +0 -22
- package/dist/adapters/kubernetes/config-adapter.js +0 -112
- package/dist/adapters/kubernetes/generator.d.ts +0 -117
- package/dist/adapters/kubernetes/generator.js +0 -1386
- package/dist/adapters/kubernetes/index.d.ts +0 -7
- package/dist/adapters/kubernetes/index.js +0 -6
- package/dist/adapters/kubernetes/kagent-crd-generator.d.ts +0 -72
- package/dist/adapters/kubernetes/kagent-crd-generator.js +0 -237
- package/dist/adapters/kubernetes/types.d.ts +0 -62
- package/dist/adapters/kubernetes/types.js +0 -5
- package/dist/adapters/langchain/adapter.d.ts +0 -46
- package/dist/adapters/langchain/adapter.js +0 -289
- package/dist/adapters/langchain/converter.d.ts +0 -21
- package/dist/adapters/langchain/converter.js +0 -153
- package/dist/adapters/langchain/index.d.ts +0 -7
- package/dist/adapters/langchain/index.js +0 -6
- package/dist/adapters/langchain/types.d.ts +0 -27
- package/dist/adapters/langchain/types.js +0 -5
- package/dist/adapters/langchain-adapter.d.ts +0 -45
- package/dist/adapters/langchain-adapter.js +0 -132
- package/dist/adapters/langflow/platform-adapter.d.ts +0 -23
- package/dist/adapters/langflow/platform-adapter.js +0 -103
- package/dist/adapters/langflow-adapter.d.ts +0 -52
- package/dist/adapters/langflow-adapter.js +0 -247
- package/dist/adapters/langfuse.adapter.d.ts +0 -30
- package/dist/adapters/langfuse.adapter.js +0 -65
- package/dist/adapters/langsmith.adapter.d.ts +0 -29
- package/dist/adapters/langsmith.adapter.js +0 -62
- package/dist/adapters/mcp/adapter.d.ts +0 -49
- package/dist/adapters/mcp/adapter.js +0 -336
- package/dist/adapters/mcp/converter.d.ts +0 -32
- package/dist/adapters/mcp/converter.js +0 -343
- package/dist/adapters/mobile-agent/adapter.d.ts +0 -63
- package/dist/adapters/mobile-agent/adapter.js +0 -678
- package/dist/adapters/n8n/converter.d.ts +0 -17
- package/dist/adapters/n8n/converter.js +0 -77
- package/dist/adapters/n8n/index.d.ts +0 -7
- package/dist/adapters/n8n/index.js +0 -6
- package/dist/adapters/n8n/types.d.ts +0 -23
- package/dist/adapters/n8n/types.js +0 -5
- package/dist/adapters/npm/adapter.d.ts +0 -41
- package/dist/adapters/npm/adapter.js +0 -301
- package/dist/adapters/npm/converter.d.ts +0 -41
- package/dist/adapters/npm/converter.js +0 -357
- package/dist/adapters/npm/package-generator.d.ts +0 -93
- package/dist/adapters/npm/package-generator.js +0 -240
- package/dist/adapters/npm/type-aware-dependencies.d.ts +0 -19
- package/dist/adapters/npm/type-aware-dependencies.js +0 -160
- package/dist/adapters/npm/types.d.ts +0 -116
- package/dist/adapters/npm/types.js +0 -6
- package/dist/adapters/openai-agents/adapter.d.ts +0 -31
- package/dist/adapters/openai-agents/adapter.js +0 -346
- package/dist/adapters/openai-agents/config-adapter.d.ts +0 -25
- package/dist/adapters/openai-agents/config-adapter.js +0 -60
- package/dist/adapters/openai-agents/index.d.ts +0 -10
- package/dist/adapters/openai-agents/index.js +0 -10
- package/dist/adapters/openapi-adapter.d.ts +0 -93
- package/dist/adapters/openapi-adapter.js +0 -317
- package/dist/adapters/opentelemetry.adapter.d.ts +0 -142
- package/dist/adapters/opentelemetry.adapter.js +0 -375
- package/dist/adapters/phoenix.adapter.d.ts +0 -28
- package/dist/adapters/phoenix.adapter.js +0 -65
- package/dist/adapters/registry/platform-registry.d.ts +0 -69
- package/dist/adapters/registry/platform-registry.js +0 -94
- package/dist/adapters/semantic-kernel/config-adapter.d.ts +0 -22
- package/dist/adapters/semantic-kernel/config-adapter.js +0 -64
- package/dist/adapters/symfony/index.d.ts +0 -163
- package/dist/adapters/symfony/index.js +0 -272
- package/dist/adapters/symfony/platform-adapter.d.ts +0 -31
- package/dist/adapters/symfony/platform-adapter.js +0 -317
- package/dist/adapters/temporal/converter.d.ts +0 -17
- package/dist/adapters/temporal/converter.js +0 -96
- package/dist/adapters/temporal/index.d.ts +0 -7
- package/dist/adapters/temporal/index.js +0 -6
- package/dist/adapters/temporal/types.d.ts +0 -23
- package/dist/adapters/temporal/types.js +0 -5
- package/dist/adapters/warp/adapter.d.ts +0 -52
- package/dist/adapters/warp/adapter.js +0 -386
- package/dist/adapters/warp/types.d.ts +0 -140
- package/dist/adapters/warp/types.js +0 -6
- package/dist/api/index.d.ts +0 -13
- package/dist/api/index.js +0 -45
- package/dist/api/middleware/cors.d.ts +0 -6
- package/dist/api/middleware/cors.js +0 -17
- package/dist/api/middleware/error-handler.d.ts +0 -6
- package/dist/api/middleware/error-handler.js +0 -32
- package/dist/api/middleware/request-id.d.ts +0 -6
- package/dist/api/middleware/request-id.js +0 -12
- package/dist/api/middleware/validate.d.ts +0 -8
- package/dist/api/middleware/validate.js +0 -38
- package/dist/api/routes/agents-md.router.d.ts +0 -7
- package/dist/api/routes/agents-md.router.js +0 -93
- package/dist/api/routes/convert.router.d.ts +0 -6
- package/dist/api/routes/convert.router.js +0 -42
- package/dist/api/routes/export.router.d.ts +0 -6
- package/dist/api/routes/export.router.js +0 -44
- package/dist/api/routes/health.router.d.ts +0 -6
- package/dist/api/routes/health.router.js +0 -20
- package/dist/api/routes/manifests.router.d.ts +0 -6
- package/dist/api/routes/manifests.router.js +0 -128
- package/dist/api/routes/mcp.router.d.ts +0 -8
- package/dist/api/routes/mcp.router.js +0 -68
- package/dist/api/routes/skills.router.d.ts +0 -6
- package/dist/api/routes/skills.router.js +0 -53
- package/dist/api/routes/validate.router.d.ts +0 -7
- package/dist/api/routes/validate.router.js +0 -46
- package/dist/api/routes/version.router.d.ts +0 -6
- package/dist/api/routes/version.router.js +0 -28
- package/dist/api/routes/wizard.router.d.ts +0 -6
- package/dist/api/routes/wizard.router.js +0 -110
- package/dist/api/routes/workspace.router.d.ts +0 -6
- package/dist/api/routes/workspace.router.js +0 -52
- package/dist/api/server.d.ts +0 -10
- package/dist/api/server.js +0 -21
- package/dist/bot/agent-architecture_validator.d.ts +0 -8
- package/dist/bot/agent-architecture_validator.js +0 -15
- package/dist/bot/agent-ci_pipeline.d.ts +0 -7
- package/dist/bot/agent-ci_pipeline.js +0 -7
- package/dist/bot/agent-compliance.d.ts +0 -56
- package/dist/bot/agent-compliance.js +0 -222
- package/dist/bot/agent-dependency_updater.d.ts +0 -9
- package/dist/bot/agent-dependency_updater.js +0 -9
- package/dist/bot/agent-security_scanner.d.ts +0 -11
- package/dist/bot/agent-security_scanner.js +0 -21
- package/dist/cli/banner.d.ts +0 -25
- package/dist/cli/banner.js +0 -153
- package/dist/cli/commands/agent/discover-type.command.d.ts +0 -39
- package/dist/cli/commands/agent/discover-type.command.js +0 -332
- package/dist/cli/commands/agent-card.command.d.ts +0 -9
- package/dist/cli/commands/agent-card.command.js +0 -185
- package/dist/cli/commands/agent-wizard.command.d.ts +0 -21
- package/dist/cli/commands/agent-wizard.command.js +0 -1558
- package/dist/cli/commands/agents/delete.command.d.ts +0 -10
- package/dist/cli/commands/agents/delete.command.js +0 -105
- package/dist/cli/commands/agents/list.command.d.ts +0 -10
- package/dist/cli/commands/agents/list.command.js +0 -140
- package/dist/cli/commands/agents/persona.command.d.ts +0 -10
- package/dist/cli/commands/agents/persona.command.js +0 -519
- package/dist/cli/commands/agents/show.command.d.ts +0 -10
- package/dist/cli/commands/agents/show.command.js +0 -182
- package/dist/cli/commands/agents-local.command.d.ts +0 -10
- package/dist/cli/commands/agents-local.command.js +0 -281
- package/dist/cli/commands/agents-md/batch.command.d.ts +0 -3
- package/dist/cli/commands/agents-md/batch.command.js +0 -63
- package/dist/cli/commands/agents-md/generate.command.d.ts +0 -3
- package/dist/cli/commands/agents-md/generate.command.js +0 -43
- package/dist/cli/commands/agents-md/list.command.d.ts +0 -3
- package/dist/cli/commands/agents-md/list.command.js +0 -59
- package/dist/cli/commands/agents-md/validate.command.d.ts +0 -3
- package/dist/cli/commands/agents-md/validate.command.js +0 -42
- package/dist/cli/commands/agents-md.command.d.ts +0 -7
- package/dist/cli/commands/agents-md.command.js +0 -236
- package/dist/cli/commands/agents-sync.command.d.ts +0 -19
- package/dist/cli/commands/agents-sync.command.js +0 -278
- package/dist/cli/commands/agents.command.d.ts +0 -11
- package/dist/cli/commands/agents.command.js +0 -216
- package/dist/cli/commands/audit.d.ts +0 -8
- package/dist/cli/commands/audit.js +0 -268
- package/dist/cli/commands/build.command.d.ts +0 -7
- package/dist/cli/commands/build.command.js +0 -296
- package/dist/cli/commands/capability/create.command.d.ts +0 -7
- package/dist/cli/commands/capability/create.command.js +0 -225
- package/dist/cli/commands/capability/index.d.ts +0 -7
- package/dist/cli/commands/capability/index.js +0 -10
- package/dist/cli/commands/capability/validate.d.ts +0 -3
- package/dist/cli/commands/capability/validate.js +0 -62
- package/dist/cli/commands/catalog/config.d.ts +0 -54
- package/dist/cli/commands/catalog/config.js +0 -113
- package/dist/cli/commands/catalog/convert.command.d.ts +0 -8
- package/dist/cli/commands/catalog/convert.command.js +0 -106
- package/dist/cli/commands/catalog/index.d.ts +0 -17
- package/dist/cli/commands/catalog/index.js +0 -34
- package/dist/cli/commands/catalog/info.command.d.ts +0 -3
- package/dist/cli/commands/catalog/info.command.js +0 -137
- package/dist/cli/commands/catalog/list.command.d.ts +0 -8
- package/dist/cli/commands/catalog/list.command.js +0 -101
- package/dist/cli/commands/catalog/schemas.d.ts +0 -62
- package/dist/cli/commands/catalog/schemas.js +0 -55
- package/dist/cli/commands/catalog/search.command.d.ts +0 -3
- package/dist/cli/commands/catalog/search.command.js +0 -47
- package/dist/cli/commands/catalog/validate.command.d.ts +0 -8
- package/dist/cli/commands/catalog/validate.command.js +0 -140
- package/dist/cli/commands/compliance.command.d.ts +0 -19
- package/dist/cli/commands/compliance.command.js +0 -221
- package/dist/cli/commands/config.command.d.ts +0 -7
- package/dist/cli/commands/config.command.js +0 -92
- package/dist/cli/commands/conformance.command.d.ts +0 -14
- package/dist/cli/commands/conformance.command.js +0 -232
- package/dist/cli/commands/contract.command.d.ts +0 -15
- package/dist/cli/commands/contract.command.js +0 -381
- package/dist/cli/commands/daemon.command.d.ts +0 -9
- package/dist/cli/commands/daemon.command.js +0 -447
- package/dist/cli/commands/dependencies.command.d.ts +0 -15
- package/dist/cli/commands/dependencies.command.js +0 -274
- package/dist/cli/commands/deploy-enhanced.command.d.ts +0 -15
- package/dist/cli/commands/deploy-enhanced.command.js +0 -334
- package/dist/cli/commands/deploy.command.d.ts +0 -7
- package/dist/cli/commands/deploy.command.js +0 -83
- package/dist/cli/commands/deploy.d.ts +0 -22
- package/dist/cli/commands/deploy.js +0 -336
- package/dist/cli/commands/dev.command.d.ts +0 -20
- package/dist/cli/commands/dev.command.js +0 -78
- package/dist/cli/commands/diff.command.d.ts +0 -11
- package/dist/cli/commands/diff.command.js +0 -197
- package/dist/cli/commands/discover.d.ts +0 -15
- package/dist/cli/commands/discover.js +0 -219
- package/dist/cli/commands/docs.command.d.ts +0 -7
- package/dist/cli/commands/docs.command.js +0 -278
- package/dist/cli/commands/economics.command.d.ts +0 -9
- package/dist/cli/commands/economics.command.js +0 -113
- package/dist/cli/commands/enhance.command.d.ts +0 -10
- package/dist/cli/commands/enhance.command.js +0 -119
- package/dist/cli/commands/ensure-uuid.command.d.ts +0 -7
- package/dist/cli/commands/ensure-uuid.command.js +0 -153
- package/dist/cli/commands/estimate.command.d.ts +0 -12
- package/dist/cli/commands/estimate.command.js +0 -226
- package/dist/cli/commands/examples.command.d.ts +0 -10
- package/dist/cli/commands/examples.command.js +0 -73
- package/dist/cli/commands/export-enhanced.command.d.ts +0 -7
- package/dist/cli/commands/export-enhanced.command.js +0 -149
- package/dist/cli/commands/export.command.d.ts +0 -15
- package/dist/cli/commands/export.command.js +0 -1031
- package/dist/cli/commands/extension-team.command.d.ts +0 -15
- package/dist/cli/commands/extension-team.command.js +0 -126
- package/dist/cli/commands/framework.command.d.ts +0 -9
- package/dist/cli/commands/framework.command.js +0 -194
- package/dist/cli/commands/generate/conformance.d.ts +0 -3
- package/dist/cli/commands/generate/conformance.js +0 -106
- package/dist/cli/commands/generate-gaid.command.d.ts +0 -14
- package/dist/cli/commands/generate-gaid.command.js +0 -141
- package/dist/cli/commands/generate.command.d.ts +0 -18
- package/dist/cli/commands/generate.command.js +0 -247
- package/dist/cli/commands/github-sync.command.d.ts +0 -3
- package/dist/cli/commands/github-sync.command.js +0 -51
- package/dist/cli/commands/gitlab-agent.command.d.ts +0 -8
- package/dist/cli/commands/gitlab-agent.command.js +0 -201
- package/dist/cli/commands/governance.command.d.ts +0 -11
- package/dist/cli/commands/governance.command.js +0 -166
- package/dist/cli/commands/identity/plan.d.ts +0 -3
- package/dist/cli/commands/identity/plan.js +0 -182
- package/dist/cli/commands/import.command.d.ts +0 -7
- package/dist/cli/commands/import.command.js +0 -71
- package/dist/cli/commands/info.command.d.ts +0 -3
- package/dist/cli/commands/info.command.js +0 -45
- package/dist/cli/commands/init.command.d.ts +0 -7
- package/dist/cli/commands/init.command.js +0 -165
- package/dist/cli/commands/install.command.d.ts +0 -3
- package/dist/cli/commands/install.command.js +0 -43
- package/dist/cli/commands/knowledge-index.command.d.ts +0 -11
- package/dist/cli/commands/knowledge-index.command.js +0 -111
- package/dist/cli/commands/knowledge-query.command.d.ts +0 -11
- package/dist/cli/commands/knowledge-query.command.js +0 -118
- package/dist/cli/commands/knowledge.command.d.ts +0 -11
- package/dist/cli/commands/knowledge.command.js +0 -16
- package/dist/cli/commands/langchain.command.d.ts +0 -9
- package/dist/cli/commands/langchain.command.js +0 -113
- package/dist/cli/commands/langflow.command.d.ts +0 -9
- package/dist/cli/commands/langflow.command.js +0 -111
- package/dist/cli/commands/lifecycle.command.d.ts +0 -29
- package/dist/cli/commands/lifecycle.command.js +0 -495
- package/dist/cli/commands/lint.command.d.ts +0 -12
- package/dist/cli/commands/lint.command.js +0 -377
- package/dist/cli/commands/llms-txt.command.d.ts +0 -7
- package/dist/cli/commands/llms-txt.command.js +0 -118
- package/dist/cli/commands/manifest/diff.command.d.ts +0 -7
- package/dist/cli/commands/manifest/diff.command.js +0 -186
- package/dist/cli/commands/manifest/explain.command.d.ts +0 -7
- package/dist/cli/commands/manifest/explain.command.js +0 -193
- package/dist/cli/commands/manifest/index.d.ts +0 -7
- package/dist/cli/commands/manifest/index.js +0 -12
- package/dist/cli/commands/mcp.command.d.ts +0 -9
- package/dist/cli/commands/mcp.command.js +0 -112
- package/dist/cli/commands/memory.command.d.ts +0 -18
- package/dist/cli/commands/memory.command.js +0 -168
- package/dist/cli/commands/migrate-batch.command.d.ts +0 -19
- package/dist/cli/commands/migrate-batch.command.js +0 -223
- package/dist/cli/commands/migrate-langchain.command.d.ts +0 -23
- package/dist/cli/commands/migrate-langchain.command.js +0 -167
- package/dist/cli/commands/migrate.command.d.ts +0 -10
- package/dist/cli/commands/migrate.command.js +0 -103
- package/dist/cli/commands/platforms.command.d.ts +0 -7
- package/dist/cli/commands/platforms.command.js +0 -90
- package/dist/cli/commands/policy.command.d.ts +0 -11
- package/dist/cli/commands/policy.command.js +0 -85
- package/dist/cli/commands/publish.command.d.ts +0 -3
- package/dist/cli/commands/publish.command.js +0 -118
- package/dist/cli/commands/quickstart.command.d.ts +0 -10
- package/dist/cli/commands/quickstart.command.js +0 -238
- package/dist/cli/commands/register.d.ts +0 -12
- package/dist/cli/commands/register.js +0 -200
- package/dist/cli/commands/registry.command.d.ts +0 -18
- package/dist/cli/commands/registry.command.js +0 -433
- package/dist/cli/commands/release.command.d.ts +0 -10
- package/dist/cli/commands/release.command.js +0 -73
- package/dist/cli/commands/rollback.command.d.ts +0 -13
- package/dist/cli/commands/rollback.command.js +0 -169
- package/dist/cli/commands/run.command.d.ts +0 -7
- package/dist/cli/commands/run.command.js +0 -141
- package/dist/cli/commands/scaffold.command.d.ts +0 -19
- package/dist/cli/commands/scaffold.command.js +0 -240
- package/dist/cli/commands/schema.command.d.ts +0 -11
- package/dist/cli/commands/schema.command.js +0 -82
- package/dist/cli/commands/search.command.d.ts +0 -3
- package/dist/cli/commands/search.command.js +0 -74
- package/dist/cli/commands/serve-builder-routes.d.ts +0 -17
- package/dist/cli/commands/serve-builder-routes.js +0 -390
- package/dist/cli/commands/serve.command.d.ts +0 -7
- package/dist/cli/commands/serve.command.js +0 -237
- package/dist/cli/commands/sign.command.d.ts +0 -3
- package/dist/cli/commands/sign.command.js +0 -42
- package/dist/cli/commands/skills.command.d.ts +0 -10
- package/dist/cli/commands/skills.command.js +0 -649
- package/dist/cli/commands/standardize.command.d.ts +0 -19
- package/dist/cli/commands/standardize.command.js +0 -290
- package/dist/cli/commands/sync.command.d.ts +0 -3
- package/dist/cli/commands/sync.command.js +0 -51
- package/dist/cli/commands/taxonomy.command.d.ts +0 -10
- package/dist/cli/commands/taxonomy.command.js +0 -379
- package/dist/cli/commands/template.command.d.ts +0 -7
- package/dist/cli/commands/template.command.js +0 -159
- package/dist/cli/commands/test.command.d.ts +0 -12
- package/dist/cli/commands/test.command.js +0 -233
- package/dist/cli/commands/tool/create.command.d.ts +0 -12
- package/dist/cli/commands/tool/create.command.js +0 -276
- package/dist/cli/commands/tool/index.d.ts +0 -7
- package/dist/cli/commands/tool/index.js +0 -14
- package/dist/cli/commands/tool/list.command.d.ts +0 -7
- package/dist/cli/commands/tool/list.command.js +0 -268
- package/dist/cli/commands/tool/validate.command.d.ts +0 -7
- package/dist/cli/commands/tool/validate.command.js +0 -103
- package/dist/cli/commands/types/wizard-config.types.d.ts +0 -59
- package/dist/cli/commands/types/wizard-config.types.js +0 -34
- package/dist/cli/commands/update.command.d.ts +0 -3
- package/dist/cli/commands/update.command.js +0 -43
- package/dist/cli/commands/upgrade.command.d.ts +0 -9
- package/dist/cli/commands/upgrade.command.js +0 -179
- package/dist/cli/commands/usie-skills.command.d.ts +0 -24
- package/dist/cli/commands/usie-skills.command.js +0 -297
- package/dist/cli/commands/validate.command.d.ts +0 -11
- package/dist/cli/commands/validate.command.js +0 -396
- package/dist/cli/commands/verify.d.ts +0 -15
- package/dist/cli/commands/verify.js +0 -307
- package/dist/cli/commands/wizard-api-first.command.d.ts +0 -18
- package/dist/cli/commands/wizard-api-first.command.js +0 -1073
- package/dist/cli/commands/wizard-interactive.command.d.ts +0 -25
- package/dist/cli/commands/wizard-interactive.command.js +0 -3467
- package/dist/cli/commands/wizard.command.d.ts +0 -12
- package/dist/cli/commands/wizard.command.js +0 -844
- package/dist/cli/commands/workspace.command.d.ts +0 -16
- package/dist/cli/commands/workspace.command.js +0 -653
- package/dist/cli/extensions/gitlab-release.commands.d.ts +0 -19
- package/dist/cli/extensions/gitlab-release.commands.js +0 -345
- package/dist/cli/extensions/gitlab.extension.d.ts +0 -24
- package/dist/cli/extensions/gitlab.extension.js +0 -65
- package/dist/cli/extensions/index.d.ts +0 -63
- package/dist/cli/extensions/index.js +0 -182
- package/dist/cli/index.d.ts +0 -17
- package/dist/cli/index.js +0 -362
- package/dist/cli/schema-driven/index.d.ts +0 -27
- package/dist/cli/schema-driven/index.js +0 -34
- package/dist/cli/schema-driven/schema-loader.d.ts +0 -115
- package/dist/cli/schema-driven/schema-loader.js +0 -280
- package/dist/cli/schema-driven/ui-generator.d.ts +0 -88
- package/dist/cli/schema-driven/ui-generator.js +0 -335
- package/dist/cli/skills-wizard/skill-wizard.d.ts +0 -25
- package/dist/cli/skills-wizard/skill-wizard.js +0 -195
- package/dist/cli/templates/agent-templates.d.ts +0 -49
- package/dist/cli/templates/agent-templates.js +0 -237
- package/dist/cli/templates/enhanced-templates.d.ts +0 -32
- package/dist/cli/templates/enhanced-templates.js +0 -650
- package/dist/cli/utils/error-formatter.d.ts +0 -19
- package/dist/cli/utils/error-formatter.js +0 -352
- package/dist/cli/utils/gitlab-config.d.ts +0 -94
- package/dist/cli/utils/gitlab-config.js +0 -182
- package/dist/cli/utils/index.d.ts +0 -12
- package/dist/cli/utils/index.js +0 -17
- package/dist/cli/utils/logo.d.ts +0 -10
- package/dist/cli/utils/logo.js +0 -49
- package/dist/cli/utils/manifest-discovery.d.ts +0 -63
- package/dist/cli/utils/manifest-discovery.js +0 -201
- package/dist/cli/utils/manifest-loader.d.ts +0 -77
- package/dist/cli/utils/manifest-loader.js +0 -153
- package/dist/cli/utils/migration-reporter.d.ts +0 -96
- package/dist/cli/utils/migration-reporter.js +0 -253
- package/dist/cli/utils/output.d.ts +0 -134
- package/dist/cli/utils/output.js +0 -203
- package/dist/cli/utils/standard-options.d.ts +0 -144
- package/dist/cli/utils/standard-options.js +0 -246
- package/dist/cli/utils/validation-builder.d.ts +0 -121
- package/dist/cli/utils/validation-builder.js +0 -322
- package/dist/cli/wizard/data/agent-types.d.ts +0 -7
- package/dist/cli/wizard/data/agent-types.js +0 -192
- package/dist/cli/wizard/data/llm-providers.d.ts +0 -10
- package/dist/cli/wizard/data/llm-providers.js +0 -176
- package/dist/cli/wizard/data/taxonomy.d.ts +0 -39
- package/dist/cli/wizard/data/taxonomy.js +0 -138
- package/dist/cli/wizard/data/templates.d.ts +0 -10
- package/dist/cli/wizard/data/templates.js +0 -228
- package/dist/cli/wizard/engine/wizard-engine.d.ts +0 -47
- package/dist/cli/wizard/engine/wizard-engine.js +0 -193
- package/dist/cli/wizard/interactive-wizard.d.ts +0 -26
- package/dist/cli/wizard/interactive-wizard.js +0 -309
- package/dist/cli/wizard/steps/01-agent-type.d.ts +0 -7
- package/dist/cli/wizard/steps/01-agent-type.js +0 -35
- package/dist/cli/wizard/steps/02-basic-info.d.ts +0 -7
- package/dist/cli/wizard/steps/02-basic-info.js +0 -81
- package/dist/cli/wizard/steps/03-domain-capability.d.ts +0 -7
- package/dist/cli/wizard/steps/03-domain-capability.js +0 -98
- package/dist/cli/wizard/steps/04-llm-config.d.ts +0 -7
- package/dist/cli/wizard/steps/04-llm-config.js +0 -86
- package/dist/cli/wizard/steps/04a-persona.d.ts +0 -16
- package/dist/cli/wizard/steps/04a-persona.js +0 -297
- package/dist/cli/wizard/steps/05-tools.d.ts +0 -7
- package/dist/cli/wizard/steps/05-tools.js +0 -200
- package/dist/cli/wizard/steps/06-autonomy.d.ts +0 -7
- package/dist/cli/wizard/steps/06-autonomy.js +0 -87
- package/dist/cli/wizard/steps/07-observability.d.ts +0 -7
- package/dist/cli/wizard/steps/07-observability.js +0 -149
- package/dist/cli/wizard/steps/08-deployment.d.ts +0 -7
- package/dist/cli/wizard/steps/08-deployment.js +0 -122
- package/dist/cli/wizard/steps/08a-target-platforms.d.ts +0 -7
- package/dist/cli/wizard/steps/08a-target-platforms.js +0 -50
- package/dist/cli/wizard/steps/09-advanced.d.ts +0 -7
- package/dist/cli/wizard/steps/09-advanced.js +0 -160
- package/dist/cli/wizard/steps/09a-token-efficiency.d.ts +0 -8
- package/dist/cli/wizard/steps/09a-token-efficiency.js +0 -153
- package/dist/cli/wizard/steps/09b-separation-of-duties.d.ts +0 -7
- package/dist/cli/wizard/steps/09b-separation-of-duties.js +0 -93
- package/dist/cli/wizard/steps/09c-agents-md.d.ts +0 -8
- package/dist/cli/wizard/steps/09c-agents-md.js +0 -61
- package/dist/cli/wizard/steps/09d-drupal-tools-eca.d.ts +0 -8
- package/dist/cli/wizard/steps/09d-drupal-tools-eca.js +0 -52
- package/dist/cli/wizard/steps/09e-memory-management.d.ts +0 -9
- package/dist/cli/wizard/steps/09e-memory-management.js +0 -188
- package/dist/cli/wizard/steps/10-review.d.ts +0 -7
- package/dist/cli/wizard/steps/10-review.js +0 -173
- package/dist/cli/wizard/steps/12-agents-folder.d.ts +0 -7
- package/dist/cli/wizard/steps/12-agents-folder.js +0 -105
- package/dist/cli/wizard/steps/13-openapi-generation.d.ts +0 -7
- package/dist/cli/wizard/steps/13-openapi-generation.js +0 -68
- package/dist/cli/wizard/steps/14-workspace-registration.d.ts +0 -7
- package/dist/cli/wizard/steps/14-workspace-registration.js +0 -72
- package/dist/cli/wizard/steps/15-cost-estimation.d.ts +0 -7
- package/dist/cli/wizard/steps/15-cost-estimation.js +0 -135
- package/dist/cli/wizard/steps/16-best-practices.d.ts +0 -7
- package/dist/cli/wizard/steps/16-best-practices.js +0 -181
- package/dist/cli/wizard/steps/index.d.ts +0 -21
- package/dist/cli/wizard/steps/index.js +0 -21
- package/dist/cli/wizard/template-catalog.d.ts +0 -32
- package/dist/cli/wizard/template-catalog.js +0 -99
- package/dist/cli/wizard/types.d.ts +0 -132
- package/dist/cli/wizard/types.js +0 -6
- package/dist/cli/wizard/ui/banner.d.ts +0 -20
- package/dist/cli/wizard/ui/banner.js +0 -66
- package/dist/cli/wizard/ui/console.d.ts +0 -26
- package/dist/cli/wizard/ui/console.js +0 -102
- package/dist/cli/wizard/ui/wizard-ui.d.ts +0 -75
- package/dist/cli/wizard/ui/wizard-ui.js +0 -150
- package/dist/cli/wizard/use-cases.d.ts +0 -37
- package/dist/cli/wizard/use-cases.js +0 -157
- package/dist/cli/wizard/validators/index.d.ts +0 -11
- package/dist/cli/wizard/validators/index.js +0 -35
- package/dist/cli/workspace-validate.d.ts +0 -23
- package/dist/cli/workspace-validate.js +0 -117
- package/dist/confidence/index.d.ts +0 -67
- package/dist/confidence/index.js +0 -130
- package/dist/config/cli-config.d.ts +0 -33
- package/dist/config/cli-config.js +0 -107
- package/dist/config/defaults.d.ts +0 -197
- package/dist/config/defaults.js +0 -299
- package/dist/converters/skill-md-converter.d.ts +0 -72
- package/dist/converters/skill-md-converter.js +0 -169
- package/dist/data/marketplace-skills-catalog.d.ts +0 -119
- package/dist/data/marketplace-skills-catalog.js +0 -147
- package/dist/data/platform-matrix.d.ts +0 -43
- package/dist/data/platform-matrix.js +0 -497
- package/dist/deploy/base-driver.d.ts +0 -39
- package/dist/deploy/base-driver.js +0 -63
- package/dist/deploy/cloud/aws-driver.d.ts +0 -75
- package/dist/deploy/cloud/aws-driver.js +0 -349
- package/dist/deploy/cloud/azure-driver.d.ts +0 -54
- package/dist/deploy/cloud/azure-driver.js +0 -221
- package/dist/deploy/cloud/gcp-driver.d.ts +0 -56
- package/dist/deploy/cloud/gcp-driver.js +0 -216
- package/dist/deploy/docker-driver.d.ts +0 -32
- package/dist/deploy/docker-driver.js +0 -246
- package/dist/deploy/index.d.ts +0 -15
- package/dist/deploy/index.js +0 -28
- package/dist/deploy/k8s-driver.d.ts +0 -40
- package/dist/deploy/k8s-driver.js +0 -380
- package/dist/deploy/local-driver.d.ts +0 -20
- package/dist/deploy/local-driver.js +0 -150
- package/dist/deploy/types.d.ts +0 -104
- package/dist/deploy/types.js +0 -6
- package/dist/di-container.d.ts +0 -23
- package/dist/di-container.js +0 -200
- package/dist/errors/index.d.ts +0 -154
- package/dist/errors/index.js +0 -327
- package/dist/generated/types.d.ts +0 -691
- package/dist/generated/types.js +0 -6
- package/dist/index.d.ts +0 -12
- package/dist/index.js +0 -14
- package/dist/interfaces/governance-provider.interface.d.ts +0 -95
- package/dist/interfaces/governance-provider.interface.js +0 -17
- package/dist/mcp-server/index.d.ts +0 -21
- package/dist/mcp-server/index.js +0 -1866
- package/dist/mesh/advanced-routing.d.ts +0 -181
- package/dist/mesh/advanced-routing.js +0 -479
- package/dist/mesh/agent-graph.d.ts +0 -218
- package/dist/mesh/agent-graph.js +0 -493
- package/dist/mesh/client.d.ts +0 -144
- package/dist/mesh/client.js +0 -427
- package/dist/mesh/discovery-gkg.d.ts +0 -26
- package/dist/mesh/discovery-gkg.js +0 -92
- package/dist/mesh/discovery-providers.d.ts +0 -162
- package/dist/mesh/discovery-providers.js +0 -520
- package/dist/mesh/discovery.d.ts +0 -176
- package/dist/mesh/discovery.js +0 -289
- package/dist/mesh/index.d.ts +0 -92
- package/dist/mesh/index.js +0 -98
- package/dist/mesh/routing.d.ts +0 -158
- package/dist/mesh/routing.js +0 -363
- package/dist/mesh/types.d.ts +0 -889
- package/dist/mesh/types.js +0 -6
- package/dist/messaging/broker.d.ts +0 -76
- package/dist/messaging/broker.js +0 -147
- package/dist/messaging/channels.d.ts +0 -70
- package/dist/messaging/channels.js +0 -187
- package/dist/messaging/index.d.ts +0 -10
- package/dist/messaging/index.js +0 -10
- package/dist/messaging/protocols/memory.d.ts +0 -83
- package/dist/messaging/protocols/memory.js +0 -290
- package/dist/messaging/protocols/redis.d.ts +0 -83
- package/dist/messaging/protocols/redis.js +0 -223
- package/dist/messaging/types.d.ts +0 -180
- package/dist/messaging/types.js +0 -6
- package/dist/messenger/Commands/MessengerConsumeCommand.d.ts +0 -57
- package/dist/messenger/Commands/MessengerConsumeCommand.js +0 -49
- package/dist/messenger/Commands/MessengerFailedCommand.d.ts +0 -76
- package/dist/messenger/Commands/MessengerFailedCommand.js +0 -120
- package/dist/messenger/Commands/MessengerStatsCommand.d.ts +0 -61
- package/dist/messenger/Commands/MessengerStatsCommand.js +0 -80
- package/dist/messenger/Commands/index.d.ts +0 -10
- package/dist/messenger/Commands/index.js +0 -10
- package/dist/messenger/EventSubscriber/FailedMessageSubscriber.d.ts +0 -44
- package/dist/messenger/EventSubscriber/FailedMessageSubscriber.js +0 -64
- package/dist/messenger/Handler/AgentBatchHandler.d.ts +0 -80
- package/dist/messenger/Handler/AgentBatchHandler.js +0 -212
- package/dist/messenger/Handler/AgentExecutionHandler.d.ts +0 -76
- package/dist/messenger/Handler/AgentExecutionHandler.js +0 -136
- package/dist/messenger/Handler/index.d.ts +0 -9
- package/dist/messenger/Handler/index.js +0 -9
- package/dist/messenger/Message/AgentBatchMessage.d.ts +0 -115
- package/dist/messenger/Message/AgentBatchMessage.js +0 -102
- package/dist/messenger/Message/AgentExecutionMessage.d.ts +0 -98
- package/dist/messenger/Message/AgentExecutionMessage.js +0 -77
- package/dist/messenger/Message/index.d.ts +0 -9
- package/dist/messenger/Message/index.js +0 -9
- package/dist/messenger/Middleware/AuthenticationMiddleware.d.ts +0 -41
- package/dist/messenger/Middleware/AuthenticationMiddleware.js +0 -84
- package/dist/messenger/Middleware/LoggingMiddleware.d.ts +0 -30
- package/dist/messenger/Middleware/LoggingMiddleware.js +0 -59
- package/dist/messenger/Middleware/RateLimitMiddleware.d.ts +0 -67
- package/dist/messenger/Middleware/RateLimitMiddleware.js +0 -90
- package/dist/messenger/Middleware/ValidationMiddleware.d.ts +0 -39
- package/dist/messenger/Middleware/ValidationMiddleware.js +0 -96
- package/dist/messenger/Middleware/index.d.ts +0 -11
- package/dist/messenger/Middleware/index.js +0 -11
- package/dist/messenger/Monitoring/MetricsCollector.d.ts +0 -107
- package/dist/messenger/Monitoring/MetricsCollector.js +0 -80
- package/dist/messenger/Monitoring/QueueMonitor.d.ts +0 -74
- package/dist/messenger/Monitoring/QueueMonitor.js +0 -160
- package/dist/messenger/Monitoring/index.d.ts +0 -9
- package/dist/messenger/Monitoring/index.js +0 -9
- package/dist/messenger/index.d.ts +0 -38
- package/dist/messenger/index.js +0 -44
- package/dist/observability/index.d.ts +0 -13
- package/dist/observability/index.js +0 -14
- package/dist/observability/metrics.d.ts +0 -131
- package/dist/observability/metrics.js +0 -308
- package/dist/observability/middleware.d.ts +0 -64
- package/dist/observability/middleware.js +0 -225
- package/dist/package.json +0 -386
- package/dist/repositories/manifest.repository.d.ts +0 -26
- package/dist/repositories/manifest.repository.js +0 -96
- package/dist/repositories/schema.repository.d.ts +0 -54
- package/dist/repositories/schema.repository.js +0 -281
- package/dist/runtime/agent-runner.d.ts +0 -46
- package/dist/runtime/agent-runner.js +0 -346
- package/dist/runtime/crewai.runtime.d.ts +0 -30
- package/dist/runtime/crewai.runtime.js +0 -110
- package/dist/runtime/langchain.runtime.d.ts +0 -32
- package/dist/runtime/langchain.runtime.js +0 -75
- package/dist/runtime/langflow.runtime.d.ts +0 -65
- package/dist/runtime/langflow.runtime.js +0 -143
- package/dist/sdk.d.ts +0 -49
- package/dist/sdk.js +0 -66
- package/dist/sdks/index.d.ts +0 -15
- package/dist/sdks/index.js +0 -17
- package/dist/sdks/kagent/crd-generator.d.ts +0 -106
- package/dist/sdks/kagent/crd-generator.js +0 -1114
- package/dist/sdks/kagent/crd-parser.d.ts +0 -13
- package/dist/sdks/kagent/crd-parser.js +0 -92
- package/dist/sdks/kagent/index.d.ts +0 -10
- package/dist/sdks/kagent/index.js +0 -9
- package/dist/sdks/kagent/k8s-resources-generator.d.ts +0 -73
- package/dist/sdks/kagent/k8s-resources-generator.js +0 -286
- package/dist/sdks/kagent/kubectl-apply.d.ts +0 -35
- package/dist/sdks/kagent/kubectl-apply.js +0 -127
- package/dist/sdks/kagent/runtime-adapter.d.ts +0 -45
- package/dist/sdks/kagent/runtime-adapter.js +0 -129
- package/dist/sdks/kagent/tool-registry.d.ts +0 -25
- package/dist/sdks/kagent/tool-registry.js +0 -148
- package/dist/sdks/kagent/types.d.ts +0 -327
- package/dist/sdks/kagent/types.js +0 -10
- package/dist/sdks/kagent/validator.d.ts +0 -17
- package/dist/sdks/kagent/validator.js +0 -73
- package/dist/sdks/shared/index.d.ts +0 -24
- package/dist/sdks/shared/index.js +0 -28
- package/dist/sdks/shared/manifest-loader.d.ts +0 -41
- package/dist/sdks/shared/manifest-loader.js +0 -45
- package/dist/sdks/shared/schema-validator.d.ts +0 -34
- package/dist/sdks/shared/schema-validator.js +0 -103
- package/dist/sdks/shared/types.d.ts +0 -43
- package/dist/sdks/shared/types.js +0 -27
- package/dist/sdks/shared/validation.d.ts +0 -52
- package/dist/sdks/shared/validation.js +0 -41
- package/dist/services/agent-card-generator.d.ts +0 -77
- package/dist/services/agent-card-generator.js +0 -752
- package/dist/services/agent-services/qdrant.service.d.ts +0 -60
- package/dist/services/agent-services/qdrant.service.js +0 -168
- package/dist/services/agent-type-detector.service.d.ts +0 -72
- package/dist/services/agent-type-detector.service.js +0 -197
- package/dist/services/agents-md/agents-md-api.service.d.ts +0 -92
- package/dist/services/agents-md/agents-md-api.service.js +0 -162
- package/dist/services/agents-md/agents-md-discovery.service.d.ts +0 -50
- package/dist/services/agents-md/agents-md-discovery.service.js +0 -190
- package/dist/services/agents-md/agents-md-generator.service.d.ts +0 -29
- package/dist/services/agents-md/agents-md-generator.service.js +0 -252
- package/dist/services/agents-md/agents-md.service.d.ts +0 -65
- package/dist/services/agents-md/agents-md.service.js +0 -379
- package/dist/services/agents-md/repo-agents-md.service.d.ts +0 -87
- package/dist/services/agents-md/repo-agents-md.service.js +0 -202
- package/dist/services/ai-architect.service.d.ts +0 -48
- package/dist/services/ai-architect.service.js +0 -273
- package/dist/services/audit.d.ts +0 -86
- package/dist/services/audit.js +0 -279
- package/dist/services/codegen/codegen.service.d.ts +0 -77
- package/dist/services/codegen/codegen.service.js +0 -142
- package/dist/services/codegen/generators/manifest.generator.d.ts +0 -41
- package/dist/services/codegen/generators/manifest.generator.js +0 -178
- package/dist/services/codegen/generators/openapi-zod.generator.d.ts +0 -79
- package/dist/services/codegen/generators/openapi-zod.generator.js +0 -482
- package/dist/services/codegen/generators/openapi.generator.d.ts +0 -46
- package/dist/services/codegen/generators/openapi.generator.js +0 -157
- package/dist/services/codegen/generators/types.generator.d.ts +0 -27
- package/dist/services/codegen/generators/types.generator.js +0 -97
- package/dist/services/codegen/generators/vscode.generator.d.ts +0 -43
- package/dist/services/codegen/generators/vscode.generator.js +0 -163
- package/dist/services/codegen/generators/zod.generator.d.ts +0 -31
- package/dist/services/codegen/generators/zod.generator.js +0 -135
- package/dist/services/codegen/index.d.ts +0 -35
- package/dist/services/codegen/index.js +0 -38
- package/dist/services/conformance/conformance.service.d.ts +0 -75
- package/dist/services/conformance/conformance.service.js +0 -194
- package/dist/services/conformance/feature-detector.service.d.ts +0 -66
- package/dist/services/conformance/feature-detector.service.js +0 -161
- package/dist/services/conformance/index.d.ts +0 -10
- package/dist/services/conformance/index.js +0 -9
- package/dist/services/conformance/profile-loader.service.d.ts +0 -51
- package/dist/services/conformance/profile-loader.service.js +0 -192
- package/dist/services/conformance/score-calculator.service.d.ts +0 -50
- package/dist/services/conformance/score-calculator.service.js +0 -222
- package/dist/services/conformance/types.d.ts +0 -107
- package/dist/services/conformance/types.js +0 -6
- package/dist/services/convert/convert.service.d.ts +0 -26
- package/dist/services/convert/convert.service.js +0 -72
- package/dist/services/cost-estimation/optimization-patterns.d.ts +0 -23
- package/dist/services/cost-estimation/optimization-patterns.js +0 -147
- package/dist/services/cost-estimation/pricing.d.ts +0 -29
- package/dist/services/cost-estimation/pricing.js +0 -225
- package/dist/services/cost-estimation/scenario-estimator.d.ts +0 -59
- package/dist/services/cost-estimation/scenario-estimator.js +0 -145
- package/dist/services/cost-estimation/token-counter.service.d.ts +0 -51
- package/dist/services/cost-estimation/token-counter.service.js +0 -125
- package/dist/services/daemon/audit-log.service.d.ts +0 -37
- package/dist/services/daemon/audit-log.service.js +0 -81
- package/dist/services/daemon/execution.service.d.ts +0 -103
- package/dist/services/daemon/execution.service.js +0 -333
- package/dist/services/daemon/fs-watcher.service.d.ts +0 -55
- package/dist/services/daemon/fs-watcher.service.js +0 -182
- package/dist/services/daemon/pairing.service.d.ts +0 -61
- package/dist/services/daemon/pairing.service.js +0 -163
- package/dist/services/daemon/skill-aggregator.service.d.ts +0 -61
- package/dist/services/daemon/skill-aggregator.service.js +0 -336
- package/dist/services/daemon/sse-endpoints.d.ts +0 -68
- package/dist/services/daemon/sse-endpoints.js +0 -176
- package/dist/services/daemon/ws-server.d.ts +0 -66
- package/dist/services/daemon/ws-server.js +0 -258
- package/dist/services/deployment/deployment.service.d.ts +0 -19
- package/dist/services/deployment/deployment.service.js +0 -87
- package/dist/services/dev-server/dev-server.service.d.ts +0 -121
- package/dist/services/dev-server/dev-server.service.js +0 -290
- package/dist/services/dev-server/file-watcher.d.ts +0 -101
- package/dist/services/dev-server/file-watcher.js +0 -190
- package/dist/services/dev-server/live-validator.d.ts +0 -157
- package/dist/services/dev-server/live-validator.js +0 -301
- package/dist/services/dev-server/websocket-server.d.ts +0 -137
- package/dist/services/dev-server/websocket-server.js +0 -230
- package/dist/services/evals/evals-generator.service.d.ts +0 -90
- package/dist/services/evals/evals-generator.service.js +0 -1602
- package/dist/services/export/anthropic/anthropic-exporter.d.ts +0 -71
- package/dist/services/export/anthropic/anthropic-exporter.js +0 -590
- package/dist/services/export/anthropic/api-generator.d.ts +0 -39
- package/dist/services/export/anthropic/api-generator.js +0 -395
- package/dist/services/export/anthropic/index.d.ts +0 -18
- package/dist/services/export/anthropic/index.js +0 -16
- package/dist/services/export/anthropic/tools-generator.d.ts +0 -35
- package/dist/services/export/anthropic/tools-generator.js +0 -259
- package/dist/services/export/export-orchestrator.d.ts +0 -90
- package/dist/services/export/export-orchestrator.js +0 -181
- package/dist/services/export/export.service.d.ts +0 -30
- package/dist/services/export/export.service.js +0 -52
- package/dist/services/export/langchain/api-generator.d.ts +0 -17
- package/dist/services/export/langchain/api-generator.js +0 -375
- package/dist/services/export/langchain/callbacks-generator.d.ts +0 -63
- package/dist/services/export/langchain/callbacks-generator.js +0 -416
- package/dist/services/export/langchain/error-handling-generator.d.ts +0 -76
- package/dist/services/export/langchain/error-handling-generator.js +0 -526
- package/dist/services/export/langchain/index.d.ts +0 -17
- package/dist/services/export/langchain/index.js +0 -13
- package/dist/services/export/langchain/langchain-exporter.d.ts +0 -174
- package/dist/services/export/langchain/langchain-exporter.js +0 -961
- package/dist/services/export/langchain/langgraph-generator.d.ts +0 -86
- package/dist/services/export/langchain/langgraph-generator.js +0 -485
- package/dist/services/export/langchain/langserve-generator.d.ts +0 -95
- package/dist/services/export/langchain/langserve-generator.js +0 -813
- package/dist/services/export/langchain/memory-generator.d.ts +0 -71
- package/dist/services/export/langchain/memory-generator.js +0 -1182
- package/dist/services/export/langchain/openapi-generator.d.ts +0 -20
- package/dist/services/export/langchain/openapi-generator.js +0 -364
- package/dist/services/export/langchain/plan-execute-generator.d.ts +0 -60
- package/dist/services/export/langchain/plan-execute-generator.js +0 -679
- package/dist/services/export/langchain/streaming-generator.d.ts +0 -66
- package/dist/services/export/langchain/streaming-generator.js +0 -755
- package/dist/services/export/langchain/tools-generator.d.ts +0 -67
- package/dist/services/export/langchain/tools-generator.js +0 -543
- package/dist/services/export/npm/express-generator.d.ts +0 -23
- package/dist/services/export/npm/express-generator.js +0 -296
- package/dist/services/export/npm/index.d.ts +0 -13
- package/dist/services/export/npm/index.js +0 -11
- package/dist/services/export/npm/npm-exporter.d.ts +0 -182
- package/dist/services/export/npm/npm-exporter.js +0 -1773
- package/dist/services/export/npm/openapi-generator.d.ts +0 -19
- package/dist/services/export/npm/openapi-generator.js +0 -428
- package/dist/services/export/npm/package-json-generator.d.ts +0 -31
- package/dist/services/export/npm/package-json-generator.js +0 -156
- package/dist/services/export/npm/typescript-generator.d.ts +0 -69
- package/dist/services/export/npm/typescript-generator.js +0 -431
- package/dist/services/export/testing/index.d.ts +0 -8
- package/dist/services/export/testing/index.js +0 -7
- package/dist/services/export/testing/test-generator.d.ts +0 -178
- package/dist/services/export/testing/test-generator.js +0 -2546
- package/dist/services/extension-team/extension-team-kickoff.service.d.ts +0 -85
- package/dist/services/extension-team/extension-team-kickoff.service.js +0 -163
- package/dist/services/framework-import/langchain-importer.service.d.ts +0 -55
- package/dist/services/framework-import/langchain-importer.service.js +0 -157
- package/dist/services/framework-import/langflow-importer.service.d.ts +0 -85
- package/dist/services/framework-import/langflow-importer.service.js +0 -264
- package/dist/services/generation.service.d.ts +0 -65
- package/dist/services/generation.service.js +0 -356
- package/dist/services/git-rollback.service.d.ts +0 -75
- package/dist/services/git-rollback.service.js +0 -329
- package/dist/services/git.service.d.ts +0 -49
- package/dist/services/git.service.js +0 -162
- package/dist/services/github-sync/github-client.d.ts +0 -14
- package/dist/services/github-sync/github-client.js +0 -41
- package/dist/services/github-sync/gitlab-client.d.ts +0 -17
- package/dist/services/github-sync/gitlab-client.js +0 -42
- package/dist/services/github-sync/schemas.d.ts +0 -46
- package/dist/services/github-sync/schemas.js +0 -36
- package/dist/services/github-sync/sync.service.d.ts +0 -27
- package/dist/services/github-sync/sync.service.js +0 -101
- package/dist/services/gitlab-agent.service.d.ts +0 -94
- package/dist/services/gitlab-agent.service.js +0 -164
- package/dist/services/governance/cedar-provider.d.ts +0 -27
- package/dist/services/governance/cedar-provider.js +0 -109
- package/dist/services/governance/cedar-validator.service.d.ts +0 -32
- package/dist/services/governance/cedar-validator.service.js +0 -88
- package/dist/services/governance/governance-generator.service.d.ts +0 -120
- package/dist/services/governance/governance-generator.service.js +0 -1089
- package/dist/services/governance-client.service.d.ts +0 -39
- package/dist/services/governance-client.service.js +0 -124
- package/dist/services/id-card.service.d.ts +0 -109
- package/dist/services/id-card.service.js +0 -237
- package/dist/services/identity/identity.service.d.ts +0 -21
- package/dist/services/identity/identity.service.js +0 -36
- package/dist/services/import/framework-to-ossa.d.ts +0 -21
- package/dist/services/import/framework-to-ossa.js +0 -171
- package/dist/services/interfaces/governance-provider.interface.d.ts +0 -59
- package/dist/services/interfaces/governance-provider.interface.js +0 -6
- package/dist/services/knowledge-generation.service.d.ts +0 -46
- package/dist/services/knowledge-generation.service.js +0 -96
- package/dist/services/knowledge.service.d.ts +0 -88
- package/dist/services/knowledge.service.js +0 -214
- package/dist/services/llms-txt/llms-txt.service.d.ts +0 -59
- package/dist/services/llms-txt/llms-txt.service.js +0 -540
- package/dist/services/manifest/manifest-crud.service.d.ts +0 -119
- package/dist/services/manifest/manifest-crud.service.js +0 -319
- package/dist/services/mcp/bridge.service.d.ts +0 -63
- package/dist/services/mcp/bridge.service.js +0 -222
- package/dist/services/mcp-manifest/mcp-manifest.service.d.ts +0 -20
- package/dist/services/mcp-manifest/mcp-manifest.service.js +0 -85
- package/dist/services/messaging/example.d.ts +0 -6
- package/dist/services/messaging/example.js +0 -260
- package/dist/services/messaging/index.d.ts +0 -80
- package/dist/services/messaging/index.js +0 -86
- package/dist/services/messaging/memory-broker.d.ts +0 -103
- package/dist/services/messaging/memory-broker.js +0 -436
- package/dist/services/messaging/messaging.service.d.ts +0 -150
- package/dist/services/messaging/messaging.service.js +0 -458
- package/dist/services/messaging/messaging.types.d.ts +0 -319
- package/dist/services/messaging/messaging.types.js +0 -68
- package/dist/services/migration/langchain-migration.service.d.ts +0 -117
- package/dist/services/migration/langchain-migration.service.js +0 -621
- package/dist/services/migration-transform.service.d.ts +0 -82
- package/dist/services/migration-transform.service.js +0 -322
- package/dist/services/migration.service.d.ts +0 -132
- package/dist/services/migration.service.js +0 -698
- package/dist/services/multi-agent/team-generator.service.d.ts +0 -48
- package/dist/services/multi-agent/team-generator.service.js +0 -584
- package/dist/services/observability/observability-generator.service.d.ts +0 -54
- package/dist/services/observability/observability-generator.service.js +0 -1419
- package/dist/services/openapi-extensions-validation.d.ts +0 -20
- package/dist/services/openapi-extensions-validation.js +0 -193
- package/dist/services/registry/bundle.service.d.ts +0 -36
- package/dist/services/registry/bundle.service.js +0 -70
- package/dist/services/registry/index.service.d.ts +0 -76
- package/dist/services/registry/index.service.js +0 -88
- package/dist/services/registry/registry.service.d.ts +0 -39
- package/dist/services/registry/registry.service.js +0 -169
- package/dist/services/registry.service.d.ts +0 -34
- package/dist/services/registry.service.js +0 -162
- package/dist/services/release-automation/base-crud.service.d.ts +0 -93
- package/dist/services/release-automation/base-crud.service.js +0 -68
- package/dist/services/release-automation/generate-changelog.d.ts +0 -7
- package/dist/services/release-automation/generate-changelog.js +0 -288
- package/dist/services/release-automation/increment-dev-tag.d.ts +0 -7
- package/dist/services/release-automation/increment-dev-tag.js +0 -160
- package/dist/services/release-automation/index.d.ts +0 -12
- package/dist/services/release-automation/index.js +0 -12
- package/dist/services/release-automation/merge-request.service.d.ts +0 -119
- package/dist/services/release-automation/merge-request.service.js +0 -212
- package/dist/services/release-automation/milestone.service.d.ts +0 -104
- package/dist/services/release-automation/milestone.service.js +0 -207
- package/dist/services/release-automation/release-agent.service.d.ts +0 -39
- package/dist/services/release-automation/release-agent.service.js +0 -43
- package/dist/services/release-automation/release-buttons.d.ts +0 -7
- package/dist/services/release-automation/release-buttons.js +0 -207
- package/dist/services/release-automation/release.service.d.ts +0 -118
- package/dist/services/release-automation/release.service.js +0 -207
- package/dist/services/release-automation/schemas/release.schema.d.ts +0 -299
- package/dist/services/release-automation/schemas/release.schema.js +0 -272
- package/dist/services/release-automation/tag.service.d.ts +0 -99
- package/dist/services/release-automation/tag.service.js +0 -183
- package/dist/services/release-automation/webhook.service.d.ts +0 -37
- package/dist/services/release-automation/webhook.service.js +0 -187
- package/dist/services/runtime/anthropic.adapter.d.ts +0 -145
- package/dist/services/runtime/anthropic.adapter.js +0 -521
- package/dist/services/runtime/azure.adapter.d.ts +0 -389
- package/dist/services/runtime/azure.adapter.js +0 -517
- package/dist/services/runtime/bedrock.adapter.d.ts +0 -170
- package/dist/services/runtime/bedrock.adapter.js +0 -665
- package/dist/services/runtime/claude/capability-mapper.d.ts +0 -84
- package/dist/services/runtime/claude/capability-mapper.js +0 -245
- package/dist/services/runtime/claude/claude-adapter.d.ts +0 -80
- package/dist/services/runtime/claude/claude-adapter.js +0 -283
- package/dist/services/runtime/claude/manifest-parser.d.ts +0 -77
- package/dist/services/runtime/claude/manifest-parser.js +0 -169
- package/dist/services/runtime/claude/types.d.ts +0 -115
- package/dist/services/runtime/claude/types.js +0 -6
- package/dist/services/runtime/gemini.adapter.d.ts +0 -190
- package/dist/services/runtime/gemini.adapter.js +0 -600
- package/dist/services/runtime/mistral.adapter.d.ts +0 -201
- package/dist/services/runtime/mistral.adapter.js +0 -652
- package/dist/services/runtime/ollama.adapter.d.ts +0 -187
- package/dist/services/runtime/ollama.adapter.js +0 -521
- package/dist/services/runtime/openai.adapter.d.ts +0 -127
- package/dist/services/runtime/openai.adapter.js +0 -247
- package/dist/services/skill-registry.service.d.ts +0 -134
- package/dist/services/skill-registry.service.js +0 -452
- package/dist/services/skills/claude-skills.service.d.ts +0 -59
- package/dist/services/skills/claude-skills.service.js +0 -275
- package/dist/services/skills/skill-manifest.service.d.ts +0 -23
- package/dist/services/skills/skill-manifest.service.js +0 -86
- package/dist/services/skills-pipeline/index.d.ts +0 -9
- package/dist/services/skills-pipeline/index.js +0 -9
- package/dist/services/skills-pipeline/skills-export.service.d.ts +0 -86
- package/dist/services/skills-pipeline/skills-export.service.js +0 -483
- package/dist/services/skills-pipeline/skills-generator.service.d.ts +0 -118
- package/dist/services/skills-pipeline/skills-generator.service.js +0 -648
- package/dist/services/skills-pipeline/skills-install.service.d.ts +0 -42
- package/dist/services/skills-pipeline/skills-install.service.js +0 -219
- package/dist/services/skills-pipeline/skills-research.service.d.ts +0 -110
- package/dist/services/skills-pipeline/skills-research.service.js +0 -466
- package/dist/services/structure/agents-folder.service.d.ts +0 -37
- package/dist/services/structure/agents-folder.service.js +0 -318
- package/dist/services/taxonomy-service.d.ts +0 -103
- package/dist/services/taxonomy-service.js +0 -343
- package/dist/services/taxonomy-validator.service.d.ts +0 -25
- package/dist/services/taxonomy-validator.service.js +0 -149
- package/dist/services/taxonomy.service.d.ts +0 -132
- package/dist/services/taxonomy.service.js +0 -342
- package/dist/services/template-processor.service.d.ts +0 -34
- package/dist/services/template-processor.service.js +0 -123
- package/dist/services/template.service.d.ts +0 -54
- package/dist/services/template.service.js +0 -154
- package/dist/services/test-runner/mock-llm.service.d.ts +0 -77
- package/dist/services/test-runner/mock-llm.service.js +0 -172
- package/dist/services/test-runner/scenarios.d.ts +0 -36
- package/dist/services/test-runner/scenarios.js +0 -202
- package/dist/services/test-runner/test-runner.service.d.ts +0 -39
- package/dist/services/test-runner/test-runner.service.js +0 -165
- package/dist/services/trust/trust.service.d.ts +0 -47
- package/dist/services/trust/trust.service.js +0 -236
- package/dist/services/validation/best-practices-validator.d.ts +0 -84
- package/dist/services/validation/best-practices-validator.js +0 -499
- package/dist/services/validation/cost-estimator.d.ts +0 -69
- package/dist/services/validation/cost-estimator.js +0 -223
- package/dist/services/validation/enhanced-validator.d.ts +0 -78
- package/dist/services/validation/enhanced-validator.js +0 -210
- package/dist/services/validation/index.d.ts +0 -13
- package/dist/services/validation/index.js +0 -9
- package/dist/services/validation/security-validator.d.ts +0 -81
- package/dist/services/validation/security-validator.js +0 -330
- package/dist/services/validation-zod.service.d.ts +0 -36
- package/dist/services/validation-zod.service.js +0 -325
- package/dist/services/validation.service.d.ts +0 -50
- package/dist/services/validation.service.js +0 -445
- package/dist/services/validators/a2a.validator.d.ts +0 -16
- package/dist/services/validators/a2a.validator.js +0 -63
- package/dist/services/validators/anthropic.validator.d.ts +0 -9
- package/dist/services/validators/anthropic.validator.js +0 -111
- package/dist/services/validators/autogen.validator.d.ts +0 -12
- package/dist/services/validators/autogen.validator.js +0 -151
- package/dist/services/validators/contract.validator.d.ts +0 -91
- package/dist/services/validators/contract.validator.js +0 -522
- package/dist/services/validators/crewai.validator.d.ts +0 -12
- package/dist/services/validators/crewai.validator.js +0 -152
- package/dist/services/validators/cursor.validator.d.ts +0 -9
- package/dist/services/validators/cursor.validator.js +0 -93
- package/dist/services/validators/dependencies.validator.d.ts +0 -104
- package/dist/services/validators/dependencies.validator.js +0 -388
- package/dist/services/validators/index.d.ts +0 -20
- package/dist/services/validators/index.js +0 -21
- package/dist/services/validators/kagent.validator.d.ts +0 -13
- package/dist/services/validators/kagent.validator.js +0 -205
- package/dist/services/validators/langchain.validator.d.ts +0 -12
- package/dist/services/validators/langchain.validator.js +0 -139
- package/dist/services/validators/langflow.validator.d.ts +0 -9
- package/dist/services/validators/langflow.validator.js +0 -98
- package/dist/services/validators/langgraph.validator.d.ts +0 -12
- package/dist/services/validators/langgraph.validator.js +0 -161
- package/dist/services/validators/llamaindex.validator.d.ts +0 -9
- package/dist/services/validators/llamaindex.validator.js +0 -125
- package/dist/services/validators/mcp.validator.d.ts +0 -16
- package/dist/services/validators/mcp.validator.js +0 -70
- package/dist/services/validators/messaging.validator.d.ts +0 -77
- package/dist/services/validators/messaging.validator.js +0 -298
- package/dist/services/validators/openai.validator.d.ts +0 -9
- package/dist/services/validators/openai.validator.js +0 -131
- package/dist/services/validators/registry.d.ts +0 -21
- package/dist/services/validators/registry.js +0 -42
- package/dist/services/validators/vercel-ai.validator.d.ts +0 -9
- package/dist/services/validators/vercel-ai.validator.js +0 -101
- package/dist/services/version-detection.service.d.ts +0 -50
- package/dist/services/version-detection.service.js +0 -209
- package/dist/services/wizard/prompts.d.ts +0 -71
- package/dist/services/wizard/prompts.js +0 -345
- package/dist/services/wizard/wizard-state.service.d.ts +0 -111
- package/dist/services/wizard/wizard-state.service.js +0 -548
- package/dist/services/wizard/wizard.service.d.ts +0 -60
- package/dist/services/wizard/wizard.service.js +0 -329
- package/dist/services/workspace/workspace.service.d.ts +0 -44
- package/dist/services/workspace/workspace.service.js +0 -203
- package/dist/skills/test-skill/README.md +0 -36
- package/dist/skills/test-skill/SKILL.md +0 -31
- package/dist/skills/test-skill/index.d.ts +0 -31
- package/dist/skills/test-skill/install.js +0 -44
- package/dist/skills/test-skill/package.json +0 -36
- package/dist/spec/extensions/a2a-messaging.md +0 -471
- package/dist/spec/extensions/cognition.schema.json +0 -87
- package/dist/spec/extensions/knowledge-graph/knowledge-graph.schema.json +0 -386
- package/dist/spec/extensions/manifest-extensions.md +0 -550
- package/dist/spec/extensions/openapi/ossa-openapi-extensions.schema.json +0 -804
- package/dist/spec/extensions/role-manifest.md +0 -188
- package/dist/spec/extensions/skills-compatibility.md +0 -292
- package/dist/spec/layer4-economics/duadp-examples.json +0 -44
- package/dist/spec/ossa-audit-api.yaml +0 -311
- package/dist/spec/reference/reference-agents/compliance-auditor/manifest.ossa.yaml +0 -527
- package/dist/spec/reference/reference-agents/doc-agent/manifest.ossa.yaml +0 -776
- package/dist/spec/reference/reference-agents/mr-reviewer/manifest.ossa.yaml +0 -249
- package/dist/spec/reference/reference-agents/mr-reviewer/system-prompt.md +0 -154
- package/dist/spec/reference/reference-agents/ossa-validator-v0.3/manifest.ossa.yaml +0 -548
- package/dist/spec/reference/reference-agents/ossa-validator-v0.3/system-prompt.md +0 -135
- package/dist/spec/reference/reference-agents/pipeline-fixer/manifest.ossa.yaml +0 -336
- package/dist/spec/reference/reference-agents/release-orchestrator/README.md +0 -35
- package/dist/spec/reference/reference-agents/release-orchestrator/manifest.ossa.yaml +0 -233
- package/dist/spec/registry/README.md +0 -478
- package/dist/spec/registry/openapi.yaml +0 -1124
- package/dist/spec/registry/project-registry.schema.json +0 -62
- package/dist/spec/registry/registry-api.schema.json +0 -731
- package/dist/spec/registry/registry-api.yaml +0 -144
- package/dist/spec/registry/registry-spec.md +0 -2239
- package/dist/spec/schema/agent-test.schema.json +0 -117
- package/dist/spec/schema/components/activity-stream.schema.json +0 -94
- package/dist/spec/schema/components/adapter.schema.json +0 -33
- package/dist/spec/schema/components/constraints.schema.json +0 -84
- package/dist/spec/schema/components/dependencies.schema.json +0 -147
- package/dist/spec/schema/components/encryption.schema.json +0 -115
- package/dist/spec/schema/components/identity.schema.json +0 -126
- package/dist/spec/schema/components/index.json +0 -37
- package/dist/spec/schema/components/llm-config.schema.json +0 -67
- package/dist/spec/schema/components/metadata.schema.json +0 -52
- package/dist/spec/schema/components/tool.schema.json +0 -64
- package/dist/spec/schema/extensions/a2a.extension.schema.json +0 -127
- package/dist/spec/uadp/README.md +0 -393
- package/dist/spec/uadp/openapi.yaml +0 -387
- package/dist/spec/uadp/schemas/uadp-agents-response.schema.json +0 -68
- package/dist/spec/uadp/schemas/uadp-federation-response.schema.json +0 -46
- package/dist/spec/uadp/schemas/uadp-manifest.schema.json +0 -82
- package/dist/spec/uadp/schemas/uadp-skills-response.schema.json +0 -72
- package/dist/spec/v0.4/agent-card.schema.json +0 -477
- package/dist/spec/v0.4/agent.schema.json +0 -1581
- package/dist/spec/v0.4/conformance/profiles/baseline.json +0 -19
- package/dist/spec/v0.4/conformance/profiles/enterprise.json +0 -20
- package/dist/spec/v0.4/extensions/a2a/README.md +0 -193
- package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +0 -77
- package/dist/spec/v0.4/extensions/ag2/ag2.schema.json +0 -277
- package/dist/spec/v0.4/extensions/cognition/cognition.schema.json +0 -94
- package/dist/spec/v0.4/extensions/cognition/thought-node.schema.json +0 -80
- package/dist/spec/v0.4/extensions/crewai/crewai.schema.json +0 -256
- package/dist/spec/v0.4/extensions/drupal/drupal.schema.json +0 -318
- package/dist/spec/v0.4/extensions/evals/evals.schema.json +0 -597
- package/dist/spec/v0.4/extensions/governance/governance-extension.yaml +0 -161
- package/dist/spec/v0.4/extensions/identity/identity.schema.json +0 -302
- package/dist/spec/v0.4/extensions/kagent/README.md +0 -315
- package/dist/spec/v0.4/extensions/kagent/kagent.schema.json +0 -624
- package/dist/spec/v0.4/extensions/langchain/langchain.schema.json +0 -243
- package/dist/spec/v0.4/extensions/langgraph/langgraph.schema.json +0 -211
- package/dist/spec/v0.4/extensions/mcp/README.md +0 -276
- package/dist/spec/v0.4/extensions/mcp/mcp.schema.json +0 -84
- package/dist/spec/v0.4/extensions/memory/memory.schema.json +0 -7
- package/dist/spec/v0.4/extensions/team/team.schema.json +0 -304
- package/dist/spec/v0.4/extensions/token-efficiency/token-efficiency.schema.json +0 -47
- package/dist/spec/v0.4/mcp.schema.json +0 -1
- package/dist/spec/v0.4/skill.schema.json +0 -1
- package/dist/spec/v0.4/validator.schema.json +0 -282
- package/dist/spec/v0.5/agent-builder-openapi.yaml +0 -230
- package/dist/spec/v0.5/agent-card.schema.json +0 -477
- package/dist/spec/v0.5/agent.schema.json +0 -1658
- package/dist/spec/v0.5/conformance/profiles/baseline.json +0 -19
- package/dist/spec/v0.5/conformance/profiles/enterprise.json +0 -20
- package/dist/spec/v0.5/extensions/a2a/README.md +0 -193
- package/dist/spec/v0.5/extensions/a2a/a2a.schema.json +0 -77
- package/dist/spec/v0.5/extensions/ag2/ag2.schema.json +0 -277
- package/dist/spec/v0.5/extensions/cognition/cognition.schema.json +0 -171
- package/dist/spec/v0.5/extensions/cognition/thought-node.schema.json +0 -80
- package/dist/spec/v0.5/extensions/crewai/crewai.schema.json +0 -256
- package/dist/spec/v0.5/extensions/drupal/drupal.schema.json +0 -318
- package/dist/spec/v0.5/extensions/economics/context-pack.schema.json +0 -91
- package/dist/spec/v0.5/extensions/economics/execution-profile.schema.json +0 -148
- package/dist/spec/v0.5/extensions/economics/failure-semantics.schema.json +0 -32
- package/dist/spec/v0.5/extensions/economics/replay-packet.schema.json +0 -120
- package/dist/spec/v0.5/extensions/evals/evals.schema.json +0 -597
- package/dist/spec/v0.5/extensions/governance/governance-extension.yaml +0 -161
- package/dist/spec/v0.5/extensions/identity/identity.schema.json +0 -302
- package/dist/spec/v0.5/extensions/kagent/README.md +0 -315
- package/dist/spec/v0.5/extensions/kagent/kagent.schema.json +0 -624
- package/dist/spec/v0.5/extensions/langchain/langchain.schema.json +0 -243
- package/dist/spec/v0.5/extensions/langgraph/langgraph.schema.json +0 -211
- package/dist/spec/v0.5/extensions/mcp/README.md +0 -276
- package/dist/spec/v0.5/extensions/mcp/mcp.schema.json +0 -84
- package/dist/spec/v0.5/extensions/memory/memory.schema.json +0 -7
- package/dist/spec/v0.5/extensions/team/team.schema.json +0 -304
- package/dist/spec/v0.5/extensions/token-efficiency/token-efficiency.schema.json +0 -47
- package/dist/spec/v0.5/mcp.schema.json +0 -1
- package/dist/spec/v0.5/memory-hierarchy.yaml +0 -120
- package/dist/spec/v0.5/role.schema.json +0 -268
- package/dist/spec/v0.5/skill.schema.json +0 -1
- package/dist/spec/v0.5/validator.schema.json +0 -282
- package/dist/spec/v1/agent-card.schema.json +0 -254
- package/dist/spec/v1/mcp.schema.json +0 -183
- package/dist/spec/v1/skill.schema.json +0 -346
- package/dist/testing/fixtures.d.ts +0 -61
- package/dist/testing/fixtures.js +0 -298
- package/dist/testing/index.d.ts +0 -10
- package/dist/testing/index.js +0 -10
- package/dist/testing/reporters/base.d.ts +0 -24
- package/dist/testing/reporters/base.js +0 -5
- package/dist/testing/reporters/console.d.ts +0 -18
- package/dist/testing/reporters/console.js +0 -78
- package/dist/testing/reporters/json.d.ts +0 -29
- package/dist/testing/reporters/json.js +0 -40
- package/dist/testing/runner.d.ts +0 -96
- package/dist/testing/runner.js +0 -392
- package/dist/transports/index.d.ts +0 -8
- package/dist/transports/index.js +0 -11
- package/dist/transports/sse.d.ts +0 -166
- package/dist/transports/sse.js +0 -314
- package/dist/transports/webrtc.d.ts +0 -183
- package/dist/transports/webrtc.js +0 -481
- package/dist/transports/websocket.d.ts +0 -205
- package/dist/transports/websocket.js +0 -407
- package/dist/types/architect.d.ts +0 -48
- package/dist/types/architect.js +0 -7
- package/dist/types/cognition.zod.d.ts +0 -312
- package/dist/types/cognition.zod.js +0 -223
- package/dist/types/dynamic-agent-types.d.ts +0 -158
- package/dist/types/dynamic-agent-types.js +0 -473
- package/dist/types/generated/ossa-0.3.2.types.d.ts +0 -367
- package/dist/types/generated/ossa-0.3.2.types.js +0 -10
- package/dist/types/generated/ossa-0.3.2.zod.d.ts +0 -36
- package/dist/types/generated/ossa-0.3.2.zod.js +0 -25
- package/dist/types/generated/ossa-0.3.3.types.d.ts +0 -367
- package/dist/types/generated/ossa-0.3.3.types.js +0 -10
- package/dist/types/generated/ossa-0.3.3.zod.d.ts +0 -36
- package/dist/types/generated/ossa-0.3.3.zod.js +0 -25
- package/dist/types/generated/ossa-0.3.4.types.d.ts +0 -430
- package/dist/types/generated/ossa-0.3.4.types.js +0 -10
- package/dist/types/generated/ossa-0.3.4.zod.d.ts +0 -340
- package/dist/types/generated/ossa-0.3.4.zod.js +0 -120
- package/dist/types/identity.d.ts +0 -82
- package/dist/types/identity.js +0 -10
- package/dist/types/identity.zod.d.ts +0 -622
- package/dist/types/identity.zod.js +0 -272
- package/dist/types/index.d.ts +0 -711
- package/dist/types/index.js +0 -32
- package/dist/types/llms-txt.zod.d.ts +0 -320
- package/dist/types/llms-txt.zod.js +0 -82
- package/dist/types/mcp-server-manifest.d.ts +0 -83
- package/dist/types/mcp-server-manifest.js +0 -17
- package/dist/types/messaging.d.ts +0 -116
- package/dist/types/messaging.js +0 -6
- package/dist/types/openapi-extensions.d.ts +0 -164
- package/dist/types/openapi-extensions.js +0 -6
- package/dist/types/personality.d.ts +0 -141
- package/dist/types/personality.js +0 -72
- package/dist/types/personality.zod.d.ts +0 -483
- package/dist/types/personality.zod.js +0 -190
- package/dist/types/policy.d.ts +0 -377
- package/dist/types/policy.js +0 -84
- package/dist/types/prompts.d.ts +0 -219
- package/dist/types/prompts.js +0 -163
- package/dist/types/prompts.zod.d.ts +0 -252
- package/dist/types/prompts.zod.js +0 -113
- package/dist/types/protocols.d.ts +0 -158
- package/dist/types/protocols.js +0 -8
- package/dist/types/role.d.ts +0 -126
- package/dist/types/role.js +0 -38
- package/dist/types/security.d.ts +0 -123
- package/dist/types/security.js +0 -9
- package/dist/types/skill.d.ts +0 -116
- package/dist/types/skill.js +0 -35
- package/dist/types/task.d.ts +0 -222
- package/dist/types/task.js +0 -40
- package/dist/types/tool.d.ts +0 -73
- package/dist/types/tool.js +0 -66
- package/dist/types/workflow.d.ts +0 -283
- package/dist/types/workflow.js +0 -51
- package/dist/utils/constants.d.ts +0 -31
- package/dist/utils/constants.js +0 -31
- package/dist/utils/http-client.d.ts +0 -22
- package/dist/utils/http-client.js +0 -51
- package/dist/utils/index.d.ts +0 -12
- package/dist/utils/index.js +0 -12
- package/dist/utils/logger.d.ts +0 -82
- package/dist/utils/logger.js +0 -250
- package/dist/utils/manifest-scanner.d.ts +0 -41
- package/dist/utils/manifest-scanner.js +0 -71
- package/dist/utils/path-validator.d.ts +0 -24
- package/dist/utils/path-validator.js +0 -70
- package/dist/utils/proxy-resolver.d.ts +0 -36
- package/dist/utils/proxy-resolver.js +0 -59
- package/dist/utils/type-guards.d.ts +0 -59
- package/dist/utils/type-guards.js +0 -190
- package/dist/utils/user-agent.d.ts +0 -11
- package/dist/utils/user-agent.js +0 -17
- package/dist/utils/version.d.ts +0 -79
- package/dist/utils/version.js +0 -239
- package/dist/utils/yaml-parser.d.ts +0 -29
- package/dist/utils/yaml-parser.js +0 -38
- package/dist/validation/enhanced-validator.d.ts +0 -38
- package/dist/validation/enhanced-validator.js +0 -242
- package/dist/validation/error-codes.d.ts +0 -170
- package/dist/validation/error-codes.js +0 -1160
- package/dist/validation/error-formatter.d.ts +0 -81
- package/dist/validation/error-formatter.js +0 -375
- package/dist/validation/index.d.ts +0 -19
- package/dist/validation/index.js +0 -26
- package/dist/validation/linter.d.ts +0 -36
- package/dist/validation/linter.js +0 -453
- package/dist/validation/progressive-scorer.d.ts +0 -123
- package/dist/validation/progressive-scorer.js +0 -370
- package/dist/validation/validation-context.d.ts +0 -86
- package/dist/validation/validation-context.js +0 -138
- package/dist/validation/validator-registry.d.ts +0 -158
- package/dist/validation/validator-registry.js +0 -245
- package/dist/validation/validator.d.ts +0 -42
- package/dist/validation/validator.js +0 -290
- package/dist/validation/version-compliance.d.ts +0 -17
- package/dist/validation/version-compliance.js +0 -25
- package/dist/version-management/api/server.d.ts +0 -3
- package/dist/version-management/api/server.js +0 -75
- package/dist/version-management/cli/index.d.ts +0 -3
- package/dist/version-management/cli/index.js +0 -219
- package/dist/version-management/core/version-manager.d.ts +0 -108
- package/dist/version-management/core/version-manager.js +0 -322
- package/dist/version-management/index.d.ts +0 -3
- package/dist/version-management/index.js +0 -2
- package/dist/version.d.ts +0 -62
- package/dist/version.js +0 -76
- package/examples/a2a/agent-handoff.ossa.yaml +0 -202
- package/examples/a2a/service-discovery.ossa.yaml +0 -194
- package/examples/adapters/anthropic-quickstart.ts +0 -66
- package/examples/adapters/crewai-quickstart.py +0 -86
- package/examples/adapters/drupal-eca-mapping.yaml +0 -153
- package/examples/adapters/drupal-eca-task.yaml +0 -48
- package/examples/adapters/drupal-flowdrop-mapping.yaml +0 -463
- package/examples/adapters/drupal-maestro-mapping.yaml +0 -369
- package/examples/adapters/langchain-quickstart.ts +0 -40
- package/examples/adapters/mistral-README.md +0 -367
- package/examples/adapters/mistral-agent.yaml +0 -147
- package/examples/adapters/symfony-messenger-task.yaml +0 -135
- package/examples/adapters/symfony-messenger-workflow.yaml +0 -352
- package/examples/adk-integration/code-review-workflow.yml +0 -136
- package/examples/adk-integration/customer-support.yml +0 -263
- package/examples/adk-integration/data-pipeline.yml +0 -173
- package/examples/advanced/patterns/compliance-context-production.json +0 -53
- package/examples/advanced/patterns/model-router.ts +0 -274
- package/examples/advanced/patterns/smart-model-routing.ts +0 -300
- package/examples/advanced/reasoning-agent.yaml +0 -136
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +0 -215
- package/examples/agent-manifests/critics/critic-agent.yaml +0 -149
- package/examples/agent-manifests/governors/governor-agent.yaml +0 -128
- package/examples/agent-manifests/integrators/integrator-agent.yaml +0 -103
- package/examples/agent-manifests/judges/judge-agent.yaml +0 -153
- package/examples/agent-manifests/monitors/monitor-agent.yaml +0 -122
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +0 -247
- package/examples/agent-manifests/sample-compliant-agent.yaml +0 -160
- package/examples/agent-manifests/v0.4-identity-security-protocols-full.ossa.yaml +0 -159
- package/examples/agent-manifests/v0.4-minimal-identity-security-protocols.ossa.yaml +0 -37
- package/examples/agent-manifests/v0.5-identity-security-protocols.ossa.yaml +0 -159
- package/examples/agent-manifests/v0.5-minimal.ossa.yaml +0 -37
- package/examples/agent-manifests/workers/worker-agent.yaml +0 -82
- package/examples/agent-mesh/DISCOVERY.md +0 -679
- package/examples/agent-mesh/README.ts +0 -311
- package/examples/agent-mesh/basic-usage.ts +0 -461
- package/examples/agent-mesh/discovery-system.ts +0 -670
- package/examples/agent-skills/SKILLS_CATALOG.md +0 -341
- package/examples/agent-skills/ossa-agent-authoring/SKILL.md +0 -62
- package/examples/agent-skills/react-best-practices/SKILL.md +0 -158
- package/examples/agent-skills/react-best-practices/references/react-performance-guidelines.md +0 -500
- package/examples/agent-taxonomy-example.ossa.yaml +0 -89
- package/examples/agents/01-customer-support-bot/.env.example +0 -32
- package/examples/agents/01-customer-support-bot/Dockerfile +0 -30
- package/examples/agents/01-customer-support-bot/README.md +0 -295
- package/examples/agents/01-customer-support-bot/agent.ossa.yaml +0 -165
- package/examples/agents/01-customer-support-bot/docker-compose.yml +0 -55
- package/examples/agents/01-customer-support-bot/openapi.yaml +0 -238
- package/examples/agents/01-customer-support-bot/package.json +0 -48
- package/examples/agents/02-code-review-agent/README.md +0 -72
- package/examples/agents/02-code-review-agent/agent.ossa.yaml +0 -288
- package/examples/agents/02-code-review-agent/docker-compose.yml +0 -22
- package/examples/agents/02-code-review-agent/openapi.yaml +0 -150
- package/examples/agents/03-data-analysis-agent/README.md +0 -51
- package/examples/agents/03-data-analysis-agent/agent.ossa.yaml +0 -152
- package/examples/agents/03-data-analysis-agent/openapi.yaml +0 -74
- package/examples/agents/04-content-moderator/README.md +0 -55
- package/examples/agents/04-content-moderator/agent.ossa.yaml +0 -131
- package/examples/agents/04-content-moderator/openapi.yaml +0 -50
- package/examples/agents/05-sales-assistant/README.md +0 -37
- package/examples/agents/05-sales-assistant/agent.ossa.yaml +0 -158
- package/examples/agents/05-sales-assistant/openapi.yaml +0 -59
- package/examples/agents/06-devops-agent/README.md +0 -39
- package/examples/agents/06-devops-agent/agent.ossa.yaml +0 -188
- package/examples/agents/06-devops-agent/openapi.yaml +0 -51
- package/examples/agents/07-research-assistant/README.md +0 -31
- package/examples/agents/07-research-assistant/agent.ossa.yaml +0 -185
- package/examples/agents/07-research-assistant/openapi.yaml +0 -56
- package/examples/agents/08-email-triage-agent/README.md +0 -33
- package/examples/agents/08-email-triage-agent/agent.ossa.yaml +0 -133
- package/examples/agents/08-email-triage-agent/openapi.yaml +0 -41
- package/examples/agents/09-security-scanner/README.md +0 -49
- package/examples/agents/09-security-scanner/agent.ossa.yaml +0 -220
- package/examples/agents/09-security-scanner/openapi.yaml +0 -46
- package/examples/agents/10-meeting-assistant/README.md +0 -53
- package/examples/agents/10-meeting-assistant/agent.ossa.yaml +0 -203
- package/examples/agents/10-meeting-assistant/docker-compose.yml +0 -27
- package/examples/agents/10-meeting-assistant/openapi.yaml +0 -131
- package/examples/agents/COMPLETION_REPORT.txt +0 -272
- package/examples/agents/INDEX.md +0 -296
- package/examples/agents/README.md +0 -452
- package/examples/agents/SUMMARY.md +0 -362
- package/examples/agents/TEST_RESULTS.md +0 -458
- package/examples/agents/architecture-healer-enterprise.yaml +0 -143
- package/examples/agents/dependency-healer-npm.yaml +0 -81
- package/examples/agents/security-audit-agent.ossa.yaml +0 -234
- package/examples/agents/spec-healer-openapi.yaml +0 -59
- package/examples/agents/wiki-healer-production.yaml +0 -131
- package/examples/agents-md/code-agent.ossa.json +0 -125
- package/examples/agents-md/monorepo-agent.ossa.yaml +0 -199
- package/examples/agentscope/react-assistant/README.md +0 -111
- package/examples/agentscope/react-assistant/agent.ossa.yaml +0 -136
- package/examples/agentscope/react-assistant/skills/code-analysis/SKILL.md +0 -18
- package/examples/agentscope/react-assistant/skills/question-answering/SKILL.md +0 -18
- package/examples/anthropic/claude-assistant.ossa.json +0 -46
- package/examples/anthropic-adapter-example.ts +0 -374
- package/examples/anthropic-simple.ts +0 -70
- package/examples/architecture/model-configuration/ollama-integration.ts +0 -110
- package/examples/autogen/multi-agent.ossa.json +0 -39
- package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +0 -34
- package/examples/bridge-configurations.yaml +0 -346
- package/examples/bridges/.gitlab-ci.yml +0 -293
- package/examples/bridges/Dockerfile.production +0 -87
- package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
- package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
- package/examples/bridges/aiflow-bridge-enhanced.py +0 -462
- package/examples/bridges/aiflow-bridge-example.yml +0 -310
- package/examples/bridges/aiflow-phoenix-tracing.py +0 -310
- package/examples/bridges/aiflow-registration-api.openapi.yml +0 -439
- package/examples/bridges/k8s/configmap.yaml +0 -121
- package/examples/bridges/k8s/deployment-simple.yaml +0 -34
- package/examples/bridges/k8s/deployment.yaml +0 -275
- package/examples/bridges/k8s/hpa.yaml +0 -126
- package/examples/bridges/k8s/ingress.yaml +0 -155
- package/examples/bridges/kagent-bridge-example.yml +0 -94
- package/examples/bridges/load-tests/Dockerfile +0 -28
- package/examples/bridges/load-tests/k6-load-test.js +0 -302
- package/examples/bridges/load-tests/requirements.txt +0 -20
- package/examples/bridges/loadtest/k6-scenarios.js +0 -270
- package/examples/bridges/phase4/SLO-SLA.yaml +0 -249
- package/examples/bridges/phase4/chaos-tests.yaml +0 -226
- package/examples/bridges/requirements.txt +0 -24
- package/examples/bridges/test_aiflow_integration.py +0 -341
- package/examples/build-once-use-everywhere/README.md +0 -184
- package/examples/build-once-use-everywhere/agent.ossa.yaml +0 -38
- package/examples/build-once-use-everywhere/deploy-config.yaml +0 -32
- package/examples/ci/multi-project-release-example.yml +0 -401
- package/examples/claude-code/code-reviewer.ossa.yaml +0 -86
- package/examples/claude-code/ossa-validator.ossa.yaml +0 -86
- package/examples/common_npm/agent-router.ossa.yaml +0 -61
- package/examples/compliance-agent.yml +0 -155
- package/examples/contracts/data-consumer.ossa.yaml +0 -171
- package/examples/contracts/data-producer-v2.ossa.yaml +0 -229
- package/examples/contracts/data-producer.ossa.yaml +0 -219
- package/examples/coordinator-agent/README.md +0 -180
- package/examples/coordinator-agent/index.ts +0 -440
- package/examples/coordinator-agent/manifest.yaml +0 -41
- package/examples/crewai/research-team.ossa.json +0 -45
- package/examples/cursor/code-review-agent.ossa.json +0 -62
- package/examples/deployment-workflow.md +0 -601
- package/examples/drupal/QUICKSTART.md +0 -453
- package/examples/drupal/ai_agents_agentscope/README.md +0 -62
- package/examples/drupal/ai_agents_agentscope/ai_agents_agentscope.info.yml +0 -13
- package/examples/drupal/ai_agents_agentscope/ai_agents_agentscope.services.yml +0 -4
- package/examples/drupal/ai_agents_agentscope/config/install/ai_agents_agentscope.settings.yml +0 -3
- package/examples/drupal/ai_agents_agentscope/config/schema/ai_agents_agentscope.schema.yml +0 -14
- package/examples/drupal/ai_agents_agentscope/src/AgentScopeRuntime.php +0 -11
- package/examples/drupal/ai_agents_agentscope/src/Plugin/AiAgent/AgentScopeAgent.php +0 -10
- package/examples/drupal/ai_agents_agentscope/src/Plugin/AiProvider/AgentScopeProvider.php +0 -217
- package/examples/drupal/ai_agents_agentscope/src/Plugin/Derivative/AgentScopeDeriver.php +0 -10
- package/examples/drupal/ai_agents_agentscope/src/Service/AgentScopeAdapter.php +0 -9
- package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +0 -30
- package/examples/drupal/content-moderator.ossa.yaml +0 -217
- package/examples/drupal/drupal-contributor-agent/.eslintrc.json +0 -58
- package/examples/drupal/drupal-contributor-agent/.prettierrc.json +0 -10
- package/examples/drupal/drupal-contributor-agent/package.json +0 -55
- package/examples/drupal/drupal-contributor-agent/src/core/index.ts +0 -10
- package/examples/drupal/drupal-contributor-agent/src/index.ts +0 -17
- package/examples/drupal/drupal-contributor-agent/src/types/index.ts +0 -180
- package/examples/drupal/drupal-contributor-agent/tsconfig.json +0 -36
- package/examples/drupal/drupal-contributor.ossa.yaml +0 -247
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +0 -69
- package/examples/economics/marketplace-agent.ossa.json +0 -210
- package/examples/enterprise/agent.yml +0 -452
- package/examples/export/langchain/production-agent-with-memory/README.md +0 -373
- package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +0 -87
- package/examples/export/langchain/production-agent-with-streaming/README.md +0 -617
- package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +0 -86
- package/examples/export/langchain/production-agent-with-streaming/client-example.py +0 -263
- package/examples/export/langchain/production-agent-with-tools/README.md +0 -296
- package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +0 -215
- package/examples/export/langchain-export-example.ts +0 -246
- package/examples/export/langserve-export-example.ts +0 -246
- package/examples/export/test-generation-example.ts +0 -457
- package/examples/extensions/agents-md-advanced.yml +0 -177
- package/examples/extensions/agents-md-basic.yml +0 -74
- package/examples/extensions/agents-md-sync.yml +0 -96
- package/examples/extensions/agents-md-v1.yml +0 -176
- package/examples/extensions/drupal-v1.yml +0 -266
- package/examples/extensions/encryption-multi-provider.yaml +0 -120
- package/examples/extensions/kagent-v1.yml +0 -167
- package/examples/extensions/knowledge-sources.yaml +0 -59
- package/examples/extensions/mcp-full-featured.yaml +0 -150
- package/examples/genetics/breeding-agent.ossa.json +0 -194
- package/examples/getting-started/01-minimal-agent.ossa.yaml +0 -51
- package/examples/getting-started/02-agent-with-tools.ossa.yaml +0 -229
- package/examples/getting-started/03-agent-with-safety.ossa.yaml +0 -137
- package/examples/getting-started/04-agent-with-messaging.ossa.yaml +0 -392
- package/examples/getting-started/05-workflow-composition.ossa.yaml +0 -153
- package/examples/getting-started/README.md +0 -69
- package/examples/getting-started/hello-world-complete.ossa.yaml +0 -112
- package/examples/gitlab-agents/DEPLOYMENT.md +0 -331
- package/examples/gitlab-agents/daily-code-scan/.env.example +0 -11
- package/examples/gitlab-agents/daily-code-scan/.gitlab-ci.yml +0 -34
- package/examples/gitlab-agents/daily-code-scan/Dockerfile +0 -18
- package/examples/gitlab-agents/daily-code-scan/README.md +0 -80
- package/examples/gitlab-agents/daily-code-scan/package.json +0 -28
- package/examples/gitlab-agents/daily-code-scan/src/gitlab-client.ts +0 -135
- package/examples/gitlab-agents/daily-code-scan/src/index.ts +0 -50
- package/examples/gitlab-agents/daily-code-scan/src/types.ts +0 -22
- package/examples/gitlab-agents/daily-code-scan/src/workflow.ts +0 -109
- package/examples/gitlab-agents/daily-code-scan/tsconfig.json +0 -24
- package/examples/gitlab-agents/duo-comment-responder/.env.example +0 -14
- package/examples/gitlab-agents/duo-comment-responder/.gitlab-ci.yml +0 -34
- package/examples/gitlab-agents/duo-comment-responder/Dockerfile +0 -18
- package/examples/gitlab-agents/duo-comment-responder/README.md +0 -98
- package/examples/gitlab-agents/duo-comment-responder/package.json +0 -29
- package/examples/gitlab-agents/duo-comment-responder/src/gitlab-client.ts +0 -56
- package/examples/gitlab-agents/duo-comment-responder/src/index.ts +0 -103
- package/examples/gitlab-agents/duo-comment-responder/src/llm-client.ts +0 -75
- package/examples/gitlab-agents/duo-comment-responder/src/types.ts +0 -22
- package/examples/gitlab-agents/duo-comment-responder/src/workflow.ts +0 -135
- package/examples/gitlab-agents/duo-comment-responder/tsconfig.json +0 -24
- package/examples/gitlab-agents/duo-comment-responder/webhook-config.json +0 -11
- package/examples/gitlab-agents/gitlab-ci-agent.ossa.yaml +0 -221
- package/examples/gitlab-agents/k8s/deploy-all.yaml +0 -341
- package/examples/gitlab-agents/mr-reviewer/.env.example +0 -14
- package/examples/gitlab-agents/mr-reviewer/.gitlab-ci.yml +0 -34
- package/examples/gitlab-agents/mr-reviewer/Dockerfile +0 -18
- package/examples/gitlab-agents/mr-reviewer/README.md +0 -98
- package/examples/gitlab-agents/mr-reviewer/package.json +0 -29
- package/examples/gitlab-agents/mr-reviewer/src/gitlab-client.ts +0 -136
- package/examples/gitlab-agents/mr-reviewer/src/index.ts +0 -103
- package/examples/gitlab-agents/mr-reviewer/src/llm-client.ts +0 -95
- package/examples/gitlab-agents/mr-reviewer/src/types.ts +0 -22
- package/examples/gitlab-agents/mr-reviewer/src/workflow.ts +0 -144
- package/examples/gitlab-agents/mr-reviewer/tsconfig.json +0 -24
- package/examples/gitlab-agents/mr-reviewer/webhook-config.json +0 -11
- package/examples/gitlab-agents/pipeline-auto-fix/.env.example +0 -14
- package/examples/gitlab-agents/pipeline-auto-fix/.gitlab-ci.yml +0 -34
- package/examples/gitlab-agents/pipeline-auto-fix/Dockerfile +0 -18
- package/examples/gitlab-agents/pipeline-auto-fix/README.md +0 -98
- package/examples/gitlab-agents/pipeline-auto-fix/package.json +0 -29
- package/examples/gitlab-agents/pipeline-auto-fix/src/gitlab-client.ts +0 -76
- package/examples/gitlab-agents/pipeline-auto-fix/src/index.ts +0 -103
- package/examples/gitlab-agents/pipeline-auto-fix/src/llm-client.ts +0 -79
- package/examples/gitlab-agents/pipeline-auto-fix/src/types.ts +0 -22
- package/examples/gitlab-agents/pipeline-auto-fix/src/workflow.ts +0 -146
- package/examples/gitlab-agents/pipeline-auto-fix/tsconfig.json +0 -24
- package/examples/gitlab-agents/pipeline-auto-fix/webhook-config.json +0 -11
- package/examples/gitlab-agents/pre-commit-quality-check/.env.example +0 -11
- package/examples/gitlab-agents/pre-commit-quality-check/.gitlab-ci.yml +0 -34
- package/examples/gitlab-agents/pre-commit-quality-check/Dockerfile +0 -18
- package/examples/gitlab-agents/pre-commit-quality-check/README.md +0 -80
- package/examples/gitlab-agents/pre-commit-quality-check/package.json +0 -28
- package/examples/gitlab-agents/pre-commit-quality-check/src/gitlab-client.ts +0 -20
- package/examples/gitlab-agents/pre-commit-quality-check/src/index.ts +0 -50
- package/examples/gitlab-agents/pre-commit-quality-check/src/types.ts +0 -22
- package/examples/gitlab-agents/pre-commit-quality-check/src/workflow.ts +0 -63
- package/examples/gitlab-agents/pre-commit-quality-check/tsconfig.json +0 -24
- package/examples/gitlab-agents/pre-push-validation/.env.example +0 -11
- package/examples/gitlab-agents/pre-push-validation/.gitlab-ci.yml +0 -34
- package/examples/gitlab-agents/pre-push-validation/Dockerfile +0 -18
- package/examples/gitlab-agents/pre-push-validation/README.md +0 -80
- package/examples/gitlab-agents/pre-push-validation/package.json +0 -28
- package/examples/gitlab-agents/pre-push-validation/src/gitlab-client.ts +0 -20
- package/examples/gitlab-agents/pre-push-validation/src/index.ts +0 -50
- package/examples/gitlab-agents/pre-push-validation/src/types.ts +0 -22
- package/examples/gitlab-agents/pre-push-validation/src/workflow.ts +0 -63
- package/examples/gitlab-agents/pre-push-validation/tsconfig.json +0 -24
- package/examples/gitlab-duo/EXTERNAL_AGENTS.md +0 -466
- package/examples/gitlab-duo/README.md +0 -307
- package/examples/gitlab-duo/code-review-flow.yaml +0 -62
- package/examples/gitlab-duo/external-agent-example.ts +0 -192
- package/examples/gitlab-duo/generated/custom-vars-agent.yaml +0 -45
- package/examples/gitlab-duo/generated/go-agent.yaml +0 -41
- package/examples/gitlab-duo/generated/python-agent.yaml +0 -43
- package/examples/gitlab-duo/generated/webhook-agent.yaml +0 -52
- package/examples/hierarchical-agent.ossa.yaml +0 -83
- package/examples/hierarchical-crewai.ossa.yaml +0 -96
- package/examples/infrastructure/token-rotation/README.md +0 -119
- package/examples/infrastructure/token-rotation/manifest.ossa.yaml +0 -73
- package/examples/infrastructure/token-rotation/openapi.yaml +0 -133
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +0 -115
- package/examples/kagent/README.md +0 -32
- package/examples/kagent/compliance-validator.ossa.yaml +0 -100
- package/examples/kagent/cost-optimizer.ossa.yaml +0 -81
- package/examples/kagent/documentation-agent.ossa.yaml +0 -79
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +0 -87
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +0 -102
- package/examples/kagent/ossa-kagent-anthropic.ossa.yaml +0 -36
- package/examples/kagent/ossa-kagent-mcp-tools.ossa.yaml +0 -40
- package/examples/kagent/ossa-kagent-multi-tool.ossa.yaml +0 -41
- package/examples/kagent/ossa-kagent-poc.ossa.yaml +0 -32
- package/examples/kagent/security-scanner.ossa.yaml +0 -84
- package/examples/knowledge-graph/drupal-agent-with-kg.ossa.yaml +0 -289
- package/examples/langchain/chain-agent.ossa.json +0 -58
- package/examples/langflow/workflow-agent.ossa.json +0 -38
- package/examples/langgraph/state-machine-agent.ossa.json +0 -58
- package/examples/lifecycle/mentoring-agent.ossa.json +0 -293
- package/examples/llamaindex/rag-agent.ossa.json +0 -40
- package/examples/mcp/browser-puppeteer.ossa.yaml +0 -232
- package/examples/mcp/database-mcp.ossa.yaml +0 -134
- package/examples/mcp/filesystem-mcp.ossa.yaml +0 -101
- package/examples/messaging/dependency-healer.ossa.yaml +0 -354
- package/examples/messaging/incident-responder.ossa.yaml +0 -477
- package/examples/messaging/routing-rules.ossa.yaml +0 -200
- package/examples/messaging/security-scanner.ossa.yaml +0 -335
- package/examples/migration-guides/from-langchain-to-ossa.yaml +0 -309
- package/examples/migrations/crewai-to-ossa/README.md +0 -66
- package/examples/migrations/langchain/01-python-react-agent-after.ossa.yaml +0 -38
- package/examples/migrations/langchain/01-python-react-agent-before.py +0 -62
- package/examples/migrations/langchain/02-typescript-conversational-after.ossa.yaml +0 -40
- package/examples/migrations/langchain/02-typescript-conversational-before.ts +0 -79
- package/examples/migrations/langchain/03-sequential-chain-after.ossa.yaml +0 -95
- package/examples/migrations/langchain/03-sequential-chain-before.py +0 -100
- package/examples/migrations/langchain/04-config-based-after.ossa.yaml +0 -54
- package/examples/migrations/langchain/04-config-based-before.yaml +0 -52
- package/examples/migrations/langchain/INTEGRATION-EXAMPLE.txt +0 -335
- package/examples/migrations/langchain/USAGE.txt +0 -121
- package/examples/migrations/langchain/test-migrations.ts +0 -135
- package/examples/migrations/langchain-to-ossa/README.md +0 -73
- package/examples/migrations/swarm-to-ossa/COMPARISON.md +0 -350
- package/examples/migrations/swarm-to-ossa/INDEX.md +0 -355
- package/examples/migrations/swarm-to-ossa/MIGRATION-FLOW.md +0 -410
- package/examples/migrations/swarm-to-ossa/QUICKSTART.md +0 -453
- package/examples/migrations/swarm-to-ossa/README.md +0 -665
- package/examples/migrations/swarm-to-ossa/after-handoffs.ossa.yaml +0 -482
- package/examples/migrations/swarm-to-ossa/after-triage-agent.ossa.yaml +0 -315
- package/examples/migrations/swarm-to-ossa/before-triage-agent.py +0 -234
- package/examples/minimal/agent.yml +0 -152
- package/examples/minimal/openapi.yaml +0 -95
- package/examples/mistral-adapter-example.ts +0 -435
- package/examples/mistral-simple.ts +0 -56
- package/examples/mr-reviewer-with-governance.ossa.yaml +0 -130
- package/examples/multi-agent/README.md +0 -74
- package/examples/multi-agent/conditional-router.ossa.yaml +0 -42
- package/examples/multi-agent/parallel-execution.ossa.yaml +0 -54
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +0 -45
- package/examples/multi-agent-research-workflow.ossa.yaml +0 -133
- package/examples/multi-platform/single-manifest/README.md +0 -72
- package/examples/multi-platform/single-manifest/agent.ossa.yaml +0 -32
- package/examples/npm-export-example.ts +0 -150
- package/examples/observability/activity-stream-full.yaml +0 -133
- package/examples/observability/gitlab-ci-template.yml +0 -304
- package/examples/openai/basic-agent.ossa.yaml +0 -60
- package/examples/openai/multi-tool-agent.ossa.json +0 -188
- package/examples/openai/swarm-agent.ossa.json +0 -72
- package/examples/openapi-extensions/README.md +0 -87
- package/examples/openapi-extensions/minimal-agent-api.openapi.yml +0 -288
- package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +0 -633
- package/examples/openapi-extensions/worker-agent-api.openapi.yml +0 -533
- package/examples/ossa-templates/01-code-assistant.ossa.yaml +0 -114
- package/examples/ossa-templates/02-security-scanner.ossa.yaml +0 -103
- package/examples/ossa-templates/03-ci-pipeline.ossa.yaml +0 -100
- package/examples/ossa-templates/04-code-reviewer.ossa.yaml +0 -116
- package/examples/ossa-templates/05-doc-generator.ossa.yaml +0 -102
- package/examples/ossa-templates/06-compliance-validator.ossa.yaml +0 -132
- package/examples/ossa-templates/07-workflow-orchestrator.ossa.yaml +0 -110
- package/examples/ossa-templates/08-content-writer.ossa.yaml +0 -136
- package/examples/ossa-templates/09-test-generator.ossa.yaml +0 -113
- package/examples/ossa-templates/10-data-transformer.ossa.yaml +0 -102
- package/examples/ossa-templates/11-react-performance-expert.ossa.yaml +0 -384
- package/examples/ossa-templates/12-typescript-type-safety-expert.ossa.yaml +0 -265
- package/examples/ossa-templates/13-accessibility-champion.ossa.yaml +0 -264
- package/examples/ossa-templates/14-security-hardening-agent.ossa.yaml +0 -267
- package/examples/ossa-templates/README.md +0 -98
- package/examples/pipeline-agent.ossa.yaml +0 -196
- package/examples/platform-specific/claude-code-subagent.yaml +0 -185
- package/examples/platform-specific/cursor-coding-agent.yaml +0 -175
- package/examples/platform-specific/warp-terminal-agent.yaml +0 -122
- package/examples/production/agent.yml +0 -713
- package/examples/production/document-analyzer-openai.yml +0 -134
- package/examples/production-ready/01-customer-support-bot/.env.example +0 -32
- package/examples/production-ready/01-customer-support-bot/Dockerfile +0 -30
- package/examples/production-ready/01-customer-support-bot/README.md +0 -295
- package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +0 -165
- package/examples/production-ready/01-customer-support-bot/docker-compose.yml +0 -55
- package/examples/production-ready/01-customer-support-bot/openapi.yaml +0 -238
- package/examples/production-ready/01-customer-support-bot/package.json +0 -48
- package/examples/production-ready/02-code-review-agent/README.md +0 -72
- package/examples/production-ready/02-code-review-agent/agent.ossa.yaml +0 -239
- package/examples/production-ready/02-code-review-agent/docker-compose.yml +0 -22
- package/examples/production-ready/02-code-review-agent/openapi.yaml +0 -150
- package/examples/production-ready/03-data-analysis-agent/README.md +0 -51
- package/examples/production-ready/03-data-analysis-agent/agent.ossa.yaml +0 -97
- package/examples/production-ready/03-data-analysis-agent/openapi.yaml +0 -74
- package/examples/production-ready/04-content-moderator/README.md +0 -55
- package/examples/production-ready/04-content-moderator/agent.ossa.yaml +0 -131
- package/examples/production-ready/04-content-moderator/openapi.yaml +0 -50
- package/examples/production-ready/05-sales-assistant/README.md +0 -37
- package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +0 -158
- package/examples/production-ready/05-sales-assistant/openapi.yaml +0 -59
- package/examples/production-ready/06-devops-agent/README.md +0 -39
- package/examples/production-ready/06-devops-agent/agent.ossa.yaml +0 -141
- package/examples/production-ready/06-devops-agent/openapi.yaml +0 -51
- package/examples/production-ready/07-research-assistant/README.md +0 -31
- package/examples/production-ready/07-research-assistant/agent.ossa.yaml +0 -127
- package/examples/production-ready/07-research-assistant/openapi.yaml +0 -56
- package/examples/production-ready/08-email-triage-agent/README.md +0 -33
- package/examples/production-ready/08-email-triage-agent/agent.ossa.yaml +0 -133
- package/examples/production-ready/08-email-triage-agent/openapi.yaml +0 -41
- package/examples/production-ready/09-security-scanner/README.md +0 -49
- package/examples/production-ready/09-security-scanner/agent.ossa.yaml +0 -174
- package/examples/production-ready/09-security-scanner/openapi.yaml +0 -46
- package/examples/production-ready/10-meeting-assistant/README.md +0 -53
- package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +0 -203
- package/examples/production-ready/10-meeting-assistant/docker-compose.yml +0 -27
- package/examples/production-ready/10-meeting-assistant/openapi.yaml +0 -131
- package/examples/production-ready/COMPLETION_REPORT.txt +0 -272
- package/examples/production-ready/INDEX.md +0 -296
- package/examples/production-ready/README.md +0 -452
- package/examples/production-ready/SUMMARY.md +0 -362
- package/examples/production-ready/TEST_RESULTS.md +0 -458
- package/examples/quickstart/support-agent.ossa.yaml +0 -57
- package/examples/rag-agent/README.md +0 -136
- package/examples/rag-agent/index.ts +0 -272
- package/examples/rag-agent/manifest.yaml +0 -45
- package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +0 -171
- package/examples/real-world/rag-documentation-assistant.ossa.yaml +0 -229
- package/examples/reference-implementations/README.md +0 -321
- package/examples/reference-implementations/curl-scripts/README.md +0 -277
- package/examples/reference-implementations/python-client/README.md +0 -282
- package/examples/reference-implementations/python-client/examples/basic_usage.py +0 -84
- package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -137
- package/examples/reference-implementations/python-client/ossa_client/__init__.py +0 -80
- package/examples/reference-implementations/python-client/ossa_client/agents.py +0 -240
- package/examples/reference-implementations/python-client/ossa_client/client.py +0 -164
- package/examples/reference-implementations/python-client/ossa_client/discovery.py +0 -153
- package/examples/reference-implementations/python-client/ossa_client/messaging.py +0 -227
- package/examples/reference-implementations/python-client/requirements.txt +0 -2
- package/examples/reference-implementations/python-client/setup.py +0 -40
- package/examples/reference-implementations/typescript-client/README.md +0 -227
- package/examples/reference-implementations/typescript-client/examples/basic-usage.ts +0 -86
- package/examples/reference-implementations/typescript-client/examples/messaging.ts +0 -185
- package/examples/reference-implementations/typescript-client/examples/publish-agent.ts +0 -138
- package/examples/reference-implementations/typescript-client/package.json +0 -40
- package/examples/reference-implementations/typescript-client/src/agents.ts +0 -285
- package/examples/reference-implementations/typescript-client/src/client.ts +0 -161
- package/examples/reference-implementations/typescript-client/src/discovery.ts +0 -244
- package/examples/reference-implementations/typescript-client/src/index.ts +0 -67
- package/examples/reference-implementations/typescript-client/src/messaging.ts +0 -385
- package/examples/reference-implementations/typescript-client/tsconfig.json +0 -25
- package/examples/registry/USAGE.txt +0 -105
- package/examples/registry/agents/code-reviewer/agent.yaml +0 -159
- package/examples/registry/agents/security-scanner/agent.yaml +0 -128
- package/examples/registry/index.json +0 -5
- package/examples/roles/drupal-developer.role.yaml +0 -37
- package/examples/roles/platform-operator.role.yaml +0 -28
- package/examples/roles/security-auditor.role.yaml +0 -27
- package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +0 -99
- package/examples/schema/reusable-components.yaml +0 -95
- package/examples/service-registry-usage.ts +0 -423
- package/examples/showcase/PRODUCTION_EXAMPLES.md +0 -499
- package/examples/showcase/ci-pipeline.ossa.yaml +0 -55
- package/examples/showcase/code-assistant.ossa.yaml +0 -104
- package/examples/showcase/code-reviewer.ossa.yaml +0 -58
- package/examples/showcase/compliance-checker.ossa.yaml +0 -207
- package/examples/showcase/compliance-validator.ossa.yaml +0 -61
- package/examples/showcase/content-writer.ossa.yaml +0 -70
- package/examples/showcase/customer-support.ossa.yaml +0 -344
- package/examples/showcase/data-processing-pipeline.ossa.yaml +0 -254
- package/examples/showcase/data-transformer.ossa.yaml +0 -76
- package/examples/showcase/doc-generator.ossa.yaml +0 -66
- package/examples/showcase/full-power-agent.ossa.yaml +0 -350
- package/examples/showcase/security-scanner-enhanced.ossa.yaml +0 -304
- package/examples/showcase/security-scanner.ossa.yaml +0 -66
- package/examples/showcase/team-leader.ossa.yaml +0 -306
- package/examples/showcase/test-generator.ossa.yaml +0 -37
- package/examples/showcase/workflow-orchestrator.ossa.yaml +0 -114
- package/examples/single-agent.ossa.yaml +0 -40
- package/examples/skills/drupal-code-analysis/skill.ossa.yaml +0 -111
- package/examples/skills/git-commit-review/skill.ossa.yaml +0 -86
- package/examples/skills/tdd-workflow/skill.ossa.yaml +0 -93
- package/examples/skills-example.ossa.yaml +0 -140
- package/examples/spec-examples/audit-agent.yml +0 -147
- package/examples/spec-examples/chat-agent.yml +0 -189
- package/examples/spec-examples/compliance-agent.yml +0 -204
- package/examples/spec-examples/data-processing-agent.yml +0 -132
- package/examples/spec-examples/development-agent.yml +0 -138
- package/examples/spec-examples/edge-agent.yml +0 -101
- package/examples/spec-examples/integration-agent.yml +0 -129
- package/examples/spec-examples/monitoring-agent.yml +0 -130
- package/examples/spec-examples/serverless-agent.yml +0 -82
- package/examples/spec-examples/workflow-agent.yml +0 -223
- package/examples/subagents-pipeline.ossa.yaml +0 -76
- package/examples/swarm/pso-optimizer.ossa.json +0 -171
- package/examples/swarm-agent.ossa.yaml +0 -98
- package/examples/swarm-handoff.ossa.yaml +0 -67
- package/examples/tasks/batch-email-sender.yaml +0 -105
- package/examples/tasks/data-transform.yaml +0 -82
- package/examples/tasks/publish-content.yaml +0 -86
- package/examples/team-agent.ossa.yaml +0 -110
- package/examples/team-lead-teammate.ossa.yaml +0 -78
- package/examples/templates/ossa-compliance.yaml +0 -56
- package/examples/token-efficiency/security-scanner.ossa.yaml +0 -53
- package/examples/typescript/advanced/demo-registry.ts +0 -168
- package/examples/typescript/mcpb-agent-example.ts +0 -358
- package/examples/unified/security-scanner.ossa.yaml +0 -308
- package/examples/validation/error-codes-demo.ts +0 -254
- package/examples/vercel/edge-agent.ossa.json +0 -44
- package/examples/workflow-agent/README.md +0 -175
- package/examples/workflow-agent/index.ts +0 -408
- package/examples/workflow-agent/manifest.yaml +0 -41
- package/examples/workflows/batch-email-campaign.yaml +0 -140
- package/examples/workflows/content-review-publish.yaml +0 -156
- package/examples/workflows/simple-etl.yaml +0 -151
- package/openapi/CHANGELOG.md +0 -21
- package/openapi/README.md +0 -46
- package/openapi/agent-cognition-sessions.yaml +0 -580
- package/openapi/agent-communication.yaml +0 -1120
- package/openapi/agent-crud.yaml +0 -1102
- package/openapi/agent-discovery.yaml +0 -715
- package/openapi/agent-identity.yaml +0 -652
- package/openapi/agent-taxonomy.yaml +0 -378
- package/openapi/agents-md-service.yaml +0 -411
- package/openapi/cli/openapi.yaml +0 -1732
- package/openapi/core/ossa-core-api.openapi.yaml +0 -1321
- package/openapi/core/ossa-registry-api.openapi.yaml +0 -1043
- package/openapi/core/ossa-registry.openapi.yaml +0 -964
- package/openapi/core/unified-agent-gateway.openapi.yaml +0 -897
- package/openapi/daemon-api.openapi.yaml +0 -968
- package/openapi/dev-cli/openapi.yaml +0 -992
- package/openapi/github-sync.yaml +0 -158
- package/openapi/marketplace-plugin.openapi.yaml +0 -2358
- package/openapi/ossa-api.openapi.yaml +0 -1237
- package/openapi/ossa-cli-enhancements.openapi.yaml +0 -608
- package/openapi/ossa-cli.yaml +0 -1051
- package/openapi/protocols/sse-streams.yaml +0 -471
- package/openapi/protocols/websocket-events.yaml +0 -434
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +0 -153
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +0 -204
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +0 -160
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +0 -177
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +0 -223
- package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +0 -399
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +0 -160
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +0 -155
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +0 -211
- package/openapi/reference-implementations/helm-generator.openapi.yaml +0 -431
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +0 -175
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +0 -154
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +0 -181
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +0 -182
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +0 -184
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +0 -264
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +0 -195
- package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +0 -1664
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +0 -219
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +0 -207
- package/openapi/registry.yaml +0 -49
- package/openapi/release-automation.openapi.yaml +0 -178
- package/openapi/schemas/common/agent.yaml +0 -264
- package/openapi/schemas/common/economics.yaml +0 -98
- package/openapi/schemas/common/errors.yaml +0 -85
- package/openapi/schemas/common/metadata.yaml +0 -86
- package/openapi/schemas/common/pagination.yaml +0 -84
- package/openapi/schemas/common/security.yaml +0 -96
- package/openapi/schemas/discovery.json +0 -488
- package/openapi/schemas/index.yaml +0 -95
- package/openapi/uadp-asyncapi.yaml +0 -434
- package/openapi/uadp-openapi.yaml +0 -865
- package/openapi/version-management.openapi.yaml +0 -761
- package/spec/extensions/a2a-messaging.md +0 -471
- package/spec/extensions/cognition.schema.json +0 -87
- package/spec/extensions/knowledge-graph/knowledge-graph.schema.json +0 -386
- package/spec/extensions/manifest-extensions.md +0 -550
- package/spec/extensions/openapi/ossa-openapi-extensions.schema.json +0 -804
- package/spec/extensions/role-manifest.md +0 -188
- package/spec/extensions/skills-compatibility.md +0 -292
- package/spec/layer4-economics/duadp-examples.json +0 -44
- package/spec/ossa-audit-api.yaml +0 -311
- package/spec/schema/agent-test.schema.json +0 -117
- package/spec/schema/components/activity-stream.schema.json +0 -94
- package/spec/schema/components/adapter.schema.json +0 -33
- package/spec/schema/components/constraints.schema.json +0 -84
- package/spec/schema/components/dependencies.schema.json +0 -147
- package/spec/schema/components/encryption.schema.json +0 -115
- package/spec/schema/components/identity.schema.json +0 -126
- package/spec/schema/components/index.json +0 -37
- package/spec/schema/components/llm-config.schema.json +0 -67
- package/spec/schema/components/metadata.schema.json +0 -52
- package/spec/schema/components/tool.schema.json +0 -64
- package/spec/schema/extensions/a2a.extension.schema.json +0 -127
- package/spec/uadp/README.md +0 -393
- package/spec/uadp/openapi.yaml +0 -387
- package/spec/uadp/schemas/uadp-agents-response.schema.json +0 -68
- package/spec/uadp/schemas/uadp-federation-response.schema.json +0 -46
- package/spec/uadp/schemas/uadp-manifest.schema.json +0 -82
- package/spec/uadp/schemas/uadp-skills-response.schema.json +0 -72
- package/spec/v0.4/agent-card.schema.json +0 -477
- package/spec/v0.4/agent.schema.json +0 -1581
- package/spec/v0.4/conformance/profiles/baseline.json +0 -19
- package/spec/v0.4/conformance/profiles/enterprise.json +0 -20
- package/spec/v0.4/extensions/a2a/README.md +0 -193
- package/spec/v0.4/extensions/a2a/a2a.schema.json +0 -77
- package/spec/v0.4/extensions/ag2/ag2.schema.json +0 -277
- package/spec/v0.4/extensions/cognition/cognition.schema.json +0 -94
- package/spec/v0.4/extensions/cognition/thought-node.schema.json +0 -80
- package/spec/v0.4/extensions/crewai/crewai.schema.json +0 -256
- package/spec/v0.4/extensions/drupal/drupal.schema.json +0 -318
- package/spec/v0.4/extensions/evals/evals.schema.json +0 -597
- package/spec/v0.4/extensions/governance/governance-extension.yaml +0 -161
- package/spec/v0.4/extensions/identity/identity.schema.json +0 -302
- package/spec/v0.4/extensions/kagent/README.md +0 -315
- package/spec/v0.4/extensions/kagent/kagent.schema.json +0 -624
- package/spec/v0.4/extensions/langchain/langchain.schema.json +0 -243
- package/spec/v0.4/extensions/langgraph/langgraph.schema.json +0 -211
- package/spec/v0.4/extensions/mcp/README.md +0 -276
- package/spec/v0.4/extensions/mcp/mcp.schema.json +0 -84
- package/spec/v0.4/extensions/memory/memory.schema.json +0 -7
- package/spec/v0.4/extensions/team/team.schema.json +0 -304
- package/spec/v0.4/extensions/token-efficiency/token-efficiency.schema.json +0 -47
- package/spec/v0.4/mcp.schema.json +0 -1
- package/spec/v0.4/skill.schema.json +0 -1
- package/spec/v0.4/validator.schema.json +0 -282
- package/spec/v1/agent-card.schema.json +0 -254
- package/spec/v1/mcp.schema.json +0 -183
- package/spec/v1/skill.schema.json +0 -346
- package/templates/agent-types/claude-agent.ossa.yaml +0 -83
- package/templates/agent-types/kagent.ossa.yaml +0 -110
- package/templates/agent-types/langchain-agent.ossa.yaml +0 -106
- package/templates/agent-types/openapi-agent.ossa.yaml +0 -121
- package/templates/agent-types/swarm-agents.ossa.yaml +0 -168
- package/templates/ci-cd/github-actions.deploy.yml +0 -272
- package/templates/ci-cd/gitlab-ci.deploy.yml +0 -205
- package/templates/validators/capability-compatibility.ossa.yaml +0 -174
- package/templates/validators/coordination-consistency.ossa.yaml +0 -160
- package/templates/validators/pattern-requirements.ossa.yaml +0 -182
- package/templates/validators/transport-compatibility.ossa.yaml +0 -185
|
@@ -1,3467 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OSSA Wizard v2.0 - BEAST MODE EDITION
|
|
3
|
-
*
|
|
4
|
-
* The most comprehensive agent creation wizard ever built.
|
|
5
|
-
* Covers 105+ OSSA v0.4 features with modern UX using inquirer.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Template/preset system
|
|
9
|
-
* - Skills integration
|
|
10
|
-
* - RAG/Vector DB configuration
|
|
11
|
-
* - Communication/A2A messaging
|
|
12
|
-
* - State/memory management
|
|
13
|
-
* - Workflows & orchestration
|
|
14
|
-
* - Cost management & budgeting
|
|
15
|
-
* - Complete LLM configuration with fallbacks
|
|
16
|
-
* - All 22+ framework integrations
|
|
17
|
-
* - Auto-generation: agents.md, llms.txt
|
|
18
|
-
* - Knowledge graph integration
|
|
19
|
-
* - Deployment targets
|
|
20
|
-
* - Testing configuration
|
|
21
|
-
* - And SO MUCH MORE!
|
|
22
|
-
*/
|
|
23
|
-
import { Command } from 'commander';
|
|
24
|
-
import inquirer from 'inquirer';
|
|
25
|
-
import chalk from 'chalk';
|
|
26
|
-
import * as fs from 'fs';
|
|
27
|
-
import * as path from 'path';
|
|
28
|
-
import * as yaml from 'yaml';
|
|
29
|
-
import { getApiVersion } from '../../utils/version';
|
|
30
|
-
import { printBanner, printWizardBanner, printTemplates, printCompletion, printProgress, printStep, printSuccess, printInfo, printWarning, printError, } from '../banner.js';
|
|
31
|
-
import { v5 as uuidv5 } from 'uuid';
|
|
32
|
-
import { container } from '../../di-container.js';
|
|
33
|
-
import { SkillsInstallService } from '../../services/skills-pipeline/index.js';
|
|
34
|
-
import { marketplaceSkillsCatalog } from '../../data/marketplace-skills-catalog.js';
|
|
35
|
-
// =============================================================================
|
|
36
|
-
// TEMPLATES & PRESETS
|
|
37
|
-
// =============================================================================
|
|
38
|
-
const AGENT_TEMPLATES = [
|
|
39
|
-
{
|
|
40
|
-
id: 'code-reviewer',
|
|
41
|
-
name: 'Code Reviewer',
|
|
42
|
-
description: 'Automated code review with best practices enforcement',
|
|
43
|
-
category: 'development',
|
|
44
|
-
icon: '🔍',
|
|
45
|
-
features: [
|
|
46
|
-
'Code compliance',
|
|
47
|
-
'Knowledge sources (React, TypeScript, etc.)',
|
|
48
|
-
'Pre-commit hooks',
|
|
49
|
-
'Violation tracking',
|
|
50
|
-
],
|
|
51
|
-
manifest: {
|
|
52
|
-
metadata: {
|
|
53
|
-
name: 'code-reviewer',
|
|
54
|
-
description: 'Automated code review agent with best practices enforcement',
|
|
55
|
-
},
|
|
56
|
-
spec: {
|
|
57
|
-
role: `You are an expert code reviewer specializing in modern software development practices.
|
|
58
|
-
|
|
59
|
-
Your responsibilities:
|
|
60
|
-
- Review code changes for quality, security, and best practices
|
|
61
|
-
- Enforce coding standards and conventions
|
|
62
|
-
- Identify potential bugs, vulnerabilities, and performance issues
|
|
63
|
-
- Provide constructive feedback with specific improvement suggestions
|
|
64
|
-
- Reference relevant best practices and documentation
|
|
65
|
-
|
|
66
|
-
Guidelines:
|
|
67
|
-
- Be thorough but constructive in reviews
|
|
68
|
-
- Prioritize critical issues (security, correctness) over style
|
|
69
|
-
- Provide code examples when suggesting improvements
|
|
70
|
-
- Reference official documentation and standards
|
|
71
|
-
- Track all reviews in knowledge graph for continuous learning`,
|
|
72
|
-
llm: {
|
|
73
|
-
provider: 'anthropic',
|
|
74
|
-
model: 'claude-sonnet-4-20250514',
|
|
75
|
-
temperature: 0.3,
|
|
76
|
-
},
|
|
77
|
-
code_compliance: {
|
|
78
|
-
enabled: true,
|
|
79
|
-
enforcement_hooks: {
|
|
80
|
-
pre_write: { enabled: true, action: 'query' },
|
|
81
|
-
pre_commit: {
|
|
82
|
-
enabled: true,
|
|
83
|
-
action: 'block',
|
|
84
|
-
check_critical: true,
|
|
85
|
-
},
|
|
86
|
-
pre_merge: {
|
|
87
|
-
enabled: true,
|
|
88
|
-
action: 'block',
|
|
89
|
-
require_approval: true,
|
|
90
|
-
},
|
|
91
|
-
build: { enabled: true, fail_on_violations: true },
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
id: 'web-scraper',
|
|
99
|
-
name: 'Web Scraper',
|
|
100
|
-
description: 'Extract data from websites intelligently',
|
|
101
|
-
category: 'data',
|
|
102
|
-
icon: '🕷️',
|
|
103
|
-
features: [
|
|
104
|
-
'HTTP tools',
|
|
105
|
-
'Data extraction',
|
|
106
|
-
'Rate limiting',
|
|
107
|
-
'Error handling',
|
|
108
|
-
],
|
|
109
|
-
manifest: {
|
|
110
|
-
metadata: {
|
|
111
|
-
name: 'web-scraper',
|
|
112
|
-
description: 'Intelligent web scraping agent with rate limiting and error handling',
|
|
113
|
-
},
|
|
114
|
-
spec: {
|
|
115
|
-
role: `You are a web scraping specialist that extracts structured data from websites.
|
|
116
|
-
|
|
117
|
-
Your capabilities:
|
|
118
|
-
- Navigate websites and extract specific data
|
|
119
|
-
- Handle dynamic content and JavaScript-rendered pages
|
|
120
|
-
- Respect robots.txt and rate limits
|
|
121
|
-
- Parse HTML/JSON/XML responses
|
|
122
|
-
- Store extracted data in structured format
|
|
123
|
-
- Handle errors and retries gracefully
|
|
124
|
-
|
|
125
|
-
Best practices:
|
|
126
|
-
- Always check robots.txt before scraping
|
|
127
|
-
- Implement respectful rate limiting
|
|
128
|
-
- Use user-agent identification
|
|
129
|
-
- Cache responses when appropriate
|
|
130
|
-
- Handle pagination automatically
|
|
131
|
-
- Validate extracted data`,
|
|
132
|
-
llm: {
|
|
133
|
-
provider: 'anthropic',
|
|
134
|
-
model: 'claude-sonnet-4-20250514',
|
|
135
|
-
temperature: 0.2,
|
|
136
|
-
},
|
|
137
|
-
tools: [
|
|
138
|
-
{
|
|
139
|
-
type: 'http',
|
|
140
|
-
name: 'fetch',
|
|
141
|
-
description: 'HTTP client for web requests',
|
|
142
|
-
},
|
|
143
|
-
],
|
|
144
|
-
safety: {
|
|
145
|
-
rate_limiting: {
|
|
146
|
-
enabled: true,
|
|
147
|
-
requests_per_minute: 30,
|
|
148
|
-
burst_limit: 5,
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
id: 'data-analyst',
|
|
156
|
-
name: 'Data Analyst',
|
|
157
|
-
description: 'Analyze datasets and generate insights',
|
|
158
|
-
category: 'analytics',
|
|
159
|
-
icon: '📊',
|
|
160
|
-
features: [
|
|
161
|
-
'Data processing',
|
|
162
|
-
'Statistical analysis',
|
|
163
|
-
'Visualization',
|
|
164
|
-
'RAG',
|
|
165
|
-
],
|
|
166
|
-
manifest: {
|
|
167
|
-
metadata: {
|
|
168
|
-
name: 'data-analyst',
|
|
169
|
-
description: 'AI-powered data analysis agent with statistical expertise',
|
|
170
|
-
},
|
|
171
|
-
spec: {
|
|
172
|
-
role: `You are an expert data analyst specializing in exploratory data analysis and insight generation.
|
|
173
|
-
|
|
174
|
-
Your expertise includes:
|
|
175
|
-
- Statistical analysis (descriptive, inferential)
|
|
176
|
-
- Data visualization and storytelling
|
|
177
|
-
- Pattern recognition and anomaly detection
|
|
178
|
-
- Hypothesis testing
|
|
179
|
-
- Predictive modeling basics
|
|
180
|
-
- Data quality assessment
|
|
181
|
-
|
|
182
|
-
Approach:
|
|
183
|
-
- Start with data exploration and profiling
|
|
184
|
-
- Identify key patterns and relationships
|
|
185
|
-
- Generate clear, actionable insights
|
|
186
|
-
- Visualize findings effectively
|
|
187
|
-
- Provide statistical context and confidence levels
|
|
188
|
-
- Recommend next steps for deeper analysis`,
|
|
189
|
-
llm: {
|
|
190
|
-
provider: 'anthropic',
|
|
191
|
-
model: 'claude-sonnet-4-20250514',
|
|
192
|
-
temperature: 0.4,
|
|
193
|
-
},
|
|
194
|
-
},
|
|
195
|
-
},
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
id: 'devops-agent',
|
|
199
|
-
name: 'DevOps Agent',
|
|
200
|
-
description: 'CI/CD automation and infrastructure management',
|
|
201
|
-
category: 'operations',
|
|
202
|
-
icon: '⚙️',
|
|
203
|
-
features: ['CI/CD', 'Kubernetes', 'Infrastructure as Code', 'Monitoring'],
|
|
204
|
-
manifest: {
|
|
205
|
-
metadata: {
|
|
206
|
-
name: 'devops-agent',
|
|
207
|
-
description: 'DevOps automation agent for CI/CD and infrastructure',
|
|
208
|
-
},
|
|
209
|
-
spec: {
|
|
210
|
-
role: `You are a DevOps automation specialist managing CI/CD pipelines and infrastructure.
|
|
211
|
-
|
|
212
|
-
Your responsibilities:
|
|
213
|
-
- Automate deployment pipelines
|
|
214
|
-
- Manage Kubernetes clusters
|
|
215
|
-
- Monitor system health and performance
|
|
216
|
-
- Respond to alerts and incidents
|
|
217
|
-
- Implement infrastructure as code
|
|
218
|
-
- Enforce security and compliance
|
|
219
|
-
|
|
220
|
-
Tools and platforms:
|
|
221
|
-
- GitLab CI/CD, GitHub Actions
|
|
222
|
-
- Kubernetes, Docker
|
|
223
|
-
- Terraform, Ansible
|
|
224
|
-
- Prometheus, Grafana
|
|
225
|
-
- Cloud providers (AWS, GCP, Azure)
|
|
226
|
-
|
|
227
|
-
Best practices:
|
|
228
|
-
- Implement blue-green deployments
|
|
229
|
-
- Use canary releases for safety
|
|
230
|
-
- Maintain infrastructure as code
|
|
231
|
-
- Automate everything possible
|
|
232
|
-
- Monitor continuously
|
|
233
|
-
- Document all changes`,
|
|
234
|
-
llm: {
|
|
235
|
-
provider: 'anthropic',
|
|
236
|
-
model: 'claude-sonnet-4-20250514',
|
|
237
|
-
temperature: 0.2,
|
|
238
|
-
},
|
|
239
|
-
tools: [
|
|
240
|
-
{
|
|
241
|
-
type: 'kubernetes',
|
|
242
|
-
name: 'kubectl',
|
|
243
|
-
description: 'Kubernetes API access',
|
|
244
|
-
},
|
|
245
|
-
],
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
id: 'support-bot',
|
|
251
|
-
name: 'Customer Support Bot',
|
|
252
|
-
description: 'Automated customer support with knowledge base',
|
|
253
|
-
category: 'customer_service',
|
|
254
|
-
icon: '💬',
|
|
255
|
-
features: ['RAG', 'Knowledge base', 'Multi-language', 'Sentiment analysis'],
|
|
256
|
-
manifest: {
|
|
257
|
-
metadata: {
|
|
258
|
-
name: 'support-bot',
|
|
259
|
-
description: 'AI customer support agent with knowledge base integration',
|
|
260
|
-
},
|
|
261
|
-
spec: {
|
|
262
|
-
role: `You are a friendly and helpful customer support agent.
|
|
263
|
-
|
|
264
|
-
Your goals:
|
|
265
|
-
- Provide accurate, helpful answers to customer questions
|
|
266
|
-
- Resolve issues quickly and efficiently
|
|
267
|
-
- Escalate complex issues to human agents when needed
|
|
268
|
-
- Maintain a positive, empathetic tone
|
|
269
|
-
- Learn from interactions to improve over time
|
|
270
|
-
|
|
271
|
-
Capabilities:
|
|
272
|
-
- Search knowledge base for answers
|
|
273
|
-
- Handle multiple languages
|
|
274
|
-
- Track conversation context
|
|
275
|
-
- Detect customer sentiment
|
|
276
|
-
- Provide product recommendations
|
|
277
|
-
- Process returns and refunds (with approval)
|
|
278
|
-
|
|
279
|
-
Guidelines:
|
|
280
|
-
- Always be polite and professional
|
|
281
|
-
- Acknowledge customer frustration
|
|
282
|
-
- Provide clear, step-by-step solutions
|
|
283
|
-
- Offer alternatives when needed
|
|
284
|
-
- Know when to escalate to humans
|
|
285
|
-
- Follow company policies strictly`,
|
|
286
|
-
llm: {
|
|
287
|
-
provider: 'anthropic',
|
|
288
|
-
model: 'claude-sonnet-4-20250514',
|
|
289
|
-
temperature: 0.7,
|
|
290
|
-
},
|
|
291
|
-
},
|
|
292
|
-
},
|
|
293
|
-
},
|
|
294
|
-
{
|
|
295
|
-
id: 'content-generator',
|
|
296
|
-
name: 'Content Generator',
|
|
297
|
-
description: 'Blog posts, documentation, and marketing copy',
|
|
298
|
-
category: 'content',
|
|
299
|
-
icon: '✍️',
|
|
300
|
-
features: [
|
|
301
|
-
'SEO optimization',
|
|
302
|
-
'Multi-format',
|
|
303
|
-
'Brand voice',
|
|
304
|
-
'Fact-checking',
|
|
305
|
-
],
|
|
306
|
-
manifest: {
|
|
307
|
-
metadata: {
|
|
308
|
-
name: 'content-generator',
|
|
309
|
-
description: 'AI content creation agent for various formats and purposes',
|
|
310
|
-
},
|
|
311
|
-
spec: {
|
|
312
|
-
role: `You are a professional content creator specializing in engaging, high-quality written content.
|
|
313
|
-
|
|
314
|
-
Content types you create:
|
|
315
|
-
- Blog posts and articles
|
|
316
|
-
- Technical documentation
|
|
317
|
-
- Marketing copy
|
|
318
|
-
- Social media posts
|
|
319
|
-
- Email campaigns
|
|
320
|
-
- Product descriptions
|
|
321
|
-
- Case studies
|
|
322
|
-
- White papers
|
|
323
|
-
|
|
324
|
-
Best practices:
|
|
325
|
-
- Match brand voice and tone
|
|
326
|
-
- Optimize for SEO when relevant
|
|
327
|
-
- Use clear, accessible language
|
|
328
|
-
- Structure content for readability
|
|
329
|
-
- Include relevant examples
|
|
330
|
-
- Fact-check all claims
|
|
331
|
-
- Cite sources when appropriate
|
|
332
|
-
- Adapt style to audience
|
|
333
|
-
|
|
334
|
-
Quality standards:
|
|
335
|
-
- Original, plagiarism-free content
|
|
336
|
-
- Grammatically correct
|
|
337
|
-
- Well-researched and accurate
|
|
338
|
-
- Engaging and valuable to readers
|
|
339
|
-
- Properly formatted`,
|
|
340
|
-
llm: {
|
|
341
|
-
provider: 'anthropic',
|
|
342
|
-
model: 'claude-sonnet-4-20250514',
|
|
343
|
-
temperature: 0.8,
|
|
344
|
-
},
|
|
345
|
-
},
|
|
346
|
-
},
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
id: 'security-scanner',
|
|
350
|
-
name: 'Security Scanner',
|
|
351
|
-
description: 'Vulnerability detection and security analysis',
|
|
352
|
-
category: 'security',
|
|
353
|
-
icon: '🔒',
|
|
354
|
-
features: ['SAST', 'DAST', 'Dependency scanning', 'Compliance checks'],
|
|
355
|
-
manifest: {
|
|
356
|
-
metadata: {
|
|
357
|
-
name: 'security-scanner',
|
|
358
|
-
description: 'Security vulnerability scanner and analyzer',
|
|
359
|
-
},
|
|
360
|
-
spec: {
|
|
361
|
-
role: `You are a security expert specializing in vulnerability detection and remediation.
|
|
362
|
-
|
|
363
|
-
Your focus areas:
|
|
364
|
-
- Static application security testing (SAST)
|
|
365
|
-
- Dependency vulnerability scanning
|
|
366
|
-
- Secret detection in code
|
|
367
|
-
- Security best practices enforcement
|
|
368
|
-
- Compliance verification (OWASP, CWE)
|
|
369
|
-
- Threat modeling
|
|
370
|
-
|
|
371
|
-
Scan types:
|
|
372
|
-
- Code analysis for security flaws
|
|
373
|
-
- Third-party dependency vulnerabilities
|
|
374
|
-
- Configuration security issues
|
|
375
|
-
- API security problems
|
|
376
|
-
- Container and infrastructure security
|
|
377
|
-
|
|
378
|
-
Reporting:
|
|
379
|
-
- Categorize by severity (Critical, High, Medium, Low)
|
|
380
|
-
- Provide CVE references when applicable
|
|
381
|
-
- Include remediation guidance
|
|
382
|
-
- Prioritize based on exploitability
|
|
383
|
-
- Track vulnerability lifecycle`,
|
|
384
|
-
llm: {
|
|
385
|
-
provider: 'anthropic',
|
|
386
|
-
model: 'claude-sonnet-4-20250514',
|
|
387
|
-
temperature: 0.1,
|
|
388
|
-
},
|
|
389
|
-
},
|
|
390
|
-
},
|
|
391
|
-
},
|
|
392
|
-
{
|
|
393
|
-
id: 'testing-agent',
|
|
394
|
-
name: 'Testing Agent',
|
|
395
|
-
description: 'Automated test generation and execution',
|
|
396
|
-
category: 'quality',
|
|
397
|
-
icon: '🧪',
|
|
398
|
-
features: [
|
|
399
|
-
'Test generation',
|
|
400
|
-
'Coverage analysis',
|
|
401
|
-
'E2E testing',
|
|
402
|
-
'Performance testing',
|
|
403
|
-
],
|
|
404
|
-
manifest: {
|
|
405
|
-
metadata: {
|
|
406
|
-
name: 'testing-agent',
|
|
407
|
-
description: 'Automated testing agent for comprehensive test coverage',
|
|
408
|
-
},
|
|
409
|
-
spec: {
|
|
410
|
-
role: `You are a QA automation specialist focused on comprehensive test coverage.
|
|
411
|
-
|
|
412
|
-
Testing capabilities:
|
|
413
|
-
- Unit test generation
|
|
414
|
-
- Integration test creation
|
|
415
|
-
- End-to-end test scenarios
|
|
416
|
-
- Performance and load testing
|
|
417
|
-
- Security testing
|
|
418
|
-
- Accessibility testing
|
|
419
|
-
|
|
420
|
-
Test strategies:
|
|
421
|
-
- Boundary value analysis
|
|
422
|
-
- Equivalence partitioning
|
|
423
|
-
- Error guessing
|
|
424
|
-
- Risk-based testing
|
|
425
|
-
- Property-based testing
|
|
426
|
-
|
|
427
|
-
Quality metrics:
|
|
428
|
-
- Code coverage (line, branch, function)
|
|
429
|
-
- Test execution time
|
|
430
|
-
- Flaky test detection
|
|
431
|
-
- Mutation testing scores
|
|
432
|
-
- Performance benchmarks
|
|
433
|
-
|
|
434
|
-
Best practices:
|
|
435
|
-
- Write clear, maintainable tests
|
|
436
|
-
- Follow AAA pattern (Arrange, Act, Assert)
|
|
437
|
-
- Use meaningful test names
|
|
438
|
-
- Isolate tests from each other
|
|
439
|
-
- Mock external dependencies
|
|
440
|
-
- Keep tests fast and reliable`,
|
|
441
|
-
llm: {
|
|
442
|
-
provider: 'anthropic',
|
|
443
|
-
model: 'claude-sonnet-4-20250514',
|
|
444
|
-
temperature: 0.3,
|
|
445
|
-
},
|
|
446
|
-
},
|
|
447
|
-
},
|
|
448
|
-
},
|
|
449
|
-
{
|
|
450
|
-
id: 'documentation-generator',
|
|
451
|
-
name: 'Documentation Generator',
|
|
452
|
-
description: 'Auto-generate project documentation',
|
|
453
|
-
category: 'documentation',
|
|
454
|
-
icon: '📚',
|
|
455
|
-
features: ['API docs', 'README', 'Guides', 'Diagrams'],
|
|
456
|
-
manifest: {
|
|
457
|
-
metadata: {
|
|
458
|
-
name: 'documentation-generator',
|
|
459
|
-
description: 'Automated documentation generation agent',
|
|
460
|
-
},
|
|
461
|
-
spec: {
|
|
462
|
-
role: `You are a technical writer specializing in clear, comprehensive documentation.
|
|
463
|
-
|
|
464
|
-
Documentation types:
|
|
465
|
-
- API documentation
|
|
466
|
-
- README files
|
|
467
|
-
- Getting started guides
|
|
468
|
-
- Architecture documentation
|
|
469
|
-
- Troubleshooting guides
|
|
470
|
-
- FAQ sections
|
|
471
|
-
- Release notes
|
|
472
|
-
- Code comments
|
|
473
|
-
|
|
474
|
-
Documentation standards:
|
|
475
|
-
- Clear, concise language
|
|
476
|
-
- Logical structure and flow
|
|
477
|
-
- Code examples for all features
|
|
478
|
-
- Visual diagrams when helpful
|
|
479
|
-
- Version-specific information
|
|
480
|
-
- Searchable and indexable
|
|
481
|
-
- Accessible to target audience
|
|
482
|
-
|
|
483
|
-
Tools and formats:
|
|
484
|
-
- Markdown, MDX
|
|
485
|
-
- OpenAPI/Swagger
|
|
486
|
-
- JSDoc, TypeDoc
|
|
487
|
-
- Mermaid diagrams
|
|
488
|
-
- Docusaurus, GitBook
|
|
489
|
-
- Wiki formats`,
|
|
490
|
-
llm: {
|
|
491
|
-
provider: 'anthropic',
|
|
492
|
-
model: 'claude-sonnet-4-20250514',
|
|
493
|
-
temperature: 0.5,
|
|
494
|
-
},
|
|
495
|
-
},
|
|
496
|
-
},
|
|
497
|
-
},
|
|
498
|
-
{
|
|
499
|
-
id: 'custom',
|
|
500
|
-
name: 'Custom Agent (Blank Slate)',
|
|
501
|
-
description: 'Start from scratch with full guided setup',
|
|
502
|
-
category: 'custom',
|
|
503
|
-
icon: '🎨',
|
|
504
|
-
features: ['Full customization', 'All features available', 'Expert mode'],
|
|
505
|
-
manifest: {
|
|
506
|
-
metadata: {
|
|
507
|
-
name: 'custom-agent',
|
|
508
|
-
description: 'Custom agent with full configuration',
|
|
509
|
-
},
|
|
510
|
-
spec: {
|
|
511
|
-
role: 'You are an AI agent. Your role will be defined during setup.',
|
|
512
|
-
llm: {
|
|
513
|
-
provider: 'anthropic',
|
|
514
|
-
model: 'claude-sonnet-4-20250514',
|
|
515
|
-
temperature: 0.7,
|
|
516
|
-
},
|
|
517
|
-
},
|
|
518
|
-
},
|
|
519
|
-
},
|
|
520
|
-
];
|
|
521
|
-
// =============================================================================
|
|
522
|
-
// WIZARD STATE MANAGEMENT
|
|
523
|
-
// =============================================================================
|
|
524
|
-
class WizardStateManager {
|
|
525
|
-
state;
|
|
526
|
-
constructor(mode = 'guided') {
|
|
527
|
-
this.state = {
|
|
528
|
-
currentStep: 0,
|
|
529
|
-
totalSteps: this.calculateTotalSteps(mode),
|
|
530
|
-
agent: {
|
|
531
|
-
apiVersion: getApiVersion(),
|
|
532
|
-
kind: 'Agent',
|
|
533
|
-
metadata: {
|
|
534
|
-
name: '',
|
|
535
|
-
},
|
|
536
|
-
spec: {
|
|
537
|
-
role: '',
|
|
538
|
-
},
|
|
539
|
-
},
|
|
540
|
-
mode,
|
|
541
|
-
features: {
|
|
542
|
-
skills: false,
|
|
543
|
-
rag: false,
|
|
544
|
-
communication: false,
|
|
545
|
-
workflows: false,
|
|
546
|
-
observability: false,
|
|
547
|
-
cost_management: false,
|
|
548
|
-
state_management: false,
|
|
549
|
-
testing: false,
|
|
550
|
-
},
|
|
551
|
-
};
|
|
552
|
-
}
|
|
553
|
-
calculateTotalSteps(mode) {
|
|
554
|
-
// Base steps include: Template, Basic Info, LLM, Features, Tools, Safety,
|
|
555
|
-
// Export Targets, Testing & Validation, Output Generation
|
|
556
|
-
switch (mode) {
|
|
557
|
-
case 'quick':
|
|
558
|
-
return 7; // Essential steps + export + testing
|
|
559
|
-
case 'expert':
|
|
560
|
-
return 27; // All features + export + testing
|
|
561
|
-
case 'guided':
|
|
562
|
-
default:
|
|
563
|
-
return 17; // Common features + export + testing
|
|
564
|
-
}
|
|
565
|
-
}
|
|
566
|
-
nextStep(stepName) {
|
|
567
|
-
this.state.currentStep++;
|
|
568
|
-
printProgress(this.state.currentStep, this.state.totalSteps, stepName);
|
|
569
|
-
}
|
|
570
|
-
setTemplate(template) {
|
|
571
|
-
this.state.template = template;
|
|
572
|
-
this.state.agent = {
|
|
573
|
-
...this.state.agent,
|
|
574
|
-
...template.manifest,
|
|
575
|
-
};
|
|
576
|
-
}
|
|
577
|
-
enableFeature(feature) {
|
|
578
|
-
this.state.features[feature] = true;
|
|
579
|
-
}
|
|
580
|
-
updateAgent(updates) {
|
|
581
|
-
this.state.agent = {
|
|
582
|
-
...this.state.agent,
|
|
583
|
-
...updates,
|
|
584
|
-
spec: {
|
|
585
|
-
...this.state.agent.spec,
|
|
586
|
-
...updates.spec,
|
|
587
|
-
},
|
|
588
|
-
metadata: {
|
|
589
|
-
...this.state.agent.metadata,
|
|
590
|
-
...updates.metadata,
|
|
591
|
-
},
|
|
592
|
-
};
|
|
593
|
-
}
|
|
594
|
-
getAgent() {
|
|
595
|
-
return this.state.agent;
|
|
596
|
-
}
|
|
597
|
-
getState() {
|
|
598
|
-
return this.state;
|
|
599
|
-
}
|
|
600
|
-
}
|
|
601
|
-
// =============================================================================
|
|
602
|
-
// MAIN WIZARD CLASS
|
|
603
|
-
// =============================================================================
|
|
604
|
-
class OSSAWizardV2 {
|
|
605
|
-
state;
|
|
606
|
-
options;
|
|
607
|
-
constructor(options) {
|
|
608
|
-
this.options = options;
|
|
609
|
-
this.state = new WizardStateManager(options.mode || 'guided');
|
|
610
|
-
}
|
|
611
|
-
async run() {
|
|
612
|
-
try {
|
|
613
|
-
printBanner();
|
|
614
|
-
printWizardBanner();
|
|
615
|
-
// Step 1: Template Selection
|
|
616
|
-
await this.selectTemplate();
|
|
617
|
-
// Step 2: Basic Information
|
|
618
|
-
await this.configureBasicInfo();
|
|
619
|
-
// Step 3: System Prompt (THE MOST IMPORTANT FIELD)
|
|
620
|
-
await this.configureSystemPrompt();
|
|
621
|
-
// Step 4: LLM Configuration
|
|
622
|
-
await this.configureLLM();
|
|
623
|
-
// Step 5: Tools Configuration (CRITICAL)
|
|
624
|
-
await this.configureToolsCore();
|
|
625
|
-
// Step 6: Autonomy & Constraints
|
|
626
|
-
await this.configureAutonomy();
|
|
627
|
-
await this.configureConstraints();
|
|
628
|
-
// Step 7: Identity & Access Control
|
|
629
|
-
await this.configureIdentity();
|
|
630
|
-
await this.configureAccessControl();
|
|
631
|
-
// Step 8: Agent Type & Taxonomy
|
|
632
|
-
await this.configureAgentType();
|
|
633
|
-
await this.configureTaxonomy();
|
|
634
|
-
// Step 9: Compliance & Governance
|
|
635
|
-
await this.configureCompliance();
|
|
636
|
-
// Step 10: Lifecycle Management
|
|
637
|
-
await this.configureLifecycle();
|
|
638
|
-
// Step 11: Token Efficiency (v0.4 REVOLUTIONARY)
|
|
639
|
-
await this.configureTokenEfficiency();
|
|
640
|
-
// Step 11b: Memory Management (v0.4)
|
|
641
|
-
await this.configureMemoryManagement();
|
|
642
|
-
// Step 12: Agent-to-Agent Communication (A2A) - MAJOR SELLING POINT
|
|
643
|
-
await this.configureMessagingA2A();
|
|
644
|
-
// Step 13: Function Definitions (CRITICAL for function calling)
|
|
645
|
-
await this.configureFunctions();
|
|
646
|
-
// Step 14: Platform Adapters (Production integrations)
|
|
647
|
-
await this.configureAdapters();
|
|
648
|
-
// Step 15: Principal & Credentials (Security)
|
|
649
|
-
await this.configurePrincipal();
|
|
650
|
-
// Step 16: Feature Selection (Advanced/Optional)
|
|
651
|
-
await this.selectFeatures();
|
|
652
|
-
// Conditional steps based on features
|
|
653
|
-
if (this.state.getState().features.skills) {
|
|
654
|
-
await this.configureSkills();
|
|
655
|
-
}
|
|
656
|
-
if (this.state.getState().features.rag) {
|
|
657
|
-
await this.configureRAG();
|
|
658
|
-
}
|
|
659
|
-
if (this.state.getState().features.communication) {
|
|
660
|
-
await this.configureCommunication();
|
|
661
|
-
}
|
|
662
|
-
if (this.state.getState().features.state_management) {
|
|
663
|
-
await this.configureStateManagement();
|
|
664
|
-
}
|
|
665
|
-
if (this.state.getState().features.cost_management) {
|
|
666
|
-
await this.configureCostManagement();
|
|
667
|
-
}
|
|
668
|
-
if (this.state.getState().features.observability) {
|
|
669
|
-
await this.configureObservability();
|
|
670
|
-
}
|
|
671
|
-
// Step N: Tools & Capabilities
|
|
672
|
-
await this.configureTools();
|
|
673
|
-
// Step N+1: Safety & Security
|
|
674
|
-
await this.configureSafety();
|
|
675
|
-
// Step N+2: Export Target Configuration
|
|
676
|
-
await this.configureExportTargets();
|
|
677
|
-
// Step N+3: Testing & Validation Configuration
|
|
678
|
-
await this.configureTestingValidation();
|
|
679
|
-
// Step N+4: Output & Generation
|
|
680
|
-
await this.generateOutput();
|
|
681
|
-
printCompletion();
|
|
682
|
-
this.printNextSteps();
|
|
683
|
-
}
|
|
684
|
-
catch (error) {
|
|
685
|
-
printError(error instanceof Error ? error.message : String(error));
|
|
686
|
-
process.exit(1);
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
// =========================================================================
|
|
690
|
-
// STEP IMPLEMENTATIONS
|
|
691
|
-
// =========================================================================
|
|
692
|
-
async selectTemplate() {
|
|
693
|
-
this.state.nextStep('Template Selection');
|
|
694
|
-
printStep(1, this.state.getState().totalSteps, 'Select Agent Template');
|
|
695
|
-
if (this.options.template) {
|
|
696
|
-
const template = AGENT_TEMPLATES.find((t) => t.id === this.options.template);
|
|
697
|
-
if (template) {
|
|
698
|
-
this.state.setTemplate(template);
|
|
699
|
-
printSuccess(`Using template: ${template.name}`);
|
|
700
|
-
return;
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
printTemplates();
|
|
704
|
-
const { templateId } = await inquirer.prompt([
|
|
705
|
-
{
|
|
706
|
-
type: 'list',
|
|
707
|
-
name: 'templateId',
|
|
708
|
-
message: 'Choose a template to get started:',
|
|
709
|
-
choices: AGENT_TEMPLATES.map((t) => ({
|
|
710
|
-
name: `${t.icon} ${chalk.bold(t.name)} - ${chalk.gray(t.description)}`,
|
|
711
|
-
value: t.id,
|
|
712
|
-
short: t.name,
|
|
713
|
-
})),
|
|
714
|
-
pageSize: 12,
|
|
715
|
-
},
|
|
716
|
-
]);
|
|
717
|
-
const template = AGENT_TEMPLATES.find((t) => t.id === templateId);
|
|
718
|
-
if (template) {
|
|
719
|
-
this.state.setTemplate(template);
|
|
720
|
-
printSuccess(`Selected: ${template.name}`);
|
|
721
|
-
if (template.id !== 'custom') {
|
|
722
|
-
printInfo('Template features:');
|
|
723
|
-
template.features.forEach((f) => console.log(chalk.gray(` • ${f}`)));
|
|
724
|
-
}
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
async configureBasicInfo() {
|
|
728
|
-
this.state.nextStep('Basic Information');
|
|
729
|
-
printStep(2, this.state.getState().totalSteps, 'Basic Agent Information', 'Configure name, version, and description');
|
|
730
|
-
const answers = await inquirer.prompt([
|
|
731
|
-
{
|
|
732
|
-
type: 'input',
|
|
733
|
-
name: 'name',
|
|
734
|
-
message: 'Agent ID (DNS-1123 format):',
|
|
735
|
-
default: this.state.getAgent().metadata?.name || 'agent-smith',
|
|
736
|
-
validate: (input) => {
|
|
737
|
-
const valid = /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/.test(input);
|
|
738
|
-
return (valid ||
|
|
739
|
-
'Must be DNS-1123 compliant (lowercase, alphanumeric, hyphens)');
|
|
740
|
-
},
|
|
741
|
-
},
|
|
742
|
-
{
|
|
743
|
-
type: 'input',
|
|
744
|
-
name: 'displayName',
|
|
745
|
-
message: 'Display Name:',
|
|
746
|
-
default: (answers) => answers.name,
|
|
747
|
-
},
|
|
748
|
-
{
|
|
749
|
-
type: 'input',
|
|
750
|
-
name: 'description',
|
|
751
|
-
message: 'Description:',
|
|
752
|
-
default: this.state.getAgent().metadata?.description ||
|
|
753
|
-
'An OSSA-compliant agent',
|
|
754
|
-
},
|
|
755
|
-
{
|
|
756
|
-
type: 'input',
|
|
757
|
-
name: 'version',
|
|
758
|
-
message: 'Version (semver):',
|
|
759
|
-
default: '1.0.0',
|
|
760
|
-
validate: (input) => {
|
|
761
|
-
const valid = /^\d+\.\d+\.\d+(-[a-zA-Z0-9]+)?$/.test(input);
|
|
762
|
-
return valid || 'Must be valid semver (e.g., 1.0.0, 0.1.0-beta)';
|
|
763
|
-
},
|
|
764
|
-
},
|
|
765
|
-
]);
|
|
766
|
-
this.state.updateAgent({
|
|
767
|
-
metadata: {
|
|
768
|
-
name: answers.name,
|
|
769
|
-
version: answers.version,
|
|
770
|
-
description: answers.description,
|
|
771
|
-
labels: {
|
|
772
|
-
'ossa.io/created-by': 'wizard-v2',
|
|
773
|
-
},
|
|
774
|
-
},
|
|
775
|
-
});
|
|
776
|
-
printSuccess('Basic information configured');
|
|
777
|
-
}
|
|
778
|
-
async configureSystemPrompt() {
|
|
779
|
-
this.state.nextStep('System Prompt');
|
|
780
|
-
printStep(3, this.state.getState().totalSteps, 'System Prompt & Instructions', 'THE MOST IMPORTANT FIELD - Define your agent behavior');
|
|
781
|
-
printInfo("💡 The system prompt defines your agent's personality, capabilities, and behavior.");
|
|
782
|
-
printInfo(' This is required for all exports and agent execution.');
|
|
783
|
-
const answers = await inquirer.prompt([
|
|
784
|
-
{
|
|
785
|
-
type: 'editor',
|
|
786
|
-
name: 'systemPrompt',
|
|
787
|
-
message: 'System Prompt (opens in your default editor):',
|
|
788
|
-
default: `You are an AI assistant specialized in helping users.
|
|
789
|
-
|
|
790
|
-
Your capabilities:
|
|
791
|
-
- Analyze and understand user requests
|
|
792
|
-
- Provide accurate, helpful responses
|
|
793
|
-
- Follow best practices and guidelines
|
|
794
|
-
|
|
795
|
-
Your responsibilities:
|
|
796
|
-
- Be helpful, harmless, and honest
|
|
797
|
-
- Provide clear, actionable guidance
|
|
798
|
-
- Admit when you don't know something
|
|
799
|
-
|
|
800
|
-
Guidelines:
|
|
801
|
-
- Always prioritize user safety and privacy
|
|
802
|
-
- Provide sources and references when possible
|
|
803
|
-
- Be concise but thorough in explanations`,
|
|
804
|
-
validate: (input) => {
|
|
805
|
-
if (!input || input.trim().length === 0) {
|
|
806
|
-
return 'System prompt is required - this defines your agent behavior!';
|
|
807
|
-
}
|
|
808
|
-
if (input.trim().length < 50) {
|
|
809
|
-
return 'System prompt should be at least 50 characters for meaningful behavior';
|
|
810
|
-
}
|
|
811
|
-
return true;
|
|
812
|
-
},
|
|
813
|
-
},
|
|
814
|
-
{
|
|
815
|
-
type: 'input',
|
|
816
|
-
name: 'primaryGoal',
|
|
817
|
-
message: 'Primary Goal (one sentence):',
|
|
818
|
-
default: 'Help users accomplish their tasks efficiently',
|
|
819
|
-
},
|
|
820
|
-
{
|
|
821
|
-
type: 'list',
|
|
822
|
-
name: 'tone',
|
|
823
|
-
message: 'Agent Tone/Personality:',
|
|
824
|
-
choices: [
|
|
825
|
-
{ name: 'Professional', value: 'professional' },
|
|
826
|
-
{ name: 'Friendly', value: 'friendly' },
|
|
827
|
-
{ name: 'Technical', value: 'technical' },
|
|
828
|
-
{ name: 'Casual', value: 'casual' },
|
|
829
|
-
{ name: 'Formal', value: 'formal' },
|
|
830
|
-
],
|
|
831
|
-
default: 'professional',
|
|
832
|
-
},
|
|
833
|
-
]);
|
|
834
|
-
this.state.updateAgent({
|
|
835
|
-
spec: {
|
|
836
|
-
role: answers.systemPrompt,
|
|
837
|
-
prompts: {
|
|
838
|
-
system: answers.systemPrompt,
|
|
839
|
-
},
|
|
840
|
-
metadata: {
|
|
841
|
-
...this.state.getAgent().metadata,
|
|
842
|
-
annotations: {
|
|
843
|
-
'ossa.io/primary-goal': answers.primaryGoal,
|
|
844
|
-
'ossa.io/tone': answers.tone,
|
|
845
|
-
},
|
|
846
|
-
},
|
|
847
|
-
},
|
|
848
|
-
});
|
|
849
|
-
printSuccess('System prompt configured - Your agent now has a personality!');
|
|
850
|
-
}
|
|
851
|
-
async configureLLM() {
|
|
852
|
-
this.state.nextStep('LLM Configuration');
|
|
853
|
-
printStep(4, this.state.getState().totalSteps, 'LLM Configuration', 'Configure primary LLM, fallbacks, and cost controls');
|
|
854
|
-
const { provider } = await inquirer.prompt([
|
|
855
|
-
{
|
|
856
|
-
type: 'list',
|
|
857
|
-
name: 'provider',
|
|
858
|
-
message: 'Select LLM Provider:',
|
|
859
|
-
choices: [
|
|
860
|
-
{ name: 'Anthropic Claude (Recommended)', value: 'anthropic' },
|
|
861
|
-
{ name: 'OpenAI', value: 'openai' },
|
|
862
|
-
{ name: 'Google Gemini', value: 'google' },
|
|
863
|
-
{ name: 'Mistral AI', value: 'mistral' },
|
|
864
|
-
{ name: 'Cohere', value: 'cohere' },
|
|
865
|
-
{ name: 'Groq', value: 'groq' },
|
|
866
|
-
{ name: 'Together AI', value: 'together' },
|
|
867
|
-
],
|
|
868
|
-
default: 'anthropic',
|
|
869
|
-
},
|
|
870
|
-
]);
|
|
871
|
-
const modelChoices = {
|
|
872
|
-
anthropic: [
|
|
873
|
-
{
|
|
874
|
-
name: 'Claude Sonnet 4 (Recommended)',
|
|
875
|
-
value: 'claude-sonnet-4-20250514',
|
|
876
|
-
},
|
|
877
|
-
{ name: 'Claude Opus 4', value: 'claude-opus-4-20250514' },
|
|
878
|
-
{ name: 'Claude Haiku 4', value: 'claude-haiku-4-20250514' },
|
|
879
|
-
],
|
|
880
|
-
openai: [
|
|
881
|
-
{ name: 'GPT-4o (Recommended)', value: 'gpt-4o' },
|
|
882
|
-
{ name: 'GPT-4 Turbo', value: 'gpt-4-turbo' },
|
|
883
|
-
{ name: 'GPT-3.5 Turbo', value: 'gpt-3.5-turbo' },
|
|
884
|
-
],
|
|
885
|
-
google: [
|
|
886
|
-
{
|
|
887
|
-
name: 'Gemini 2.0 Flash (Recommended)',
|
|
888
|
-
value: 'gemini-2.0-flash-exp',
|
|
889
|
-
},
|
|
890
|
-
{ name: 'Gemini 1.5 Pro', value: 'gemini-1.5-pro' },
|
|
891
|
-
],
|
|
892
|
-
mistral: [
|
|
893
|
-
{ name: 'Mistral Large', value: 'mistral-large-latest' },
|
|
894
|
-
{ name: 'Mixtral 8x7B', value: 'mixtral-8x7b-32768' },
|
|
895
|
-
],
|
|
896
|
-
cohere: [
|
|
897
|
-
{ name: 'Command R+', value: 'command-r-plus' },
|
|
898
|
-
{ name: 'Command R', value: 'command-r' },
|
|
899
|
-
],
|
|
900
|
-
groq: [{ name: 'Llama 3.1 70B', value: 'llama-3.1-70b-versatile' }],
|
|
901
|
-
together: [
|
|
902
|
-
{
|
|
903
|
-
name: 'Llama 3.1 70B',
|
|
904
|
-
value: 'meta-llama/Llama-3.1-70B-Instruct-Turbo',
|
|
905
|
-
},
|
|
906
|
-
],
|
|
907
|
-
};
|
|
908
|
-
const llmAnswers = await inquirer.prompt([
|
|
909
|
-
{
|
|
910
|
-
type: 'list',
|
|
911
|
-
name: 'model',
|
|
912
|
-
message: 'Select Model:',
|
|
913
|
-
choices: modelChoices[provider] || [
|
|
914
|
-
{ name: 'Default', value: 'default' },
|
|
915
|
-
],
|
|
916
|
-
},
|
|
917
|
-
{
|
|
918
|
-
type: 'number',
|
|
919
|
-
name: 'temperature',
|
|
920
|
-
message: 'Temperature (0.0-2.0):',
|
|
921
|
-
default: 0.7,
|
|
922
|
-
validate: (input) => {
|
|
923
|
-
return (input >= 0 && input <= 2) || 'Must be between 0.0 and 2.0';
|
|
924
|
-
},
|
|
925
|
-
},
|
|
926
|
-
{
|
|
927
|
-
type: 'confirm',
|
|
928
|
-
name: 'addFallback',
|
|
929
|
-
message: 'Add fallback LLM for reliability?',
|
|
930
|
-
default: false,
|
|
931
|
-
},
|
|
932
|
-
]);
|
|
933
|
-
const llmConfig = {
|
|
934
|
-
provider,
|
|
935
|
-
model: llmAnswers.model,
|
|
936
|
-
temperature: llmAnswers.temperature,
|
|
937
|
-
};
|
|
938
|
-
if (llmAnswers.addFallback) {
|
|
939
|
-
const { fallbackProvider } = await inquirer.prompt([
|
|
940
|
-
{
|
|
941
|
-
type: 'list',
|
|
942
|
-
name: 'fallbackProvider',
|
|
943
|
-
message: 'Select fallback provider:',
|
|
944
|
-
choices: [
|
|
945
|
-
{ name: 'OpenAI', value: 'openai' },
|
|
946
|
-
{ name: 'Google', value: 'google' },
|
|
947
|
-
{ name: 'Mistral', value: 'mistral' },
|
|
948
|
-
],
|
|
949
|
-
default: provider === 'anthropic' ? 'openai' : 'anthropic',
|
|
950
|
-
},
|
|
951
|
-
]);
|
|
952
|
-
llmConfig.fallback_models = [
|
|
953
|
-
{
|
|
954
|
-
provider: fallbackProvider,
|
|
955
|
-
model: modelChoices[fallbackProvider]?.[0]?.value || 'default',
|
|
956
|
-
},
|
|
957
|
-
];
|
|
958
|
-
printSuccess('Fallback LLM configured for high availability');
|
|
959
|
-
}
|
|
960
|
-
this.state.updateAgent({
|
|
961
|
-
spec: {
|
|
962
|
-
llm: llmConfig,
|
|
963
|
-
},
|
|
964
|
-
});
|
|
965
|
-
printSuccess('LLM configuration complete');
|
|
966
|
-
}
|
|
967
|
-
async configureToolsCore() {
|
|
968
|
-
this.state.nextStep('Tools Configuration');
|
|
969
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Tools & Capabilities', 'Define what your agent can do');
|
|
970
|
-
printInfo('💡 Tools are the actions your agent can perform (API calls, code execution, etc.)');
|
|
971
|
-
const { toolChoice } = await inquirer.prompt([
|
|
972
|
-
{
|
|
973
|
-
type: 'list',
|
|
974
|
-
name: 'toolChoice',
|
|
975
|
-
message: 'Tool configuration approach:',
|
|
976
|
-
choices: [
|
|
977
|
-
{ name: 'Add tools manually (custom functions)', value: 'manual' },
|
|
978
|
-
{ name: 'Use MCP servers (Model Context Protocol)', value: 'mcp' },
|
|
979
|
-
{ name: 'Add tools later (skip for now)', value: 'skip' },
|
|
980
|
-
],
|
|
981
|
-
default: 'mcp',
|
|
982
|
-
},
|
|
983
|
-
]);
|
|
984
|
-
if (toolChoice === 'manual') {
|
|
985
|
-
const { toolCount } = await inquirer.prompt([
|
|
986
|
-
{
|
|
987
|
-
type: 'number',
|
|
988
|
-
name: 'toolCount',
|
|
989
|
-
message: 'How many tools to add?',
|
|
990
|
-
default: 1,
|
|
991
|
-
validate: (input) => (input > 0 && input <= 20) || 'Must be between 1 and 20',
|
|
992
|
-
},
|
|
993
|
-
]);
|
|
994
|
-
const tools = [];
|
|
995
|
-
for (let i = 0; i < toolCount; i++) {
|
|
996
|
-
const toolAnswers = await inquirer.prompt([
|
|
997
|
-
{
|
|
998
|
-
type: 'input',
|
|
999
|
-
name: 'name',
|
|
1000
|
-
message: `Tool ${i + 1} - Name:`,
|
|
1001
|
-
validate: (input) => input.length > 0 || 'Tool name required',
|
|
1002
|
-
},
|
|
1003
|
-
{
|
|
1004
|
-
type: 'input',
|
|
1005
|
-
name: 'description',
|
|
1006
|
-
message: `Tool ${i + 1} - Description:`,
|
|
1007
|
-
validate: (input) => input.length > 0 || 'Description required',
|
|
1008
|
-
},
|
|
1009
|
-
{
|
|
1010
|
-
type: 'list',
|
|
1011
|
-
name: 'type',
|
|
1012
|
-
message: `Tool ${i + 1} - Type:`,
|
|
1013
|
-
choices: [
|
|
1014
|
-
{ name: 'HTTP API', value: 'http' },
|
|
1015
|
-
{ name: 'Function', value: 'function' },
|
|
1016
|
-
{ name: 'MCP Server', value: 'mcp' },
|
|
1017
|
-
{ name: 'Browser Automation', value: 'browser' },
|
|
1018
|
-
{ name: 'Kubernetes', value: 'kubernetes' },
|
|
1019
|
-
{ name: 'CLI Command', value: 'cli' },
|
|
1020
|
-
],
|
|
1021
|
-
},
|
|
1022
|
-
]);
|
|
1023
|
-
tools.push({
|
|
1024
|
-
name: toolAnswers.name,
|
|
1025
|
-
description: toolAnswers.description,
|
|
1026
|
-
type: toolAnswers.type,
|
|
1027
|
-
});
|
|
1028
|
-
}
|
|
1029
|
-
this.state.updateAgent({
|
|
1030
|
-
spec: {
|
|
1031
|
-
tools,
|
|
1032
|
-
},
|
|
1033
|
-
});
|
|
1034
|
-
printSuccess(`${tools.length} tools configured`);
|
|
1035
|
-
}
|
|
1036
|
-
else if (toolChoice === 'mcp') {
|
|
1037
|
-
printInfo('📡 MCP servers provide pre-built tools via Model Context Protocol');
|
|
1038
|
-
printInfo(' Configure MCP servers in the extensions.mcp section');
|
|
1039
|
-
printSuccess('MCP server configuration marked for later setup');
|
|
1040
|
-
}
|
|
1041
|
-
else {
|
|
1042
|
-
printInfo('⏭️ Tools can be added later by editing the manifest');
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
async configureAutonomy() {
|
|
1046
|
-
this.state.nextStep('Autonomy Configuration');
|
|
1047
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Autonomy & Decision-Making', 'Configure agent independence and human oversight');
|
|
1048
|
-
const answers = await inquirer.prompt([
|
|
1049
|
-
{
|
|
1050
|
-
type: 'list',
|
|
1051
|
-
name: 'level',
|
|
1052
|
-
message: 'Autonomy Level:',
|
|
1053
|
-
choices: [
|
|
1054
|
-
{
|
|
1055
|
-
name: 'Fully Autonomous - No human approval needed',
|
|
1056
|
-
value: 'full',
|
|
1057
|
-
},
|
|
1058
|
-
{
|
|
1059
|
-
name: 'Semi-Autonomous - Approval for critical actions',
|
|
1060
|
-
value: 'semi',
|
|
1061
|
-
},
|
|
1062
|
-
{
|
|
1063
|
-
name: 'Supervised - All actions require approval',
|
|
1064
|
-
value: 'supervised',
|
|
1065
|
-
},
|
|
1066
|
-
],
|
|
1067
|
-
default: 'semi',
|
|
1068
|
-
},
|
|
1069
|
-
{
|
|
1070
|
-
type: 'confirm',
|
|
1071
|
-
name: 'enableHumanInLoop',
|
|
1072
|
-
message: 'Enable human-in-the-loop for critical decisions?',
|
|
1073
|
-
default: true,
|
|
1074
|
-
},
|
|
1075
|
-
{
|
|
1076
|
-
type: 'number',
|
|
1077
|
-
name: 'confidenceThreshold',
|
|
1078
|
-
message: 'Minimum confidence threshold for autonomous actions (0.0-1.0):',
|
|
1079
|
-
default: 0.7,
|
|
1080
|
-
validate: (input) => (input >= 0 && input <= 1) || 'Must be between 0 and 1',
|
|
1081
|
-
},
|
|
1082
|
-
]);
|
|
1083
|
-
this.state.updateAgent({
|
|
1084
|
-
spec: {
|
|
1085
|
-
autonomy: {
|
|
1086
|
-
level: answers.level,
|
|
1087
|
-
approval_required: answers.level !== 'full',
|
|
1088
|
-
human_in_loop: answers.enableHumanInLoop,
|
|
1089
|
-
confidence_threshold: answers.confidenceThreshold,
|
|
1090
|
-
escalation: {
|
|
1091
|
-
enabled: answers.enableHumanInLoop,
|
|
1092
|
-
threshold: answers.confidenceThreshold,
|
|
1093
|
-
},
|
|
1094
|
-
},
|
|
1095
|
-
},
|
|
1096
|
-
});
|
|
1097
|
-
printSuccess('Autonomy configuration complete');
|
|
1098
|
-
}
|
|
1099
|
-
async configureConstraints() {
|
|
1100
|
-
this.state.nextStep('Constraints Configuration');
|
|
1101
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Constraints & Limits', 'Define operational boundaries');
|
|
1102
|
-
const answers = await inquirer.prompt([
|
|
1103
|
-
{
|
|
1104
|
-
type: 'number',
|
|
1105
|
-
name: 'maxExecutionTime',
|
|
1106
|
-
message: 'Maximum execution time (seconds, 0 for unlimited):',
|
|
1107
|
-
default: 300,
|
|
1108
|
-
validate: (input) => input >= 0 || 'Must be >= 0',
|
|
1109
|
-
},
|
|
1110
|
-
{
|
|
1111
|
-
type: 'number',
|
|
1112
|
-
name: 'maxCostPerExecution',
|
|
1113
|
-
message: 'Maximum cost per execution (USD, 0 for unlimited):',
|
|
1114
|
-
default: 0.5,
|
|
1115
|
-
validate: (input) => input >= 0 || 'Must be >= 0',
|
|
1116
|
-
},
|
|
1117
|
-
{
|
|
1118
|
-
type: 'confirm',
|
|
1119
|
-
name: 'allowInternet',
|
|
1120
|
-
message: 'Allow internet access?',
|
|
1121
|
-
default: true,
|
|
1122
|
-
},
|
|
1123
|
-
{
|
|
1124
|
-
type: 'confirm',
|
|
1125
|
-
name: 'allowFileSystem',
|
|
1126
|
-
message: 'Allow file system access?',
|
|
1127
|
-
default: false,
|
|
1128
|
-
},
|
|
1129
|
-
]);
|
|
1130
|
-
this.state.updateAgent({
|
|
1131
|
-
spec: {
|
|
1132
|
-
constraints: {
|
|
1133
|
-
time: {
|
|
1134
|
-
max_execution_time: answers.maxExecutionTime > 0
|
|
1135
|
-
? `${answers.maxExecutionTime}s`
|
|
1136
|
-
: undefined,
|
|
1137
|
-
},
|
|
1138
|
-
cost: {
|
|
1139
|
-
max_cost_per_execution: answers.maxCostPerExecution,
|
|
1140
|
-
currency: 'USD',
|
|
1141
|
-
},
|
|
1142
|
-
allowed_actions: {
|
|
1143
|
-
internet_access: answers.allowInternet,
|
|
1144
|
-
file_system_access: answers.allowFileSystem,
|
|
1145
|
-
},
|
|
1146
|
-
},
|
|
1147
|
-
},
|
|
1148
|
-
});
|
|
1149
|
-
printSuccess('Constraints configured');
|
|
1150
|
-
}
|
|
1151
|
-
async configureIdentity() {
|
|
1152
|
-
this.state.nextStep('Identity Configuration');
|
|
1153
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Identity & Authentication', 'Configure agent identity and credentials');
|
|
1154
|
-
const answers = await inquirer.prompt([
|
|
1155
|
-
{
|
|
1156
|
-
type: 'input',
|
|
1157
|
-
name: 'serviceAccount',
|
|
1158
|
-
message: 'Service Account Name (optional):',
|
|
1159
|
-
default: '',
|
|
1160
|
-
},
|
|
1161
|
-
{
|
|
1162
|
-
type: 'confirm',
|
|
1163
|
-
name: 'enableDID',
|
|
1164
|
-
message: 'Enable Decentralized Identity (DID)?',
|
|
1165
|
-
default: false,
|
|
1166
|
-
},
|
|
1167
|
-
]);
|
|
1168
|
-
const identity = {};
|
|
1169
|
-
if (answers.serviceAccount) {
|
|
1170
|
-
identity.service_account = {
|
|
1171
|
-
name: answers.serviceAccount,
|
|
1172
|
-
};
|
|
1173
|
-
}
|
|
1174
|
-
if (answers.enableDID) {
|
|
1175
|
-
printInfo('💡 DID enables cryptographic agent identity verification');
|
|
1176
|
-
const didAnswers = await inquirer.prompt([
|
|
1177
|
-
{
|
|
1178
|
-
type: 'list',
|
|
1179
|
-
name: 'method',
|
|
1180
|
-
message: 'DID Method:',
|
|
1181
|
-
choices: [
|
|
1182
|
-
{ name: 'did:key (Simple)', value: 'key' },
|
|
1183
|
-
{ name: 'did:web (Web-based)', value: 'web' },
|
|
1184
|
-
{ name: 'did:ethr (Ethereum)', value: 'ethr' },
|
|
1185
|
-
],
|
|
1186
|
-
default: 'key',
|
|
1187
|
-
},
|
|
1188
|
-
]);
|
|
1189
|
-
identity.did = {
|
|
1190
|
-
method: didAnswers.method,
|
|
1191
|
-
};
|
|
1192
|
-
}
|
|
1193
|
-
if (Object.keys(identity).length > 0) {
|
|
1194
|
-
this.state.updateAgent({
|
|
1195
|
-
spec: {
|
|
1196
|
-
identity,
|
|
1197
|
-
},
|
|
1198
|
-
});
|
|
1199
|
-
printSuccess('Identity configured');
|
|
1200
|
-
}
|
|
1201
|
-
else {
|
|
1202
|
-
printInfo('⏭️ No identity configuration added');
|
|
1203
|
-
}
|
|
1204
|
-
}
|
|
1205
|
-
async configureAccessControl() {
|
|
1206
|
-
this.state.nextStep('Access Control');
|
|
1207
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Access Control & Permissions', 'Define what the agent can access');
|
|
1208
|
-
const answers = await inquirer.prompt([
|
|
1209
|
-
{
|
|
1210
|
-
type: 'list',
|
|
1211
|
-
name: 'accessTier',
|
|
1212
|
-
message: 'Access Tier:',
|
|
1213
|
-
choices: [
|
|
1214
|
-
{ name: 'Tier 0 - Read-only (lowest privilege)', value: 'tier-0' },
|
|
1215
|
-
{ name: 'Tier 1 - Read + Write (standard)', value: 'tier-1' },
|
|
1216
|
-
{ name: 'Tier 2 - Read + Write + Delete', value: 'tier-2' },
|
|
1217
|
-
{ name: 'Tier 3 - Admin operations', value: 'tier-3' },
|
|
1218
|
-
],
|
|
1219
|
-
default: 'tier-1',
|
|
1220
|
-
},
|
|
1221
|
-
{
|
|
1222
|
-
type: 'confirm',
|
|
1223
|
-
name: 'enableSeparationOfDuties',
|
|
1224
|
-
message: 'Enable separation of duties?',
|
|
1225
|
-
default: false,
|
|
1226
|
-
},
|
|
1227
|
-
]);
|
|
1228
|
-
this.state.updateAgent({
|
|
1229
|
-
spec: {
|
|
1230
|
-
access: {
|
|
1231
|
-
tier: answers.accessTier,
|
|
1232
|
-
},
|
|
1233
|
-
},
|
|
1234
|
-
});
|
|
1235
|
-
if (answers.enableSeparationOfDuties) {
|
|
1236
|
-
printInfo('💡 Separation of duties prevents conflicts of interest');
|
|
1237
|
-
const sodAnswers = await inquirer.prompt([
|
|
1238
|
-
{
|
|
1239
|
-
type: 'checkbox',
|
|
1240
|
-
name: 'conflictingRoles',
|
|
1241
|
-
message: 'Select conflicting roles (agent cannot perform both):',
|
|
1242
|
-
choices: [
|
|
1243
|
-
{ name: 'Approver + Executor', value: 'approver-executor' },
|
|
1244
|
-
{ name: 'Auditor + Operator', value: 'auditor-operator' },
|
|
1245
|
-
{ name: 'Reviewer + Author', value: 'reviewer-author' },
|
|
1246
|
-
],
|
|
1247
|
-
},
|
|
1248
|
-
]);
|
|
1249
|
-
this.state.updateAgent({
|
|
1250
|
-
spec: {
|
|
1251
|
-
separation: {
|
|
1252
|
-
enabled: true,
|
|
1253
|
-
conflicting_roles: sodAnswers.conflictingRoles,
|
|
1254
|
-
},
|
|
1255
|
-
},
|
|
1256
|
-
});
|
|
1257
|
-
}
|
|
1258
|
-
printSuccess('Access control configured');
|
|
1259
|
-
}
|
|
1260
|
-
async configureAgentType() {
|
|
1261
|
-
this.state.nextStep('Agent Type');
|
|
1262
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Agent Type Classification', 'Define agent role in the system');
|
|
1263
|
-
const answers = await inquirer.prompt([
|
|
1264
|
-
{
|
|
1265
|
-
type: 'list',
|
|
1266
|
-
name: 'type',
|
|
1267
|
-
message: 'Agent Type:',
|
|
1268
|
-
choices: [
|
|
1269
|
-
{ name: 'Analyzer - Data analysis and insights', value: 'analyzer' },
|
|
1270
|
-
{ name: 'Worker - Task execution', value: 'worker' },
|
|
1271
|
-
{ name: 'Operator - System operations', value: 'operator' },
|
|
1272
|
-
{ name: 'Supervisor - Team coordination', value: 'supervisor' },
|
|
1273
|
-
{ name: 'Orchestrator - Workflow management', value: 'orchestrator' },
|
|
1274
|
-
{ name: 'Governor - Policy enforcement', value: 'governor' },
|
|
1275
|
-
{ name: 'Specialist - Domain expertise', value: 'specialist' },
|
|
1276
|
-
{ name: 'Critic - Review and feedback', value: 'critic' },
|
|
1277
|
-
],
|
|
1278
|
-
default: 'worker',
|
|
1279
|
-
},
|
|
1280
|
-
]);
|
|
1281
|
-
this.state.updateAgent({
|
|
1282
|
-
spec: {
|
|
1283
|
-
type: answers.type,
|
|
1284
|
-
},
|
|
1285
|
-
});
|
|
1286
|
-
printSuccess(`Agent type set to: ${answers.type}`);
|
|
1287
|
-
}
|
|
1288
|
-
async configureTaxonomy() {
|
|
1289
|
-
this.state.nextStep('Taxonomy');
|
|
1290
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Taxonomy Classification', 'Categorize agent capabilities');
|
|
1291
|
-
const answers = await inquirer.prompt([
|
|
1292
|
-
{
|
|
1293
|
-
type: 'list',
|
|
1294
|
-
name: 'domain',
|
|
1295
|
-
message: 'Primary Domain:',
|
|
1296
|
-
choices: [
|
|
1297
|
-
{
|
|
1298
|
-
name: 'DevOps - CI/CD, deployment, infrastructure',
|
|
1299
|
-
value: 'devops',
|
|
1300
|
-
},
|
|
1301
|
-
{
|
|
1302
|
-
name: 'Data Science - ML, analytics, insights',
|
|
1303
|
-
value: 'data-science',
|
|
1304
|
-
},
|
|
1305
|
-
{ name: 'Customer Support - Help desk, ticketing', value: 'support' },
|
|
1306
|
-
{
|
|
1307
|
-
name: 'Finance - Accounting, billing, invoicing',
|
|
1308
|
-
value: 'finance',
|
|
1309
|
-
},
|
|
1310
|
-
{ name: 'HR - Recruiting, onboarding, management', value: 'hr' },
|
|
1311
|
-
{ name: 'Sales & Marketing - CRM, campaigns', value: 'sales' },
|
|
1312
|
-
{ name: 'Security - Scanning, compliance, audit', value: 'security' },
|
|
1313
|
-
{ name: 'General Purpose', value: 'general' },
|
|
1314
|
-
],
|
|
1315
|
-
},
|
|
1316
|
-
{
|
|
1317
|
-
type: 'checkbox',
|
|
1318
|
-
name: 'crossCutting',
|
|
1319
|
-
message: 'Cross-cutting Concerns:',
|
|
1320
|
-
choices: [
|
|
1321
|
-
{
|
|
1322
|
-
name: 'Observability - Monitoring and logging',
|
|
1323
|
-
value: 'observability',
|
|
1324
|
-
},
|
|
1325
|
-
{
|
|
1326
|
-
name: 'Security - Authentication and authorization',
|
|
1327
|
-
value: 'security',
|
|
1328
|
-
},
|
|
1329
|
-
{ name: 'Compliance - Regulatory requirements', value: 'compliance' },
|
|
1330
|
-
{ name: 'Cost Management - Budget tracking', value: 'cost' },
|
|
1331
|
-
],
|
|
1332
|
-
},
|
|
1333
|
-
]);
|
|
1334
|
-
this.state.updateAgent({
|
|
1335
|
-
spec: {
|
|
1336
|
-
taxonomy: {
|
|
1337
|
-
domain: answers.domain,
|
|
1338
|
-
cross_cutting: answers.crossCutting,
|
|
1339
|
-
},
|
|
1340
|
-
},
|
|
1341
|
-
});
|
|
1342
|
-
printSuccess('Taxonomy configured');
|
|
1343
|
-
}
|
|
1344
|
-
async configureCompliance() {
|
|
1345
|
-
this.state.nextStep('Compliance');
|
|
1346
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Compliance & Governance', 'Configure regulatory and audit requirements');
|
|
1347
|
-
const answers = await inquirer.prompt([
|
|
1348
|
-
{
|
|
1349
|
-
type: 'checkbox',
|
|
1350
|
-
name: 'frameworks',
|
|
1351
|
-
message: 'Select applicable compliance frameworks:',
|
|
1352
|
-
choices: [
|
|
1353
|
-
{ name: 'SOC2 - Service Organization Control 2', value: 'SOC2' },
|
|
1354
|
-
{ name: 'HIPAA - Healthcare data protection', value: 'HIPAA' },
|
|
1355
|
-
{ name: 'GDPR - European data privacy', value: 'GDPR' },
|
|
1356
|
-
{ name: 'FedRAMP - US federal cloud security', value: 'FedRAMP' },
|
|
1357
|
-
{ name: 'PCI-DSS - Payment card security', value: 'PCI-DSS' },
|
|
1358
|
-
{ name: 'ISO27001 - Information security', value: 'ISO27001' },
|
|
1359
|
-
],
|
|
1360
|
-
},
|
|
1361
|
-
{
|
|
1362
|
-
type: 'list',
|
|
1363
|
-
name: 'auditLogging',
|
|
1364
|
-
message: 'Audit Logging:',
|
|
1365
|
-
choices: [
|
|
1366
|
-
{ name: 'Required - All actions logged', value: 'required' },
|
|
1367
|
-
{ name: 'Optional - Best effort logging', value: 'optional' },
|
|
1368
|
-
{ name: 'Disabled - No audit logs', value: 'disabled' },
|
|
1369
|
-
],
|
|
1370
|
-
default: 'optional',
|
|
1371
|
-
},
|
|
1372
|
-
{
|
|
1373
|
-
type: 'list',
|
|
1374
|
-
name: 'piiHandling',
|
|
1375
|
-
message: 'PII (Personally Identifiable Information) Handling:',
|
|
1376
|
-
choices: [
|
|
1377
|
-
{ name: 'Encrypt at Rest', value: 'encrypt_at_rest' },
|
|
1378
|
-
{ name: 'Anonymize', value: 'anonymize' },
|
|
1379
|
-
{ name: 'Redact', value: 'redact' },
|
|
1380
|
-
{ name: 'None', value: 'none' },
|
|
1381
|
-
],
|
|
1382
|
-
default: 'none',
|
|
1383
|
-
},
|
|
1384
|
-
]);
|
|
1385
|
-
if (answers.frameworks.length > 0 || answers.auditLogging !== 'disabled') {
|
|
1386
|
-
this.state.updateAgent({
|
|
1387
|
-
spec: {
|
|
1388
|
-
compliance: {
|
|
1389
|
-
frameworks: answers.frameworks,
|
|
1390
|
-
audit_logging: answers.auditLogging,
|
|
1391
|
-
pii_handling: answers.piiHandling,
|
|
1392
|
-
},
|
|
1393
|
-
},
|
|
1394
|
-
});
|
|
1395
|
-
printSuccess('Compliance configuration complete');
|
|
1396
|
-
}
|
|
1397
|
-
else {
|
|
1398
|
-
printInfo('⏭️ No compliance requirements configured');
|
|
1399
|
-
}
|
|
1400
|
-
}
|
|
1401
|
-
async configureLifecycle() {
|
|
1402
|
-
this.state.nextStep('Lifecycle');
|
|
1403
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Lifecycle Management', 'Configure execution limits and behavior');
|
|
1404
|
-
const answers = await inquirer.prompt([
|
|
1405
|
-
{
|
|
1406
|
-
type: 'number',
|
|
1407
|
-
name: 'maxTurns',
|
|
1408
|
-
message: 'Maximum agentic turns/iterations (0 for unlimited):',
|
|
1409
|
-
default: 10,
|
|
1410
|
-
validate: (input) => input >= 0 || 'Must be >= 0',
|
|
1411
|
-
},
|
|
1412
|
-
{
|
|
1413
|
-
type: 'input',
|
|
1414
|
-
name: 'turnTimeout',
|
|
1415
|
-
message: 'Timeout per turn (e.g., "300s", "5m"):',
|
|
1416
|
-
default: '300s',
|
|
1417
|
-
validate: (input) => /^[0-9]+(s|m|h)$/.test(input) || 'Must be format like "300s" or "5m"',
|
|
1418
|
-
},
|
|
1419
|
-
{
|
|
1420
|
-
type: 'confirm',
|
|
1421
|
-
name: 'enableCheckpointing',
|
|
1422
|
-
message: 'Enable state checkpointing?',
|
|
1423
|
-
default: true,
|
|
1424
|
-
},
|
|
1425
|
-
]);
|
|
1426
|
-
const lifecycle = {};
|
|
1427
|
-
if (answers.maxTurns > 0) {
|
|
1428
|
-
lifecycle.max_turns = answers.maxTurns;
|
|
1429
|
-
}
|
|
1430
|
-
lifecycle.turn_timeout = answers.turnTimeout;
|
|
1431
|
-
if (answers.enableCheckpointing) {
|
|
1432
|
-
const checkpointAnswers = await inquirer.prompt([
|
|
1433
|
-
{
|
|
1434
|
-
type: 'number',
|
|
1435
|
-
name: 'interval',
|
|
1436
|
-
message: 'Checkpoint every N turns:',
|
|
1437
|
-
default: 5,
|
|
1438
|
-
validate: (input) => input > 0 || 'Must be > 0',
|
|
1439
|
-
},
|
|
1440
|
-
]);
|
|
1441
|
-
lifecycle.checkpoint_interval = checkpointAnswers.interval;
|
|
1442
|
-
}
|
|
1443
|
-
this.state.updateAgent({
|
|
1444
|
-
spec: {
|
|
1445
|
-
lifecycle,
|
|
1446
|
-
},
|
|
1447
|
-
});
|
|
1448
|
-
printSuccess('Lifecycle configuration complete');
|
|
1449
|
-
}
|
|
1450
|
-
async configureTokenEfficiency() {
|
|
1451
|
-
this.state.nextStep('Token Efficiency');
|
|
1452
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Token Efficiency (v0.4 REVOLUTIONARY)', 'Enable 70-95% cost savings');
|
|
1453
|
-
printInfo('💰 Token efficiency features can reduce LLM costs by 70-95%!');
|
|
1454
|
-
printInfo(' - Prompt caching');
|
|
1455
|
-
printInfo(' - Context pruning');
|
|
1456
|
-
printInfo(' - Batched inference');
|
|
1457
|
-
printInfo(' - Compression');
|
|
1458
|
-
const answers = await inquirer.prompt([
|
|
1459
|
-
{
|
|
1460
|
-
type: 'confirm',
|
|
1461
|
-
name: 'enable',
|
|
1462
|
-
message: 'Enable token efficiency optimizations?',
|
|
1463
|
-
default: true,
|
|
1464
|
-
},
|
|
1465
|
-
]);
|
|
1466
|
-
if (answers.enable) {
|
|
1467
|
-
const options = await inquirer.prompt([
|
|
1468
|
-
{
|
|
1469
|
-
type: 'checkbox',
|
|
1470
|
-
name: 'features',
|
|
1471
|
-
message: 'Select optimizations to enable:',
|
|
1472
|
-
choices: [
|
|
1473
|
-
{
|
|
1474
|
-
name: 'Prompt Caching - Cache repeated prompts (recommended)',
|
|
1475
|
-
value: 'prompt_caching',
|
|
1476
|
-
checked: true,
|
|
1477
|
-
},
|
|
1478
|
-
{
|
|
1479
|
-
name: 'Context Pruning - Remove less relevant context',
|
|
1480
|
-
value: 'context_pruning',
|
|
1481
|
-
checked: true,
|
|
1482
|
-
},
|
|
1483
|
-
{
|
|
1484
|
-
name: 'Batched Inference - Batch multiple requests',
|
|
1485
|
-
value: 'batched_inference',
|
|
1486
|
-
checked: false,
|
|
1487
|
-
},
|
|
1488
|
-
{
|
|
1489
|
-
name: 'Compression - Compress prompts/responses',
|
|
1490
|
-
value: 'compression',
|
|
1491
|
-
checked: false,
|
|
1492
|
-
},
|
|
1493
|
-
],
|
|
1494
|
-
},
|
|
1495
|
-
{
|
|
1496
|
-
type: 'number',
|
|
1497
|
-
name: 'targetSavings',
|
|
1498
|
-
message: 'Target cost savings (0.0-0.95 = 0-95%):',
|
|
1499
|
-
default: 0.7,
|
|
1500
|
-
validate: (input) => (input >= 0 && input <= 0.95) || 'Must be between 0 and 0.95',
|
|
1501
|
-
},
|
|
1502
|
-
]);
|
|
1503
|
-
this.state.updateAgent({
|
|
1504
|
-
spec: {
|
|
1505
|
-
token_efficiency: {
|
|
1506
|
-
enabled: true,
|
|
1507
|
-
strategies: options.features,
|
|
1508
|
-
target_savings: options.targetSavings,
|
|
1509
|
-
},
|
|
1510
|
-
},
|
|
1511
|
-
});
|
|
1512
|
-
printSuccess(`Token efficiency enabled - targeting ${(options.targetSavings * 100).toFixed(0)}% cost savings!`);
|
|
1513
|
-
}
|
|
1514
|
-
else {
|
|
1515
|
-
printInfo('⏭️ Token efficiency optimizations skipped');
|
|
1516
|
-
}
|
|
1517
|
-
}
|
|
1518
|
-
async configureMemoryManagement() {
|
|
1519
|
-
this.state.nextStep('Memory Management');
|
|
1520
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Memory Management (v0.4)', 'Optimize CLAUDE.md and context files');
|
|
1521
|
-
printInfo('Memory management optimizes context files loaded per session.');
|
|
1522
|
-
printInfo(' - CLAUDE.md hierarchy management');
|
|
1523
|
-
printInfo(' - Rules extraction to .claude/rules/');
|
|
1524
|
-
printInfo(' - Path-scoped conditional loading');
|
|
1525
|
-
printInfo(' - Auto-memory across sessions');
|
|
1526
|
-
const answers = await inquirer.prompt([
|
|
1527
|
-
{
|
|
1528
|
-
type: 'confirm',
|
|
1529
|
-
name: 'enable',
|
|
1530
|
-
message: 'Enable memory management?',
|
|
1531
|
-
default: true,
|
|
1532
|
-
},
|
|
1533
|
-
]);
|
|
1534
|
-
if (answers.enable) {
|
|
1535
|
-
const options = await inquirer.prompt([
|
|
1536
|
-
{
|
|
1537
|
-
type: 'number',
|
|
1538
|
-
name: 'maxChars',
|
|
1539
|
-
message: 'Max memory chars before optimization:',
|
|
1540
|
-
default: 40000,
|
|
1541
|
-
},
|
|
1542
|
-
{
|
|
1543
|
-
type: 'confirm',
|
|
1544
|
-
name: 'pathScoping',
|
|
1545
|
-
message: 'Enable path-scoped conditional loading?',
|
|
1546
|
-
default: true,
|
|
1547
|
-
},
|
|
1548
|
-
{
|
|
1549
|
-
type: 'confirm',
|
|
1550
|
-
name: 'autoExtract',
|
|
1551
|
-
message: 'Auto-extract sections when threshold exceeded?',
|
|
1552
|
-
default: false,
|
|
1553
|
-
},
|
|
1554
|
-
]);
|
|
1555
|
-
this.state.updateAgent({
|
|
1556
|
-
token_efficiency: {
|
|
1557
|
-
memory_management: {
|
|
1558
|
-
enabled: true,
|
|
1559
|
-
threshold: {
|
|
1560
|
-
max_chars: options.maxChars,
|
|
1561
|
-
warn_chars: Math.round(options.maxChars * 0.75),
|
|
1562
|
-
},
|
|
1563
|
-
rules: {
|
|
1564
|
-
directory: '.claude/rules',
|
|
1565
|
-
path_scoping: options.pathScoping,
|
|
1566
|
-
},
|
|
1567
|
-
auto_memory: { enabled: true, max_lines: 200 },
|
|
1568
|
-
optimization: {
|
|
1569
|
-
auto_extract: options.autoExtract,
|
|
1570
|
-
max_suggestions: 10,
|
|
1571
|
-
min_section_chars: 500,
|
|
1572
|
-
},
|
|
1573
|
-
},
|
|
1574
|
-
},
|
|
1575
|
-
});
|
|
1576
|
-
printSuccess('Memory management configured');
|
|
1577
|
-
}
|
|
1578
|
-
else {
|
|
1579
|
-
printInfo('Memory management skipped');
|
|
1580
|
-
}
|
|
1581
|
-
}
|
|
1582
|
-
async configureMessagingA2A() {
|
|
1583
|
-
this.state.nextStep('Agent-to-Agent Communication');
|
|
1584
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, '🚀 A2A Communication (MAJOR SELLING POINT)', 'Enable multi-agent collaboration and messaging');
|
|
1585
|
-
printInfo('💬 A2A (Agent-to-Agent) is one of the BIGGEST adoption drivers!');
|
|
1586
|
-
printInfo(' - Multi-agent collaboration');
|
|
1587
|
-
printInfo(' - Event-driven workflows');
|
|
1588
|
-
printInfo(' - Distributed agent networks');
|
|
1589
|
-
printInfo(' - Real-time agent coordination');
|
|
1590
|
-
const answers = await inquirer.prompt([
|
|
1591
|
-
{
|
|
1592
|
-
type: 'confirm',
|
|
1593
|
-
name: 'enable',
|
|
1594
|
-
message: 'Enable Agent-to-Agent (A2A) communication?',
|
|
1595
|
-
default: true,
|
|
1596
|
-
},
|
|
1597
|
-
]);
|
|
1598
|
-
if (answers.enable) {
|
|
1599
|
-
const a2aConfig = await inquirer.prompt([
|
|
1600
|
-
{
|
|
1601
|
-
type: 'list',
|
|
1602
|
-
name: 'protocol',
|
|
1603
|
-
message: 'A2A Protocol:',
|
|
1604
|
-
choices: [
|
|
1605
|
-
{ name: 'NATS (High-performance messaging)', value: 'nats' },
|
|
1606
|
-
{ name: 'RabbitMQ (Enterprise messaging)', value: 'rabbitmq' },
|
|
1607
|
-
{ name: 'Redis Pub/Sub (Simple, fast)', value: 'redis' },
|
|
1608
|
-
{ name: 'Kafka (High-throughput streaming)', value: 'kafka' },
|
|
1609
|
-
{ name: 'MQTT (IoT/lightweight)', value: 'mqtt' },
|
|
1610
|
-
{ name: 'Custom (Define your own)', value: 'custom' },
|
|
1611
|
-
],
|
|
1612
|
-
default: 'nats',
|
|
1613
|
-
},
|
|
1614
|
-
{
|
|
1615
|
-
type: 'checkbox',
|
|
1616
|
-
name: 'capabilities',
|
|
1617
|
-
message: 'A2A Capabilities:',
|
|
1618
|
-
choices: [
|
|
1619
|
-
{
|
|
1620
|
-
name: 'Request/Response - Synchronous agent calls',
|
|
1621
|
-
value: 'request_response',
|
|
1622
|
-
checked: true,
|
|
1623
|
-
},
|
|
1624
|
-
{
|
|
1625
|
-
name: 'Publish/Subscribe - Event broadcasting',
|
|
1626
|
-
value: 'pub_sub',
|
|
1627
|
-
checked: true,
|
|
1628
|
-
},
|
|
1629
|
-
{
|
|
1630
|
-
name: 'Task Queue - Distributed work',
|
|
1631
|
-
value: 'task_queue',
|
|
1632
|
-
checked: false,
|
|
1633
|
-
},
|
|
1634
|
-
{
|
|
1635
|
-
name: 'Stream Processing - Real-time data',
|
|
1636
|
-
value: 'streaming',
|
|
1637
|
-
checked: false,
|
|
1638
|
-
},
|
|
1639
|
-
],
|
|
1640
|
-
},
|
|
1641
|
-
{
|
|
1642
|
-
type: 'confirm',
|
|
1643
|
-
name: 'enableDiscovery',
|
|
1644
|
-
message: 'Enable agent discovery (find other agents)?',
|
|
1645
|
-
default: true,
|
|
1646
|
-
},
|
|
1647
|
-
{
|
|
1648
|
-
type: 'confirm',
|
|
1649
|
-
name: 'enableTeams',
|
|
1650
|
-
message: 'Enable team membership (multi-agent teams)?',
|
|
1651
|
-
default: true,
|
|
1652
|
-
},
|
|
1653
|
-
]);
|
|
1654
|
-
const messaging = {
|
|
1655
|
-
enabled: true,
|
|
1656
|
-
protocol: a2aConfig.protocol,
|
|
1657
|
-
capabilities: a2aConfig.capabilities,
|
|
1658
|
-
};
|
|
1659
|
-
if (a2aConfig.enableDiscovery) {
|
|
1660
|
-
messaging.discovery = {
|
|
1661
|
-
enabled: true,
|
|
1662
|
-
mechanism: 'dns',
|
|
1663
|
-
};
|
|
1664
|
-
}
|
|
1665
|
-
if (a2aConfig.enableTeams) {
|
|
1666
|
-
const teamAnswers = await inquirer.prompt([
|
|
1667
|
-
{
|
|
1668
|
-
type: 'input',
|
|
1669
|
-
name: 'teamName',
|
|
1670
|
-
message: 'Team Name (optional):',
|
|
1671
|
-
default: '',
|
|
1672
|
-
},
|
|
1673
|
-
{
|
|
1674
|
-
type: 'list',
|
|
1675
|
-
name: 'role',
|
|
1676
|
-
message: 'Agent Role in Team:',
|
|
1677
|
-
choices: [
|
|
1678
|
-
{ name: 'Leader - Coordinates team', value: 'leader' },
|
|
1679
|
-
{ name: 'Worker - Executes tasks', value: 'worker' },
|
|
1680
|
-
{ name: 'Specialist - Domain expert', value: 'specialist' },
|
|
1681
|
-
{ name: 'Observer - Monitors only', value: 'observer' },
|
|
1682
|
-
],
|
|
1683
|
-
default: 'worker',
|
|
1684
|
-
},
|
|
1685
|
-
]);
|
|
1686
|
-
messaging.team = {
|
|
1687
|
-
enabled: true,
|
|
1688
|
-
};
|
|
1689
|
-
if (teamAnswers.teamName) {
|
|
1690
|
-
messaging.team.name = teamAnswers.teamName;
|
|
1691
|
-
}
|
|
1692
|
-
messaging.team.role = teamAnswers.role;
|
|
1693
|
-
}
|
|
1694
|
-
// Add message routing and filtering
|
|
1695
|
-
const routingAnswers = await inquirer.prompt([
|
|
1696
|
-
{
|
|
1697
|
-
type: 'confirm',
|
|
1698
|
-
name: 'enableRouting',
|
|
1699
|
-
message: 'Configure message routing rules?',
|
|
1700
|
-
default: false,
|
|
1701
|
-
},
|
|
1702
|
-
]);
|
|
1703
|
-
if (routingAnswers.enableRouting) {
|
|
1704
|
-
messaging.routing = {
|
|
1705
|
-
rules: [
|
|
1706
|
-
{
|
|
1707
|
-
pattern: '*',
|
|
1708
|
-
action: 'process',
|
|
1709
|
-
},
|
|
1710
|
-
],
|
|
1711
|
-
};
|
|
1712
|
-
}
|
|
1713
|
-
this.state.updateAgent({
|
|
1714
|
-
spec: {
|
|
1715
|
-
messaging,
|
|
1716
|
-
},
|
|
1717
|
-
});
|
|
1718
|
-
printSuccess(`A2A Communication configured with ${a2aConfig.protocol} protocol!`);
|
|
1719
|
-
if (a2aConfig.enableTeams) {
|
|
1720
|
-
printSuccess('✨ Multi-agent teams enabled - ready for collaboration!');
|
|
1721
|
-
}
|
|
1722
|
-
}
|
|
1723
|
-
else {
|
|
1724
|
-
printInfo('⏭️ A2A communication disabled (agent will work solo)');
|
|
1725
|
-
}
|
|
1726
|
-
}
|
|
1727
|
-
async configureFunctions() {
|
|
1728
|
-
this.state.nextStep('Function Definitions');
|
|
1729
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Function Definitions (Function Calling)', 'Define callable functions with JSON Schema for structured outputs');
|
|
1730
|
-
printInfo('🔧 Function calling enables:');
|
|
1731
|
-
printInfo(' - Structured tool execution');
|
|
1732
|
-
printInfo(' - Type-safe function calls');
|
|
1733
|
-
printInfo(' - JSON Schema validation');
|
|
1734
|
-
printInfo(' - Predictable outputs');
|
|
1735
|
-
const answers = await inquirer.prompt([
|
|
1736
|
-
{
|
|
1737
|
-
type: 'confirm',
|
|
1738
|
-
name: 'enable',
|
|
1739
|
-
message: 'Define callable functions for this agent?',
|
|
1740
|
-
default: false,
|
|
1741
|
-
},
|
|
1742
|
-
]);
|
|
1743
|
-
if (answers.enable) {
|
|
1744
|
-
const functions = [];
|
|
1745
|
-
let addMore = true;
|
|
1746
|
-
while (addMore) {
|
|
1747
|
-
const funcConfig = await inquirer.prompt([
|
|
1748
|
-
{
|
|
1749
|
-
type: 'input',
|
|
1750
|
-
name: 'name',
|
|
1751
|
-
message: 'Function Name (e.g., get_weather, search_documents):',
|
|
1752
|
-
validate: (input) => input.length > 0 || 'Name is required',
|
|
1753
|
-
},
|
|
1754
|
-
{
|
|
1755
|
-
type: 'input',
|
|
1756
|
-
name: 'description',
|
|
1757
|
-
message: 'Function Description:',
|
|
1758
|
-
validate: (input) => input.length > 0 || 'Description is required',
|
|
1759
|
-
},
|
|
1760
|
-
{
|
|
1761
|
-
type: 'list',
|
|
1762
|
-
name: 'schemaType',
|
|
1763
|
-
message: 'Define JSON Schema:',
|
|
1764
|
-
choices: [
|
|
1765
|
-
{
|
|
1766
|
-
name: 'Simple (string, number, boolean parameters)',
|
|
1767
|
-
value: 'simple',
|
|
1768
|
-
},
|
|
1769
|
-
{
|
|
1770
|
-
name: 'Complex (objects, arrays, nested structures)',
|
|
1771
|
-
value: 'complex',
|
|
1772
|
-
},
|
|
1773
|
-
{ name: 'Skip (define schema later)', value: 'skip' },
|
|
1774
|
-
],
|
|
1775
|
-
default: 'simple',
|
|
1776
|
-
},
|
|
1777
|
-
]);
|
|
1778
|
-
const func = {
|
|
1779
|
-
name: funcConfig.name,
|
|
1780
|
-
description: funcConfig.description,
|
|
1781
|
-
};
|
|
1782
|
-
if (funcConfig.schemaType === 'simple') {
|
|
1783
|
-
const params = await inquirer.prompt([
|
|
1784
|
-
{
|
|
1785
|
-
type: 'input',
|
|
1786
|
-
name: 'paramNames',
|
|
1787
|
-
message: 'Parameter names (comma-separated, e.g. location,units,date):',
|
|
1788
|
-
default: '',
|
|
1789
|
-
},
|
|
1790
|
-
]);
|
|
1791
|
-
if (params.paramNames) {
|
|
1792
|
-
const paramList = params.paramNames
|
|
1793
|
-
.split(',')
|
|
1794
|
-
.map((p) => p.trim())
|
|
1795
|
-
.filter((p) => p);
|
|
1796
|
-
func.parameters = {
|
|
1797
|
-
type: 'object',
|
|
1798
|
-
properties: paramList.reduce((acc, param) => {
|
|
1799
|
-
acc[param] = {
|
|
1800
|
-
type: 'string',
|
|
1801
|
-
description: `${param} parameter`,
|
|
1802
|
-
};
|
|
1803
|
-
return acc;
|
|
1804
|
-
}, {}),
|
|
1805
|
-
required: paramList,
|
|
1806
|
-
};
|
|
1807
|
-
}
|
|
1808
|
-
}
|
|
1809
|
-
else if (funcConfig.schemaType === 'complex') {
|
|
1810
|
-
printWarning('⚠️ Complex JSON Schema definition requires manual editing after generation');
|
|
1811
|
-
func.parameters = {
|
|
1812
|
-
type: 'object',
|
|
1813
|
-
properties: {},
|
|
1814
|
-
description: 'Define complex schema in manifest YAML',
|
|
1815
|
-
};
|
|
1816
|
-
}
|
|
1817
|
-
functions.push(func);
|
|
1818
|
-
const continueAnswer = await inquirer.prompt([
|
|
1819
|
-
{
|
|
1820
|
-
type: 'confirm',
|
|
1821
|
-
name: 'continue',
|
|
1822
|
-
message: 'Add another function?',
|
|
1823
|
-
default: false,
|
|
1824
|
-
},
|
|
1825
|
-
]);
|
|
1826
|
-
addMore = continueAnswer.continue;
|
|
1827
|
-
}
|
|
1828
|
-
this.state.updateAgent({
|
|
1829
|
-
spec: {
|
|
1830
|
-
functions,
|
|
1831
|
-
},
|
|
1832
|
-
});
|
|
1833
|
-
printSuccess(`✅ Added ${functions.length} function definition(s)`);
|
|
1834
|
-
}
|
|
1835
|
-
else {
|
|
1836
|
-
printInfo('⏭️ No functions defined (agent will not support function calling)');
|
|
1837
|
-
}
|
|
1838
|
-
}
|
|
1839
|
-
async configureAdapters() {
|
|
1840
|
-
this.state.nextStep('Platform Adapters');
|
|
1841
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Platform Adapters (Production Integrations)', 'Configure platform-specific adapters for SCM, runtime, cloud');
|
|
1842
|
-
printInfo('🔌 Adapters enable production integrations:');
|
|
1843
|
-
printInfo(' - SCM: GitHub, GitLab, Bitbucket');
|
|
1844
|
-
printInfo(' - Runtime: Kubernetes (kagent), Docker, Serverless');
|
|
1845
|
-
printInfo(' - Cloud: AWS, GCP, Azure');
|
|
1846
|
-
printInfo(' - Databases: PostgreSQL, MongoDB, Redis');
|
|
1847
|
-
const answers = await inquirer.prompt([
|
|
1848
|
-
{
|
|
1849
|
-
type: 'confirm',
|
|
1850
|
-
name: 'enable',
|
|
1851
|
-
message: 'Configure platform adapters?',
|
|
1852
|
-
default: false,
|
|
1853
|
-
},
|
|
1854
|
-
]);
|
|
1855
|
-
if (answers.enable) {
|
|
1856
|
-
const adapters = [];
|
|
1857
|
-
let addMore = true;
|
|
1858
|
-
while (addMore) {
|
|
1859
|
-
const adapterConfig = await inquirer.prompt([
|
|
1860
|
-
{
|
|
1861
|
-
type: 'list',
|
|
1862
|
-
name: 'category',
|
|
1863
|
-
message: 'Adapter Category:',
|
|
1864
|
-
choices: [
|
|
1865
|
-
{
|
|
1866
|
-
name: 'SCM - Source Code Management (GitHub, GitLab)',
|
|
1867
|
-
value: 'scm',
|
|
1868
|
-
},
|
|
1869
|
-
{
|
|
1870
|
-
name: 'Runtime - Execution Environment (Kubernetes, Docker)',
|
|
1871
|
-
value: 'runtime',
|
|
1872
|
-
},
|
|
1873
|
-
{
|
|
1874
|
-
name: 'Cloud - Cloud Provider (AWS, GCP, Azure)',
|
|
1875
|
-
value: 'cloud',
|
|
1876
|
-
},
|
|
1877
|
-
{ name: 'Database - Database Connection', value: 'database' },
|
|
1878
|
-
{
|
|
1879
|
-
name: 'Service - External Service Integration',
|
|
1880
|
-
value: 'service',
|
|
1881
|
-
},
|
|
1882
|
-
],
|
|
1883
|
-
},
|
|
1884
|
-
]);
|
|
1885
|
-
let typeChoices = [];
|
|
1886
|
-
if (adapterConfig.category === 'scm') {
|
|
1887
|
-
typeChoices = [
|
|
1888
|
-
{ name: 'GitHub', value: 'scm.github' },
|
|
1889
|
-
{ name: 'GitLab', value: 'scm.gitlab' },
|
|
1890
|
-
{ name: 'Bitbucket', value: 'scm.bitbucket' },
|
|
1891
|
-
];
|
|
1892
|
-
}
|
|
1893
|
-
else if (adapterConfig.category === 'runtime') {
|
|
1894
|
-
typeChoices = [
|
|
1895
|
-
{ name: 'Kubernetes (kagent)', value: 'runtime.kagent' },
|
|
1896
|
-
{ name: 'Docker', value: 'runtime.docker' },
|
|
1897
|
-
{
|
|
1898
|
-
name: 'Serverless (Lambda, Cloud Functions)',
|
|
1899
|
-
value: 'runtime.serverless',
|
|
1900
|
-
},
|
|
1901
|
-
];
|
|
1902
|
-
}
|
|
1903
|
-
else if (adapterConfig.category === 'cloud') {
|
|
1904
|
-
typeChoices = [
|
|
1905
|
-
{ name: 'AWS', value: 'cloud.aws' },
|
|
1906
|
-
{ name: 'Google Cloud Platform', value: 'cloud.gcp' },
|
|
1907
|
-
{ name: 'Microsoft Azure', value: 'cloud.azure' },
|
|
1908
|
-
];
|
|
1909
|
-
}
|
|
1910
|
-
else if (adapterConfig.category === 'database') {
|
|
1911
|
-
typeChoices = [
|
|
1912
|
-
{ name: 'PostgreSQL', value: 'database.postgresql' },
|
|
1913
|
-
{ name: 'MongoDB', value: 'database.mongodb' },
|
|
1914
|
-
{ name: 'Redis', value: 'database.redis' },
|
|
1915
|
-
];
|
|
1916
|
-
}
|
|
1917
|
-
else {
|
|
1918
|
-
typeChoices = [{ name: 'Custom Service', value: 'service.custom' }];
|
|
1919
|
-
}
|
|
1920
|
-
const typeAnswer = await inquirer.prompt([
|
|
1921
|
-
{
|
|
1922
|
-
type: 'list',
|
|
1923
|
-
name: 'type',
|
|
1924
|
-
message: 'Adapter Type:',
|
|
1925
|
-
choices: typeChoices,
|
|
1926
|
-
},
|
|
1927
|
-
{
|
|
1928
|
-
type: 'input',
|
|
1929
|
-
name: 'version',
|
|
1930
|
-
message: 'Adapter Version:',
|
|
1931
|
-
default: '1.0.0',
|
|
1932
|
-
},
|
|
1933
|
-
]);
|
|
1934
|
-
const adapter = {
|
|
1935
|
-
type: typeAnswer.type,
|
|
1936
|
-
version: typeAnswer.version,
|
|
1937
|
-
config: {},
|
|
1938
|
-
};
|
|
1939
|
-
// Add basic config hints
|
|
1940
|
-
if (adapterConfig.category === 'scm') {
|
|
1941
|
-
adapter.config = {
|
|
1942
|
-
repository: '',
|
|
1943
|
-
branch: 'main',
|
|
1944
|
-
};
|
|
1945
|
-
adapter.secrets = {
|
|
1946
|
-
token: {
|
|
1947
|
-
type: 'secretRef',
|
|
1948
|
-
ref: `secrets://${adapterConfig.category}/token`,
|
|
1949
|
-
},
|
|
1950
|
-
};
|
|
1951
|
-
}
|
|
1952
|
-
else if (adapterConfig.category === 'runtime' &&
|
|
1953
|
-
typeAnswer.type === 'runtime.kagent') {
|
|
1954
|
-
adapter.config = {
|
|
1955
|
-
namespace: 'default',
|
|
1956
|
-
serviceAccount: 'agent-service-account',
|
|
1957
|
-
};
|
|
1958
|
-
}
|
|
1959
|
-
else if (adapterConfig.category === 'cloud') {
|
|
1960
|
-
adapter.config = {
|
|
1961
|
-
region: 'us-east-1',
|
|
1962
|
-
};
|
|
1963
|
-
adapter.secrets = {
|
|
1964
|
-
credentials: {
|
|
1965
|
-
type: 'secretRef',
|
|
1966
|
-
ref: `secrets://${adapterConfig.category}/credentials`,
|
|
1967
|
-
},
|
|
1968
|
-
};
|
|
1969
|
-
}
|
|
1970
|
-
else if (adapterConfig.category === 'database') {
|
|
1971
|
-
adapter.config = {
|
|
1972
|
-
host: 'localhost',
|
|
1973
|
-
port: 5432,
|
|
1974
|
-
database: 'default',
|
|
1975
|
-
};
|
|
1976
|
-
adapter.secrets = {
|
|
1977
|
-
password: {
|
|
1978
|
-
type: 'secretRef',
|
|
1979
|
-
ref: `secrets://${adapterConfig.category}/password`,
|
|
1980
|
-
},
|
|
1981
|
-
};
|
|
1982
|
-
}
|
|
1983
|
-
adapters.push(adapter);
|
|
1984
|
-
printInfo(`✅ Added ${typeAnswer.type} adapter`);
|
|
1985
|
-
const continueAnswer = await inquirer.prompt([
|
|
1986
|
-
{
|
|
1987
|
-
type: 'confirm',
|
|
1988
|
-
name: 'continue',
|
|
1989
|
-
message: 'Add another adapter?',
|
|
1990
|
-
default: false,
|
|
1991
|
-
},
|
|
1992
|
-
]);
|
|
1993
|
-
addMore = continueAnswer.continue;
|
|
1994
|
-
}
|
|
1995
|
-
this.state.updateAgent({
|
|
1996
|
-
spec: {
|
|
1997
|
-
adapters,
|
|
1998
|
-
},
|
|
1999
|
-
});
|
|
2000
|
-
printSuccess(`✅ Configured ${adapters.length} platform adapter(s)`);
|
|
2001
|
-
printWarning('⚠️ Remember to configure secrets for adapter authentication');
|
|
2002
|
-
}
|
|
2003
|
-
else {
|
|
2004
|
-
printInfo('⏭️ No adapters configured (agent will run standalone)');
|
|
2005
|
-
}
|
|
2006
|
-
}
|
|
2007
|
-
async configurePrincipal() {
|
|
2008
|
-
this.state.nextStep('Principal & Credentials');
|
|
2009
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Principal & Credentials (Security)', 'Configure abstract identity and secure credential management');
|
|
2010
|
-
printInfo('🔐 Principal defines agent identity and credentials:');
|
|
2011
|
-
printInfo(' - Abstract credential management');
|
|
2012
|
-
printInfo(' - Workload identity support');
|
|
2013
|
-
printInfo(' - Policy-based access control');
|
|
2014
|
-
printInfo(' - Secret rotation and lifecycle');
|
|
2015
|
-
const answers = await inquirer.prompt([
|
|
2016
|
-
{
|
|
2017
|
-
type: 'confirm',
|
|
2018
|
-
name: 'enable',
|
|
2019
|
-
message: 'Configure principal (identity & credentials)?',
|
|
2020
|
-
default: false,
|
|
2021
|
-
},
|
|
2022
|
-
]);
|
|
2023
|
-
if (answers.enable) {
|
|
2024
|
-
const principalConfig = await inquirer.prompt([
|
|
2025
|
-
{
|
|
2026
|
-
type: 'list',
|
|
2027
|
-
name: 'category',
|
|
2028
|
-
message: 'Principal Category:',
|
|
2029
|
-
choices: [
|
|
2030
|
-
{ name: 'SCM - Source Code Management', value: 'scm' },
|
|
2031
|
-
{ name: 'Cloud - Cloud Provider', value: 'cloud' },
|
|
2032
|
-
{ name: 'Database - Database Access', value: 'database' },
|
|
2033
|
-
{ name: 'Service - Service Integration', value: 'service' },
|
|
2034
|
-
],
|
|
2035
|
-
},
|
|
2036
|
-
{
|
|
2037
|
-
type: 'list',
|
|
2038
|
-
name: 'mode',
|
|
2039
|
-
message: 'Identity Mode:',
|
|
2040
|
-
choices: [
|
|
2041
|
-
{
|
|
2042
|
-
name: 'App - Application identity (OAuth app, service principal)',
|
|
2043
|
-
value: 'app',
|
|
2044
|
-
},
|
|
2045
|
-
{
|
|
2046
|
-
name: 'Service Account - Service account with IAM role',
|
|
2047
|
-
value: 'service_account',
|
|
2048
|
-
},
|
|
2049
|
-
{
|
|
2050
|
-
name: 'User - User identity (for testing/development)',
|
|
2051
|
-
value: 'user',
|
|
2052
|
-
},
|
|
2053
|
-
{
|
|
2054
|
-
name: 'Workload Identity - Cloud workload identity federation',
|
|
2055
|
-
value: 'workload_identity',
|
|
2056
|
-
},
|
|
2057
|
-
],
|
|
2058
|
-
default: 'service_account',
|
|
2059
|
-
},
|
|
2060
|
-
{
|
|
2061
|
-
type: 'list',
|
|
2062
|
-
name: 'credentialType',
|
|
2063
|
-
message: 'Credential Source Type:',
|
|
2064
|
-
choices: [
|
|
2065
|
-
{
|
|
2066
|
-
name: 'Secret Reference - Reference to secrets manager (recommended)',
|
|
2067
|
-
value: 'secretRef',
|
|
2068
|
-
},
|
|
2069
|
-
{
|
|
2070
|
-
name: 'Workload Identity - Cloud-native identity federation',
|
|
2071
|
-
value: 'workloadIdentity',
|
|
2072
|
-
},
|
|
2073
|
-
{
|
|
2074
|
-
name: 'Environment Variable - From env vars (dev only)',
|
|
2075
|
-
value: 'env',
|
|
2076
|
-
},
|
|
2077
|
-
{
|
|
2078
|
-
name: 'External - External credential provider',
|
|
2079
|
-
value: 'external',
|
|
2080
|
-
},
|
|
2081
|
-
],
|
|
2082
|
-
default: 'secretRef',
|
|
2083
|
-
},
|
|
2084
|
-
]);
|
|
2085
|
-
const policyConfig = await inquirer.prompt([
|
|
2086
|
-
{
|
|
2087
|
-
type: 'input',
|
|
2088
|
-
name: 'permissions',
|
|
2089
|
-
message: 'Permissions (comma-separated, e.g. contents.read,issues.write):',
|
|
2090
|
-
default: 'contents.read',
|
|
2091
|
-
},
|
|
2092
|
-
{
|
|
2093
|
-
type: 'input',
|
|
2094
|
-
name: 'resources',
|
|
2095
|
-
message: 'Resource Scope (optional, comma-separated repositories/resources):',
|
|
2096
|
-
default: '',
|
|
2097
|
-
},
|
|
2098
|
-
]);
|
|
2099
|
-
const securityConfig = await inquirer.prompt([
|
|
2100
|
-
{
|
|
2101
|
-
type: 'list',
|
|
2102
|
-
name: 'rotationType',
|
|
2103
|
-
message: 'Credential Rotation Policy:',
|
|
2104
|
-
choices: [
|
|
2105
|
-
{
|
|
2106
|
-
name: 'Managed - Cloud provider manages rotation',
|
|
2107
|
-
value: 'managed',
|
|
2108
|
-
},
|
|
2109
|
-
{ name: 'Automatic - Rotate on schedule', value: 'automatic' },
|
|
2110
|
-
{ name: 'Manual - Manual rotation required', value: 'manual' },
|
|
2111
|
-
],
|
|
2112
|
-
default: 'managed',
|
|
2113
|
-
},
|
|
2114
|
-
{
|
|
2115
|
-
type: 'number',
|
|
2116
|
-
name: 'ttlDays',
|
|
2117
|
-
message: 'Credential TTL (time-to-live in days):',
|
|
2118
|
-
default: 90,
|
|
2119
|
-
validate: (input) => input > 0 || 'Must be > 0',
|
|
2120
|
-
},
|
|
2121
|
-
]);
|
|
2122
|
-
const credentialRef = principalConfig.credentialType === 'secretRef'
|
|
2123
|
-
? `secrets://${principalConfig.category}/credentials`
|
|
2124
|
-
: principalConfig.credentialType === 'env'
|
|
2125
|
-
? `env:${principalConfig.category.toUpperCase()}_CREDENTIALS`
|
|
2126
|
-
: 'workload-identity://default';
|
|
2127
|
-
const permissions = policyConfig.permissions
|
|
2128
|
-
.split(',')
|
|
2129
|
-
.map((p) => p.trim())
|
|
2130
|
-
.filter((p) => p);
|
|
2131
|
-
const resources = policyConfig.resources
|
|
2132
|
-
? policyConfig.resources
|
|
2133
|
-
.split(',')
|
|
2134
|
-
.map((r) => r.trim())
|
|
2135
|
-
.filter((r) => r)
|
|
2136
|
-
: undefined;
|
|
2137
|
-
const principal = {
|
|
2138
|
-
category: principalConfig.category,
|
|
2139
|
-
mode: principalConfig.mode,
|
|
2140
|
-
credentialSource: {
|
|
2141
|
-
type: principalConfig.credentialType,
|
|
2142
|
-
ref: credentialRef,
|
|
2143
|
-
},
|
|
2144
|
-
policy: {
|
|
2145
|
-
permissions,
|
|
2146
|
-
},
|
|
2147
|
-
controls: {
|
|
2148
|
-
rotationPolicy: {
|
|
2149
|
-
type: securityConfig.rotationType,
|
|
2150
|
-
intervalDays: securityConfig.ttlDays,
|
|
2151
|
-
},
|
|
2152
|
-
ttl: `${securityConfig.ttlDays}d`,
|
|
2153
|
-
},
|
|
2154
|
-
};
|
|
2155
|
-
if (resources && resources.length > 0) {
|
|
2156
|
-
principal.policy.scope = {
|
|
2157
|
-
resources,
|
|
2158
|
-
};
|
|
2159
|
-
}
|
|
2160
|
-
this.state.updateAgent({
|
|
2161
|
-
spec: {
|
|
2162
|
-
principal,
|
|
2163
|
-
},
|
|
2164
|
-
});
|
|
2165
|
-
printSuccess('✅ Principal configured');
|
|
2166
|
-
printInfo(` Mode: ${principalConfig.mode}`);
|
|
2167
|
-
printInfo(` Permissions: ${permissions.join(', ')}`);
|
|
2168
|
-
printInfo(` Rotation: ${securityConfig.rotationType} (${securityConfig.ttlDays} days)`);
|
|
2169
|
-
}
|
|
2170
|
-
else {
|
|
2171
|
-
printInfo('⏭️ No principal configured (agent will use default credentials)');
|
|
2172
|
-
}
|
|
2173
|
-
}
|
|
2174
|
-
async selectFeatures() {
|
|
2175
|
-
this.state.nextStep('Feature Selection');
|
|
2176
|
-
printStep(4, this.state.getState().totalSteps, 'Select Features', 'Choose which advanced features to configure');
|
|
2177
|
-
const { features } = await inquirer.prompt([
|
|
2178
|
-
{
|
|
2179
|
-
type: 'checkbox',
|
|
2180
|
-
name: 'features',
|
|
2181
|
-
message: 'Select features to configure:',
|
|
2182
|
-
choices: [
|
|
2183
|
-
{
|
|
2184
|
-
name: '🎯 Skills System - Define reusable capabilities',
|
|
2185
|
-
value: 'skills',
|
|
2186
|
-
checked: false,
|
|
2187
|
-
},
|
|
2188
|
-
{
|
|
2189
|
-
name: '🧠 RAG & Vector Database - Knowledge retrieval',
|
|
2190
|
-
value: 'rag',
|
|
2191
|
-
checked: false,
|
|
2192
|
-
},
|
|
2193
|
-
{
|
|
2194
|
-
name: '📡 Communication (A2A) - Agent-to-agent messaging',
|
|
2195
|
-
value: 'communication',
|
|
2196
|
-
checked: false,
|
|
2197
|
-
},
|
|
2198
|
-
{
|
|
2199
|
-
name: '💾 State Management - Persistent memory',
|
|
2200
|
-
value: 'state_management',
|
|
2201
|
-
checked: false,
|
|
2202
|
-
},
|
|
2203
|
-
{
|
|
2204
|
-
name: '💰 Cost Management - Budget limits & tracking',
|
|
2205
|
-
value: 'cost_management',
|
|
2206
|
-
checked: false,
|
|
2207
|
-
},
|
|
2208
|
-
{
|
|
2209
|
-
name: '📊 Observability - Tracing, metrics, logging',
|
|
2210
|
-
value: 'observability',
|
|
2211
|
-
checked: false,
|
|
2212
|
-
},
|
|
2213
|
-
{
|
|
2214
|
-
name: '🧪 Testing Configuration - Test strategies',
|
|
2215
|
-
value: 'testing',
|
|
2216
|
-
checked: false,
|
|
2217
|
-
},
|
|
2218
|
-
],
|
|
2219
|
-
pageSize: 10,
|
|
2220
|
-
},
|
|
2221
|
-
]);
|
|
2222
|
-
features.forEach((feature) => {
|
|
2223
|
-
this.state.enableFeature(feature);
|
|
2224
|
-
});
|
|
2225
|
-
printSuccess(`${features.length} features selected`);
|
|
2226
|
-
}
|
|
2227
|
-
async configureSkills() {
|
|
2228
|
-
this.state.nextStep('Skills Configuration');
|
|
2229
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Skills System', 'Configure reusable skills and capabilities');
|
|
2230
|
-
printInfo('Skills allow you to define reusable capabilities that can be shared across agents');
|
|
2231
|
-
const { addSkills } = await inquirer.prompt([
|
|
2232
|
-
{
|
|
2233
|
-
type: 'confirm',
|
|
2234
|
-
name: 'addSkills',
|
|
2235
|
-
message: 'Would you like to add Claude Skills to this agent?',
|
|
2236
|
-
default: true,
|
|
2237
|
-
},
|
|
2238
|
-
]);
|
|
2239
|
-
if (!addSkills) {
|
|
2240
|
-
return;
|
|
2241
|
-
}
|
|
2242
|
-
const defaultSkillsPath = process.env.SKILLS_PATH ||
|
|
2243
|
-
process.env.BLUEFLY_SKILLS_PATH ||
|
|
2244
|
-
(process.env.HOME
|
|
2245
|
-
? `${process.env.HOME}/.claude/skills`
|
|
2246
|
-
: path.join(process.cwd(), '.claude', 'skills'));
|
|
2247
|
-
const marketplacePath = process.env.OSSA_SKILLS_PATH ||
|
|
2248
|
-
(process.env.HOME
|
|
2249
|
-
? `${process.env.HOME}/.ossa/skills`
|
|
2250
|
-
: path.join(process.cwd(), 'skills'));
|
|
2251
|
-
const { skillSource } = await inquirer.prompt([
|
|
2252
|
-
{
|
|
2253
|
-
type: 'list',
|
|
2254
|
-
name: 'skillSource',
|
|
2255
|
-
message: 'How do you want to add skills?',
|
|
2256
|
-
choices: [
|
|
2257
|
-
{ name: 'Install from GitHub (repo URL + skill name)', value: 'url' },
|
|
2258
|
-
{
|
|
2259
|
-
name: 'Install from Bluefly catalog (marketplace-skills-catalog)',
|
|
2260
|
-
value: 'catalog',
|
|
2261
|
-
},
|
|
2262
|
-
{
|
|
2263
|
-
name: 'Manual entry only (define skills in manifest)',
|
|
2264
|
-
value: 'manual',
|
|
2265
|
-
},
|
|
2266
|
-
],
|
|
2267
|
-
default: 'manual',
|
|
2268
|
-
},
|
|
2269
|
-
]);
|
|
2270
|
-
if (skillSource === 'url') {
|
|
2271
|
-
const { repoUrl, skillName, installPath } = await inquirer.prompt([
|
|
2272
|
-
{
|
|
2273
|
-
type: 'input',
|
|
2274
|
-
name: 'repoUrl',
|
|
2275
|
-
message: 'GitHub repo URL (e.g. https://github.com/sparkfabrik/sf-awesome-copilot):',
|
|
2276
|
-
validate: (s) => !!s.trim() || 'URL required',
|
|
2277
|
-
},
|
|
2278
|
-
{
|
|
2279
|
-
type: 'input',
|
|
2280
|
-
name: 'skillName',
|
|
2281
|
-
message: 'Skill name (e.g. drupal-cache-maxage):',
|
|
2282
|
-
validate: (s) => !!s.trim() || 'Skill name required',
|
|
2283
|
-
},
|
|
2284
|
-
{
|
|
2285
|
-
type: 'input',
|
|
2286
|
-
name: 'installPath',
|
|
2287
|
-
message: 'Install to directory:',
|
|
2288
|
-
default: marketplacePath,
|
|
2289
|
-
},
|
|
2290
|
-
]);
|
|
2291
|
-
try {
|
|
2292
|
-
const installService = container.get(SkillsInstallService);
|
|
2293
|
-
const result = await installService.install({
|
|
2294
|
-
repoUrl: repoUrl.trim(),
|
|
2295
|
-
skill: skillName.trim(),
|
|
2296
|
-
path: installPath.trim(),
|
|
2297
|
-
});
|
|
2298
|
-
if (result.success) {
|
|
2299
|
-
printSuccess(result.message);
|
|
2300
|
-
}
|
|
2301
|
-
else {
|
|
2302
|
-
printError(result.message);
|
|
2303
|
-
if (result.errors)
|
|
2304
|
-
result.errors.forEach((e) => printError(` ${e}`));
|
|
2305
|
-
}
|
|
2306
|
-
}
|
|
2307
|
-
catch (err) {
|
|
2308
|
-
printError(err instanceof Error ? err.message : String(err));
|
|
2309
|
-
}
|
|
2310
|
-
}
|
|
2311
|
-
else if (skillSource === 'catalog') {
|
|
2312
|
-
const catalogDefault = process.env.BLUEFLY_SKILLS_CATALOG ||
|
|
2313
|
-
(process.env.HOME
|
|
2314
|
-
? `${process.env.HOME}/.ossa/marketplace-skills-catalog.json`
|
|
2315
|
-
: '');
|
|
2316
|
-
const { catalogPath, targetPath } = await inquirer.prompt([
|
|
2317
|
-
{
|
|
2318
|
-
type: 'input',
|
|
2319
|
-
name: 'catalogPath',
|
|
2320
|
-
message: 'Path to marketplace-skills-catalog.json:',
|
|
2321
|
-
default: catalogDefault,
|
|
2322
|
-
},
|
|
2323
|
-
{
|
|
2324
|
-
type: 'input',
|
|
2325
|
-
name: 'targetPath',
|
|
2326
|
-
message: 'Install skills to directory:',
|
|
2327
|
-
default: marketplacePath,
|
|
2328
|
-
},
|
|
2329
|
-
]);
|
|
2330
|
-
let catalog;
|
|
2331
|
-
const resolvedCatalog = catalogPath.trim();
|
|
2332
|
-
if (resolvedCatalog && fs.existsSync(resolvedCatalog)) {
|
|
2333
|
-
catalog = JSON.parse(fs.readFileSync(resolvedCatalog, 'utf-8'));
|
|
2334
|
-
}
|
|
2335
|
-
else {
|
|
2336
|
-
printInfo('Using bundled Bluefly marketplace skills catalog.');
|
|
2337
|
-
catalog = { skills: [...marketplaceSkillsCatalog.skills] };
|
|
2338
|
-
}
|
|
2339
|
-
const entries = catalog.skills || [];
|
|
2340
|
-
if (entries.length > 0) {
|
|
2341
|
-
const choices = entries.map((e) => ({
|
|
2342
|
-
name: `${e.skill} (${e.repo})`,
|
|
2343
|
-
value: e,
|
|
2344
|
-
short: e.skill,
|
|
2345
|
-
}));
|
|
2346
|
-
const { selected } = await inquirer.prompt([
|
|
2347
|
-
{
|
|
2348
|
-
type: 'checkbox',
|
|
2349
|
-
name: 'selected',
|
|
2350
|
-
message: 'Select skills to install:',
|
|
2351
|
-
choices,
|
|
2352
|
-
},
|
|
2353
|
-
]);
|
|
2354
|
-
const target = targetPath.trim();
|
|
2355
|
-
const installService = container.get(SkillsInstallService);
|
|
2356
|
-
for (const e of selected) {
|
|
2357
|
-
const result = await installService.install({
|
|
2358
|
-
repoUrl: e.repo,
|
|
2359
|
-
skill: e.skill,
|
|
2360
|
-
path: target,
|
|
2361
|
-
});
|
|
2362
|
-
if (result.success)
|
|
2363
|
-
printSuccess(result.message);
|
|
2364
|
-
else
|
|
2365
|
-
printError(result.message);
|
|
2366
|
-
}
|
|
2367
|
-
}
|
|
2368
|
-
}
|
|
2369
|
-
const skills = [];
|
|
2370
|
-
let addingSkills = true;
|
|
2371
|
-
const { doManual } = await inquirer.prompt([
|
|
2372
|
-
{
|
|
2373
|
-
type: 'confirm',
|
|
2374
|
-
name: 'doManual',
|
|
2375
|
-
message: 'Also define skills manually in the manifest (id, name, instructions)?',
|
|
2376
|
-
default: skillSource === 'manual',
|
|
2377
|
-
},
|
|
2378
|
-
]);
|
|
2379
|
-
if (!doManual) {
|
|
2380
|
-
return;
|
|
2381
|
-
}
|
|
2382
|
-
while (addingSkills) {
|
|
2383
|
-
console.log('');
|
|
2384
|
-
printInfo(`Adding skill ${skills.length + 1}`);
|
|
2385
|
-
const skillAnswers = await inquirer.prompt([
|
|
2386
|
-
{
|
|
2387
|
-
type: 'input',
|
|
2388
|
-
name: 'id',
|
|
2389
|
-
message: 'Skill ID (identifier):',
|
|
2390
|
-
validate: (input) => {
|
|
2391
|
-
const valid = /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/.test(input);
|
|
2392
|
-
return (valid ||
|
|
2393
|
-
'Must be lowercase alphanumeric with hyphens (e.g., research-skill)');
|
|
2394
|
-
},
|
|
2395
|
-
},
|
|
2396
|
-
{
|
|
2397
|
-
type: 'input',
|
|
2398
|
-
name: 'name',
|
|
2399
|
-
message: 'Skill name (display name):',
|
|
2400
|
-
default: (answers) => answers.id
|
|
2401
|
-
.split('-')
|
|
2402
|
-
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
2403
|
-
.join(' '),
|
|
2404
|
-
},
|
|
2405
|
-
{
|
|
2406
|
-
type: 'input',
|
|
2407
|
-
name: 'description',
|
|
2408
|
-
message: 'Skill description:',
|
|
2409
|
-
validate: (input) => {
|
|
2410
|
-
return (input.length >= 10 || 'Description must be at least 10 characters');
|
|
2411
|
-
},
|
|
2412
|
-
},
|
|
2413
|
-
{
|
|
2414
|
-
type: 'editor',
|
|
2415
|
-
name: 'instructions',
|
|
2416
|
-
message: 'Skill instructions (detailed prompt):',
|
|
2417
|
-
default: 'You are a skilled assistant. When invoked, you should...\n\nCapabilities:\n- \n\nGuidelines:\n- ',
|
|
2418
|
-
},
|
|
2419
|
-
{
|
|
2420
|
-
type: 'list',
|
|
2421
|
-
name: 'type',
|
|
2422
|
-
message: 'Skill type:',
|
|
2423
|
-
choices: [
|
|
2424
|
-
{ name: 'Task - Execute specific actions', value: 'task' },
|
|
2425
|
-
{ name: 'Query - Retrieve information', value: 'query' },
|
|
2426
|
-
{ name: 'Creative - Generate content', value: 'creative' },
|
|
2427
|
-
{ name: 'Analysis - Analyze data', value: 'analysis' },
|
|
2428
|
-
{ name: 'Other', value: 'other' },
|
|
2429
|
-
],
|
|
2430
|
-
default: 'task',
|
|
2431
|
-
},
|
|
2432
|
-
]);
|
|
2433
|
-
// Ask for parameters
|
|
2434
|
-
const { addParams } = await inquirer.prompt([
|
|
2435
|
-
{
|
|
2436
|
-
type: 'confirm',
|
|
2437
|
-
name: 'addParams',
|
|
2438
|
-
message: 'Add parameters to this skill?',
|
|
2439
|
-
default: false,
|
|
2440
|
-
},
|
|
2441
|
-
]);
|
|
2442
|
-
const parameters = {};
|
|
2443
|
-
if (addParams) {
|
|
2444
|
-
let addingParams = true;
|
|
2445
|
-
while (addingParams) {
|
|
2446
|
-
const paramAnswers = await inquirer.prompt([
|
|
2447
|
-
{
|
|
2448
|
-
type: 'input',
|
|
2449
|
-
name: 'paramName',
|
|
2450
|
-
message: 'Parameter name:',
|
|
2451
|
-
},
|
|
2452
|
-
{
|
|
2453
|
-
type: 'list',
|
|
2454
|
-
name: 'paramType',
|
|
2455
|
-
message: 'Parameter type:',
|
|
2456
|
-
choices: ['string', 'number', 'boolean', 'array', 'object'],
|
|
2457
|
-
},
|
|
2458
|
-
{
|
|
2459
|
-
type: 'input',
|
|
2460
|
-
name: 'paramDescription',
|
|
2461
|
-
message: 'Parameter description:',
|
|
2462
|
-
},
|
|
2463
|
-
{
|
|
2464
|
-
type: 'confirm',
|
|
2465
|
-
name: 'paramRequired',
|
|
2466
|
-
message: 'Is this parameter required?',
|
|
2467
|
-
default: false,
|
|
2468
|
-
},
|
|
2469
|
-
]);
|
|
2470
|
-
parameters[paramAnswers.paramName] = {
|
|
2471
|
-
type: paramAnswers.paramType,
|
|
2472
|
-
description: paramAnswers.paramDescription,
|
|
2473
|
-
};
|
|
2474
|
-
if (paramAnswers.paramRequired) {
|
|
2475
|
-
if (!parameters._required) {
|
|
2476
|
-
parameters._required = [];
|
|
2477
|
-
}
|
|
2478
|
-
parameters._required.push(paramAnswers.paramName);
|
|
2479
|
-
}
|
|
2480
|
-
const { addAnother } = await inquirer.prompt([
|
|
2481
|
-
{
|
|
2482
|
-
type: 'confirm',
|
|
2483
|
-
name: 'addAnother',
|
|
2484
|
-
message: 'Add another parameter?',
|
|
2485
|
-
default: false,
|
|
2486
|
-
},
|
|
2487
|
-
]);
|
|
2488
|
-
addingParams = addAnother;
|
|
2489
|
-
}
|
|
2490
|
-
}
|
|
2491
|
-
// Build skill object
|
|
2492
|
-
const skill = {
|
|
2493
|
-
id: skillAnswers.id,
|
|
2494
|
-
name: skillAnswers.name,
|
|
2495
|
-
description: skillAnswers.description,
|
|
2496
|
-
instructions: skillAnswers.instructions,
|
|
2497
|
-
type: skillAnswers.type,
|
|
2498
|
-
};
|
|
2499
|
-
if (Object.keys(parameters).length > 0) {
|
|
2500
|
-
// Extract required array if exists
|
|
2501
|
-
const required = parameters._required;
|
|
2502
|
-
delete parameters._required;
|
|
2503
|
-
skill.parameters = {
|
|
2504
|
-
type: 'object',
|
|
2505
|
-
properties: parameters,
|
|
2506
|
-
};
|
|
2507
|
-
if (required && required.length > 0) {
|
|
2508
|
-
skill.parameters.required = required;
|
|
2509
|
-
}
|
|
2510
|
-
}
|
|
2511
|
-
skills.push(skill);
|
|
2512
|
-
printSuccess(`Skill "${skill.name}" added`);
|
|
2513
|
-
const { addMore } = await inquirer.prompt([
|
|
2514
|
-
{
|
|
2515
|
-
type: 'confirm',
|
|
2516
|
-
name: 'addMore',
|
|
2517
|
-
message: 'Add another skill?',
|
|
2518
|
-
default: false,
|
|
2519
|
-
},
|
|
2520
|
-
]);
|
|
2521
|
-
addingSkills = addMore;
|
|
2522
|
-
}
|
|
2523
|
-
if (skills.length > 0) {
|
|
2524
|
-
this.state.updateAgent({
|
|
2525
|
-
spec: {
|
|
2526
|
-
skills,
|
|
2527
|
-
},
|
|
2528
|
-
});
|
|
2529
|
-
printSuccess(`${skills.length} skill(s) configured`);
|
|
2530
|
-
}
|
|
2531
|
-
}
|
|
2532
|
-
async configureRAG() {
|
|
2533
|
-
this.state.nextStep('RAG Configuration');
|
|
2534
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'RAG & Vector Database', 'Configure knowledge retrieval and vector storage');
|
|
2535
|
-
const ragAnswers = await inquirer.prompt([
|
|
2536
|
-
{
|
|
2537
|
-
type: 'list',
|
|
2538
|
-
name: 'provider',
|
|
2539
|
-
message: 'Select vector database provider:',
|
|
2540
|
-
choices: [
|
|
2541
|
-
{ name: 'Qdrant (Recommended)', value: 'qdrant' },
|
|
2542
|
-
{ name: 'Pinecone', value: 'pinecone' },
|
|
2543
|
-
{ name: 'Weaviate', value: 'weaviate' },
|
|
2544
|
-
{ name: 'LangChain', value: 'langchain' },
|
|
2545
|
-
],
|
|
2546
|
-
},
|
|
2547
|
-
{
|
|
2548
|
-
type: 'list',
|
|
2549
|
-
name: 'search_strategy',
|
|
2550
|
-
message: 'Search strategy:',
|
|
2551
|
-
choices: [
|
|
2552
|
-
{ name: 'Semantic Search', value: 'semantic' },
|
|
2553
|
-
{ name: 'Hybrid (Semantic + Keyword)', value: 'hybrid' },
|
|
2554
|
-
{ name: 'Neural Search', value: 'neural' },
|
|
2555
|
-
],
|
|
2556
|
-
default: 'hybrid',
|
|
2557
|
-
},
|
|
2558
|
-
{
|
|
2559
|
-
type: 'number',
|
|
2560
|
-
name: 'top_k',
|
|
2561
|
-
message: 'Number of results to retrieve (top_k):',
|
|
2562
|
-
default: 10,
|
|
2563
|
-
},
|
|
2564
|
-
]);
|
|
2565
|
-
this.state.updateAgent({
|
|
2566
|
-
spec: {
|
|
2567
|
-
knowledge_sources: [
|
|
2568
|
-
{
|
|
2569
|
-
name: 'primary-knowledge-base',
|
|
2570
|
-
provider: ragAnswers.provider,
|
|
2571
|
-
search: {
|
|
2572
|
-
default_strategy: ragAnswers.search_strategy,
|
|
2573
|
-
top_k: ragAnswers.top_k,
|
|
2574
|
-
min_score: 0.7,
|
|
2575
|
-
rerank: true,
|
|
2576
|
-
},
|
|
2577
|
-
enabled: true,
|
|
2578
|
-
},
|
|
2579
|
-
],
|
|
2580
|
-
},
|
|
2581
|
-
});
|
|
2582
|
-
printSuccess('RAG configuration complete');
|
|
2583
|
-
}
|
|
2584
|
-
async configureCommunication() {
|
|
2585
|
-
this.state.nextStep('Communication Configuration');
|
|
2586
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Agent Communication (A2A)', 'Configure agent-to-agent messaging');
|
|
2587
|
-
const commAnswers = await inquirer.prompt([
|
|
2588
|
-
{
|
|
2589
|
-
type: 'list',
|
|
2590
|
-
name: 'transport',
|
|
2591
|
-
message: 'Message transport:',
|
|
2592
|
-
choices: [
|
|
2593
|
-
{ name: 'Redis (Recommended)', value: 'redis' },
|
|
2594
|
-
{ name: 'NATS', value: 'nats' },
|
|
2595
|
-
{ name: 'Kafka', value: 'kafka' },
|
|
2596
|
-
{ name: 'Memory (Testing only)', value: 'memory' },
|
|
2597
|
-
],
|
|
2598
|
-
},
|
|
2599
|
-
{
|
|
2600
|
-
type: 'input',
|
|
2601
|
-
name: 'broker_url',
|
|
2602
|
-
message: 'Broker URL:',
|
|
2603
|
-
default: 'redis://localhost:6379',
|
|
2604
|
-
when: (answers) => answers.transport !== 'memory',
|
|
2605
|
-
},
|
|
2606
|
-
]);
|
|
2607
|
-
this.state.updateAgent({
|
|
2608
|
-
extensions: {
|
|
2609
|
-
...this.state.getAgent().extensions,
|
|
2610
|
-
messaging: {
|
|
2611
|
-
transport: commAnswers.transport,
|
|
2612
|
-
broker: {
|
|
2613
|
-
type: commAnswers.transport,
|
|
2614
|
-
url: commAnswers.broker_url,
|
|
2615
|
-
},
|
|
2616
|
-
},
|
|
2617
|
-
},
|
|
2618
|
-
});
|
|
2619
|
-
printSuccess('Communication configuration complete');
|
|
2620
|
-
}
|
|
2621
|
-
async configureStateManagement() {
|
|
2622
|
-
this.state.nextStep('State Management');
|
|
2623
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'State & Memory', 'Configure persistent state and memory');
|
|
2624
|
-
const stateAnswers = await inquirer.prompt([
|
|
2625
|
-
{
|
|
2626
|
-
type: 'list',
|
|
2627
|
-
name: 'mode',
|
|
2628
|
-
message: 'State mode:',
|
|
2629
|
-
choices: [
|
|
2630
|
-
{ name: 'Stateless', value: 'stateless' },
|
|
2631
|
-
{ name: 'Session (per-conversation)', value: 'session' },
|
|
2632
|
-
{ name: 'Long-Running (persistent)', value: 'long_running' },
|
|
2633
|
-
],
|
|
2634
|
-
},
|
|
2635
|
-
{
|
|
2636
|
-
type: 'list',
|
|
2637
|
-
name: 'storage_type',
|
|
2638
|
-
message: 'Storage backend:',
|
|
2639
|
-
choices: [
|
|
2640
|
-
{ name: 'Memory (Fast, temporary)', value: 'memory' },
|
|
2641
|
-
{ name: 'Redis', value: 'kv' },
|
|
2642
|
-
{ name: 'PostgreSQL', value: 'rdbms' },
|
|
2643
|
-
{ name: 'Vector DB', value: 'vector-db' },
|
|
2644
|
-
],
|
|
2645
|
-
when: (answers) => answers.mode !== 'stateless',
|
|
2646
|
-
},
|
|
2647
|
-
]);
|
|
2648
|
-
if (stateAnswers.mode !== 'stateless') {
|
|
2649
|
-
this.state.updateAgent({
|
|
2650
|
-
spec: {
|
|
2651
|
-
state: {
|
|
2652
|
-
mode: stateAnswers.mode,
|
|
2653
|
-
storage: {
|
|
2654
|
-
type: stateAnswers.storage_type,
|
|
2655
|
-
retention: stateAnswers.mode === 'session' ? '24h' : '30d',
|
|
2656
|
-
},
|
|
2657
|
-
},
|
|
2658
|
-
},
|
|
2659
|
-
});
|
|
2660
|
-
}
|
|
2661
|
-
printSuccess('State management configured');
|
|
2662
|
-
}
|
|
2663
|
-
async configureCostManagement() {
|
|
2664
|
-
this.state.nextStep('Cost Management');
|
|
2665
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Cost Management & Budgeting', 'Set budget limits and cost tracking');
|
|
2666
|
-
const costAnswers = await inquirer.prompt([
|
|
2667
|
-
{
|
|
2668
|
-
type: 'confirm',
|
|
2669
|
-
name: 'enable_budget',
|
|
2670
|
-
message: 'Enable token budgets?',
|
|
2671
|
-
default: true,
|
|
2672
|
-
},
|
|
2673
|
-
{
|
|
2674
|
-
type: 'number',
|
|
2675
|
-
name: 'daily_limit',
|
|
2676
|
-
message: 'Daily token limit:',
|
|
2677
|
-
default: 1000000,
|
|
2678
|
-
when: (answers) => answers.enable_budget,
|
|
2679
|
-
},
|
|
2680
|
-
{
|
|
2681
|
-
type: 'list',
|
|
2682
|
-
name: 'enforcement',
|
|
2683
|
-
message: 'Budget enforcement:',
|
|
2684
|
-
choices: [
|
|
2685
|
-
{ name: 'Soft (warn only)', value: 'soft' },
|
|
2686
|
-
{ name: 'Hard (block when exceeded)', value: 'hard' },
|
|
2687
|
-
{ name: 'Adaptive (scale down)', value: 'adaptive' },
|
|
2688
|
-
],
|
|
2689
|
-
default: 'soft',
|
|
2690
|
-
when: (answers) => answers.enable_budget,
|
|
2691
|
-
},
|
|
2692
|
-
]);
|
|
2693
|
-
if (costAnswers.enable_budget) {
|
|
2694
|
-
this.state.updateAgent({
|
|
2695
|
-
spec: {
|
|
2696
|
-
token_budget: {
|
|
2697
|
-
enabled: true,
|
|
2698
|
-
daily_limit: costAnswers.daily_limit,
|
|
2699
|
-
enforcement: costAnswers.enforcement,
|
|
2700
|
-
},
|
|
2701
|
-
},
|
|
2702
|
-
});
|
|
2703
|
-
printSuccess('Cost management configured');
|
|
2704
|
-
}
|
|
2705
|
-
}
|
|
2706
|
-
async configureObservability() {
|
|
2707
|
-
this.state.nextStep('Observability');
|
|
2708
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Observability & Monitoring', 'Configure tracing, metrics, and logging');
|
|
2709
|
-
const obsAnswers = await inquirer.prompt([
|
|
2710
|
-
{
|
|
2711
|
-
type: 'confirm',
|
|
2712
|
-
name: 'enable_tracing',
|
|
2713
|
-
message: 'Enable OpenTelemetry tracing?',
|
|
2714
|
-
default: true,
|
|
2715
|
-
},
|
|
2716
|
-
{
|
|
2717
|
-
type: 'confirm',
|
|
2718
|
-
name: 'enable_metrics',
|
|
2719
|
-
message: 'Enable metrics collection?',
|
|
2720
|
-
default: true,
|
|
2721
|
-
},
|
|
2722
|
-
{
|
|
2723
|
-
type: 'list',
|
|
2724
|
-
name: 'log_level',
|
|
2725
|
-
message: 'Logging level:',
|
|
2726
|
-
choices: ['debug', 'info', 'warn', 'error'],
|
|
2727
|
-
default: 'info',
|
|
2728
|
-
},
|
|
2729
|
-
]);
|
|
2730
|
-
this.state.updateAgent({
|
|
2731
|
-
spec: {
|
|
2732
|
-
observability: {
|
|
2733
|
-
tracing: obsAnswers.enable_tracing
|
|
2734
|
-
? {
|
|
2735
|
-
enabled: true,
|
|
2736
|
-
exporter: 'otlp',
|
|
2737
|
-
endpoint: '${OTEL_ENDPOINT:-http://localhost:4317}',
|
|
2738
|
-
}
|
|
2739
|
-
: undefined,
|
|
2740
|
-
metrics: obsAnswers.enable_metrics
|
|
2741
|
-
? {
|
|
2742
|
-
enabled: true,
|
|
2743
|
-
exporter: 'prometheus',
|
|
2744
|
-
}
|
|
2745
|
-
: undefined,
|
|
2746
|
-
logging: {
|
|
2747
|
-
level: obsAnswers.log_level,
|
|
2748
|
-
},
|
|
2749
|
-
},
|
|
2750
|
-
},
|
|
2751
|
-
});
|
|
2752
|
-
printSuccess('Observability configured');
|
|
2753
|
-
}
|
|
2754
|
-
async configureTools() {
|
|
2755
|
-
this.state.nextStep('Tools & Capabilities');
|
|
2756
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Tools & Capabilities', 'Add tools and capabilities for your agent');
|
|
2757
|
-
const { addTools } = await inquirer.prompt([
|
|
2758
|
-
{
|
|
2759
|
-
type: 'confirm',
|
|
2760
|
-
name: 'addTools',
|
|
2761
|
-
message: 'Add tools to your agent?',
|
|
2762
|
-
default: true,
|
|
2763
|
-
},
|
|
2764
|
-
]);
|
|
2765
|
-
if (!addTools) {
|
|
2766
|
-
return;
|
|
2767
|
-
}
|
|
2768
|
-
const tools = [];
|
|
2769
|
-
// Add tools interactively
|
|
2770
|
-
let addingTools = true;
|
|
2771
|
-
while (addingTools) {
|
|
2772
|
-
const { toolType } = await inquirer.prompt([
|
|
2773
|
-
{
|
|
2774
|
-
type: 'list',
|
|
2775
|
-
name: 'toolType',
|
|
2776
|
-
message: 'Select tool type:',
|
|
2777
|
-
choices: [
|
|
2778
|
-
{ name: 'MCP Server', value: 'mcp' },
|
|
2779
|
-
{ name: 'HTTP API', value: 'http' },
|
|
2780
|
-
{ name: 'Function', value: 'function' },
|
|
2781
|
-
{ name: 'Done adding tools', value: 'done' },
|
|
2782
|
-
],
|
|
2783
|
-
},
|
|
2784
|
-
]);
|
|
2785
|
-
if (toolType === 'done') {
|
|
2786
|
-
addingTools = false;
|
|
2787
|
-
continue;
|
|
2788
|
-
}
|
|
2789
|
-
if (toolType === 'mcp') {
|
|
2790
|
-
const mcpAnswers = await inquirer.prompt([
|
|
2791
|
-
{
|
|
2792
|
-
type: 'input',
|
|
2793
|
-
name: 'name',
|
|
2794
|
-
message: 'MCP server name:',
|
|
2795
|
-
},
|
|
2796
|
-
{
|
|
2797
|
-
type: 'input',
|
|
2798
|
-
name: 'command',
|
|
2799
|
-
message: 'MCP server command:',
|
|
2800
|
-
default: 'npx -y @modelcontextprotocol/server-filesystem',
|
|
2801
|
-
},
|
|
2802
|
-
]);
|
|
2803
|
-
tools.push({
|
|
2804
|
-
type: 'mcp',
|
|
2805
|
-
name: mcpAnswers.name,
|
|
2806
|
-
config: {
|
|
2807
|
-
server: mcpAnswers.command,
|
|
2808
|
-
},
|
|
2809
|
-
});
|
|
2810
|
-
printSuccess(`Added MCP server: ${mcpAnswers.name}`);
|
|
2811
|
-
}
|
|
2812
|
-
// Add more tool types as needed
|
|
2813
|
-
}
|
|
2814
|
-
if (tools.length > 0) {
|
|
2815
|
-
this.state.updateAgent({
|
|
2816
|
-
spec: {
|
|
2817
|
-
tools,
|
|
2818
|
-
},
|
|
2819
|
-
});
|
|
2820
|
-
printSuccess(`${tools.length} tools configured`);
|
|
2821
|
-
}
|
|
2822
|
-
}
|
|
2823
|
-
async configureSafety() {
|
|
2824
|
-
this.state.nextStep('Safety & Security');
|
|
2825
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Safety & Security', 'Configure safety controls and security measures');
|
|
2826
|
-
const safetyAnswers = await inquirer.prompt([
|
|
2827
|
-
{
|
|
2828
|
-
type: 'confirm',
|
|
2829
|
-
name: 'enable_content_filtering',
|
|
2830
|
-
message: 'Enable content filtering?',
|
|
2831
|
-
default: true,
|
|
2832
|
-
},
|
|
2833
|
-
{
|
|
2834
|
-
type: 'confirm',
|
|
2835
|
-
name: 'enable_pii_detection',
|
|
2836
|
-
message: 'Enable PII detection?',
|
|
2837
|
-
default: true,
|
|
2838
|
-
},
|
|
2839
|
-
{
|
|
2840
|
-
type: 'confirm',
|
|
2841
|
-
name: 'enable_rate_limiting',
|
|
2842
|
-
message: 'Enable rate limiting?',
|
|
2843
|
-
default: false,
|
|
2844
|
-
},
|
|
2845
|
-
]);
|
|
2846
|
-
const safety = {};
|
|
2847
|
-
if (safetyAnswers.enable_content_filtering) {
|
|
2848
|
-
safety.content_filtering = {
|
|
2849
|
-
enabled: true,
|
|
2850
|
-
categories: ['hate_speech', 'violence', 'illegal_activity'],
|
|
2851
|
-
action: 'block',
|
|
2852
|
-
};
|
|
2853
|
-
}
|
|
2854
|
-
if (safetyAnswers.enable_pii_detection) {
|
|
2855
|
-
safety.pii_detection = {
|
|
2856
|
-
enabled: true,
|
|
2857
|
-
types: ['email', 'phone', 'ssn', 'credit_card'],
|
|
2858
|
-
action: 'redact',
|
|
2859
|
-
};
|
|
2860
|
-
}
|
|
2861
|
-
if (safetyAnswers.enable_rate_limiting) {
|
|
2862
|
-
safety.rate_limiting = {
|
|
2863
|
-
enabled: true,
|
|
2864
|
-
requests_per_minute: 30,
|
|
2865
|
-
};
|
|
2866
|
-
}
|
|
2867
|
-
if (Object.keys(safety).length > 0) {
|
|
2868
|
-
this.state.updateAgent({
|
|
2869
|
-
spec: {
|
|
2870
|
-
safety,
|
|
2871
|
-
},
|
|
2872
|
-
});
|
|
2873
|
-
printSuccess('Safety controls configured');
|
|
2874
|
-
}
|
|
2875
|
-
}
|
|
2876
|
-
async configureExportTargets() {
|
|
2877
|
-
this.state.nextStep('Export Configuration');
|
|
2878
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Export Targets', 'Configure deployment platforms');
|
|
2879
|
-
const exportAnswers = await inquirer.prompt([
|
|
2880
|
-
{
|
|
2881
|
-
type: 'confirm',
|
|
2882
|
-
name: 'configureExport',
|
|
2883
|
-
message: 'Configure export targets for deployment?',
|
|
2884
|
-
default: true,
|
|
2885
|
-
},
|
|
2886
|
-
]);
|
|
2887
|
-
if (!exportAnswers.configureExport) {
|
|
2888
|
-
return;
|
|
2889
|
-
}
|
|
2890
|
-
const { platforms } = await inquirer.prompt([
|
|
2891
|
-
{
|
|
2892
|
-
type: 'checkbox',
|
|
2893
|
-
name: 'platforms',
|
|
2894
|
-
message: 'Select export platforms:',
|
|
2895
|
-
choices: [
|
|
2896
|
-
{
|
|
2897
|
-
name: 'LangChain (Python) - Full framework with observability',
|
|
2898
|
-
value: 'langchain',
|
|
2899
|
-
checked: true,
|
|
2900
|
-
},
|
|
2901
|
-
{
|
|
2902
|
-
name: 'KAgent (Kubernetes) - Cloud-native deployment',
|
|
2903
|
-
value: 'kagent',
|
|
2904
|
-
},
|
|
2905
|
-
{
|
|
2906
|
-
name: 'Drupal Module - CMS integration',
|
|
2907
|
-
value: 'drupal',
|
|
2908
|
-
},
|
|
2909
|
-
{
|
|
2910
|
-
name: 'Symfony Bundle - PHP framework',
|
|
2911
|
-
value: 'symfony',
|
|
2912
|
-
},
|
|
2913
|
-
],
|
|
2914
|
-
validate: (answer) => {
|
|
2915
|
-
if (answer.length < 1) {
|
|
2916
|
-
return 'You must select at least one export platform.';
|
|
2917
|
-
}
|
|
2918
|
-
return true;
|
|
2919
|
-
},
|
|
2920
|
-
},
|
|
2921
|
-
]);
|
|
2922
|
-
const exportConfig = {
|
|
2923
|
-
enabled: true,
|
|
2924
|
-
platforms: platforms,
|
|
2925
|
-
};
|
|
2926
|
-
// Platform-specific configuration
|
|
2927
|
-
for (const platform of platforms) {
|
|
2928
|
-
if (platform === 'langchain') {
|
|
2929
|
-
const langchainConfig = await inquirer.prompt([
|
|
2930
|
-
{
|
|
2931
|
-
type: 'confirm',
|
|
2932
|
-
name: 'includeCallbacks',
|
|
2933
|
-
message: 'Include observability (LangSmith, LangFuse, OpenTelemetry)?',
|
|
2934
|
-
default: true,
|
|
2935
|
-
},
|
|
2936
|
-
{
|
|
2937
|
-
type: 'confirm',
|
|
2938
|
-
name: 'includeErrorHandling',
|
|
2939
|
-
message: 'Include production error handling (retry, circuit breaker)?',
|
|
2940
|
-
default: true,
|
|
2941
|
-
},
|
|
2942
|
-
{
|
|
2943
|
-
type: 'confirm',
|
|
2944
|
-
name: 'includeLangServe',
|
|
2945
|
-
message: 'Generate LangServe REST API deployment?',
|
|
2946
|
-
default: false,
|
|
2947
|
-
},
|
|
2948
|
-
{
|
|
2949
|
-
type: 'confirm',
|
|
2950
|
-
name: 'includeTests',
|
|
2951
|
-
message: 'Generate pytest test suite?',
|
|
2952
|
-
default: true,
|
|
2953
|
-
},
|
|
2954
|
-
]);
|
|
2955
|
-
exportConfig.langchain = langchainConfig;
|
|
2956
|
-
}
|
|
2957
|
-
else if (platform === 'kagent') {
|
|
2958
|
-
const kagentConfig = await inquirer.prompt([
|
|
2959
|
-
{
|
|
2960
|
-
type: 'confirm',
|
|
2961
|
-
name: 'includeRBAC',
|
|
2962
|
-
message: 'Include RBAC (ServiceAccount, Roles)?',
|
|
2963
|
-
default: true,
|
|
2964
|
-
},
|
|
2965
|
-
{
|
|
2966
|
-
type: 'confirm',
|
|
2967
|
-
name: 'includeTLS',
|
|
2968
|
-
message: 'Configure TLS for secure communication?',
|
|
2969
|
-
default: true,
|
|
2970
|
-
},
|
|
2971
|
-
{
|
|
2972
|
-
type: 'confirm',
|
|
2973
|
-
name: 'includeNetworkPolicy',
|
|
2974
|
-
message: 'Generate NetworkPolicy for isolation?',
|
|
2975
|
-
default: true,
|
|
2976
|
-
},
|
|
2977
|
-
]);
|
|
2978
|
-
exportConfig.kagent = kagentConfig;
|
|
2979
|
-
}
|
|
2980
|
-
else if (platform === 'drupal') {
|
|
2981
|
-
const drupalConfig = await inquirer.prompt([
|
|
2982
|
-
{
|
|
2983
|
-
type: 'input',
|
|
2984
|
-
name: 'moduleName',
|
|
2985
|
-
message: 'Drupal module name:',
|
|
2986
|
-
default: this.state.getAgent().metadata?.name?.replace(/-/g, '_') ||
|
|
2987
|
-
'ossa_agent',
|
|
2988
|
-
validate: (input) => {
|
|
2989
|
-
const valid = /^[a-z][a-z0-9_]*$/.test(input);
|
|
2990
|
-
return valid || 'Must be lowercase alphanumeric with underscores';
|
|
2991
|
-
},
|
|
2992
|
-
},
|
|
2993
|
-
{
|
|
2994
|
-
type: 'confirm',
|
|
2995
|
-
name: 'includeQueue',
|
|
2996
|
-
message: 'Include queue worker for async execution?',
|
|
2997
|
-
default: true,
|
|
2998
|
-
},
|
|
2999
|
-
{
|
|
3000
|
-
type: 'confirm',
|
|
3001
|
-
name: 'includeEntity',
|
|
3002
|
-
message: 'Generate entity storage with Views integration?',
|
|
3003
|
-
default: true,
|
|
3004
|
-
},
|
|
3005
|
-
]);
|
|
3006
|
-
exportConfig.drupal = drupalConfig;
|
|
3007
|
-
}
|
|
3008
|
-
else if (platform === 'symfony') {
|
|
3009
|
-
const symfonyConfig = await inquirer.prompt([
|
|
3010
|
-
{
|
|
3011
|
-
type: 'input',
|
|
3012
|
-
name: 'bundleName',
|
|
3013
|
-
message: 'Symfony bundle name:',
|
|
3014
|
-
default: (this.state
|
|
3015
|
-
.getAgent()
|
|
3016
|
-
.metadata?.name?.split('-')
|
|
3017
|
-
.map((w) => w.charAt(0).toUpperCase() + w.slice(1))
|
|
3018
|
-
.join('') || 'Ossa') + 'Bundle',
|
|
3019
|
-
},
|
|
3020
|
-
{
|
|
3021
|
-
type: 'confirm',
|
|
3022
|
-
name: 'includeEvents',
|
|
3023
|
-
message: 'Include event system (start, complete, error)?',
|
|
3024
|
-
default: true,
|
|
3025
|
-
},
|
|
3026
|
-
{
|
|
3027
|
-
type: 'confirm',
|
|
3028
|
-
name: 'includeCaching',
|
|
3029
|
-
message: 'Include caching layer?',
|
|
3030
|
-
default: true,
|
|
3031
|
-
},
|
|
3032
|
-
]);
|
|
3033
|
-
exportConfig.symfony = symfonyConfig;
|
|
3034
|
-
}
|
|
3035
|
-
}
|
|
3036
|
-
// Store in annotations (buildkit-specific metadata)
|
|
3037
|
-
this.state.updateAgent({
|
|
3038
|
-
metadata: {
|
|
3039
|
-
...this.state.getAgent().metadata,
|
|
3040
|
-
annotations: {
|
|
3041
|
-
...this.state.getAgent().metadata?.annotations,
|
|
3042
|
-
'buildkit.ossa.io/export-config': JSON.stringify(exportConfig),
|
|
3043
|
-
},
|
|
3044
|
-
},
|
|
3045
|
-
});
|
|
3046
|
-
printSuccess(`Export configured for ${platforms.length} platform(s)`);
|
|
3047
|
-
}
|
|
3048
|
-
async configureTestingValidation() {
|
|
3049
|
-
this.state.nextStep('Testing Configuration');
|
|
3050
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Testing & Validation', 'Configure automated testing');
|
|
3051
|
-
const { enableTesting } = await inquirer.prompt([
|
|
3052
|
-
{
|
|
3053
|
-
type: 'confirm',
|
|
3054
|
-
name: 'enableTesting',
|
|
3055
|
-
message: 'Configure testing for this agent?',
|
|
3056
|
-
default: true,
|
|
3057
|
-
},
|
|
3058
|
-
]);
|
|
3059
|
-
if (!enableTesting) {
|
|
3060
|
-
return;
|
|
3061
|
-
}
|
|
3062
|
-
const testConfig = await inquirer.prompt([
|
|
3063
|
-
{
|
|
3064
|
-
type: 'checkbox',
|
|
3065
|
-
name: 'types',
|
|
3066
|
-
message: 'Which test types to generate?',
|
|
3067
|
-
choices: [
|
|
3068
|
-
{ name: 'Unit tests (recommended)', value: 'unit', checked: true },
|
|
3069
|
-
{ name: 'Integration tests', value: 'integration' },
|
|
3070
|
-
{ name: 'Load tests', value: 'load' },
|
|
3071
|
-
{ name: 'Security tests', value: 'security' },
|
|
3072
|
-
{ name: 'Cost tests', value: 'cost' },
|
|
3073
|
-
],
|
|
3074
|
-
validate: (answer) => {
|
|
3075
|
-
if (answer.length < 1) {
|
|
3076
|
-
return 'You must choose at least one test type.';
|
|
3077
|
-
}
|
|
3078
|
-
return true;
|
|
3079
|
-
},
|
|
3080
|
-
},
|
|
3081
|
-
{
|
|
3082
|
-
type: 'confirm',
|
|
3083
|
-
name: 'mockLLM',
|
|
3084
|
-
message: 'Mock LLM by default?',
|
|
3085
|
-
default: true,
|
|
3086
|
-
},
|
|
3087
|
-
{
|
|
3088
|
-
type: 'confirm',
|
|
3089
|
-
name: 'generateFixtures',
|
|
3090
|
-
message: 'Generate test fixtures?',
|
|
3091
|
-
default: true,
|
|
3092
|
-
},
|
|
3093
|
-
{
|
|
3094
|
-
type: 'confirm',
|
|
3095
|
-
name: 'includeCICD',
|
|
3096
|
-
message: 'Include CI/CD configurations?',
|
|
3097
|
-
default: true,
|
|
3098
|
-
},
|
|
3099
|
-
]);
|
|
3100
|
-
let cicdPlatforms = [];
|
|
3101
|
-
if (testConfig.includeCICD) {
|
|
3102
|
-
const { platforms } = await inquirer.prompt([
|
|
3103
|
-
{
|
|
3104
|
-
type: 'checkbox',
|
|
3105
|
-
name: 'platforms',
|
|
3106
|
-
message: 'Which CI/CD platforms?',
|
|
3107
|
-
choices: [
|
|
3108
|
-
{ name: 'GitHub Actions', value: 'github-actions', checked: true },
|
|
3109
|
-
{ name: 'GitLab CI', value: 'gitlab-ci' },
|
|
3110
|
-
],
|
|
3111
|
-
validate: (answer) => {
|
|
3112
|
-
if (answer.length < 1) {
|
|
3113
|
-
return 'You must choose at least one CI/CD platform.';
|
|
3114
|
-
}
|
|
3115
|
-
return true;
|
|
3116
|
-
},
|
|
3117
|
-
},
|
|
3118
|
-
]);
|
|
3119
|
-
cicdPlatforms = platforms;
|
|
3120
|
-
}
|
|
3121
|
-
const validationConfig = await inquirer.prompt([
|
|
3122
|
-
{
|
|
3123
|
-
type: 'confirm',
|
|
3124
|
-
name: 'manifest',
|
|
3125
|
-
message: 'Enable manifest validation?',
|
|
3126
|
-
default: true,
|
|
3127
|
-
},
|
|
3128
|
-
{
|
|
3129
|
-
type: 'confirm',
|
|
3130
|
-
name: 'safety',
|
|
3131
|
-
message: 'Enable safety checks?',
|
|
3132
|
-
default: true,
|
|
3133
|
-
},
|
|
3134
|
-
{
|
|
3135
|
-
type: 'number',
|
|
3136
|
-
name: 'costBudget',
|
|
3137
|
-
message: 'Cost budget per test run? (USD)',
|
|
3138
|
-
default: 0.1,
|
|
3139
|
-
validate: (input) => {
|
|
3140
|
-
if (input < 0) {
|
|
3141
|
-
return 'Cost budget must be positive';
|
|
3142
|
-
}
|
|
3143
|
-
return true;
|
|
3144
|
-
},
|
|
3145
|
-
},
|
|
3146
|
-
]);
|
|
3147
|
-
const testingConfig = {
|
|
3148
|
-
enabled: true,
|
|
3149
|
-
types: testConfig.types,
|
|
3150
|
-
mockLLM: testConfig.mockLLM,
|
|
3151
|
-
generateFixtures: testConfig.generateFixtures,
|
|
3152
|
-
cicd: cicdPlatforms,
|
|
3153
|
-
validation: validationConfig,
|
|
3154
|
-
};
|
|
3155
|
-
// Store in annotations (buildkit-specific metadata)
|
|
3156
|
-
this.state.updateAgent({
|
|
3157
|
-
metadata: {
|
|
3158
|
-
...this.state.getAgent().metadata,
|
|
3159
|
-
annotations: {
|
|
3160
|
-
...this.state.getAgent().metadata?.annotations,
|
|
3161
|
-
'buildkit.ossa.io/testing-config': JSON.stringify(testingConfig),
|
|
3162
|
-
},
|
|
3163
|
-
},
|
|
3164
|
-
});
|
|
3165
|
-
printSuccess(`Testing configured: ${testConfig.types.join(', ')}`);
|
|
3166
|
-
}
|
|
3167
|
-
async generateOutput() {
|
|
3168
|
-
this.state.nextStep('Output Generation');
|
|
3169
|
-
printStep(this.state.getState().currentStep, this.state.getState().totalSteps, 'Generate Output Files', 'Create agent manifest and supporting files');
|
|
3170
|
-
const outputAnswers = await inquirer.prompt([
|
|
3171
|
-
{
|
|
3172
|
-
type: 'confirm',
|
|
3173
|
-
name: 'generate_agents_md',
|
|
3174
|
-
message: 'Generate AGENTS.md file?',
|
|
3175
|
-
default: true,
|
|
3176
|
-
},
|
|
3177
|
-
{
|
|
3178
|
-
type: 'confirm',
|
|
3179
|
-
name: 'generate_llms_txt',
|
|
3180
|
-
message: 'Generate llms.txt file?',
|
|
3181
|
-
default: true,
|
|
3182
|
-
},
|
|
3183
|
-
{
|
|
3184
|
-
type: 'input',
|
|
3185
|
-
name: 'output_path',
|
|
3186
|
-
message: 'Output file path:',
|
|
3187
|
-
default: this.options.output || 'agent.ossa.yaml',
|
|
3188
|
-
},
|
|
3189
|
-
{
|
|
3190
|
-
type: 'confirm',
|
|
3191
|
-
name: 'generate_gaid',
|
|
3192
|
-
message: '🆔 Generate Global Agent ID (GAID)?',
|
|
3193
|
-
default: true,
|
|
3194
|
-
},
|
|
3195
|
-
{
|
|
3196
|
-
type: 'input',
|
|
3197
|
-
name: 'organization',
|
|
3198
|
-
message: ' Organization name (for GAID):',
|
|
3199
|
-
default: process.env.OSSA_ORG || 'my-org',
|
|
3200
|
-
when: (answers) => answers.generate_gaid,
|
|
3201
|
-
},
|
|
3202
|
-
{
|
|
3203
|
-
type: 'input',
|
|
3204
|
-
name: 'serial_prefix',
|
|
3205
|
-
message: ' Serial number prefix (e.g., "AG", "BOT", "SYS"):',
|
|
3206
|
-
default: 'AG',
|
|
3207
|
-
when: (answers) => answers.generate_gaid,
|
|
3208
|
-
},
|
|
3209
|
-
{
|
|
3210
|
-
type: 'confirm',
|
|
3211
|
-
name: 'register_agent',
|
|
3212
|
-
message: '📡 Register agent to platform registry?',
|
|
3213
|
-
default: false,
|
|
3214
|
-
when: (answers) => answers.generate_gaid,
|
|
3215
|
-
},
|
|
3216
|
-
{
|
|
3217
|
-
type: 'input',
|
|
3218
|
-
name: 'api_url',
|
|
3219
|
-
message: ' Registry API URL:',
|
|
3220
|
-
default: process.env.OSSA_REGISTRY_URL || '',
|
|
3221
|
-
when: (answers) => answers.register_agent,
|
|
3222
|
-
},
|
|
3223
|
-
]);
|
|
3224
|
-
const agent = this.state.getAgent();
|
|
3225
|
-
const outputPath = outputAnswers.output_path;
|
|
3226
|
-
// Write manifest
|
|
3227
|
-
const yamlContent = yaml.stringify(agent, {
|
|
3228
|
-
indent: 2,
|
|
3229
|
-
lineWidth: 0,
|
|
3230
|
-
});
|
|
3231
|
-
fs.writeFileSync(outputPath, yamlContent, 'utf-8');
|
|
3232
|
-
printSuccess(`Agent manifest written to: ${outputPath}`);
|
|
3233
|
-
// Generate GAID if requested
|
|
3234
|
-
if (outputAnswers.generate_gaid) {
|
|
3235
|
-
printInfo('\n🆔 Generating Global Agent ID (GAID)...');
|
|
3236
|
-
const org = outputAnswers.organization || process.env.OSSA_ORG || 'my-org';
|
|
3237
|
-
const prefix = outputAnswers.serial_prefix || 'AG';
|
|
3238
|
-
// Generate deterministic UUID v5 based on agent metadata
|
|
3239
|
-
const OSSA_NAMESPACE = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
|
|
3240
|
-
const agentIdentity = JSON.stringify({
|
|
3241
|
-
name: agent.metadata?.name || 'unnamed',
|
|
3242
|
-
version: agent.metadata?.version || '0.1.0',
|
|
3243
|
-
created: agent.metadata?.created || new Date().toISOString(),
|
|
3244
|
-
organization: org,
|
|
3245
|
-
});
|
|
3246
|
-
const uuid = uuidv5(agentIdentity, OSSA_NAMESPACE);
|
|
3247
|
-
const orgSanitized = org.toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
3248
|
-
const gaid = `did:ossa:${orgSanitized}:${uuid.replace(/-/g, '')}`;
|
|
3249
|
-
// Generate serial number (prefix + timestamp + random)
|
|
3250
|
-
const timestamp = Date.now().toString(36).toUpperCase();
|
|
3251
|
-
const random = Math.random().toString(36).substring(2, 6).toUpperCase();
|
|
3252
|
-
const serialNumber = `${prefix}-${timestamp}-${random}`;
|
|
3253
|
-
// Update agent manifest with GAID and serial number
|
|
3254
|
-
if (!agent.metadata)
|
|
3255
|
-
agent.metadata = {};
|
|
3256
|
-
if (!agent.metadata.annotations)
|
|
3257
|
-
agent.metadata.annotations = {};
|
|
3258
|
-
agent.metadata.annotations['ossa.org/gaid'] = gaid;
|
|
3259
|
-
agent.metadata.annotations['ossa.org/serial-number'] = serialNumber;
|
|
3260
|
-
agent.metadata.annotations['ossa.org/organization'] = org;
|
|
3261
|
-
agent.metadata.annotations['ossa.org/registered-at'] =
|
|
3262
|
-
new Date().toISOString();
|
|
3263
|
-
// Rewrite manifest with GAID
|
|
3264
|
-
const updatedYamlContent = yaml.stringify(agent, {
|
|
3265
|
-
indent: 2,
|
|
3266
|
-
lineWidth: 0,
|
|
3267
|
-
});
|
|
3268
|
-
fs.writeFileSync(outputPath, updatedYamlContent, 'utf-8');
|
|
3269
|
-
printSuccess(`GAID generated: ${gaid}`);
|
|
3270
|
-
printSuccess(`Serial Number: ${serialNumber}`);
|
|
3271
|
-
printInfo(` Organization: ${org}`);
|
|
3272
|
-
// Registration removed - AgentProtocolClient migrated to @bluefly/agent-protocol
|
|
3273
|
-
if (outputAnswers.register_agent) {
|
|
3274
|
-
printWarning('Agent registration requires @bluefly/agent-protocol package (not included in OSSA spec).');
|
|
3275
|
-
printInfo('Use: npx @bluefly/agent-protocol register <manifest-file>');
|
|
3276
|
-
}
|
|
3277
|
-
// Save GAID info to separate file
|
|
3278
|
-
const gaidInfoPath = outputPath.replace(/\.ossa\.yaml$/, '.gaid.json');
|
|
3279
|
-
const gaidInfo = {
|
|
3280
|
-
gaid,
|
|
3281
|
-
serialNumber,
|
|
3282
|
-
organization: org,
|
|
3283
|
-
generatedAt: new Date().toISOString(),
|
|
3284
|
-
agentName: agent.metadata?.name,
|
|
3285
|
-
agentVersion: agent.metadata?.version,
|
|
3286
|
-
registered: outputAnswers.register_agent &&
|
|
3287
|
-
agent.metadata?.annotations?.['ossa.org/registered'] === 'true',
|
|
3288
|
-
};
|
|
3289
|
-
fs.writeFileSync(gaidInfoPath, JSON.stringify(gaidInfo, null, 2), 'utf-8');
|
|
3290
|
-
printInfo(` GAID info saved to: ${gaidInfoPath}`);
|
|
3291
|
-
}
|
|
3292
|
-
// Generate AGENTS.md if requested
|
|
3293
|
-
if (outputAnswers.generate_agents_md) {
|
|
3294
|
-
await this.generateAgentsMd(path.dirname(outputPath));
|
|
3295
|
-
}
|
|
3296
|
-
// Generate llms.txt if requested
|
|
3297
|
-
if (outputAnswers.generate_llms_txt) {
|
|
3298
|
-
await this.generateLlmsTxt(path.dirname(outputPath));
|
|
3299
|
-
}
|
|
3300
|
-
printSuccess('All files generated successfully!');
|
|
3301
|
-
}
|
|
3302
|
-
async generateAgentsMd(directory) {
|
|
3303
|
-
const agent = this.state.getAgent();
|
|
3304
|
-
const agentsMdPath = path.join(directory, 'AGENTS.md');
|
|
3305
|
-
const content = `# ${agent.metadata?.name || 'Agent'}
|
|
3306
|
-
|
|
3307
|
-
${agent.metadata?.description || 'Agent description'}
|
|
3308
|
-
|
|
3309
|
-
## Overview
|
|
3310
|
-
|
|
3311
|
-
- **Name**: ${agent.metadata?.name}
|
|
3312
|
-
- **Version**: ${agent.metadata?.version}
|
|
3313
|
-
- **Created**: ${new Date().toISOString()}
|
|
3314
|
-
- **Type**: ${agent.kind || 'Agent'}
|
|
3315
|
-
|
|
3316
|
-
## Capabilities
|
|
3317
|
-
|
|
3318
|
-
${agent.spec?.tools?.map((t) => `- ${t.name || t.type}`).join('\n') || 'No tools configured'}
|
|
3319
|
-
|
|
3320
|
-
## Configuration
|
|
3321
|
-
|
|
3322
|
-
### LLM
|
|
3323
|
-
- **Provider**: ${agent.spec?.llm?.provider}
|
|
3324
|
-
- **Model**: ${agent.spec?.llm?.model}
|
|
3325
|
-
- **Temperature**: ${agent.spec?.llm?.temperature}
|
|
3326
|
-
|
|
3327
|
-
### Features
|
|
3328
|
-
|
|
3329
|
-
${this.state.getState().features.rag ? '- ✅ RAG & Vector Database\n' : ''}${this.state.getState().features.communication
|
|
3330
|
-
? '- ✅ Agent Communication (A2A)\n'
|
|
3331
|
-
: ''}${this.state.getState().features.state_management ? '- ✅ State Management\n' : ''}${this.state.getState().features.observability ? '- ✅ Observability\n' : ''}${this.state.getState().features.cost_management ? '- ✅ Cost Management\n' : ''}
|
|
3332
|
-
|
|
3333
|
-
## Usage
|
|
3334
|
-
|
|
3335
|
-
\`\`\`bash
|
|
3336
|
-
# Validate the agent
|
|
3337
|
-
ossa validate agent.ossa.yaml
|
|
3338
|
-
|
|
3339
|
-
# Run the agent
|
|
3340
|
-
ossa run agent.ossa.yaml
|
|
3341
|
-
|
|
3342
|
-
# Export to platform
|
|
3343
|
-
ossa export agent.ossa.yaml --platform langchain
|
|
3344
|
-
\`\`\`
|
|
3345
|
-
|
|
3346
|
-
## Development
|
|
3347
|
-
|
|
3348
|
-
### Building
|
|
3349
|
-
|
|
3350
|
-
\`\`\`bash
|
|
3351
|
-
npm run build
|
|
3352
|
-
\`\`\`
|
|
3353
|
-
|
|
3354
|
-
### Testing
|
|
3355
|
-
|
|
3356
|
-
\`\`\`bash
|
|
3357
|
-
npm test
|
|
3358
|
-
\`\`\`
|
|
3359
|
-
|
|
3360
|
-
## Best Practices
|
|
3361
|
-
|
|
3362
|
-
- Always validate before deployment
|
|
3363
|
-
- Monitor costs and token usage
|
|
3364
|
-
- Enable observability in production
|
|
3365
|
-
- Test thoroughly before release
|
|
3366
|
-
|
|
3367
|
-
## Support
|
|
3368
|
-
|
|
3369
|
-
For issues and questions, please refer to:
|
|
3370
|
-
- [OSSA Documentation](https://openstandardagents.org)
|
|
3371
|
-
- [GitHub Issues](https://github.com/openstandardagents/issues)
|
|
3372
|
-
|
|
3373
|
-
---
|
|
3374
|
-
|
|
3375
|
-
*Generated by OSSA Wizard v2.0*
|
|
3376
|
-
`;
|
|
3377
|
-
fs.writeFileSync(agentsMdPath, content, 'utf-8');
|
|
3378
|
-
printSuccess(`AGENTS.md written to: ${agentsMdPath}`);
|
|
3379
|
-
}
|
|
3380
|
-
async generateLlmsTxt(directory) {
|
|
3381
|
-
const agent = this.state.getAgent();
|
|
3382
|
-
const llmsTxtPath = path.join(directory, 'llms.txt');
|
|
3383
|
-
const content = `# ${agent.metadata?.name || 'Agent'} - LLM Context
|
|
3384
|
-
|
|
3385
|
-
## Agent Information
|
|
3386
|
-
|
|
3387
|
-
Name: ${agent.metadata?.name}
|
|
3388
|
-
Version: ${agent.metadata?.version}
|
|
3389
|
-
Description: ${agent.metadata?.description}
|
|
3390
|
-
|
|
3391
|
-
## Capabilities
|
|
3392
|
-
|
|
3393
|
-
${agent.spec?.role || 'No role defined'}
|
|
3394
|
-
|
|
3395
|
-
## Tools
|
|
3396
|
-
|
|
3397
|
-
${agent.spec?.tools?.map((t) => `- ${t.name || t.type}: ${t.description || 'No description'}`).join('\n') || 'No tools available'}
|
|
3398
|
-
|
|
3399
|
-
## LLM Configuration
|
|
3400
|
-
|
|
3401
|
-
Provider: ${agent.spec?.llm?.provider}
|
|
3402
|
-
Model: ${agent.spec?.llm?.model}
|
|
3403
|
-
Temperature: ${agent.spec?.llm?.temperature}
|
|
3404
|
-
|
|
3405
|
-
## Usage Examples
|
|
3406
|
-
|
|
3407
|
-
\`\`\`bash
|
|
3408
|
-
# Run this agent
|
|
3409
|
-
ossa run agent.ossa.yaml
|
|
3410
|
-
\`\`\`
|
|
3411
|
-
|
|
3412
|
-
## Constraints
|
|
3413
|
-
|
|
3414
|
-
${agent.spec?.safety ? '- Safety controls enabled\n' : ''}${agent.spec?.token_budget ? '- Token budgets configured\n' : ''}${agent.spec?.autonomy ? '- Autonomy level configured\n' : ''}
|
|
3415
|
-
|
|
3416
|
-
---
|
|
3417
|
-
|
|
3418
|
-
For more information, see AGENTS.md
|
|
3419
|
-
`;
|
|
3420
|
-
fs.writeFileSync(llmsTxtPath, content, 'utf-8');
|
|
3421
|
-
printSuccess(`llms.txt written to: ${llmsTxtPath}`);
|
|
3422
|
-
}
|
|
3423
|
-
printNextSteps() {
|
|
3424
|
-
const agent = this.state.getAgent();
|
|
3425
|
-
const outputPath = this.options.output || 'agent.ossa.yaml';
|
|
3426
|
-
console.log(chalk.cyan('Next Steps:'));
|
|
3427
|
-
console.log(chalk.gray(`\n1. Review your agent:`));
|
|
3428
|
-
console.log(chalk.white(` cat ${outputPath}`));
|
|
3429
|
-
console.log(chalk.gray(`\n2. Verify agent identity (if GAID generated):`));
|
|
3430
|
-
console.log(chalk.white(` ossa verify <GAID>`));
|
|
3431
|
-
console.log(chalk.gray(`\n3. Validate the manifest:`));
|
|
3432
|
-
console.log(chalk.white(` ossa validate ${outputPath}`));
|
|
3433
|
-
console.log(chalk.gray(`\n4. Test the agent:`));
|
|
3434
|
-
console.log(chalk.white(` ossa run ${outputPath}`));
|
|
3435
|
-
if (this.state.getState().features.rag) {
|
|
3436
|
-
console.log(chalk.gray(`\n5. Set up vector database (RAG):`));
|
|
3437
|
-
console.log(chalk.white(` # Configure your Qdrant/Pinecone instance`));
|
|
3438
|
-
}
|
|
3439
|
-
if (this.state.getState().features.communication) {
|
|
3440
|
-
console.log(chalk.gray(`\n6. Set up message broker (A2A):`));
|
|
3441
|
-
console.log(chalk.white(` # Start Redis/NATS for agent communication`));
|
|
3442
|
-
}
|
|
3443
|
-
console.log(chalk.gray(`\n7. Export to platform:`));
|
|
3444
|
-
console.log(chalk.white(` ossa export ${outputPath} --platform langchain`));
|
|
3445
|
-
console.log(chalk.gray(`\n8. Deploy:`));
|
|
3446
|
-
console.log(chalk.white(` # Follow platform-specific deployment guide`));
|
|
3447
|
-
console.log('');
|
|
3448
|
-
console.log(chalk.green.bold('🎉 Your agent is ready for production!'));
|
|
3449
|
-
console.log('');
|
|
3450
|
-
}
|
|
3451
|
-
}
|
|
3452
|
-
// =============================================================================
|
|
3453
|
-
// COMMAND REGISTRATION
|
|
3454
|
-
// =============================================================================
|
|
3455
|
-
export const wizardV2Command = new Command('wizard-v2')
|
|
3456
|
-
.description('🧙 OSSA Agent Creation Wizard v2.0 - BEAST MODE EDITION')
|
|
3457
|
-
.option('-o, --output <path>', 'Output file path', 'agent.ossa.yaml')
|
|
3458
|
-
.option('-d, --directory <dir>', 'Create agent in directory', '.')
|
|
3459
|
-
.option('-t, --template <id>', 'Use specific template')
|
|
3460
|
-
.option('-m, --mode <mode>', 'Wizard mode (guided|quick|expert)', 'guided')
|
|
3461
|
-
.option('--validate', 'Validate after creation', false)
|
|
3462
|
-
.option('--test', 'Test after creation', false)
|
|
3463
|
-
.action(async (options) => {
|
|
3464
|
-
const wizard = new OSSAWizardV2(options);
|
|
3465
|
-
await wizard.run();
|
|
3466
|
-
});
|
|
3467
|
-
//# sourceMappingURL=wizard-interactive.command.js.map
|