@bluefly/openstandardagents 0.2.7 → 0.2.9
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/.devfile.yaml +1 -1
- package/.env.example +1 -1
- package/.github/AGENTS.md +245 -0
- package/.github/agents/github-issue-triage.ossa.yaml +99 -0
- package/.github/agents/github-pr-triage.ossa.yaml +137 -0
- package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
- package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
- package/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +44 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +103 -4
- package/README.md +178 -243
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/repositories/schema.repository.d.ts +6 -1
- package/dist/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +49 -27
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/migration.service.d.ts +4 -3
- package/dist/services/migration.service.d.ts.map +1 -1
- package/dist/services/migration.service.js +11 -10
- package/dist/services/migration.service.js.map +1 -1
- package/dist/services/release-automation/release.service.js +1 -1
- package/dist/services/release-automation/release.service.js.map +1 -1
- package/dist/services/release-automation/schemas/release.schema.js +1 -1
- package/dist/services/release-automation/webhook.service.js +3 -3
- package/dist/services/release-automation/webhook.service.js.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.js +2 -2
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
- package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.8/README.md +72 -0
- package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/dist/spec/v0.2.9/agent.md +1946 -0
- package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/dist/spec/v0.2.9/capability-schema.md +576 -0
- package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
- package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
- package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
- package/dist/spec/v0.2.9/security-model.md +1245 -0
- package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
- package/dist/spec/v0.2.9/types.ts +522 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/policy.d.ts +377 -0
- package/dist/types/policy.d.ts.map +1 -0
- package/dist/types/policy.js +84 -0
- package/dist/types/policy.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/version.d.ts +68 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +156 -0
- package/dist/utils/version.js.map +1 -0
- package/docs/specs/policy-dsl.md +925 -0
- package/eslint-report.json +1 -0
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/reasoning-agent.yaml +136 -0
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
- package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
- package/examples/agents-md/code-agent.ossa.json +100 -0
- package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
- package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
- package/examples/common_npm/agent-router.ossa.yaml +1 -0
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
- package/examples/crewai/research-team.ossa.json +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
- package/examples/extensions/agents-md-v1.yml +175 -0
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/langchain/chain-agent.ossa.json +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/multi-agent/README.md +74 -0
- package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
- package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/openai/multi-tool-agent.ossa.json +1 -1
- package/examples/openai/swarm-agent.ossa.json +1 -1
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/spec-examples/audit-agent.yml +1 -1
- package/examples/spec-examples/chat-agent.yml +1 -1
- package/examples/spec-examples/compliance-agent.yml +1 -1
- package/examples/spec-examples/monitoring-agent.yml +1 -1
- package/examples/spec-examples/workflow-agent.yml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +1 -1
- package/gl-code-quality-report.json +62 -0
- package/llms-ctx-full.txt +39 -0
- package/llms-ctx.txt +39 -0
- package/llms.txt +47 -0
- package/package.json +6 -3
- package/scripts/README.md +25 -0
- package/scripts/compliance-audit.ts +796 -0
- package/scripts/eslint-to-codequality.cjs +34 -0
- package/scripts/generate-agents-catalog.ts +2 -1
- package/scripts/generate-api-docs.ts +2 -1
- package/scripts/generate-examples-docs.ts +2 -1
- package/scripts/generate-llms-ctx.sh +17 -0
- package/scripts/generate-schema-docs.ts +31 -10
- package/scripts/sync-version.js +4 -12
- package/scripts/validate-schema.ts +2 -1
- package/spec/v0.2.8/CHANGELOG.md +401 -0
- package/spec/v0.2.8/README.md +72 -0
- package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
- package/spec/{v0.2.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/spec/v0.2.9/agent.md +1946 -0
- package/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/spec/v0.2.9/capability-schema.md +576 -0
- package/spec/v0.2.9/compliance-profiles.md +533 -0
- package/spec/v0.2.9/conformance-testing.md +1527 -0
- package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/spec/v0.2.9/runtime-semantics.md +464 -0
- package/spec/v0.2.9/security-model.md +1245 -0
- package/spec/v0.2.9/semantic-conventions.md +347 -0
- package/spec/v0.2.9/types.ts +522 -0
- package/test-results/junit.xml +337 -0
- package/.github/workflows/pr-comment.yml +0 -33
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
- package/scripts/lib/exec.ts +0 -37
- package/scripts/lib/file-ops.ts +0 -58
- package/scripts/lib/version.ts +0 -83
- package/website/.lighthouserc.ts +0 -24
- package/website/.prettierrc +0 -10
- package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
- package/website/Dockerfile +0 -30
- package/website/app/about/page.tsx +0 -304
- package/website/app/blog/[slug]/page.tsx +0 -208
- package/website/app/blog/page.tsx +0 -249
- package/website/app/design-guide/page.tsx +0 -511
- package/website/app/docs/[[...slug]]/page.tsx +0 -847
- package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
- package/website/app/ecosystem/page.tsx +0 -410
- package/website/app/examples/page.tsx +0 -133
- package/website/app/globals.scss +0 -370
- package/website/app/layout.tsx +0 -106
- package/website/app/license/page.tsx +0 -183
- package/website/app/not-found.tsx +0 -18
- package/website/app/page.tsx +0 -686
- package/website/app/page.tsx.bak +0 -679
- package/website/app/page.tsx.bak2 +0 -649
- package/website/app/playground/page.tsx +0 -487
- package/website/app/robots.ts +0 -19
- package/website/app/rss.xml/route.ts +0 -74
- package/website/app/schema/page.tsx +0 -1001
- package/website/app/sitemap.ts +0 -56
- package/website/app/specification/page.tsx +0 -287
- package/website/components/InstallCommand.tsx +0 -96
- package/website/components/Logo.tsx +0 -97
- package/website/components/StructuredData.tsx +0 -65
- package/website/components/docs/DocsSearch.tsx +0 -104
- package/website/components/docs/DocsSidebar.tsx +0 -155
- package/website/components/docs/MarkdownContent.tsx +0 -401
- package/website/components/docs/VersionSelector.tsx +0 -105
- package/website/components/examples/ExamplesViewer.tsx +0 -293
- package/website/components/layout/Footer.tsx +0 -116
- package/website/components/layout/Header.tsx +0 -172
- package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
- package/website/components/schema/SchemaExplorer.tsx +0 -213
- package/website/components/ui/Badge.tsx +0 -82
- package/website/components/ui/Button.tsx +0 -116
- package/website/components/ui/Card.tsx +0 -167
- package/website/components/ui/Checkbox.tsx +0 -141
- package/website/components/ui/Input.tsx +0 -169
- package/website/components/ui/Radio.tsx +0 -141
- package/website/components/ui/Select.tsx +0 -182
- package/website/components/ui/Tag.tsx +0 -158
- package/website/components/ui/Textarea.tsx +0 -195
- package/website/components/ui/index.ts +0 -11
- package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
- package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
- package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
- package/website/content/blog/introducing-ossa-framework.md +0 -328
- package/website/content/blog/ossa-production-results.md +0 -279
- package/website/content/blog/welcome-to-ossa.md +0 -43
- package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
- package/website/content/docs/00-home.md +0 -153
- package/website/content/docs/adapters/openai-adapter.md +0 -693
- package/website/content/docs/agents/catalog.md +0 -28
- package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/api-reference/index.md +0 -38
- package/website/content/docs/api-reference/ossa-core-api.md +0 -634
- package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
- package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
- package/website/content/docs/architecture/execution-flow.md +0 -335
- package/website/content/docs/architecture/multi-agent-systems.md +0 -737
- package/website/content/docs/architecture/overview.md +0 -121
- package/website/content/docs/architecture/stack-integration.md +0 -461
- package/website/content/docs/changelog.md +0 -246
- package/website/content/docs/cli-reference/index.md +0 -111
- package/website/content/docs/cli-reference/ossa-agents.md +0 -70
- package/website/content/docs/cli-reference/ossa-export.md +0 -56
- package/website/content/docs/cli-reference/ossa-generate.md +0 -66
- package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
- package/website/content/docs/cli-reference/ossa-import.md +0 -56
- package/website/content/docs/cli-reference/ossa-init.md +0 -57
- package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
- package/website/content/docs/cli-reference/ossa-run.md +0 -66
- package/website/content/docs/cli-reference/ossa-schema.md +0 -57
- package/website/content/docs/cli-reference/ossa-setup.md +0 -57
- package/website/content/docs/cli-reference/ossa-validate.md +0 -66
- package/website/content/docs/configuration/index.md +0 -97
- package/website/content/docs/contributing.md +0 -599
- package/website/content/docs/deployment/github-mirroring.md +0 -924
- package/website/content/docs/documentation.md +0 -100
- package/website/content/docs/ecosystem/framework-support.md +0 -1361
- package/website/content/docs/ecosystem/overview.md +0 -366
- package/website/content/docs/errors/index.md +0 -10
- package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
- package/website/content/docs/examples/catalog.md +0 -300
- package/website/content/docs/for-audiences/students-researchers.md +0 -122
- package/website/content/docs/getting-started/index.md +0 -92
- package/website/content/docs/getting-started/installation.md +0 -155
- package/website/content/docs/getting-started/running-agents.md +0 -309
- package/website/content/docs/getting-started.md +0 -91
- package/website/content/docs/integrations/aiflow.md +0 -104
- package/website/content/docs/integrations/drupal.md +0 -105
- package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
- package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
- package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
- package/website/content/docs/migration-guides/index.md +0 -133
- package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
- package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
- package/website/content/docs/migration-guides/migration-manifest.json +0 -64
- package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
- package/website/content/docs/openapi-extensions/examples.md +0 -550
- package/website/content/docs/openapi-extensions/index.md +0 -551
- package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
- package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
- package/website/content/docs/ossa-compliant-badge.md +0 -251
- package/website/content/docs/pre-release/index.md +0 -175
- package/website/content/docs/quick-reference.md +0 -17
- package/website/content/docs/readme.md +0 -35
- package/website/content/docs/releases/v0.2.6.md +0 -99
- package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
- package/website/content/docs/schema-reference/agent-id.md +0 -52
- package/website/content/docs/schema-reference/agent-name.md +0 -50
- package/website/content/docs/schema-reference/agent-role.md +0 -54
- package/website/content/docs/schema-reference/agent-spec.md +0 -406
- package/website/content/docs/schema-reference/agent-version.md +0 -50
- package/website/content/docs/schema-reference/autonomy.md +0 -568
- package/website/content/docs/schema-reference/constraints.md +0 -543
- package/website/content/docs/schema-reference/index.md +0 -45
- package/website/content/docs/schema-reference/llm-config.md +0 -445
- package/website/content/docs/schema-reference/observability.md +0 -654
- package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
- package/website/content/docs/schema-reference/taxonomy.md +0 -509
- package/website/content/docs/schema-reference/tools.md +0 -628
- package/website/content/docs/templates/blog-post.md +0 -43
- package/website/content/docs/types-reference/index.md +0 -105
- package/website/content/docs/use-cases/00-index.md +0 -395
- package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
- package/website/content/docs/use-cases/customer-support.md +0 -1234
- package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
- package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
- package/website/content/docs/versioning.md +0 -288
- package/website/dev.sh +0 -53
- package/website/docker-compose.dev.yml +0 -36
- package/website/lib/version.ts +0 -35
- package/website/lib/versions.json +0 -103
- package/website/next.config.ts +0 -18
- package/website/nginx.conf +0 -32
- package/website/package-lock.json +0 -9679
- package/website/package.json +0 -59
- package/website/postcss.config.mjs +0 -9
- package/website/scripts/fetch-versions.js +0 -166
- package/website/scripts/generate-examples-index.js +0 -163
- package/website/scripts/merge-docs-to-wiki.ts +0 -207
- package/website/scripts/sync-version.js +0 -72
- package/website/scripts/sync-wiki.ts +0 -322
- package/website/scripts/upload-wiki.ts +0 -199
- package/website/styles/_spacing.scss +0 -453
- package/website/styles/_tokens.scss +0 -245
- package/website/styles/_typography.scss +0 -361
- package/website/styles/_variables.scss +0 -287
- package/website/tailwind.config.ts +0 -170
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "CrewAI to OSSA"
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# CrewAI to OSSA Migration Guide
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
This guide helps you migrate from **CrewAI** multi-agent orchestration framework to **OSSA** (Open Standard for Scalable Agents).
|
|
10
|
-
|
|
11
|
-
### Why Migrate?
|
|
12
|
-
|
|
13
|
-
- **Vendor Independence**: Not tied to specific LLM providers
|
|
14
|
-
- **Kubernetes Native**: Deploy agents on K8s with built-in scaling
|
|
15
|
-
- **OpenAPI Integration**: RESTful APIs for all agent interactions
|
|
16
|
-
- **Production Monitoring**: Built-in observability with OpenTelemetry
|
|
17
|
-
- **Multi-Runtime Support**: Docker, K8s, serverless, edge
|
|
18
|
-
|
|
19
|
-
### Migration Complexity: Medium-High
|
|
20
|
-
- **Time**: 4-8 hours per crew
|
|
21
|
-
- **Effort**: Moderate refactoring required
|
|
22
|
-
- **Risk**: Low (parallel operation possible)
|
|
23
|
-
|
|
24
|
-
## Conceptual Mapping
|
|
25
|
-
|
|
26
|
-
| CrewAI Concept | OSSA Equivalent | Notes |
|
|
27
|
-
|----------------|-----------------|-------|
|
|
28
|
-
| **Crew** | OSSA Orchestrator Agent | Manages workflow coordination |
|
|
29
|
-
| **Agent** | OSSA Worker Agent | Individual task executor |
|
|
30
|
-
| **Task** | OSSA Capability | Executable function with schema |
|
|
31
|
-
| **Process** | Workflow Type | Sequential, parallel, hierarchical |
|
|
32
|
-
| **Tool** | Capability Implementation | Business logic + API integration |
|
|
33
|
-
| **Delegation** | Agent Dependencies | Explicit agent-to-agent calls |
|
|
34
|
-
| **Memory** | State Management | Redis/PostgreSQL backed |
|
|
35
|
-
| **Context** | Input/Output Schemas | Typed data contracts |
|
|
36
|
-
|
|
37
|
-
## Migration Strategy
|
|
38
|
-
|
|
39
|
-
### Phase 1: Analysis (1-2 hours)
|
|
40
|
-
1. Inventory all crews and agents
|
|
41
|
-
2. Map tasks to capabilities
|
|
42
|
-
3. Identify delegation patterns
|
|
43
|
-
4. Document tool dependencies
|
|
44
|
-
|
|
45
|
-
### Phase 2: Design (2-3 hours)
|
|
46
|
-
1. Create orchestrator manifest
|
|
47
|
-
2. Define worker agent manifests
|
|
48
|
-
3. Design capability schemas
|
|
49
|
-
4. Plan workflow execution
|
|
50
|
-
|
|
51
|
-
### Phase 3: Implementation (3-4 hours)
|
|
52
|
-
1. Implement orchestrator logic
|
|
53
|
-
2. Migrate agent implementations
|
|
54
|
-
3. Convert tools to capabilities
|
|
55
|
-
4. Set up state management
|
|
56
|
-
|
|
57
|
-
### Phase 4: Testing (1-2 hours)
|
|
58
|
-
1. Unit test capabilities
|
|
59
|
-
2. Integration test workflows
|
|
60
|
-
3. Load test orchestration
|
|
61
|
-
4. Validate delegation
|
|
62
|
-
|
|
63
|
-
### Phase 5: Deployment (1 hour)
|
|
64
|
-
1. Build Docker images
|
|
65
|
-
2. Deploy to Kubernetes
|
|
66
|
-
3. Configure monitoring
|
|
67
|
-
4. Run smoke tests
|
|
68
|
-
|
|
69
|
-
## Example 1: Simple Crew (Research + Writing)
|
|
70
|
-
|
|
71
|
-
### Before: CrewAI
|
|
72
|
-
|
|
73
|
-
\`\`\`python
|
|
74
|
-
from crewai import Agent, Task, Crew, Process
|
|
75
|
-
|
|
76
|
-
# Define agents
|
|
77
|
-
researcher = Agent(
|
|
78
|
-
role='Researcher',
|
|
79
|
-
goal='Research AI trends',
|
|
80
|
-
backstory='Expert AI researcher',
|
|
81
|
-
tools=[web_search, pdf_reader]
|
|
82
|
-
)
|
|
83
|
-
|
|
84
|
-
writer = Agent(
|
|
85
|
-
role='Writer',
|
|
86
|
-
goal='Write blog posts',
|
|
87
|
-
backstory='Technical writer',
|
|
88
|
-
tools=[grammar_check]
|
|
89
|
-
)
|
|
90
|
-
|
|
91
|
-
# Define tasks
|
|
92
|
-
research_task = Task(
|
|
93
|
-
description='Research AI agents in 2024',
|
|
94
|
-
agent=researcher
|
|
95
|
-
)
|
|
96
|
-
|
|
97
|
-
write_task = Task(
|
|
98
|
-
description='Write blog post from research',
|
|
99
|
-
agent=writer,
|
|
100
|
-
context=[research_task]
|
|
101
|
-
)
|
|
102
|
-
|
|
103
|
-
# Create crew
|
|
104
|
-
crew = Crew(
|
|
105
|
-
agents=[researcher, writer],
|
|
106
|
-
tasks=[research_task, write_task],
|
|
107
|
-
process=Process.sequential
|
|
108
|
-
)
|
|
109
|
-
|
|
110
|
-
result = crew.kickoff()
|
|
111
|
-
\`\`\`
|
|
112
|
-
|
|
113
|
-
### After: OSSA
|
|
114
|
-
|
|
115
|
-
**Orchestrator Agent** (`orchestrator.ossa.yaml`):
|
|
116
|
-
|
|
117
|
-
\`\`\`yaml
|
|
118
|
-
ossaVersion: "0.2.6"
|
|
119
|
-
agent:
|
|
120
|
-
id: research-writing-orchestrator
|
|
121
|
-
name: Research & Writing Orchestrator
|
|
122
|
-
version: 1.0.0
|
|
123
|
-
role: orchestration
|
|
124
|
-
runtime:
|
|
125
|
-
type: k8s
|
|
126
|
-
image: ghcr.io/ossa/orchestrator:latest
|
|
127
|
-
workflow:
|
|
128
|
-
type: sequential
|
|
129
|
-
steps:
|
|
130
|
-
- capability: coordinate_research
|
|
131
|
-
agent_id: ai-researcher
|
|
132
|
-
timeout: 300s
|
|
133
|
-
- capability: coordinate_writing
|
|
134
|
-
agent_id: technical-writer
|
|
135
|
-
dependencies: [coordinate_research]
|
|
136
|
-
context_from: coordinate_research
|
|
137
|
-
capabilities:
|
|
138
|
-
- name: coordinate_research
|
|
139
|
-
description: "Coordinate AI research workflow"
|
|
140
|
-
input_schema:
|
|
141
|
-
type: object
|
|
142
|
-
properties:
|
|
143
|
-
topic:
|
|
144
|
-
type: string
|
|
145
|
-
output_schema:
|
|
146
|
-
type: object
|
|
147
|
-
properties:
|
|
148
|
-
findings:
|
|
149
|
-
type: string
|
|
150
|
-
sources:
|
|
151
|
-
type: array
|
|
152
|
-
items:
|
|
153
|
-
type: string
|
|
154
|
-
- name: coordinate_writing
|
|
155
|
-
description: "Coordinate blog writing workflow"
|
|
156
|
-
input_schema:
|
|
157
|
-
type: object
|
|
158
|
-
properties:
|
|
159
|
-
research:
|
|
160
|
-
type: object
|
|
161
|
-
output_schema:
|
|
162
|
-
type: object
|
|
163
|
-
properties:
|
|
164
|
-
article:
|
|
165
|
-
type: string
|
|
166
|
-
word_count:
|
|
167
|
-
type: integer
|
|
168
|
-
\`\`\`
|
|
169
|
-
|
|
170
|
-
**Researcher Agent** (`researcher.ossa.yaml`):
|
|
171
|
-
|
|
172
|
-
\`\`\`yaml
|
|
173
|
-
ossaVersion: "0.2.6"
|
|
174
|
-
agent:
|
|
175
|
-
id: ai-researcher
|
|
176
|
-
name: AI Research Agent
|
|
177
|
-
version: 1.0.0
|
|
178
|
-
role: worker
|
|
179
|
-
runtime:
|
|
180
|
-
type: k8s
|
|
181
|
-
image: ghcr.io/ossa/researcher:latest
|
|
182
|
-
llm:
|
|
183
|
-
provider: openai
|
|
184
|
-
model: gpt-4-turbo
|
|
185
|
-
capabilities:
|
|
186
|
-
- name: research_topic
|
|
187
|
-
description: "Research AI trends using web search"
|
|
188
|
-
tools: [web_search, pdf_reader]
|
|
189
|
-
input_schema:
|
|
190
|
-
type: object
|
|
191
|
-
properties:
|
|
192
|
-
topic:
|
|
193
|
-
type: string
|
|
194
|
-
output_schema:
|
|
195
|
-
type: object
|
|
196
|
-
properties:
|
|
197
|
-
findings:
|
|
198
|
-
type: string
|
|
199
|
-
sources:
|
|
200
|
-
type: array
|
|
201
|
-
\`\`\`
|
|
202
|
-
|
|
203
|
-
**Writer Agent** (`writer.ossa.yaml`):
|
|
204
|
-
|
|
205
|
-
\`\`\`yaml
|
|
206
|
-
ossaVersion: "0.2.6"
|
|
207
|
-
agent:
|
|
208
|
-
id: technical-writer
|
|
209
|
-
name: Technical Writer Agent
|
|
210
|
-
version: 1.0.0
|
|
211
|
-
role: worker
|
|
212
|
-
runtime:
|
|
213
|
-
type: k8s
|
|
214
|
-
image: ghcr.io/ossa/writer:latest
|
|
215
|
-
llm:
|
|
216
|
-
provider: anthropic
|
|
217
|
-
model: claude-3-5-sonnet-20241022
|
|
218
|
-
capabilities:
|
|
219
|
-
- name: write_article
|
|
220
|
-
description: "Write blog post from research"
|
|
221
|
-
tools: [grammar_check]
|
|
222
|
-
input_schema:
|
|
223
|
-
type: object
|
|
224
|
-
properties:
|
|
225
|
-
research:
|
|
226
|
-
type: object
|
|
227
|
-
output_schema:
|
|
228
|
-
type: object
|
|
229
|
-
properties:
|
|
230
|
-
article:
|
|
231
|
-
type: string
|
|
232
|
-
\`\`\`
|
|
233
|
-
|
|
234
|
-
## Validation
|
|
235
|
-
|
|
236
|
-
\`\`\`bash
|
|
237
|
-
# Validate all manifests
|
|
238
|
-
ossa validate orchestrator.ossa.yaml
|
|
239
|
-
ossa validate researcher.ossa.yaml
|
|
240
|
-
ossa validate writer.ossa.yaml
|
|
241
|
-
|
|
242
|
-
# Deploy to Kubernetes
|
|
243
|
-
kubectl apply -f orchestrator.yaml
|
|
244
|
-
kubectl apply -f researcher.yaml
|
|
245
|
-
kubectl apply -f writer.yaml
|
|
246
|
-
|
|
247
|
-
# Test workflow
|
|
248
|
-
curl -X POST http://orchestrator/execute \
|
|
249
|
-
-H "Content-Type: application/json" \
|
|
250
|
-
-d '{"topic": "AI Agents in 2024"}'
|
|
251
|
-
\`\`\`
|
|
252
|
-
|
|
253
|
-
## FAQ
|
|
254
|
-
|
|
255
|
-
**Q: How do I handle CrewAI's memory feature?**
|
|
256
|
-
A: Use OSSA's state management with Redis/PostgreSQL backend.
|
|
257
|
-
|
|
258
|
-
**Q: What about custom tools?**
|
|
259
|
-
A: Wrap them as OSSA capabilities with proper schemas.
|
|
260
|
-
|
|
261
|
-
**Q: Can I mix CrewAI and OSSA during migration?**
|
|
262
|
-
A: Yes! Use OSSA agents as CrewAI tools during transition.
|
|
263
|
-
|
|
264
|
-
**Q: How does delegation work in OSSA?**
|
|
265
|
-
A: Use explicit agent dependencies in orchestrator manifest.
|
|
266
|
-
|
|
267
|
-
**Q: What about hierarchical processes?**
|
|
268
|
-
A: Use OSSA's hierarchical workflow type with manager-worker pattern.
|
|
269
|
-
|
|
270
|
-
## Next Steps
|
|
271
|
-
|
|
272
|
-
- [OSSA Orchestration Patterns](/Specification/Orchestration)
|
|
273
|
-
- [Multi-Agent Examples](/Examples/Multi-Agent)
|
|
274
|
-
- [Kubernetes Deployment](/Deployment/Kubernetes)
|