@bluefly/openstandardagents 0.2.5-RC → 0.2.8
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/ISSUE_TEMPLATE/bug_report.yml +63 -0
- package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
- package/.github/workflows/dependabot-comment.yml +34 -0
- package/.github/workflows/pr-comment.yml +33 -0
- package/.husky/pre-commit +5 -0
- package/.kiro/config.json +21 -0
- package/.kiro/settings/mcp.json +61 -0
- package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
- package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
- package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
- package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
- package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
- package/.kiro/specs/website-brand-identity/tasks.md +981 -0
- package/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +34 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +176 -239
- package/bin/ossa-dev +42 -0
- package/bin/ossa-export +32 -0
- package/bin/ossa-generate +60 -0
- package/bin/ossa-health +40 -0
- package/bin/ossa-init +26 -0
- 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 +63 -36
- package/dist/repositories/schema.repository.js.map +1 -1
- package/dist/services/github-sync/github-client.d.ts +14 -0
- package/dist/services/github-sync/github-client.d.ts.map +1 -0
- package/dist/services/github-sync/github-client.js +41 -0
- package/dist/services/github-sync/github-client.js.map +1 -0
- package/dist/services/github-sync/gitlab-client.d.ts +17 -0
- package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
- package/dist/services/github-sync/gitlab-client.js +42 -0
- package/dist/services/github-sync/gitlab-client.js.map +1 -0
- package/dist/services/github-sync/schemas.d.ts +46 -0
- package/dist/services/github-sync/schemas.d.ts.map +1 -0
- package/dist/services/github-sync/schemas.js +36 -0
- package/dist/services/github-sync/schemas.js.map +1 -0
- package/dist/services/github-sync/sync.service.d.ts +27 -0
- package/dist/services/github-sync/sync.service.d.ts.map +1 -0
- package/dist/services/github-sync/sync.service.js +99 -0
- package/dist/services/github-sync/sync.service.js.map +1 -0
- 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/runtime/claude/capability-mapper.d.ts +84 -0
- package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
- package/dist/services/runtime/claude/capability-mapper.js +245 -0
- package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
- package/dist/services/runtime/claude/claude-adapter.js +287 -0
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
- package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
- package/dist/services/runtime/claude/manifest-parser.js +169 -0
- package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
- package/dist/services/runtime/claude/types.d.ts +115 -0
- package/dist/services/runtime/claude/types.d.ts.map +1 -0
- package/dist/services/runtime/claude/types.js +6 -0
- package/dist/services/runtime/claude/types.js.map +1 -0
- package/dist/services/validation.service.d.ts.map +1 -1
- package/dist/services/validation.service.js +12 -1
- package/dist/services/validation.service.js.map +1 -1
- package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
- package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
- package/dist/spec/v0.2.6/README.md +72 -0
- package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
- package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/dist/spec/v0.2.6-dev/README.md +75 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
- package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- 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/dist/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
- package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/dist/types/index.d.ts +3 -2
- package/dist/types/index.d.ts.map +1 -1
- 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/brand-guide/01-brand-overview.md +37 -0
- package/docs/brand-guide/02-logo-usage.md +43 -0
- package/docs/brand-guide/03-color-palette.md +70 -0
- package/docs/brand-guide/04-typography.md +82 -0
- package/docs/brand-guide/05-voice-and-tone.md +108 -0
- package/docs/brand-guide/06-visual-elements.md +137 -0
- package/docs/brand-guide/07-application-examples.md +153 -0
- package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
- package/docs/brand-guide/OssaLogo/brand.af +0 -0
- package/docs/brand-guide/README.md +107 -0
- package/docs/comparison.md +315 -0
- package/docs/operations/automation-roadmap.md +245 -0
- package/docs/operations/github-sync-strategy.md +357 -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/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/anthropic/claude-assistant.ossa.json +5 -4
- package/examples/autogen/multi-agent.ossa.json +6 -4
- 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 +14 -5
- package/examples/cursor/code-review-agent.ossa.json +21 -6
- 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/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 +21 -5
- package/examples/langflow/workflow-agent.ossa.json +2 -3
- package/examples/langgraph/state-machine-agent.ossa.json +2 -3
- package/examples/llamaindex/rag-agent.ossa.json +2 -3
- 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 +33 -10
- package/examples/openai/swarm-agent.ossa.json +18 -5
- 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 +5 -4
- 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/openapi/github-sync.yaml +115 -0
- package/package.json +26 -4
- package/scripts/README.md +103 -0
- package/scripts/auto-rebase-mrs.ts +106 -0
- package/scripts/batch-dependabot.sh +57 -0
- package/scripts/configure-gitlab-branch-protection.ts +95 -0
- package/scripts/create-issue-helper.ts +238 -0
- package/scripts/create-milestone-issue.ts +73 -0
- package/scripts/eslint-to-codequality.cjs +34 -0
- package/scripts/fix-schema-formats.js +82 -0
- package/scripts/generate-agents-catalog.ts +77 -0
- package/scripts/generate-api-docs.ts +218 -0
- package/scripts/generate-cli-docs.ts +410 -0
- package/scripts/generate-config-docs.ts +109 -0
- package/scripts/generate-errors-docs.ts +76 -0
- package/scripts/generate-examples-docs.ts +99 -0
- package/scripts/generate-llms-ctx.sh +17 -0
- package/scripts/generate-schema-docs.ts +317 -0
- package/scripts/generate-types-docs.ts +48 -0
- package/scripts/lowercase-docs.ts +43 -0
- package/scripts/manage-milestone-mrs.ts +279 -0
- package/scripts/rebase-all-mrs.sh +75 -0
- package/scripts/sync-github-pr.sh +48 -0
- package/scripts/sync-version.js +32 -0
- package/scripts/sync-wiki.sh +50 -0
- package/scripts/validate-all.js +127 -0
- package/scripts/validate-schema.ts +2 -1
- package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
- package/spec/v0.2.6/CHANGELOG.md +401 -0
- package/spec/v0.2.6/README.md +72 -0
- package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
- package/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
- package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
- package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
- package/spec/v0.2.6-dev/README.md +75 -0
- package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
- package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
- package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
- package/spec/v0.2.7/core/agentgraph.md +324 -0
- package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
- 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.8/ossa-0.2.8.schema.json +3153 -0
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/test-results/junit.xml +299 -0
- package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
- package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
- package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
- package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
- package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
- package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- package/docs/issue-19-completion-summary.md +0 -648
- package/docs/issue-19-validation.md +0 -351
- 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/Dockerfile +0 -30
- package/website/app/about/page.tsx +0 -295
- 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 -375
- package/website/app/examples/page.tsx +0 -133
- package/website/app/globals.scss +0 -135
- 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 -474
- 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 -168
- package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
- package/website/components/schema/SchemaExplorer.tsx +0 -213
- 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/AIFlow-Framework-Integration-with-OSSA.md +0 -107
- package/website/content/docs/Examples.md +0 -71
- package/website/content/docs/OpenAPI-Extensions.md +0 -934
- package/website/content/docs/adapters/openai-adapter.md +0 -693
- 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/contributing.md +0 -599
- package/website/content/docs/core-concepts/Project-Structure.md +0 -348
- package/website/content/docs/ecosystem/framework-support.md +0 -819
- package/website/content/docs/ecosystem/overview.md +0 -366
- package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +0 -107
- package/website/content/docs/examples/Migration-Guides.md +0 -214
- package/website/content/docs/for-audiences/Architects.md +0 -224
- package/website/content/docs/for-audiences/Developers.md +0 -220
- package/website/content/docs/for-audiences/Enterprises.md +0 -256
- package/website/content/docs/for-audiences/Students-Researchers.md +0 -122
- package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
- package/website/content/docs/getting-started/First-Agent.md +0 -196
- package/website/content/docs/getting-started/Hello-World.md +0 -184
- package/website/content/docs/getting-started/Installation.md +0 -155
- package/website/content/docs/getting-started/index.md +0 -92
- 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/00-INDEX.md +0 -76
- package/website/content/docs/migration-guides/README.md +0 -133
- 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/schema-reference/agent-spec.md +0 -406
- 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 -176
- 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/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/lib/version.ts +0 -35
- package/website/lib/versions.json +0 -78
- 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/_variables.scss +0 -36
- package/website/tailwind.config.ts +0 -136
- /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
- /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
|
@@ -1,819 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Framework Support
|
|
3
|
-
description: Detailed framework compatibility guide including migration paths, examples, and integration patterns for OSSA-compatible frameworks
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Framework Support
|
|
7
|
-
|
|
8
|
-
This guide provides detailed information about OSSA compatibility with popular AI agent frameworks, including migration guides, examples, and best practices for each integration.
|
|
9
|
-
|
|
10
|
-
## Support Matrix
|
|
11
|
-
|
|
12
|
-
| Framework | Status | OSSA Version | Migration Complexity | Documentation |
|
|
13
|
-
|-----------|--------|--------------|---------------------|---------------|
|
|
14
|
-
| kAgent | ✅ Native | 1.0.0+ | N/A (Native) | [Docs](#kagent) |
|
|
15
|
-
| LangChain | ✅ Supported | 1.0.0+ | Low | [Docs](#langchain) |
|
|
16
|
-
| CrewAI | ✅ Supported | 1.0.0+ | Medium | [Docs](#crewai) |
|
|
17
|
-
| Anthropic MCP | ✅ Supported | 1.0.0+ | Low | [Docs](#anthropic-mcp) |
|
|
18
|
-
| Langflow | ✅ Supported | 1.0.0+ | Low | [Docs](#langflow) |
|
|
19
|
-
| Drupal ECA | ✅ Supported | 1.0.0+ | Medium | [Docs](#drupal-eca) |
|
|
20
|
-
| OpenAI Assistants | ✅ Supported | 1.0.0+ | Medium | [Docs](#openai-assistants) |
|
|
21
|
-
|
|
22
|
-
**Legend:**
|
|
23
|
-
- ✅ **Native**: Built on OSSA from the ground up
|
|
24
|
-
- ✅ **Supported**: Full integration with adapter/bridge
|
|
25
|
-
- 🔄 **Planned**: Integration in progress
|
|
26
|
-
- ⚠️ **Beta**: Experimental support available
|
|
27
|
-
- ❌ **Not Supported**: No current integration plans
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## kAgent {#kagent}
|
|
32
|
-
|
|
33
|
-
### Overview
|
|
34
|
-
|
|
35
|
-
**kAgent** is a native OSSA implementation, designed from the ground up to follow the Open Standard Agents specification. It serves as the reference implementation and demonstrates best practices for OSSA-compliant agent development.
|
|
36
|
-
|
|
37
|
-
### Key Features
|
|
38
|
-
|
|
39
|
-
- **Native OSSA Manifests**: No conversion needed - manifests are OSSA JSON/YAML
|
|
40
|
-
- **Full Specification Coverage**: Implements 100% of OSSA spec
|
|
41
|
-
- **TypeScript First**: Modern TypeScript with full type safety
|
|
42
|
-
- **MCP Integration**: Built-in Model Context Protocol support
|
|
43
|
-
- **Zero Dependencies**: Minimal runtime footprint
|
|
44
|
-
|
|
45
|
-
### Installation
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
npm install @bluefly/openstandardagents
|
|
49
|
-
# or
|
|
50
|
-
pnpm add @bluefly/openstandardagents
|
|
51
|
-
# or
|
|
52
|
-
yarn add @bluefly/openstandardagents
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Quick Start
|
|
56
|
-
|
|
57
|
-
```typescript
|
|
58
|
-
import { OSSAAgent, OSSAManifest } from '@bluefly/openstandardagents';
|
|
59
|
-
|
|
60
|
-
// Load manifest
|
|
61
|
-
const manifest: OSSAManifest = {
|
|
62
|
-
ossa: '1.0.0',
|
|
63
|
-
name: 'research-assistant',
|
|
64
|
-
version: '1.0.0',
|
|
65
|
-
description: 'AI research assistant',
|
|
66
|
-
type: 'worker',
|
|
67
|
-
capabilities: {
|
|
68
|
-
tools: ['web-search', 'summarize'],
|
|
69
|
-
llm: {
|
|
70
|
-
provider: 'anthropic',
|
|
71
|
-
model: 'claude-3-5-sonnet-20241022',
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
// Create agent
|
|
77
|
-
const agent = new OSSAAgent(manifest);
|
|
78
|
-
|
|
79
|
-
// Execute task
|
|
80
|
-
const result = await agent.execute({
|
|
81
|
-
task: 'Research the latest developments in quantum computing',
|
|
82
|
-
context: {},
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
console.log(result);
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Example Manifest
|
|
89
|
-
|
|
90
|
-
```json
|
|
91
|
-
{
|
|
92
|
-
"ossa": "1.0.0",
|
|
93
|
-
"name": "data-analyst",
|
|
94
|
-
"version": "1.2.0",
|
|
95
|
-
"description": "Data analysis and visualization agent",
|
|
96
|
-
"type": "worker",
|
|
97
|
-
"author": {
|
|
98
|
-
"name": "OSSA Team",
|
|
99
|
-
"email": "team@openstandardagents.org"
|
|
100
|
-
},
|
|
101
|
-
"capabilities": {
|
|
102
|
-
"tools": [
|
|
103
|
-
{
|
|
104
|
-
"name": "query-database",
|
|
105
|
-
"type": "function",
|
|
106
|
-
"description": "Query PostgreSQL database",
|
|
107
|
-
"parameters": {
|
|
108
|
-
"type": "object",
|
|
109
|
-
"properties": {
|
|
110
|
-
"query": { "type": "string" }
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
"name": "create-chart",
|
|
116
|
-
"type": "mcp",
|
|
117
|
-
"server": "visualization-mcp"
|
|
118
|
-
}
|
|
119
|
-
],
|
|
120
|
-
"llm": {
|
|
121
|
-
"provider": "anthropic",
|
|
122
|
-
"model": "claude-3-5-sonnet-20241022",
|
|
123
|
-
"temperature": 0.7
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
"runtime": {
|
|
127
|
-
"environment": "node",
|
|
128
|
-
"version": ">=18.0.0"
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Documentation
|
|
134
|
-
|
|
135
|
-
- **Repository**: [github.com/blueflyio/kagent](https://github.com/blueflyio/kagent)
|
|
136
|
-
- **API Reference**: [docs.openstandardagents.org/kagent/api](https://openstandardagents.org/docs/kagent/api)
|
|
137
|
-
- **Examples**: [examples/kagent/](https://github.com/blueflyio/openstandardagents/tree/main/examples/kagent)
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## LangChain {#langchain}
|
|
142
|
-
|
|
143
|
-
### Overview
|
|
144
|
-
|
|
145
|
-
**LangChain** is one of the most popular AI agent frameworks. OSSA provides a bidirectional bridge for converting LangChain agents to/from OSSA manifests.
|
|
146
|
-
|
|
147
|
-
### Migration Complexity
|
|
148
|
-
|
|
149
|
-
**Low** - LangChain's chain-based architecture maps cleanly to OSSA's tool and capability model.
|
|
150
|
-
|
|
151
|
-
### Installation
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
npm install @ossa/langchain langchain
|
|
155
|
-
# or
|
|
156
|
-
pip install ossa-langchain langchain
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
### Converting LangChain to OSSA
|
|
160
|
-
|
|
161
|
-
```typescript
|
|
162
|
-
import { LangChainToOSSA } from '@ossa/langchain';
|
|
163
|
-
import { ChatAnthropic } from '@langchain/anthropic';
|
|
164
|
-
import { DuckDuckGoSearch } from '@langchain/community/tools/duckduckgo_search';
|
|
165
|
-
|
|
166
|
-
// Create LangChain agent
|
|
167
|
-
const llm = new ChatAnthropic({
|
|
168
|
-
model: 'claude-3-5-sonnet-20241022',
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
const tools = [new DuckDuckGoSearch()];
|
|
172
|
-
|
|
173
|
-
// Convert to OSSA
|
|
174
|
-
const converter = new LangChainToOSSA();
|
|
175
|
-
const manifest = await converter.convert({
|
|
176
|
-
llm,
|
|
177
|
-
tools,
|
|
178
|
-
name: 'research-agent',
|
|
179
|
-
description: 'Web research assistant',
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
// Save manifest
|
|
183
|
-
await manifest.save('research-agent.json');
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### Converting OSSA to LangChain
|
|
187
|
-
|
|
188
|
-
```typescript
|
|
189
|
-
import { OSSAToLangChain } from '@ossa/langchain';
|
|
190
|
-
import { OSSAManifest } from '@ossa/core';
|
|
191
|
-
|
|
192
|
-
// Load OSSA manifest
|
|
193
|
-
const manifest = await OSSAManifest.load('research-agent.json');
|
|
194
|
-
|
|
195
|
-
// Convert to LangChain
|
|
196
|
-
const converter = new OSSAToLangChain();
|
|
197
|
-
const agent = await converter.convert(manifest);
|
|
198
|
-
|
|
199
|
-
// Use LangChain agent
|
|
200
|
-
const result = await agent.invoke({
|
|
201
|
-
input: 'What are the latest AI research papers?',
|
|
202
|
-
});
|
|
203
|
-
|
|
204
|
-
console.log(result);
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
### Python Example
|
|
208
|
-
|
|
209
|
-
```python
|
|
210
|
-
from ossa_langchain import LangChainToOSSA, OSSAToLangChain
|
|
211
|
-
from langchain_anthropic import ChatAnthropic
|
|
212
|
-
from langchain.agents import initialize_agent, AgentType
|
|
213
|
-
from langchain.tools import DuckDuckGoSearchRun
|
|
214
|
-
|
|
215
|
-
# Create LangChain agent
|
|
216
|
-
llm = ChatAnthropic(model="claude-3-5-sonnet-20241022")
|
|
217
|
-
tools = [DuckDuckGoSearchRun()]
|
|
218
|
-
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)
|
|
219
|
-
|
|
220
|
-
# Convert to OSSA
|
|
221
|
-
converter = LangChainToOSSA()
|
|
222
|
-
manifest = converter.convert(agent, name="research-agent")
|
|
223
|
-
manifest.save("research-agent.json")
|
|
224
|
-
|
|
225
|
-
# Later: Convert back to LangChain
|
|
226
|
-
manifest = OSSAManifest.load("research-agent.json")
|
|
227
|
-
converter = OSSAToLangChain()
|
|
228
|
-
agent = converter.convert(manifest)
|
|
229
|
-
result = agent.invoke("What are the latest AI research papers?")
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### Example Manifest
|
|
233
|
-
|
|
234
|
-
See [examples/langchain/](https://github.com/blueflyio/openstandardagents/tree/main/examples/langchain) for complete examples.
|
|
235
|
-
|
|
236
|
-
### Documentation
|
|
237
|
-
|
|
238
|
-
- **Integration Guide**: [docs.openstandardagents.org/langchain](https://openstandardagents.org/docs/langchain)
|
|
239
|
-
- **LangChain Docs**: [python.langchain.com](https://python.langchain.com)
|
|
240
|
-
|
|
241
|
-
---
|
|
242
|
-
|
|
243
|
-
## CrewAI {#crewai}
|
|
244
|
-
|
|
245
|
-
### Overview
|
|
246
|
-
|
|
247
|
-
**CrewAI** specializes in multi-agent coordination. OSSA supports CrewAI crews with agent orchestration and inter-agent communication.
|
|
248
|
-
|
|
249
|
-
### Migration Complexity
|
|
250
|
-
|
|
251
|
-
**Medium** - CrewAI's crew concept requires mapping to OSSA's orchestrator type.
|
|
252
|
-
|
|
253
|
-
### Installation
|
|
254
|
-
|
|
255
|
-
```bash
|
|
256
|
-
pip install ossa-crewai crewai
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
### Converting CrewAI to OSSA
|
|
260
|
-
|
|
261
|
-
```python
|
|
262
|
-
from ossa_crewai import CrewAIToOSSA
|
|
263
|
-
from crewai import Agent, Task, Crew
|
|
264
|
-
|
|
265
|
-
# Define CrewAI agents
|
|
266
|
-
researcher = Agent(
|
|
267
|
-
role='Researcher',
|
|
268
|
-
goal='Research the topic thoroughly',
|
|
269
|
-
backstory='Expert researcher with attention to detail',
|
|
270
|
-
)
|
|
271
|
-
|
|
272
|
-
writer = Agent(
|
|
273
|
-
role='Writer',
|
|
274
|
-
goal='Write engaging content',
|
|
275
|
-
backstory='Professional content writer',
|
|
276
|
-
)
|
|
277
|
-
|
|
278
|
-
# Define tasks
|
|
279
|
-
research_task = Task(
|
|
280
|
-
description='Research quantum computing',
|
|
281
|
-
agent=researcher,
|
|
282
|
-
)
|
|
283
|
-
|
|
284
|
-
write_task = Task(
|
|
285
|
-
description='Write article based on research',
|
|
286
|
-
agent=writer,
|
|
287
|
-
)
|
|
288
|
-
|
|
289
|
-
# Create crew
|
|
290
|
-
crew = Crew(
|
|
291
|
-
agents=[researcher, writer],
|
|
292
|
-
tasks=[research_task, write_task],
|
|
293
|
-
)
|
|
294
|
-
|
|
295
|
-
# Convert to OSSA
|
|
296
|
-
converter = CrewAIToOSSA()
|
|
297
|
-
manifest = converter.convert(crew, name="content-crew")
|
|
298
|
-
manifest.save("content-crew.json")
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
### Converting OSSA to CrewAI
|
|
302
|
-
|
|
303
|
-
```python
|
|
304
|
-
from ossa_crewai import OSSAToCrewAI
|
|
305
|
-
from ossa.core import OSSAManifest
|
|
306
|
-
|
|
307
|
-
# Load OSSA manifest
|
|
308
|
-
manifest = OSSAManifest.load("content-crew.json")
|
|
309
|
-
|
|
310
|
-
# Convert to CrewAI
|
|
311
|
-
converter = OSSAToCrewAI()
|
|
312
|
-
crew = converter.convert(manifest)
|
|
313
|
-
|
|
314
|
-
# Run crew
|
|
315
|
-
result = crew.kickoff()
|
|
316
|
-
print(result)
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
### Example Manifest
|
|
320
|
-
|
|
321
|
-
```json
|
|
322
|
-
{
|
|
323
|
-
"ossa": "1.0.0",
|
|
324
|
-
"name": "content-crew",
|
|
325
|
-
"version": "1.0.0",
|
|
326
|
-
"type": "orchestrator",
|
|
327
|
-
"description": "Multi-agent content creation crew",
|
|
328
|
-
"agents": [
|
|
329
|
-
{
|
|
330
|
-
"id": "researcher",
|
|
331
|
-
"role": "Researcher",
|
|
332
|
-
"goal": "Research the topic thoroughly",
|
|
333
|
-
"backstory": "Expert researcher with attention to detail",
|
|
334
|
-
"tools": ["web-search", "arxiv-search"],
|
|
335
|
-
"llm": {
|
|
336
|
-
"provider": "anthropic",
|
|
337
|
-
"model": "claude-3-5-sonnet-20241022"
|
|
338
|
-
}
|
|
339
|
-
},
|
|
340
|
-
{
|
|
341
|
-
"id": "writer",
|
|
342
|
-
"role": "Writer",
|
|
343
|
-
"goal": "Write engaging content",
|
|
344
|
-
"backstory": "Professional content writer",
|
|
345
|
-
"tools": ["grammar-check", "plagiarism-check"],
|
|
346
|
-
"llm": {
|
|
347
|
-
"provider": "anthropic",
|
|
348
|
-
"model": "claude-3-5-sonnet-20241022"
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
],
|
|
352
|
-
"workflow": {
|
|
353
|
-
"steps": [
|
|
354
|
-
{
|
|
355
|
-
"agent": "researcher",
|
|
356
|
-
"task": "Research the topic",
|
|
357
|
-
"output": "research_findings"
|
|
358
|
-
},
|
|
359
|
-
{
|
|
360
|
-
"agent": "writer",
|
|
361
|
-
"task": "Write article based on research",
|
|
362
|
-
"input": "research_findings",
|
|
363
|
-
"output": "final_article"
|
|
364
|
-
}
|
|
365
|
-
]
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### Documentation
|
|
371
|
-
|
|
372
|
-
- **Integration Guide**: [docs.openstandardagents.org/crewai](https://openstandardagents.org/docs/crewai)
|
|
373
|
-
- **CrewAI Docs**: [docs.crewai.com](https://docs.crewai.com)
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
|
|
377
|
-
## Anthropic MCP {#anthropic-mcp}
|
|
378
|
-
|
|
379
|
-
### Overview
|
|
380
|
-
|
|
381
|
-
**Anthropic's Model Context Protocol (MCP)** provides standardized interfaces for AI model interactions. OSSA has first-class MCP support for Claude and other Anthropic models.
|
|
382
|
-
|
|
383
|
-
### Migration Complexity
|
|
384
|
-
|
|
385
|
-
**Low** - MCP's tool protocol aligns naturally with OSSA's tool capabilities.
|
|
386
|
-
|
|
387
|
-
### Installation
|
|
388
|
-
|
|
389
|
-
```bash
|
|
390
|
-
npm install @ossa/mcp @anthropic-ai/sdk
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
### Using MCP Servers in OSSA
|
|
394
|
-
|
|
395
|
-
```typescript
|
|
396
|
-
import { OSSAAgent } from '@bluefly/openstandardagents';
|
|
397
|
-
import { MCPServerRegistry } from '@ossa/mcp';
|
|
398
|
-
|
|
399
|
-
// Register MCP servers
|
|
400
|
-
const registry = new MCPServerRegistry();
|
|
401
|
-
await registry.register({
|
|
402
|
-
name: 'filesystem',
|
|
403
|
-
transport: 'stdio',
|
|
404
|
-
command: 'npx',
|
|
405
|
-
args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'],
|
|
406
|
-
});
|
|
407
|
-
|
|
408
|
-
// Create OSSA agent with MCP tools
|
|
409
|
-
const manifest = {
|
|
410
|
-
ossa: '1.0.0',
|
|
411
|
-
name: 'file-manager',
|
|
412
|
-
version: '1.0.0',
|
|
413
|
-
type: 'worker',
|
|
414
|
-
capabilities: {
|
|
415
|
-
tools: [
|
|
416
|
-
{
|
|
417
|
-
type: 'mcp',
|
|
418
|
-
server: 'filesystem',
|
|
419
|
-
tools: ['read_file', 'write_file', 'list_directory'],
|
|
420
|
-
},
|
|
421
|
-
],
|
|
422
|
-
llm: {
|
|
423
|
-
provider: 'anthropic',
|
|
424
|
-
model: 'claude-3-5-sonnet-20241022',
|
|
425
|
-
},
|
|
426
|
-
},
|
|
427
|
-
mcp: {
|
|
428
|
-
servers: {
|
|
429
|
-
filesystem: {
|
|
430
|
-
transport: 'stdio',
|
|
431
|
-
command: 'npx',
|
|
432
|
-
args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'],
|
|
433
|
-
},
|
|
434
|
-
},
|
|
435
|
-
},
|
|
436
|
-
};
|
|
437
|
-
|
|
438
|
-
const agent = new OSSAAgent(manifest);
|
|
439
|
-
await agent.execute({ task: 'List all files in the directory' });
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
### Example Manifest
|
|
443
|
-
|
|
444
|
-
```json
|
|
445
|
-
{
|
|
446
|
-
"ossa": "1.0.0",
|
|
447
|
-
"name": "data-processor",
|
|
448
|
-
"version": "1.0.0",
|
|
449
|
-
"type": "worker",
|
|
450
|
-
"capabilities": {
|
|
451
|
-
"tools": [
|
|
452
|
-
{
|
|
453
|
-
"type": "mcp",
|
|
454
|
-
"server": "postgres",
|
|
455
|
-
"tools": ["query", "list_tables"]
|
|
456
|
-
},
|
|
457
|
-
{
|
|
458
|
-
"type": "mcp",
|
|
459
|
-
"server": "redis",
|
|
460
|
-
"tools": ["get", "set", "delete"]
|
|
461
|
-
}
|
|
462
|
-
],
|
|
463
|
-
"llm": {
|
|
464
|
-
"provider": "anthropic",
|
|
465
|
-
"model": "claude-3-5-sonnet-20241022"
|
|
466
|
-
}
|
|
467
|
-
},
|
|
468
|
-
"mcp": {
|
|
469
|
-
"servers": {
|
|
470
|
-
"postgres": {
|
|
471
|
-
"transport": "stdio",
|
|
472
|
-
"command": "mcp-server-postgres",
|
|
473
|
-
"env": {
|
|
474
|
-
"POSTGRES_URL": "${POSTGRES_URL}"
|
|
475
|
-
}
|
|
476
|
-
},
|
|
477
|
-
"redis": {
|
|
478
|
-
"transport": "stdio",
|
|
479
|
-
"command": "mcp-server-redis",
|
|
480
|
-
"env": {
|
|
481
|
-
"REDIS_URL": "${REDIS_URL}"
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
### Documentation
|
|
490
|
-
|
|
491
|
-
- **MCP Specification**: [modelcontextprotocol.io](https://modelcontextprotocol.io)
|
|
492
|
-
- **OSSA MCP Guide**: [docs.openstandardagents.org/mcp](https://openstandardagents.org/docs/mcp)
|
|
493
|
-
|
|
494
|
-
---
|
|
495
|
-
|
|
496
|
-
## Langflow {#langflow}
|
|
497
|
-
|
|
498
|
-
### Overview
|
|
499
|
-
|
|
500
|
-
**Langflow** is a visual flow-based builder for AI agents. OSSA supports exporting Langflow flows as OSSA manifests.
|
|
501
|
-
|
|
502
|
-
### Migration Complexity
|
|
503
|
-
|
|
504
|
-
**Low** - Langflow's visual flows map to OSSA's workflow steps.
|
|
505
|
-
|
|
506
|
-
### Installation
|
|
507
|
-
|
|
508
|
-
```bash
|
|
509
|
-
pip install ossa-langflow langflow
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
### Exporting Langflow to OSSA
|
|
513
|
-
|
|
514
|
-
```python
|
|
515
|
-
from ossa_langflow import LangflowToOSSA
|
|
516
|
-
import json
|
|
517
|
-
|
|
518
|
-
# Load Langflow flow (exported JSON)
|
|
519
|
-
with open('flow.json') as f:
|
|
520
|
-
flow = json.load(f)
|
|
521
|
-
|
|
522
|
-
# Convert to OSSA
|
|
523
|
-
converter = LangflowToOSSA()
|
|
524
|
-
manifest = converter.convert(flow, name="visual-agent")
|
|
525
|
-
manifest.save("visual-agent.json")
|
|
526
|
-
```
|
|
527
|
-
|
|
528
|
-
### Importing OSSA to Langflow
|
|
529
|
-
|
|
530
|
-
```python
|
|
531
|
-
from ossa_langflow import OSSAToLangflow
|
|
532
|
-
from ossa.core import OSSAManifest
|
|
533
|
-
|
|
534
|
-
# Load OSSA manifest
|
|
535
|
-
manifest = OSSAManifest.load("visual-agent.json")
|
|
536
|
-
|
|
537
|
-
# Convert to Langflow
|
|
538
|
-
converter = OSSAToLangflow()
|
|
539
|
-
flow = converter.convert(manifest)
|
|
540
|
-
|
|
541
|
-
# Save Langflow flow
|
|
542
|
-
with open('flow.json', 'w') as f:
|
|
543
|
-
json.dump(flow, f, indent=2)
|
|
544
|
-
```
|
|
545
|
-
|
|
546
|
-
### Documentation
|
|
547
|
-
|
|
548
|
-
- **Langflow Docs**: [docs.langflow.org](https://docs.langflow.org)
|
|
549
|
-
- **OSSA Langflow Guide**: [docs.openstandardagents.org/langflow](https://openstandardagents.org/docs/langflow)
|
|
550
|
-
|
|
551
|
-
---
|
|
552
|
-
|
|
553
|
-
## Drupal ECA {#drupal-eca}
|
|
554
|
-
|
|
555
|
-
### Overview
|
|
556
|
-
|
|
557
|
-
**Drupal ECA (Event-Condition-Action)** is a powerful rule-based automation framework for Drupal. OSSA integrates with ECA to enable AI-powered Drupal workflows.
|
|
558
|
-
|
|
559
|
-
### Migration Complexity
|
|
560
|
-
|
|
561
|
-
**Medium** - Mapping ECA's event-driven model to OSSA requires workflow orchestration.
|
|
562
|
-
|
|
563
|
-
### Installation
|
|
564
|
-
|
|
565
|
-
```bash
|
|
566
|
-
composer require ossa/drupal-eca
|
|
567
|
-
drush pm:enable ossa_eca
|
|
568
|
-
```
|
|
569
|
-
|
|
570
|
-
### Creating OSSA-Enabled ECA Rules
|
|
571
|
-
|
|
572
|
-
```yaml
|
|
573
|
-
# eca_config.yml
|
|
574
|
-
name: Content Moderation Agent
|
|
575
|
-
description: AI-powered content review and moderation
|
|
576
|
-
trigger:
|
|
577
|
-
event: node_presave
|
|
578
|
-
entity_type: node
|
|
579
|
-
bundle: article
|
|
580
|
-
conditions:
|
|
581
|
-
- plugin: entity_field_value
|
|
582
|
-
field: status
|
|
583
|
-
value: draft
|
|
584
|
-
actions:
|
|
585
|
-
- plugin: ossa_agent_execute
|
|
586
|
-
agent_manifest: /path/to/moderator-agent.json
|
|
587
|
-
input:
|
|
588
|
-
title: "[node:title]"
|
|
589
|
-
body: "[node:body:value]"
|
|
590
|
-
output_mapping:
|
|
591
|
-
approved: field_moderation_status
|
|
592
|
-
feedback: field_ai_feedback
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
### OSSA Manifest for Drupal
|
|
596
|
-
|
|
597
|
-
```json
|
|
598
|
-
{
|
|
599
|
-
"ossa": "1.0.0",
|
|
600
|
-
"name": "drupal-content-moderator",
|
|
601
|
-
"version": "1.0.0",
|
|
602
|
-
"type": "worker",
|
|
603
|
-
"description": "AI content moderation for Drupal",
|
|
604
|
-
"capabilities": {
|
|
605
|
-
"tools": [
|
|
606
|
-
{
|
|
607
|
-
"name": "drupal-api",
|
|
608
|
-
"type": "rest",
|
|
609
|
-
"baseUrl": "${DRUPAL_BASE_URL}",
|
|
610
|
-
"auth": {
|
|
611
|
-
"type": "bearer",
|
|
612
|
-
"token": "${DRUPAL_API_TOKEN}"
|
|
613
|
-
}
|
|
614
|
-
},
|
|
615
|
-
{
|
|
616
|
-
"name": "check-guidelines",
|
|
617
|
-
"type": "function",
|
|
618
|
-
"description": "Check content against editorial guidelines"
|
|
619
|
-
}
|
|
620
|
-
],
|
|
621
|
-
"llm": {
|
|
622
|
-
"provider": "anthropic",
|
|
623
|
-
"model": "claude-3-5-sonnet-20241022"
|
|
624
|
-
}
|
|
625
|
-
},
|
|
626
|
-
"runtime": {
|
|
627
|
-
"environment": "php",
|
|
628
|
-
"version": ">=8.1"
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
```
|
|
632
|
-
|
|
633
|
-
### Documentation
|
|
634
|
-
|
|
635
|
-
- **Drupal ECA**: [drupal.org/project/eca](https://drupal.org/project/eca)
|
|
636
|
-
- **OSSA Drupal Guide**: [docs.openstandardagents.org/drupal](https://openstandardagents.org/docs/drupal)
|
|
637
|
-
|
|
638
|
-
---
|
|
639
|
-
|
|
640
|
-
## OpenAI Assistants {#openai-assistants}
|
|
641
|
-
|
|
642
|
-
### Overview
|
|
643
|
-
|
|
644
|
-
**OpenAI Assistants API** provides managed AI assistants with built-in tools. OSSA enables local definitions and deployment flexibility.
|
|
645
|
-
|
|
646
|
-
### Migration Complexity
|
|
647
|
-
|
|
648
|
-
**Medium** - OpenAI's proprietary format requires translation to OSSA standard.
|
|
649
|
-
|
|
650
|
-
### Installation
|
|
651
|
-
|
|
652
|
-
```bash
|
|
653
|
-
npm install @ossa/openai openai
|
|
654
|
-
# or
|
|
655
|
-
pip install ossa-openai openai
|
|
656
|
-
```
|
|
657
|
-
|
|
658
|
-
### Converting OpenAI Assistant to OSSA
|
|
659
|
-
|
|
660
|
-
```typescript
|
|
661
|
-
import { OpenAIToOSSA } from '@ossa/openai';
|
|
662
|
-
import OpenAI from 'openai';
|
|
663
|
-
|
|
664
|
-
const openai = new OpenAI();
|
|
665
|
-
|
|
666
|
-
// Retrieve OpenAI Assistant
|
|
667
|
-
const assistant = await openai.beta.assistants.retrieve('asst_abc123');
|
|
668
|
-
|
|
669
|
-
// Convert to OSSA
|
|
670
|
-
const converter = new OpenAIToOSSA();
|
|
671
|
-
const manifest = converter.convert(assistant);
|
|
672
|
-
|
|
673
|
-
// Save manifest
|
|
674
|
-
await manifest.save('assistant.json');
|
|
675
|
-
```
|
|
676
|
-
|
|
677
|
-
### Converting OSSA to OpenAI Assistant
|
|
678
|
-
|
|
679
|
-
```typescript
|
|
680
|
-
import { OSSAToOpenAI } from '@ossa/openai';
|
|
681
|
-
import { OSSAManifest } from '@ossa/core';
|
|
682
|
-
import OpenAI from 'openai';
|
|
683
|
-
|
|
684
|
-
const openai = new OpenAI();
|
|
685
|
-
|
|
686
|
-
// Load OSSA manifest
|
|
687
|
-
const manifest = await OSSAManifest.load('assistant.json');
|
|
688
|
-
|
|
689
|
-
// Convert to OpenAI Assistant
|
|
690
|
-
const converter = new OSSAToOpenAI();
|
|
691
|
-
const assistantConfig = converter.convert(manifest);
|
|
692
|
-
|
|
693
|
-
// Create OpenAI Assistant
|
|
694
|
-
const assistant = await openai.beta.assistants.create(assistantConfig);
|
|
695
|
-
console.log(`Created assistant: ${assistant.id}`);
|
|
696
|
-
```
|
|
697
|
-
|
|
698
|
-
### Example Manifest
|
|
699
|
-
|
|
700
|
-
```json
|
|
701
|
-
{
|
|
702
|
-
"ossa": "1.0.0",
|
|
703
|
-
"name": "code-reviewer",
|
|
704
|
-
"version": "1.0.0",
|
|
705
|
-
"type": "worker",
|
|
706
|
-
"description": "AI code review assistant",
|
|
707
|
-
"capabilities": {
|
|
708
|
-
"tools": [
|
|
709
|
-
{
|
|
710
|
-
"type": "code_interpreter",
|
|
711
|
-
"enabled": true
|
|
712
|
-
},
|
|
713
|
-
{
|
|
714
|
-
"type": "file_search",
|
|
715
|
-
"enabled": true
|
|
716
|
-
}
|
|
717
|
-
],
|
|
718
|
-
"llm": {
|
|
719
|
-
"provider": "openai",
|
|
720
|
-
"model": "gpt-4-turbo-preview",
|
|
721
|
-
"temperature": 0.7,
|
|
722
|
-
"instructions": "You are an expert code reviewer. Analyze code for best practices, security issues, and performance optimizations."
|
|
723
|
-
}
|
|
724
|
-
},
|
|
725
|
-
"files": {
|
|
726
|
-
"vector_store": "vs_abc123"
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
```
|
|
730
|
-
|
|
731
|
-
### Documentation
|
|
732
|
-
|
|
733
|
-
- **OpenAI Assistants**: [platform.openai.com/docs/assistants](https://platform.openai.com/docs/assistants)
|
|
734
|
-
- **OSSA OpenAI Guide**: [docs.openstandardagents.org/openai](https://openstandardagents.org/docs/openai)
|
|
735
|
-
|
|
736
|
-
---
|
|
737
|
-
|
|
738
|
-
## Framework Comparison
|
|
739
|
-
|
|
740
|
-
| Feature | kAgent | LangChain | CrewAI | MCP | Langflow | Drupal ECA | OpenAI |
|
|
741
|
-
|---------|--------|-----------|--------|-----|----------|------------|--------|
|
|
742
|
-
| OSSA Native | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
|
|
743
|
-
| Multi-Agent | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
744
|
-
| Visual Builder | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
|
|
745
|
-
| TypeScript | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ |
|
|
746
|
-
| Python | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
|
|
747
|
-
| Self-Hosted | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
748
|
-
| Cloud Managed | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
|
|
749
|
-
|
|
750
|
-
---
|
|
751
|
-
|
|
752
|
-
## Migration Strategies
|
|
753
|
-
|
|
754
|
-
### Gradual Migration
|
|
755
|
-
|
|
756
|
-
Adopt OSSA incrementally:
|
|
757
|
-
|
|
758
|
-
1. **Start with new agents**: Build new agents using OSSA
|
|
759
|
-
2. **Convert high-value agents**: Migrate critical agents first
|
|
760
|
-
3. **Maintain compatibility**: Run OSSA and native formats in parallel
|
|
761
|
-
4. **Complete migration**: Fully transition to OSSA
|
|
762
|
-
|
|
763
|
-
### Framework Coexistence
|
|
764
|
-
|
|
765
|
-
Run multiple frameworks simultaneously:
|
|
766
|
-
|
|
767
|
-
```json
|
|
768
|
-
{
|
|
769
|
-
"ossa": "1.0.0",
|
|
770
|
-
"name": "hybrid-system",
|
|
771
|
-
"type": "orchestrator",
|
|
772
|
-
"agents": [
|
|
773
|
-
{ "id": "langchain-agent", "framework": "langchain" },
|
|
774
|
-
{ "id": "crewai-crew", "framework": "crewai" },
|
|
775
|
-
{ "id": "native-agent", "framework": "kagent" }
|
|
776
|
-
]
|
|
777
|
-
}
|
|
778
|
-
```
|
|
779
|
-
|
|
780
|
-
### Testing Strategy
|
|
781
|
-
|
|
782
|
-
Validate migrations:
|
|
783
|
-
|
|
784
|
-
1. **Schema Validation**: Ensure manifest compliance
|
|
785
|
-
2. **Functional Testing**: Verify agent behavior
|
|
786
|
-
3. **Performance Testing**: Compare metrics
|
|
787
|
-
4. **Integration Testing**: Test framework interop
|
|
788
|
-
|
|
789
|
-
---
|
|
790
|
-
|
|
791
|
-
## Support & Resources
|
|
792
|
-
|
|
793
|
-
### Getting Help
|
|
794
|
-
|
|
795
|
-
- **Discord**: [discord.gg/ossa](https://github.com/blueflyio/openstandardagents/discussions) - Real-time community support
|
|
796
|
-
- **GitHub Issues**: [GitHub Issues](https://github.com/blueflyio/openstandardagents/issues) - Bug reports and feature requests
|
|
797
|
-
- **Documentation**: [docs.openstandardagents.org](https://docs.openstandardagents.org) - Comprehensive guides
|
|
798
|
-
|
|
799
|
-
### Contributing
|
|
800
|
-
|
|
801
|
-
Help improve framework integrations:
|
|
802
|
-
|
|
803
|
-
- **Report compatibility issues**
|
|
804
|
-
- **Submit integration PRs**
|
|
805
|
-
- **Share migration experiences**
|
|
806
|
-
- **Contribute examples**
|
|
807
|
-
|
|
808
|
-
### Requesting New Integrations
|
|
809
|
-
|
|
810
|
-
To request support for a new framework:
|
|
811
|
-
|
|
812
|
-
1. **Open GitLab issue** with `integration-request` label
|
|
813
|
-
2. **Provide framework details**: Name, repo, community size
|
|
814
|
-
3. **Describe use case**: Why this integration matters
|
|
815
|
-
4. **Offer to help**: Contribute to integration development
|
|
816
|
-
|
|
817
|
-
---
|
|
818
|
-
|
|
819
|
-
**Next Steps**: Explore [Runtime Deployment](/docs/getting-started/installation) to learn about deploying OSSA agents.
|