@bluefly/openstandardagents 0.3.6 → 0.4.0
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/CHANGELOG.md +38 -0
- package/README.md +332 -302
- package/bin/ossa-dev +8 -0
- package/dist/adapters/base/adapter.interface.d.ts +233 -0
- package/dist/adapters/base/adapter.interface.d.ts.map +1 -0
- package/dist/adapters/base/adapter.interface.js +89 -0
- package/dist/adapters/base/adapter.interface.js.map +1 -0
- package/dist/adapters/crewai/adapter.d.ts +52 -0
- package/dist/adapters/crewai/adapter.d.ts.map +1 -0
- package/dist/adapters/crewai/adapter.js +293 -0
- package/dist/adapters/crewai/adapter.js.map +1 -0
- package/dist/adapters/drupal/adapter.d.ts +66 -0
- package/dist/adapters/drupal/adapter.d.ts.map +1 -0
- package/dist/adapters/drupal/adapter.js +465 -0
- package/dist/adapters/drupal/adapter.js.map +1 -0
- package/dist/adapters/gitlab-duo/adapter.d.ts +67 -0
- package/dist/adapters/gitlab-duo/adapter.d.ts.map +1 -0
- package/dist/adapters/gitlab-duo/adapter.js +330 -0
- package/dist/adapters/gitlab-duo/adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +13 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +34 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/langchain/adapter.d.ts +49 -0
- package/dist/adapters/langchain/adapter.d.ts.map +1 -0
- package/dist/adapters/langchain/adapter.js +356 -0
- package/dist/adapters/langchain/adapter.js.map +1 -0
- package/dist/adapters/langfuse.adapter.d.ts +1 -1
- package/dist/adapters/langsmith.adapter.d.ts +1 -1
- package/dist/adapters/mcp/adapter.d.ts +57 -0
- package/dist/adapters/mcp/adapter.d.ts.map +1 -0
- package/dist/adapters/mcp/adapter.js +475 -0
- package/dist/adapters/mcp/adapter.js.map +1 -0
- package/dist/adapters/mcp/converter.d.ts +31 -0
- package/dist/adapters/mcp/converter.d.ts.map +1 -0
- package/dist/adapters/mcp/converter.js +339 -0
- package/dist/adapters/mcp/converter.js.map +1 -0
- package/dist/adapters/npm/adapter.d.ts +44 -0
- package/dist/adapters/npm/adapter.d.ts.map +1 -0
- package/dist/adapters/npm/adapter.js +337 -0
- package/dist/adapters/npm/adapter.js.map +1 -0
- package/dist/adapters/npm/converter.d.ts +44 -0
- package/dist/adapters/npm/converter.d.ts.map +1 -0
- package/dist/adapters/npm/converter.js +390 -0
- package/dist/adapters/npm/converter.js.map +1 -0
- package/dist/adapters/npm/types.d.ts +116 -0
- package/dist/adapters/npm/types.d.ts.map +1 -0
- package/dist/adapters/npm/types.js +6 -0
- package/dist/adapters/npm/types.js.map +1 -0
- package/dist/adapters/opentelemetry.adapter.d.ts.map +1 -1
- package/dist/adapters/opentelemetry.adapter.js +3 -0
- package/dist/adapters/opentelemetry.adapter.js.map +1 -1
- package/dist/adapters/phoenix.adapter.d.ts +1 -1
- package/dist/adapters/registry/platform-registry.d.ts +68 -0
- package/dist/adapters/registry/platform-registry.d.ts.map +1 -0
- package/dist/adapters/registry/platform-registry.js +93 -0
- package/dist/adapters/registry/platform-registry.js.map +1 -0
- package/dist/adapters/temporal/converter.js +1 -1
- package/dist/cli/commands/agents/delete.command.d.ts +10 -0
- package/dist/cli/commands/agents/delete.command.d.ts.map +1 -0
- package/dist/cli/commands/agents/delete.command.js +105 -0
- package/dist/cli/commands/agents/delete.command.js.map +1 -0
- package/dist/cli/commands/agents/list.command.d.ts +10 -0
- package/dist/cli/commands/agents/list.command.d.ts.map +1 -0
- package/dist/cli/commands/agents/list.command.js +140 -0
- package/dist/cli/commands/agents/list.command.js.map +1 -0
- package/dist/cli/commands/agents/show.command.d.ts +10 -0
- package/dist/cli/commands/agents/show.command.d.ts.map +1 -0
- package/dist/cli/commands/agents/show.command.js +182 -0
- package/dist/cli/commands/agents/show.command.js.map +1 -0
- package/dist/cli/commands/agents-md.command.d.ts +1 -1
- package/dist/cli/commands/agents-md.command.d.ts.map +1 -1
- package/dist/cli/commands/agents-md.command.js +122 -40
- package/dist/cli/commands/agents-md.command.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +35 -22
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/capability/validate.d.ts.map +1 -1
- package/dist/cli/commands/capability/validate.js +2 -0
- package/dist/cli/commands/capability/validate.js.map +1 -1
- package/dist/cli/commands/export-v2.command.d.ts +7 -0
- package/dist/cli/commands/export-v2.command.d.ts.map +1 -0
- package/dist/cli/commands/export-v2.command.js +149 -0
- package/dist/cli/commands/export-v2.command.js.map +1 -0
- package/dist/cli/commands/export.command.d.ts +9 -1
- package/dist/cli/commands/export.command.d.ts.map +1 -1
- package/dist/cli/commands/export.command.js +113 -9
- package/dist/cli/commands/export.command.js.map +1 -1
- package/dist/cli/commands/generate/conformance.js +2 -2
- package/dist/cli/commands/github-sync.command.js +1 -1
- package/dist/cli/commands/identity/plan.d.ts.map +1 -1
- package/dist/cli/commands/identity/plan.js +2 -0
- package/dist/cli/commands/identity/plan.js.map +1 -1
- package/dist/cli/commands/import.command.d.ts.map +1 -1
- package/dist/cli/commands/import.command.js +33 -9
- package/dist/cli/commands/import.command.js.map +1 -1
- package/dist/cli/commands/lint.command.d.ts.map +1 -1
- package/dist/cli/commands/lint.command.js +46 -27
- package/dist/cli/commands/lint.command.js.map +1 -1
- package/dist/cli/commands/migrate.command.d.ts.map +1 -1
- package/dist/cli/commands/migrate.command.js +48 -22
- package/dist/cli/commands/migrate.command.js.map +1 -1
- package/dist/cli/commands/publish.command.d.ts.map +1 -1
- package/dist/cli/commands/publish.command.js +59 -21
- package/dist/cli/commands/publish.command.js.map +1 -1
- package/dist/cli/commands/quickstart.command.d.ts.map +1 -1
- package/dist/cli/commands/quickstart.command.js +7 -3
- package/dist/cli/commands/quickstart.command.js.map +1 -1
- package/dist/cli/commands/standardize.command.d.ts.map +1 -1
- package/dist/cli/commands/standardize.command.js +39 -27
- package/dist/cli/commands/standardize.command.js.map +1 -1
- package/dist/cli/commands/validate.command.d.ts.map +1 -1
- package/dist/cli/commands/validate.command.js +67 -45
- package/dist/cli/commands/validate.command.js.map +1 -1
- package/dist/cli/commands/wizard.command.d.ts.map +1 -1
- package/dist/cli/commands/wizard.command.js +3 -29
- package/dist/cli/commands/wizard.command.js.map +1 -1
- package/dist/cli/index.d.ts +11 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +270 -24
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/templates/agent-templates.d.ts +49 -0
- package/dist/cli/templates/agent-templates.d.ts.map +1 -0
- package/dist/cli/templates/agent-templates.js +237 -0
- package/dist/cli/templates/agent-templates.js.map +1 -0
- package/dist/cli/templates/enhanced-templates.d.ts +32 -0
- package/dist/cli/templates/enhanced-templates.d.ts.map +1 -0
- package/dist/cli/templates/enhanced-templates.js +649 -0
- package/dist/cli/templates/enhanced-templates.js.map +1 -0
- package/dist/cli/utils/error-formatter.js.map +1 -1
- package/dist/cli/utils/output.d.ts +0 -1
- package/dist/cli/utils/output.d.ts.map +1 -1
- package/dist/cli/utils/output.js +1 -2
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/cli/utils/standard-options.d.ts +123 -0
- package/dist/cli/utils/standard-options.d.ts.map +1 -0
- package/dist/cli/utils/standard-options.js +215 -0
- package/dist/cli/utils/standard-options.js.map +1 -0
- package/dist/cli/wizard/engine/wizard-engine.d.ts +47 -0
- package/dist/cli/wizard/engine/wizard-engine.d.ts.map +1 -0
- package/dist/cli/wizard/engine/wizard-engine.js +193 -0
- package/dist/cli/wizard/engine/wizard-engine.js.map +1 -0
- package/dist/cli/wizard/steps/14-workspace-registration.d.ts.map +1 -1
- package/dist/cli/wizard/steps/14-workspace-registration.js +1 -2
- package/dist/cli/wizard/steps/14-workspace-registration.js.map +1 -1
- package/dist/cli/wizard/types.d.ts +38 -0
- package/dist/cli/wizard/types.d.ts.map +1 -1
- package/dist/cli/wizard/ui/wizard-ui.d.ts +75 -0
- package/dist/cli/wizard/ui/wizard-ui.d.ts.map +1 -0
- package/dist/cli/wizard/ui/wizard-ui.js +171 -0
- package/dist/cli/wizard/ui/wizard-ui.js.map +1 -0
- package/dist/dev-cli/commands/env-cleanup.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/env-cleanup.command.js.map +1 -0
- package/dist/dev-cli/commands/migrate.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/migrate.command.js.map +1 -0
- package/dist/dev-cli/commands/release-prep.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/release-prep.command.js.map +1 -0
- package/dist/dev-cli/commands/release.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/release.command.js.map +1 -0
- package/dist/dev-cli/commands/spec.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/spec.command.js.map +1 -0
- package/dist/dev-cli/commands/version.command.d.ts.map +1 -0
- package/dist/dev-cli/{src/commands → commands}/version.command.js +103 -0
- package/dist/dev-cli/{src/commands → commands}/version.command.js.map +1 -1
- package/dist/dev-cli/commands/workflow.command.d.ts.map +1 -0
- package/dist/dev-cli/commands/workflow.command.js.map +1 -0
- package/dist/dev-cli/index.d.ts.map +1 -0
- package/dist/dev-cli/{src/index.js → index.js} +0 -2
- package/dist/dev-cli/index.js.map +1 -0
- package/dist/dev-cli/schemas/migrate.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/migrate.schema.js.map +1 -0
- package/dist/dev-cli/schemas/release-prep.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/release-prep.schema.js.map +1 -0
- package/dist/dev-cli/schemas/release.schema.d.ts.map +1 -0
- package/dist/dev-cli/schemas/release.schema.js.map +1 -0
- package/dist/dev-cli/schemas/spec.schema.d.ts +6 -10
- package/dist/dev-cli/schemas/spec.schema.d.ts.map +1 -1
- package/dist/dev-cli/schemas/spec.schema.js +11 -15
- package/dist/dev-cli/schemas/spec.schema.js.map +1 -1
- package/dist/dev-cli/schemas/version.schema.d.ts +29 -58
- package/dist/dev-cli/schemas/version.schema.d.ts.map +1 -1
- package/dist/dev-cli/schemas/version.schema.js +21 -61
- package/dist/dev-cli/schemas/version.schema.js.map +1 -1
- package/dist/dev-cli/services/agent-migration.service.d.ts.map +1 -0
- package/dist/dev-cli/services/agent-migration.service.js.map +1 -0
- package/dist/dev-cli/services/file.service.d.ts.map +1 -0
- package/dist/dev-cli/services/file.service.js.map +1 -0
- package/dist/dev-cli/services/git.service.d.ts.map +1 -0
- package/dist/dev-cli/services/git.service.js.map +1 -0
- package/dist/dev-cli/services/npm.service.d.ts.map +1 -0
- package/dist/dev-cli/services/npm.service.js.map +1 -0
- package/dist/dev-cli/services/release-prep.service.d.ts.map +1 -0
- package/dist/dev-cli/services/release-prep.service.js.map +1 -0
- package/dist/dev-cli/services/release-verify.service.d.ts.map +1 -0
- package/dist/dev-cli/services/release-verify.service.js.map +1 -0
- package/dist/dev-cli/services/spec-generate.service.d.ts.map +1 -0
- package/dist/dev-cli/services/spec-generate.service.js.map +1 -0
- package/dist/dev-cli/services/spec-validate.service.d.ts.map +1 -0
- package/dist/dev-cli/services/spec-validate.service.js.map +1 -0
- package/dist/dev-cli/services/version-audit.service.d.ts +24 -24
- package/dist/dev-cli/services/version-audit.service.d.ts.map +1 -1
- package/dist/dev-cli/services/version-audit.service.js +76 -134
- package/dist/dev-cli/services/version-audit.service.js.map +1 -1
- package/dist/dev-cli/services/version-check.service.d.ts +17 -0
- package/dist/dev-cli/services/version-check.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-check.service.js +54 -0
- package/dist/dev-cli/services/version-check.service.js.map +1 -0
- package/dist/dev-cli/services/version-detection.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-detection.service.js.map +1 -0
- package/dist/dev-cli/services/version-file.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-file.service.js.map +1 -0
- package/dist/dev-cli/services/version-release.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-release.service.js.map +1 -0
- package/dist/dev-cli/services/version-status.service.d.ts +24 -0
- package/dist/dev-cli/services/version-status.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-status.service.js +55 -0
- package/dist/dev-cli/services/version-status.service.js.map +1 -0
- package/dist/dev-cli/services/version-sync.service.d.ts.map +1 -0
- package/dist/dev-cli/services/version-sync.service.js.map +1 -0
- package/dist/dev-cli/services/version-validate.service.d.ts.map +1 -0
- package/dist/dev-cli/{src/services → services}/version-validate.service.js +1 -1
- package/dist/dev-cli/services/version-validate.service.js.map +1 -0
- package/dist/generated/types.d.ts +691 -0
- package/dist/generated/types.d.ts.map +1 -0
- package/dist/generated/types.js +6 -0
- package/dist/generated/types.js.map +1 -0
- package/dist/package.json +275 -0
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +3 -0
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/sdks/typescript/types.d.ts +3 -3
- package/dist/sdks/typescript/types.js +3 -3
- package/dist/services/audit.d.ts.map +1 -1
- package/dist/services/audit.js +11 -7
- package/dist/services/audit.js.map +1 -1
- package/dist/services/codegen/generators/openapi-zod.generator.js +1 -1
- package/dist/services/export/export-orchestrator.d.ts +89 -0
- package/dist/services/export/export-orchestrator.d.ts.map +1 -0
- package/dist/services/export/export-orchestrator.js +181 -0
- package/dist/services/export/export-orchestrator.js.map +1 -0
- package/dist/services/framework-import/langchain-importer.service.d.ts.map +1 -1
- package/dist/services/framework-import/langchain-importer.service.js +1 -0
- package/dist/services/framework-import/langchain-importer.service.js.map +1 -1
- package/dist/services/framework-import/langflow-importer.service.d.ts.map +1 -1
- package/dist/services/framework-import/langflow-importer.service.js +1 -0
- package/dist/services/framework-import/langflow-importer.service.js.map +1 -1
- package/dist/services/messaging/messaging.service.d.ts.map +1 -1
- package/dist/services/messaging/messaging.service.js +2 -0
- package/dist/services/messaging/messaging.service.js.map +1 -1
- package/dist/services/migration.service.d.ts +1 -1
- package/dist/services/migration.service.js +9 -9
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/registry/index.service.d.ts.map +1 -1
- package/dist/services/registry/index.service.js +2 -0
- package/dist/services/registry/index.service.js.map +1 -1
- package/dist/services/structure/agents-folder.service.js +2 -2
- package/dist/services/taxonomy-service.d.ts +103 -0
- package/dist/services/taxonomy-service.d.ts.map +1 -0
- package/dist/services/taxonomy-service.js +343 -0
- package/dist/services/taxonomy-service.js.map +1 -0
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +2 -0
- package/dist/services/validation.service.js.map +1 -1
- package/dist/services/validators/a2a.validator.d.ts.map +1 -1
- package/dist/services/validators/a2a.validator.js +2 -0
- package/dist/services/validators/a2a.validator.js.map +1 -1
- package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
- package/dist/services/validators/anthropic.validator.js +1 -0
- package/dist/services/validators/anthropic.validator.js.map +1 -1
- package/dist/services/validators/autogen.validator.d.ts.map +1 -1
- package/dist/services/validators/autogen.validator.js +2 -0
- package/dist/services/validators/autogen.validator.js.map +1 -1
- package/dist/services/validators/contract.validator.d.ts.map +1 -1
- package/dist/services/validators/contract.validator.js +2 -0
- package/dist/services/validators/contract.validator.js.map +1 -1
- package/dist/services/validators/crewai.validator.d.ts.map +1 -1
- package/dist/services/validators/crewai.validator.js +2 -0
- package/dist/services/validators/crewai.validator.js.map +1 -1
- package/dist/services/validators/cursor.validator.d.ts.map +1 -1
- package/dist/services/validators/cursor.validator.js +1 -0
- package/dist/services/validators/cursor.validator.js.map +1 -1
- package/dist/services/validators/dependencies.validator.d.ts +1 -1
- package/dist/services/validators/dependencies.validator.d.ts.map +1 -1
- package/dist/services/validators/dependencies.validator.js +1 -0
- package/dist/services/validators/dependencies.validator.js.map +1 -1
- package/dist/services/validators/index.d.ts.map +1 -1
- package/dist/services/validators/index.js +1 -0
- package/dist/services/validators/index.js.map +1 -1
- package/dist/services/validators/kagent.validator.d.ts.map +1 -1
- package/dist/services/validators/kagent.validator.js +2 -0
- package/dist/services/validators/kagent.validator.js.map +1 -1
- package/dist/services/validators/langchain.validator.d.ts.map +1 -1
- package/dist/services/validators/langchain.validator.js +2 -0
- package/dist/services/validators/langchain.validator.js.map +1 -1
- package/dist/services/validators/langflow.validator.d.ts.map +1 -1
- package/dist/services/validators/langflow.validator.js +1 -0
- package/dist/services/validators/langflow.validator.js.map +1 -1
- package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
- package/dist/services/validators/langgraph.validator.js +2 -0
- package/dist/services/validators/langgraph.validator.js.map +1 -1
- package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
- package/dist/services/validators/llamaindex.validator.js +1 -0
- package/dist/services/validators/llamaindex.validator.js.map +1 -1
- package/dist/services/validators/mcp.validator.d.ts.map +1 -1
- package/dist/services/validators/mcp.validator.js +2 -0
- package/dist/services/validators/mcp.validator.js.map +1 -1
- package/dist/services/validators/messaging.validator.d.ts.map +1 -1
- package/dist/services/validators/messaging.validator.js +2 -0
- package/dist/services/validators/messaging.validator.js.map +1 -1
- package/dist/services/validators/openai.validator.d.ts.map +1 -1
- package/dist/services/validators/openai.validator.js +1 -0
- package/dist/services/validators/openai.validator.js.map +1 -1
- package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
- package/dist/services/validators/vercel-ai.validator.js +1 -0
- package/dist/services/validators/vercel-ai.validator.js.map +1 -1
- package/dist/spec/registry/registry-spec.md +1 -1
- package/dist/spec/v0.3/ossa-0.3.6.schema.json +11035 -13719
- package/dist/spec/v0.4/agent.schema.json +15944 -0
- package/dist/spec/v0.4/extensions/a2a/README.md +193 -0
- package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +77 -0
- package/dist/spec/v0.4/extensions/ag2/ag2.schema.json +277 -0
- package/dist/spec/v0.4/extensions/crewai/crewai.schema.json +256 -0
- package/dist/spec/v0.4/extensions/kagent/README.md +315 -0
- package/dist/spec/v0.4/extensions/kagent/kagent.schema.json +624 -0
- package/dist/spec/v0.4/extensions/langchain/langchain.schema.json +243 -0
- package/dist/spec/v0.4/extensions/langgraph/langgraph.schema.json +211 -0
- package/dist/spec/v0.4/extensions/mcp/README.md +276 -0
- package/dist/spec/v0.4/extensions/mcp/mcp.schema.json +84 -0
- package/dist/testing/runner.d.ts.map +1 -1
- package/dist/testing/runner.js +3 -2
- package/dist/testing/runner.js.map +1 -1
- package/dist/types/identity.zod.d.ts +5 -5
- package/dist/types/index.d.ts +12 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/personality.zod.d.ts +16 -16
- package/dist/utils/version.d.ts +4 -2
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +16 -8
- package/dist/utils/version.js.map +1 -1
- package/dist/validation/__tests__/error-codes.test.js +1 -1
- package/dist/validation/enhanced-validator.js +6 -6
- package/dist/validation/error-formatter.js +1 -1
- package/dist/validation/index.js +5 -5
- package/dist/validation/validator.d.ts.map +1 -1
- package/dist/validation/validator.js +2 -1
- package/dist/validation/validator.js.map +1 -1
- package/dist/version-management/api/server.d.ts +3 -0
- package/dist/version-management/api/server.d.ts.map +1 -0
- package/dist/version-management/api/server.js +75 -0
- package/dist/version-management/api/server.js.map +1 -0
- package/dist/version-management/cli/index.d.ts +3 -0
- package/dist/version-management/cli/index.d.ts.map +1 -0
- package/dist/version-management/cli/index.js +212 -0
- package/dist/version-management/cli/index.js.map +1 -0
- package/dist/version-management/core/version-manager.d.ts +108 -0
- package/dist/version-management/core/version-manager.d.ts.map +1 -0
- package/dist/version-management/core/version-manager.js +319 -0
- package/dist/version-management/core/version-manager.js.map +1 -0
- package/dist/version-management/core/version-manager.test.d.ts +2 -0
- package/dist/version-management/core/version-manager.test.d.ts.map +1 -0
- package/dist/version-management/core/version-manager.test.js +210 -0
- package/dist/version-management/core/version-manager.test.js.map +1 -0
- package/dist/version-management/index.d.ts +3 -0
- package/dist/version-management/index.d.ts.map +1 -0
- package/dist/version-management/index.js +2 -0
- package/dist/version-management/index.js.map +1 -0
- package/openapi/agent-crud.yaml +3 -3
- package/openapi/agent-taxonomy.yaml +323 -0
- package/openapi/{dev-cli.openapi.yml → dev-cli/openapi.yaml} +107 -6
- package/openapi/ossa-cli-enhancements.openapi.yaml +507 -66
- package/openapi/ossa-cli.yaml +688 -0
- package/openapi/schemas/common/agent.yaml +19 -2
- package/openapi/schemas/common/metadata.yaml +9 -0
- package/openapi/version-management.openapi.yaml +754 -0
- package/package.json +30 -48
- package/spec/registry/registry-spec.md +1 -1
- package/spec/v0.3/ossa-0.3.6.schema.json +11035 -13719
- package/spec/v0.4/agent.schema.json +15944 -0
- package/spec/v0.4/extensions/a2a/README.md +193 -0
- package/spec/v0.4/extensions/a2a/a2a.schema.json +77 -0
- package/spec/v0.4/extensions/ag2/ag2.schema.json +277 -0
- package/spec/v0.4/extensions/crewai/crewai.schema.json +256 -0
- package/spec/v0.4/extensions/kagent/README.md +315 -0
- package/spec/v0.4/extensions/kagent/kagent.schema.json +624 -0
- package/spec/v0.4/extensions/langchain/langchain.schema.json +243 -0
- package/spec/v0.4/extensions/langgraph/langgraph.schema.json +211 -0
- package/spec/v0.4/extensions/mcp/README.md +276 -0
- package/spec/v0.4/extensions/mcp/mcp.schema.json +84 -0
- package/.version.json +0 -7
- package/dist/dev-cli/src/commands/env-cleanup.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/env-cleanup.command.js.map +0 -1
- package/dist/dev-cli/src/commands/migrate.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/migrate.command.js.map +0 -1
- package/dist/dev-cli/src/commands/release-prep.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/release-prep.command.js.map +0 -1
- package/dist/dev-cli/src/commands/release.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/release.command.js.map +0 -1
- package/dist/dev-cli/src/commands/spec.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/spec.command.js.map +0 -1
- package/dist/dev-cli/src/commands/v035.command.d.ts +0 -8
- package/dist/dev-cli/src/commands/v035.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/v035.command.js +0 -247
- package/dist/dev-cli/src/commands/v035.command.js.map +0 -1
- package/dist/dev-cli/src/commands/version.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/workflow.command.d.ts.map +0 -1
- package/dist/dev-cli/src/commands/workflow.command.js.map +0 -1
- package/dist/dev-cli/src/index.d.ts.map +0 -1
- package/dist/dev-cli/src/index.js.map +0 -1
- package/dist/dev-cli/src/schemas/migrate.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/migrate.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/release-prep.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/release-prep.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/release.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/release.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/spec.schema.d.ts +0 -34
- package/dist/dev-cli/src/schemas/spec.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/spec.schema.js +0 -32
- package/dist/dev-cli/src/schemas/spec.schema.js.map +0 -1
- package/dist/dev-cli/src/schemas/version.schema.d.ts +0 -53
- package/dist/dev-cli/src/schemas/version.schema.d.ts.map +0 -1
- package/dist/dev-cli/src/schemas/version.schema.js +0 -43
- package/dist/dev-cli/src/schemas/version.schema.js.map +0 -1
- package/dist/dev-cli/src/services/agent-migration.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/agent-migration.service.js.map +0 -1
- package/dist/dev-cli/src/services/file.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/file.service.js.map +0 -1
- package/dist/dev-cli/src/services/git.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/git.service.js.map +0 -1
- package/dist/dev-cli/src/services/npm.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/npm.service.js.map +0 -1
- package/dist/dev-cli/src/services/release-prep.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/release-prep.service.js.map +0 -1
- package/dist/dev-cli/src/services/release-verify.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/release-verify.service.js.map +0 -1
- package/dist/dev-cli/src/services/spec-generate.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/spec-generate.service.js.map +0 -1
- package/dist/dev-cli/src/services/spec-validate.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/spec-validate.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-detection.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-detection.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-file.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-file.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-release.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-release.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-sync.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-sync.service.js.map +0 -1
- package/dist/dev-cli/src/services/version-validate.service.d.ts.map +0 -1
- package/dist/dev-cli/src/services/version-validate.service.js.map +0 -1
- package/dist/tools/validation/validate-v0.3.5-features.d.ts +0 -50
- package/dist/tools/validation/validate-v0.3.5-features.d.ts.map +0 -1
- package/dist/tools/validation/validate-v0.3.5-features.js +0 -280
- package/dist/tools/validation/validate-v0.3.5-features.js.map +0 -1
- package/src/dev-cli/README.md +0 -53
- package/src/dev-cli/src/index.ts +0 -47
- /package/dist/dev-cli/{src/commands → commands}/env-cleanup.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/env-cleanup.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/migrate.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/migrate.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release-prep.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release-prep.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/release.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/spec.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/spec.command.js +0 -0
- /package/dist/dev-cli/{src/commands → commands}/version.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/workflow.command.d.ts +0 -0
- /package/dist/dev-cli/{src/commands → commands}/workflow.command.js +0 -0
- /package/dist/dev-cli/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/migrate.schema.d.ts +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/migrate.schema.js +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release-prep.schema.d.ts +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release-prep.schema.js +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release.schema.d.ts +0 -0
- /package/dist/dev-cli/{src/schemas → schemas}/release.schema.js +0 -0
- /package/dist/dev-cli/{src/services → services}/agent-migration.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/agent-migration.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/file.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/file.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/git.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/git.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/npm.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/npm.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/release-prep.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/release-prep.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/release-verify.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/release-verify.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-generate.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-generate.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-validate.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/spec-validate.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-detection.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-detection.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-file.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-file.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-release.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-release.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-sync.service.d.ts +0 -0
- /package/dist/dev-cli/{src/services → services}/version-sync.service.js +0 -0
- /package/dist/dev-cli/{src/services → services}/version-validate.service.d.ts +0 -0
- /package/openapi/{cli-commands.openapi.yaml → cli/openapi.yaml} +0 -0
package/bin/ossa-dev
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Adapter Interface for OSSA Export System
|
|
3
|
+
*
|
|
4
|
+
* All platform adapters must implement this interface to provide
|
|
5
|
+
* consistent export functionality across different platforms.
|
|
6
|
+
*
|
|
7
|
+
* SOLID: Interface Segregation Principle - Small, focused interface
|
|
8
|
+
* DRY: Reusable across all platform adapters
|
|
9
|
+
*/
|
|
10
|
+
import type { OssaAgent } from '../../types/index.js';
|
|
11
|
+
export type { OssaAgent };
|
|
12
|
+
/**
|
|
13
|
+
* Export result containing generated files
|
|
14
|
+
*/
|
|
15
|
+
export interface ExportResult {
|
|
16
|
+
/**
|
|
17
|
+
* Platform name (e.g., 'langchain', 'mcp', 'drupal')
|
|
18
|
+
*/
|
|
19
|
+
platform: string;
|
|
20
|
+
/**
|
|
21
|
+
* Export status
|
|
22
|
+
*/
|
|
23
|
+
success: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Generated files
|
|
26
|
+
*/
|
|
27
|
+
files: ExportFile[];
|
|
28
|
+
/**
|
|
29
|
+
* Export metadata
|
|
30
|
+
*/
|
|
31
|
+
metadata?: {
|
|
32
|
+
/**
|
|
33
|
+
* Time taken to export (ms)
|
|
34
|
+
*/
|
|
35
|
+
duration?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Platform version
|
|
38
|
+
*/
|
|
39
|
+
version?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Warnings during export
|
|
42
|
+
*/
|
|
43
|
+
warnings?: string[];
|
|
44
|
+
/**
|
|
45
|
+
* Whether Claude Skill was included
|
|
46
|
+
*/
|
|
47
|
+
includeSkill?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Additional platform-specific metadata
|
|
50
|
+
*/
|
|
51
|
+
[key: string]: any;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Error message if export failed
|
|
55
|
+
*/
|
|
56
|
+
error?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Exported file
|
|
60
|
+
*/
|
|
61
|
+
export interface ExportFile {
|
|
62
|
+
/**
|
|
63
|
+
* Relative file path
|
|
64
|
+
*/
|
|
65
|
+
path: string;
|
|
66
|
+
/**
|
|
67
|
+
* File content
|
|
68
|
+
*/
|
|
69
|
+
content: string;
|
|
70
|
+
/**
|
|
71
|
+
* File type
|
|
72
|
+
*/
|
|
73
|
+
type: 'code' | 'config' | 'documentation' | 'test' | 'other';
|
|
74
|
+
/**
|
|
75
|
+
* Programming language or format
|
|
76
|
+
*/
|
|
77
|
+
language?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Export options
|
|
81
|
+
*/
|
|
82
|
+
export interface ExportOptions {
|
|
83
|
+
/**
|
|
84
|
+
* Output directory
|
|
85
|
+
*/
|
|
86
|
+
outputDir?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Whether to validate export before generation
|
|
89
|
+
*/
|
|
90
|
+
validate?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Whether to include tests
|
|
93
|
+
*/
|
|
94
|
+
includeTests?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Whether to include documentation
|
|
97
|
+
*/
|
|
98
|
+
includeDocs?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Whether to include Claude Skill (SKILL.md)
|
|
101
|
+
*/
|
|
102
|
+
includeSkill?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Platform-specific options
|
|
105
|
+
*/
|
|
106
|
+
platformOptions?: Record<string, any>;
|
|
107
|
+
/**
|
|
108
|
+
* Dry run mode - validate only, don't write files
|
|
109
|
+
*/
|
|
110
|
+
dryRun?: boolean;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Platform Adapter Interface
|
|
114
|
+
*
|
|
115
|
+
* All export adapters must implement this interface
|
|
116
|
+
*/
|
|
117
|
+
export interface PlatformAdapter {
|
|
118
|
+
/**
|
|
119
|
+
* Platform identifier (unique)
|
|
120
|
+
*/
|
|
121
|
+
readonly platform: string;
|
|
122
|
+
/**
|
|
123
|
+
* Platform display name
|
|
124
|
+
*/
|
|
125
|
+
readonly displayName: string;
|
|
126
|
+
/**
|
|
127
|
+
* Platform description
|
|
128
|
+
*/
|
|
129
|
+
readonly description: string;
|
|
130
|
+
/**
|
|
131
|
+
* Supported OSSA versions
|
|
132
|
+
*/
|
|
133
|
+
readonly supportedVersions: string[];
|
|
134
|
+
/**
|
|
135
|
+
* Export manifest to platform-specific format
|
|
136
|
+
*
|
|
137
|
+
* @param manifest - OSSA agent manifest
|
|
138
|
+
* @param options - Export options
|
|
139
|
+
* @returns Export result with generated files
|
|
140
|
+
*/
|
|
141
|
+
export(manifest: OssaAgent, options?: ExportOptions): Promise<ExportResult>;
|
|
142
|
+
/**
|
|
143
|
+
* Validate manifest can be exported to this platform
|
|
144
|
+
*
|
|
145
|
+
* @param manifest - OSSA agent manifest
|
|
146
|
+
* @returns Validation result
|
|
147
|
+
*/
|
|
148
|
+
validate(manifest: OssaAgent): Promise<ValidationResult>;
|
|
149
|
+
/**
|
|
150
|
+
* Get example manifest for this platform
|
|
151
|
+
*
|
|
152
|
+
* @returns Example OSSA manifest optimized for this platform
|
|
153
|
+
*/
|
|
154
|
+
getExample(): OssaAgent;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Validation result
|
|
158
|
+
*/
|
|
159
|
+
export interface ValidationResult {
|
|
160
|
+
/**
|
|
161
|
+
* Whether manifest is valid for this platform
|
|
162
|
+
*/
|
|
163
|
+
valid: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Validation errors
|
|
166
|
+
*/
|
|
167
|
+
errors?: ValidationError[];
|
|
168
|
+
/**
|
|
169
|
+
* Validation warnings
|
|
170
|
+
*/
|
|
171
|
+
warnings?: ValidationWarning[];
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Validation error
|
|
175
|
+
*/
|
|
176
|
+
export interface ValidationError {
|
|
177
|
+
/**
|
|
178
|
+
* Error message
|
|
179
|
+
*/
|
|
180
|
+
message: string;
|
|
181
|
+
/**
|
|
182
|
+
* JSON path to error location (e.g., 'spec.llm.model')
|
|
183
|
+
*/
|
|
184
|
+
path?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Error code
|
|
187
|
+
*/
|
|
188
|
+
code?: string;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Validation warning
|
|
192
|
+
*/
|
|
193
|
+
export interface ValidationWarning {
|
|
194
|
+
/**
|
|
195
|
+
* Warning message
|
|
196
|
+
*/
|
|
197
|
+
message: string;
|
|
198
|
+
/**
|
|
199
|
+
* JSON path to warning location
|
|
200
|
+
*/
|
|
201
|
+
path?: string;
|
|
202
|
+
/**
|
|
203
|
+
* Suggestion for fixing warning
|
|
204
|
+
*/
|
|
205
|
+
suggestion?: string;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Base adapter implementation with common functionality
|
|
209
|
+
*/
|
|
210
|
+
export declare abstract class BaseAdapter implements PlatformAdapter {
|
|
211
|
+
abstract readonly platform: string;
|
|
212
|
+
abstract readonly displayName: string;
|
|
213
|
+
abstract readonly description: string;
|
|
214
|
+
abstract readonly supportedVersions: string[];
|
|
215
|
+
abstract export(manifest: OssaAgent, options?: ExportOptions): Promise<ExportResult>;
|
|
216
|
+
/**
|
|
217
|
+
* Default validation - checks basic manifest structure
|
|
218
|
+
*/
|
|
219
|
+
validate(manifest: OssaAgent): Promise<ValidationResult>;
|
|
220
|
+
/**
|
|
221
|
+
* Get example manifest - subclasses should override
|
|
222
|
+
*/
|
|
223
|
+
getExample(): OssaAgent;
|
|
224
|
+
/**
|
|
225
|
+
* Helper: Create export result
|
|
226
|
+
*/
|
|
227
|
+
protected createResult(success: boolean, files: ExportFile[], error?: string, metadata?: ExportResult['metadata']): ExportResult;
|
|
228
|
+
/**
|
|
229
|
+
* Helper: Create export file
|
|
230
|
+
*/
|
|
231
|
+
protected createFile(path: string, content: string, type: ExportFile['type'], language?: string): ExportFile;
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=adapter.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.interface.d.ts","sourceRoot":"","sources":["../../../src/adapters/base/adapter.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Adapter Interface for OSSA Export System
|
|
3
|
+
*
|
|
4
|
+
* All platform adapters must implement this interface to provide
|
|
5
|
+
* consistent export functionality across different platforms.
|
|
6
|
+
*
|
|
7
|
+
* SOLID: Interface Segregation Principle - Small, focused interface
|
|
8
|
+
* DRY: Reusable across all platform adapters
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Base adapter implementation with common functionality
|
|
12
|
+
*/
|
|
13
|
+
export class BaseAdapter {
|
|
14
|
+
/**
|
|
15
|
+
* Default validation - checks basic manifest structure
|
|
16
|
+
*/
|
|
17
|
+
async validate(manifest) {
|
|
18
|
+
const errors = [];
|
|
19
|
+
const warnings = [];
|
|
20
|
+
// Check required fields
|
|
21
|
+
if (!manifest.metadata?.name) {
|
|
22
|
+
errors.push({
|
|
23
|
+
message: 'metadata.name is required',
|
|
24
|
+
path: 'metadata.name',
|
|
25
|
+
code: 'MISSING_REQUIRED_FIELD',
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (!manifest.metadata?.version) {
|
|
29
|
+
errors.push({
|
|
30
|
+
message: 'metadata.version is required',
|
|
31
|
+
path: 'metadata.version',
|
|
32
|
+
code: 'MISSING_REQUIRED_FIELD',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (!manifest.spec?.role) {
|
|
36
|
+
warnings.push({
|
|
37
|
+
message: 'spec.role is recommended for better agent behavior',
|
|
38
|
+
path: 'spec.role',
|
|
39
|
+
suggestion: 'Add a system prompt describing the agent role',
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
valid: errors.length === 0,
|
|
44
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
45
|
+
warnings: warnings.length > 0 ? warnings : undefined,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get example manifest - subclasses should override
|
|
50
|
+
*/
|
|
51
|
+
getExample() {
|
|
52
|
+
return {
|
|
53
|
+
apiVersion: 'ossa/v{{VERSION}}',
|
|
54
|
+
kind: 'Agent',
|
|
55
|
+
metadata: {
|
|
56
|
+
name: 'example-agent',
|
|
57
|
+
version: '1.0.0',
|
|
58
|
+
description: 'Example agent for ' + this.displayName,
|
|
59
|
+
},
|
|
60
|
+
spec: {
|
|
61
|
+
role: 'Example agent role',
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Helper: Create export result
|
|
67
|
+
*/
|
|
68
|
+
createResult(success, files, error, metadata) {
|
|
69
|
+
return {
|
|
70
|
+
platform: this.platform,
|
|
71
|
+
success,
|
|
72
|
+
files,
|
|
73
|
+
error,
|
|
74
|
+
metadata,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Helper: Create export file
|
|
79
|
+
*/
|
|
80
|
+
createFile(path, content, type, language) {
|
|
81
|
+
return {
|
|
82
|
+
path,
|
|
83
|
+
content,
|
|
84
|
+
type,
|
|
85
|
+
language,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=adapter.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.interface.js","sourceRoot":"","sources":["../../../src/adapters/base/adapter.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8OH;;GAEG;AACH,MAAM,OAAgB,WAAW;IAW/B;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAmB;QAChC,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,wBAAwB;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,2BAA2B;gBACpC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,8BAA8B;gBACvC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,wBAAwB;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,oDAAoD;gBAC7D,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE,+CAA+C;aAC5D,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO;YACL,UAAU,EAAE,mBAAmB;YAC/B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,OAAO;gBAChB,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC,WAAW;aACrD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,oBAAoB;aAC3B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,YAAY,CACpB,OAAgB,EAChB,KAAmB,EACnB,KAAc,EACd,QAAmC;QAEnC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,KAAK;YACL,KAAK;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,UAAU,CAClB,IAAY,EACZ,OAAe,EACf,IAAwB,EACxB,QAAiB;QAEjB,OAAO;YACL,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrewAI Platform Adapter
|
|
3
|
+
* Exports OSSA agent manifests to CrewAI format (Python)
|
|
4
|
+
*
|
|
5
|
+
* CrewAI is a framework for orchestrating role-playing autonomous AI agents.
|
|
6
|
+
* It excels at multi-agent collaboration and task delegation.
|
|
7
|
+
*
|
|
8
|
+
* SOLID: Single Responsibility - CrewAI export only
|
|
9
|
+
* DRY: Reuses BaseAdapter validation and existing converter
|
|
10
|
+
*/
|
|
11
|
+
import { BaseAdapter } from '../base/adapter.interface.js';
|
|
12
|
+
import type { OssaAgent, ExportOptions, ExportResult, ValidationResult } from '../base/adapter.interface.js';
|
|
13
|
+
export declare class CrewAIAdapter extends BaseAdapter {
|
|
14
|
+
readonly platform = "crewai";
|
|
15
|
+
readonly displayName = "CrewAI";
|
|
16
|
+
readonly description = "CrewAI multi-agent framework (Python)";
|
|
17
|
+
readonly supportedVersions: string[];
|
|
18
|
+
private converter;
|
|
19
|
+
/**
|
|
20
|
+
* Export OSSA manifest to CrewAI format
|
|
21
|
+
*/
|
|
22
|
+
export(manifest: OssaAgent, options?: ExportOptions): Promise<ExportResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Validate manifest for CrewAI compatibility
|
|
25
|
+
*/
|
|
26
|
+
validate(manifest: OssaAgent): Promise<ValidationResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Get example CrewAI-optimized manifest
|
|
29
|
+
*/
|
|
30
|
+
getExample(): OssaAgent;
|
|
31
|
+
/**
|
|
32
|
+
* Generate agents.py - Agent definitions
|
|
33
|
+
*/
|
|
34
|
+
private generateAgentsCode;
|
|
35
|
+
/**
|
|
36
|
+
* Generate tasks.py - Task definitions
|
|
37
|
+
*/
|
|
38
|
+
private generateTasksCode;
|
|
39
|
+
/**
|
|
40
|
+
* Generate tools.py - Tool implementations
|
|
41
|
+
*/
|
|
42
|
+
private generateToolsCode;
|
|
43
|
+
/**
|
|
44
|
+
* Generate requirements.txt
|
|
45
|
+
*/
|
|
46
|
+
private generateRequirements;
|
|
47
|
+
/**
|
|
48
|
+
* Generate README.md
|
|
49
|
+
*/
|
|
50
|
+
private generateReadme;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/crewai/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,8BAA8B,CAAC;AAGtC,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,WAAW,YAAY;IAChC,QAAQ,CAAC,WAAW,2CAA2C;IAC/D,QAAQ,CAAC,iBAAiB,WAA8B;IAExD,OAAO,CAAC,SAAS,CAAyB;IAE1C;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,SAAS,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IA6ExB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC9D;;OAEG;IACH,UAAU,IAAI,SAAS;IA8CvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,cAAc;CAyCvB"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CrewAI Platform Adapter
|
|
3
|
+
* Exports OSSA agent manifests to CrewAI format (Python)
|
|
4
|
+
*
|
|
5
|
+
* CrewAI is a framework for orchestrating role-playing autonomous AI agents.
|
|
6
|
+
* It excels at multi-agent collaboration and task delegation.
|
|
7
|
+
*
|
|
8
|
+
* SOLID: Single Responsibility - CrewAI export only
|
|
9
|
+
* DRY: Reuses BaseAdapter validation and existing converter
|
|
10
|
+
*/
|
|
11
|
+
import { BaseAdapter } from '../base/adapter.interface.js';
|
|
12
|
+
import { CrewAIConverter } from './converter.js';
|
|
13
|
+
export class CrewAIAdapter extends BaseAdapter {
|
|
14
|
+
platform = 'crewai';
|
|
15
|
+
displayName = 'CrewAI';
|
|
16
|
+
description = 'CrewAI multi-agent framework (Python)';
|
|
17
|
+
supportedVersions = ['v0.3.6', 'v{{VERSION}}'];
|
|
18
|
+
converter = new CrewAIConverter();
|
|
19
|
+
/**
|
|
20
|
+
* Export OSSA manifest to CrewAI format
|
|
21
|
+
*/
|
|
22
|
+
async export(manifest, options) {
|
|
23
|
+
const startTime = Date.now();
|
|
24
|
+
try {
|
|
25
|
+
// Validate manifest
|
|
26
|
+
if (options?.validate !== false) {
|
|
27
|
+
const validation = await this.validate(manifest);
|
|
28
|
+
if (!validation.valid) {
|
|
29
|
+
return this.createResult(false, [], `Validation failed: ${validation.errors?.map((e) => e.message).join(', ')}`, {
|
|
30
|
+
duration: Date.now() - startTime,
|
|
31
|
+
warnings: validation.warnings?.map((w) => w.message),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
// Convert to CrewAI config
|
|
36
|
+
const config = this.converter.convert(manifest);
|
|
37
|
+
const files = [];
|
|
38
|
+
// Generate crew.py - Main crew definition
|
|
39
|
+
const crewCode = this.converter.generatePythonCode(manifest);
|
|
40
|
+
files.push(this.createFile(`crewai/${manifest.metadata?.name || 'crew'}.py`, crewCode, 'code', 'python'));
|
|
41
|
+
// Generate agents.py - Individual agent definitions
|
|
42
|
+
const agentsCode = this.generateAgentsCode(config, manifest);
|
|
43
|
+
files.push(this.createFile('crewai/agents.py', agentsCode, 'code', 'python'));
|
|
44
|
+
// Generate tasks.py - Task definitions
|
|
45
|
+
const tasksCode = this.generateTasksCode(config, manifest);
|
|
46
|
+
files.push(this.createFile('crewai/tasks.py', tasksCode, 'code', 'python'));
|
|
47
|
+
// Generate tools.py - Tool implementations
|
|
48
|
+
const toolsCode = this.generateToolsCode(manifest);
|
|
49
|
+
files.push(this.createFile('crewai/tools.py', toolsCode, 'code', 'python'));
|
|
50
|
+
// Generate requirements.txt
|
|
51
|
+
const requirements = this.generateRequirements();
|
|
52
|
+
files.push(this.createFile('crewai/requirements.txt', requirements, 'config'));
|
|
53
|
+
// Generate README
|
|
54
|
+
const readme = this.generateReadme(manifest, config);
|
|
55
|
+
files.push(this.createFile('crewai/README.md', readme, 'documentation'));
|
|
56
|
+
return this.createResult(true, files, undefined, {
|
|
57
|
+
duration: Date.now() - startTime,
|
|
58
|
+
version: '0.1.0',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return this.createResult(false, [], error instanceof Error ? error.message : String(error), { duration: Date.now() - startTime });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Validate manifest for CrewAI compatibility
|
|
67
|
+
*/
|
|
68
|
+
async validate(manifest) {
|
|
69
|
+
const errors = [];
|
|
70
|
+
const warnings = [];
|
|
71
|
+
// Base validation
|
|
72
|
+
const baseValidation = await super.validate(manifest);
|
|
73
|
+
if (baseValidation.errors)
|
|
74
|
+
errors.push(...baseValidation.errors);
|
|
75
|
+
if (baseValidation.warnings)
|
|
76
|
+
warnings.push(...baseValidation.warnings);
|
|
77
|
+
// CrewAI-specific validation
|
|
78
|
+
const spec = manifest.spec;
|
|
79
|
+
// Check for workflow (CrewAI excels at multi-agent workflows)
|
|
80
|
+
const workflow = spec?.workflow;
|
|
81
|
+
if (!workflow || !workflow.steps || workflow.steps.length === 0) {
|
|
82
|
+
warnings.push({
|
|
83
|
+
message: 'No workflow defined, will create single-agent crew',
|
|
84
|
+
path: 'spec.workflow',
|
|
85
|
+
suggestion: 'Add spec.workflow.steps for multi-agent collaboration',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
// Check for role (required for CrewAI agents)
|
|
89
|
+
if (!spec?.role) {
|
|
90
|
+
errors.push({
|
|
91
|
+
message: 'Role is required for CrewAI agents',
|
|
92
|
+
path: 'spec.role',
|
|
93
|
+
code: 'MISSING_REQUIRED_FIELD',
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
valid: errors.length === 0,
|
|
98
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
99
|
+
warnings: warnings.length > 0 ? warnings : undefined,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get example CrewAI-optimized manifest
|
|
104
|
+
*/
|
|
105
|
+
getExample() {
|
|
106
|
+
return {
|
|
107
|
+
apiVersion: 'ossa/v{{VERSION}}',
|
|
108
|
+
kind: 'Agent',
|
|
109
|
+
metadata: {
|
|
110
|
+
name: 'crewai-research-team',
|
|
111
|
+
version: '1.0.0',
|
|
112
|
+
description: 'Multi-agent research team using CrewAI',
|
|
113
|
+
},
|
|
114
|
+
spec: {
|
|
115
|
+
role: 'Research Team Lead',
|
|
116
|
+
workflow: {
|
|
117
|
+
steps: [
|
|
118
|
+
{
|
|
119
|
+
agent: 'researcher',
|
|
120
|
+
task: 'research',
|
|
121
|
+
description: 'Conduct research on the given topic',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
agent: 'analyst',
|
|
125
|
+
task: 'analyze',
|
|
126
|
+
description: 'Analyze research findings and identify patterns',
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
agent: 'writer',
|
|
130
|
+
task: 'write',
|
|
131
|
+
description: 'Write comprehensive report based on analysis',
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
tools: [
|
|
136
|
+
{
|
|
137
|
+
type: 'api',
|
|
138
|
+
name: 'web_search',
|
|
139
|
+
description: 'Search the web for information',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'api',
|
|
143
|
+
name: 'document_analyzer',
|
|
144
|
+
description: 'Analyze documents and extract insights',
|
|
145
|
+
},
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Generate agents.py - Agent definitions
|
|
152
|
+
*/
|
|
153
|
+
generateAgentsCode(config, manifest) {
|
|
154
|
+
return `"""
|
|
155
|
+
CrewAI Agent Definitions
|
|
156
|
+
Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
|
|
157
|
+
"""
|
|
158
|
+
|
|
159
|
+
from crewai import Agent
|
|
160
|
+
from tools import get_tools
|
|
161
|
+
|
|
162
|
+
# Define agents
|
|
163
|
+
${config.agents
|
|
164
|
+
.map((agent) => `
|
|
165
|
+
${agent.role.replace(/[^a-zA-Z0-9]/g, '_')}_agent = Agent(
|
|
166
|
+
role="${agent.role}",
|
|
167
|
+
goal="${agent.goal}",
|
|
168
|
+
backstory="""${agent.backstory}""",
|
|
169
|
+
tools=get_tools(),
|
|
170
|
+
verbose=${agent.verbose ?? true},
|
|
171
|
+
allow_delegation=True,
|
|
172
|
+
)`)
|
|
173
|
+
.join('\n')}
|
|
174
|
+
|
|
175
|
+
# Export all agents
|
|
176
|
+
agents = [
|
|
177
|
+
${config.agents.map((agent) => ` ${agent.role.replace(/[^a-zA-Z0-9]/g, '_')}_agent`).join(',\n')}
|
|
178
|
+
]
|
|
179
|
+
`;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Generate tasks.py - Task definitions
|
|
183
|
+
*/
|
|
184
|
+
generateTasksCode(config, manifest) {
|
|
185
|
+
return `"""
|
|
186
|
+
CrewAI Task Definitions
|
|
187
|
+
Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
|
|
188
|
+
"""
|
|
189
|
+
|
|
190
|
+
from crewai import Task
|
|
191
|
+
from agents import agents
|
|
192
|
+
|
|
193
|
+
# Define tasks
|
|
194
|
+
${config.tasks
|
|
195
|
+
.map((task, index) => `
|
|
196
|
+
task_${index + 1} = Task(
|
|
197
|
+
description="""${task.description}""",
|
|
198
|
+
agent=agents[${config.agents.findIndex((a) => a.role === task.agent) || 0}],
|
|
199
|
+
expected_output="""${task.expected_output || 'Task completed'}""",
|
|
200
|
+
)`)
|
|
201
|
+
.join('\n')}
|
|
202
|
+
|
|
203
|
+
# Export all tasks
|
|
204
|
+
tasks = [
|
|
205
|
+
${config.tasks.map((_, index) => ` task_${index + 1}`).join(',\n')}
|
|
206
|
+
]
|
|
207
|
+
`;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Generate tools.py - Tool implementations
|
|
211
|
+
*/
|
|
212
|
+
generateToolsCode(manifest) {
|
|
213
|
+
const tools = (manifest.spec?.tools || []);
|
|
214
|
+
return `"""
|
|
215
|
+
CrewAI Tool Implementations
|
|
216
|
+
Generated from OSSA manifest: ${manifest.metadata?.name || 'unknown'}
|
|
217
|
+
"""
|
|
218
|
+
|
|
219
|
+
from crewai_tools import tool
|
|
220
|
+
from typing import Any
|
|
221
|
+
|
|
222
|
+
${tools
|
|
223
|
+
.map((t) => `
|
|
224
|
+
@tool
|
|
225
|
+
def ${t.name || 'unknown_tool'}(input_data: str) -> str:
|
|
226
|
+
"""${t.description || 'Tool implementation'}"""
|
|
227
|
+
# Implement tool logic here
|
|
228
|
+
return f"Executed ${t.name || 'tool'} with: {input_data}"
|
|
229
|
+
`)
|
|
230
|
+
.join('\n')}
|
|
231
|
+
|
|
232
|
+
def get_tools() -> list:
|
|
233
|
+
"""Return all available tools"""
|
|
234
|
+
return [
|
|
235
|
+
${tools.map((t) => ` ${t.name || 'unknown_tool'}`).join(',\n')}
|
|
236
|
+
]
|
|
237
|
+
`;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Generate requirements.txt
|
|
241
|
+
*/
|
|
242
|
+
generateRequirements() {
|
|
243
|
+
return `crewai>=0.22.0
|
|
244
|
+
crewai-tools>=0.2.0
|
|
245
|
+
python-dotenv>=1.0.0
|
|
246
|
+
`;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Generate README.md
|
|
250
|
+
*/
|
|
251
|
+
generateReadme(manifest, config) {
|
|
252
|
+
return `# ${manifest.metadata?.name || 'CrewAI Crew'}
|
|
253
|
+
|
|
254
|
+
${manifest.metadata?.description || 'CrewAI multi-agent crew generated from OSSA manifest'}
|
|
255
|
+
|
|
256
|
+
## Description
|
|
257
|
+
|
|
258
|
+
${manifest.spec?.role || 'AI Agent Crew'}
|
|
259
|
+
|
|
260
|
+
## Setup
|
|
261
|
+
|
|
262
|
+
\`\`\`bash
|
|
263
|
+
pip install -r requirements.txt
|
|
264
|
+
python ${manifest.metadata?.name || 'crew'}.py
|
|
265
|
+
\`\`\`
|
|
266
|
+
|
|
267
|
+
## Configuration
|
|
268
|
+
|
|
269
|
+
- **Process**: ${config.process || 'sequential'}
|
|
270
|
+
- **Agents**: ${config.agents.length}
|
|
271
|
+
- **Tasks**: ${config.tasks.length}
|
|
272
|
+
|
|
273
|
+
## Agents
|
|
274
|
+
|
|
275
|
+
${config.agents.map((a) => `### ${a.role}\n- **Goal**: ${a.goal}\n- **Backstory**: ${a.backstory}`).join('\n\n')}
|
|
276
|
+
|
|
277
|
+
## Tasks
|
|
278
|
+
|
|
279
|
+
${config.tasks.map((t, i) => `${i + 1}. **${t.description}**\n - Agent: ${t.agent}\n - Expected Output: ${t.expected_output}`).join('\n')}
|
|
280
|
+
|
|
281
|
+
## Generated from OSSA
|
|
282
|
+
|
|
283
|
+
This crew was generated from an OSSA v${manifest.apiVersion?.split('/')[1] || '{{VERSION}}'} manifest.
|
|
284
|
+
|
|
285
|
+
Original manifest: \`agent.ossa.yaml\`
|
|
286
|
+
|
|
287
|
+
## License
|
|
288
|
+
|
|
289
|
+
${manifest.metadata?.license || 'MIT'}
|
|
290
|
+
`;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=adapter.js.map
|