@bluefly/openstandardagents 0.2.5-RC → 0.2.7
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/.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/CHANGELOG.md +23 -0
- package/README.md +12 -3
- 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/repositories/schema.repository.d.ts.map +1 -1
- package/dist/repositories/schema.repository.js +15 -10
- 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/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.6/ossa-0.2.6.schema.json +1786 -0
- 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.4/ossa-0.2.4-dev.schema.json → v0.2.6-dev/ossa-0.2.5.schema.json} +9 -9
- package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
- package/{spec/v0.2.4/ossa-0.2.4-dev.schema.json → dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json} +9 -9
- 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/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/examples/anthropic/claude-assistant.ossa.json +5 -4
- package/examples/autogen/multi-agent.ossa.json +6 -4
- package/examples/crewai/research-team.ossa.json +14 -5
- package/examples/cursor/code-review-agent.ossa.json +21 -6
- 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/openai/multi-tool-agent.ossa.json +32 -9
- package/examples/openai/swarm-agent.ossa.json +18 -5
- package/examples/vercel/edge-agent.ossa.json +5 -4
- package/openapi/github-sync.yaml +115 -0
- package/package.json +25 -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/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-schema-docs.ts +296 -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 +40 -0
- package/scripts/sync-wiki.sh +50 -0
- package/scripts/validate-all.js +127 -0
- 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.6/ossa-0.2.6.schema.json +1786 -0
- 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.schema.json +1696 -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.schema.json +1696 -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/website/DESIGN_SYSTEM_IMPLEMENTATION.md +445 -0
- package/website/app/about/page.tsx +53 -44
- package/website/app/ecosystem/page.tsx +146 -111
- package/website/app/globals.scss +256 -21
- package/website/app/page.tsx +394 -182
- package/website/app/page.tsx.bak +679 -0
- package/website/app/page.tsx.bak2 +649 -0
- package/website/app/schema/page.tsx +3 -3
- package/website/app/specification/page.tsx +1 -1
- package/website/components/layout/Header.tsx +27 -23
- package/website/components/ui/Badge.tsx +82 -0
- package/website/components/ui/Button.tsx +116 -0
- package/website/components/ui/Card.tsx +167 -0
- package/website/components/ui/Checkbox.tsx +141 -0
- package/website/components/ui/Input.tsx +169 -0
- package/website/components/ui/Radio.tsx +141 -0
- package/website/components/ui/Select.tsx +182 -0
- package/website/components/ui/Tag.tsx +158 -0
- package/website/components/ui/Textarea.tsx +195 -0
- package/website/components/ui/index.ts +11 -0
- package/website/content/docs/{00-HOME.md → 00-home.md} +1 -1
- package/website/content/docs/agents/catalog.md +28 -0
- package/website/content/docs/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
- package/website/content/docs/api-reference/index.md +38 -0
- package/website/content/docs/api-reference/ossa-core-api.md +634 -0
- package/website/content/docs/api-reference/ossa-registry-api.md +515 -0
- package/website/content/docs/api-reference/unified-agent-gateway.md +599 -0
- package/website/content/docs/cli-reference/index.md +111 -0
- package/website/content/docs/cli-reference/ossa-agents.md +70 -0
- package/website/content/docs/cli-reference/ossa-export.md +56 -0
- package/website/content/docs/cli-reference/ossa-generate.md +66 -0
- package/website/content/docs/cli-reference/ossa-gitlab-agent.md +57 -0
- package/website/content/docs/cli-reference/ossa-import.md +56 -0
- package/website/content/docs/cli-reference/ossa-init.md +57 -0
- package/website/content/docs/cli-reference/ossa-migrate.md +62 -0
- package/website/content/docs/cli-reference/ossa-run.md +66 -0
- package/website/content/docs/cli-reference/ossa-schema.md +57 -0
- package/website/content/docs/cli-reference/ossa-setup.md +57 -0
- package/website/content/docs/cli-reference/ossa-validate.md +66 -0
- package/website/content/docs/configuration/index.md +97 -0
- package/website/content/docs/deployment/github-mirroring.md +924 -0
- package/website/content/docs/documentation.md +100 -0
- package/website/content/docs/ecosystem/framework-support.md +551 -9
- package/website/content/docs/errors/index.md +10 -0
- package/website/content/docs/examples/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
- package/website/content/docs/examples/catalog.md +300 -0
- package/website/content/docs/for-audiences/{Students-Researchers.md → students-researchers.md} +1 -1
- package/website/content/docs/getting-started/{Installation.md → installation.md} +1 -1
- package/website/content/docs/getting-started.md +1 -1
- package/website/content/docs/integrations/aiflow.md +2 -2
- package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
- package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
- package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +7 -7
- package/website/content/docs/migration-guides/langchain-to-ossa.md +4 -4
- package/website/content/docs/openapi-extensions/index.md +1 -1
- package/website/content/docs/ossa-compliant-badge.md +1 -1
- package/website/content/docs/pre-release/index.md +5 -5
- package/website/content/docs/releases/v0.2.6.md +99 -0
- package/website/content/docs/schema-reference/agent-capabilities.md +50 -0
- package/website/content/docs/schema-reference/agent-id.md +52 -0
- package/website/content/docs/schema-reference/agent-name.md +50 -0
- package/website/content/docs/schema-reference/agent-role.md +54 -0
- package/website/content/docs/schema-reference/agent-version.md +50 -0
- package/website/content/docs/schema-reference/index.md +26 -157
- package/website/content/docs/types-reference/index.md +105 -0
- package/website/content/docs/versioning.md +3 -3
- package/website/dev.sh +53 -0
- package/website/docker-compose.dev.yml +36 -0
- package/website/lib/version.ts +1 -1
- package/website/lib/versions.json +45 -20
- package/website/package.json +1 -1
- package/website/styles/_spacing.scss +453 -0
- package/website/styles/_tokens.scss +245 -0
- package/website/styles/_typography.scss +361 -0
- package/website/styles/_variables.scss +270 -19
- package/website/tailwind.config.ts +113 -79
- 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/docs/issue-19-completion-summary.md +0 -648
- package/docs/issue-19-validation.md +0 -351
- package/website/content/docs/Examples.md +0 -71
- package/website/content/docs/OpenAPI-Extensions.md +0 -934
- package/website/content/docs/core-concepts/Project-Structure.md +0 -348
- 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/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/migration-guides/00-INDEX.md +0 -76
- package/website/content/docs/migration-guides/README.md +0 -133
- /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
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Documentation
|
|
3
|
+
description: Complete OSSA documentation with auto-generated API, CLI, and schema references
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OSSA Documentation
|
|
7
|
+
|
|
8
|
+
Welcome to the complete OSSA documentation. All reference documentation is **auto-generated** from source code and specifications.
|
|
9
|
+
|
|
10
|
+
## 📚 Documentation Sections
|
|
11
|
+
|
|
12
|
+
### [CLI Reference](/docs/cli-reference)
|
|
13
|
+
Complete reference for all OSSA CLI commands with examples.
|
|
14
|
+
|
|
15
|
+
**11 Commands Documented:**
|
|
16
|
+
- [ossa validate](/docs/cli-reference/ossa-validate) - Validate agent manifests
|
|
17
|
+
- [ossa generate](/docs/cli-reference/ossa-generate) - Generate agent templates
|
|
18
|
+
- [ossa run](/docs/cli-reference/ossa-run) - Run agents locally
|
|
19
|
+
- [ossa migrate](/docs/cli-reference/ossa-migrate) - Migrate between versions
|
|
20
|
+
- [ossa init](/docs/cli-reference/ossa-init) - Initialize projects
|
|
21
|
+
- [ossa setup](/docs/cli-reference/ossa-setup) - Setup environment
|
|
22
|
+
- [ossa export](/docs/cli-reference/ossa-export) - Export manifests
|
|
23
|
+
- [ossa import](/docs/cli-reference/ossa-import) - Import from frameworks
|
|
24
|
+
- [ossa schema](/docs/cli-reference/ossa-schema) - View schemas
|
|
25
|
+
- [ossa gitlab-agent](/docs/cli-reference/ossa-gitlab-agent) - GitLab integration
|
|
26
|
+
- [ossa agents](/docs/cli-reference/ossa-agents) - Manage agents
|
|
27
|
+
|
|
28
|
+
### [API Reference](/docs/api-reference)
|
|
29
|
+
Complete REST API documentation with endpoints, examples, and authentication.
|
|
30
|
+
|
|
31
|
+
**4 Core APIs Documented:**
|
|
32
|
+
- [OSSA Core API](/docs/api-reference/ossa-core-api) - Agent management
|
|
33
|
+
- [OSSA Registry API](/docs/api-reference/ossa-registry-api) - Agent registry
|
|
34
|
+
- [Unified Agent Gateway](/docs/api-reference/unified-agent-gateway) - Gateway API
|
|
35
|
+
|
|
36
|
+
### [Schema Reference](/docs/schema-reference)
|
|
37
|
+
Complete schema documentation explaining why, how, and where to use each field.
|
|
38
|
+
|
|
39
|
+
**Key Fields Documented:**
|
|
40
|
+
- [agent.id](/docs/schema-reference/agent-id) - Unique identifier
|
|
41
|
+
- [agent.name](/docs/schema-reference/agent-name) - Human-readable name
|
|
42
|
+
- [agent.version](/docs/schema-reference/agent-version) - Semantic version
|
|
43
|
+
- [agent.role](/docs/schema-reference/agent-role) - Agent classification
|
|
44
|
+
- [agent.capabilities](/docs/schema-reference/agent-capabilities) - What agents can do
|
|
45
|
+
|
|
46
|
+
## 🚀 Quick Start
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Install OSSA CLI
|
|
50
|
+
npm install -g @bluefly/openstandardagents
|
|
51
|
+
|
|
52
|
+
# Validate an agent
|
|
53
|
+
ossa validate agent.ossa.yaml
|
|
54
|
+
|
|
55
|
+
# Generate a new agent
|
|
56
|
+
ossa generate worker --name "My Agent"
|
|
57
|
+
|
|
58
|
+
# Run an agent locally
|
|
59
|
+
ossa run agent.ossa.yaml
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 🤖 Auto-Generated Documentation
|
|
63
|
+
|
|
64
|
+
All reference documentation is automatically generated from:
|
|
65
|
+
- **CLI Docs**: Generated from `src/cli/commands/*.ts`
|
|
66
|
+
- **API Docs**: Generated from `openapi/core/*.yaml`
|
|
67
|
+
- **Schema Docs**: Generated from `spec/v*/ossa-*.schema.json`
|
|
68
|
+
|
|
69
|
+
Documentation stays in sync with code through:
|
|
70
|
+
- GitLab CI/CD pipeline
|
|
71
|
+
- Documentation agent (OSSA-compliant)
|
|
72
|
+
- Automated validation and deployment
|
|
73
|
+
|
|
74
|
+
## 📖 Additional Resources
|
|
75
|
+
|
|
76
|
+
- [Getting Started](/docs/getting-started) - Quick start guide
|
|
77
|
+
- [Architecture](/docs/architecture) - System architecture
|
|
78
|
+
- [Migration Guides](/docs/migration-guides) - Framework migrations
|
|
79
|
+
- [Examples](/docs/examples) - Real-world examples
|
|
80
|
+
|
|
81
|
+
## 🔄 Documentation Updates
|
|
82
|
+
|
|
83
|
+
Documentation is automatically updated when:
|
|
84
|
+
- OpenAPI specifications change
|
|
85
|
+
- CLI commands are modified
|
|
86
|
+
- JSON Schema is updated
|
|
87
|
+
|
|
88
|
+
**Last Generated**: {new Date().toISOString()}
|
|
89
|
+
|
|
90
|
+
## 💡 Contributing to Documentation
|
|
91
|
+
|
|
92
|
+
See our [Documentation Implementation Guide](https://github.com/blueflyio/openstandardagents/blob/main/DOCUMENTATION_IMPLEMENTATION_GUIDE.md) for:
|
|
93
|
+
- Documentation standards
|
|
94
|
+
- Template usage
|
|
95
|
+
- Automation setup
|
|
96
|
+
- Contributing guidelines
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
**Questions?** Open an issue on [GitLab](https://gitlab.com/blueflyio/openstandardagents/-/issues) with the `documentation` label.
|
|
@@ -7,17 +7,92 @@ description: Detailed framework compatibility guide including migration paths, e
|
|
|
7
7
|
|
|
8
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
9
|
|
|
10
|
+
## How OSSA Works
|
|
11
|
+
|
|
12
|
+
OSSA acts as a **translation layer** between your agent definitions and framework-specific implementations. It doesn't replace frameworks—it standardizes how agents are defined, enabling portability across different execution environments.
|
|
13
|
+
|
|
14
|
+
### Architecture Overview
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
18
|
+
│ OSSA Manifest (JSON/YAML) │
|
|
19
|
+
│ ┌──────────────────────────────────────────────────────┐ │
|
|
20
|
+
│ │ { │ │
|
|
21
|
+
│ │ "ossa": "1.0.0", │ │
|
|
22
|
+
│ │ "name": "research-agent", │ │
|
|
23
|
+
│ │ "capabilities": { "tools": [...], "llm": {...} } │ │
|
|
24
|
+
│ │ } │ │
|
|
25
|
+
│ └──────────────────────────────────────────────────────┘ │
|
|
26
|
+
└────────────────────────┬────────────────────────────────────┘
|
|
27
|
+
│
|
|
28
|
+
▼
|
|
29
|
+
┌───────────────────────────────┐
|
|
30
|
+
│ OSSA Runtime / Adapter │
|
|
31
|
+
│ (Validates & Translates) │
|
|
32
|
+
└───────────────┬───────────────┘
|
|
33
|
+
│
|
|
34
|
+
┌────────────────┼────────────────┐
|
|
35
|
+
│ │ │
|
|
36
|
+
▼ ▼ ▼
|
|
37
|
+
┌─────────┐ ┌──────────┐ ┌──────────┐
|
|
38
|
+
│LangChain│ │ CrewAI │ │ AutoGen │
|
|
39
|
+
└────┬────┘ └─────┬────┘ └─────┬────┘
|
|
40
|
+
│ │ │
|
|
41
|
+
└────────────────┼────────────────┘
|
|
42
|
+
│
|
|
43
|
+
▼
|
|
44
|
+
┌──────────────────┐
|
|
45
|
+
│ LLM Provider │
|
|
46
|
+
│ (OpenAI/Anthropic)│
|
|
47
|
+
└──────────────────┘
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Data Flow
|
|
51
|
+
|
|
52
|
+
**1. Manifest Loading**
|
|
53
|
+
```
|
|
54
|
+
OSSA Manifest → Schema Validation → Parsed Configuration
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**2. Runtime Translation**
|
|
58
|
+
```
|
|
59
|
+
OSSA Config → Framework Adapter → Native Framework Objects
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**3. Execution**
|
|
63
|
+
```
|
|
64
|
+
User Input → Agent Execution → Tool Calls → LLM Responses → Output
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**4. Response Flow**
|
|
68
|
+
```
|
|
69
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
70
|
+
│ User │────▶│ OSSA │────▶│Framework │────▶│ LLM │
|
|
71
|
+
│ Input │ │ Agent │ │ Runtime │ │ Provider │
|
|
72
|
+
└──────────┘ └──────────┘ └──────────┘ └──────────┘
|
|
73
|
+
▲ │
|
|
74
|
+
│ │
|
|
75
|
+
└─────────────────────────────────────────────────────┘
|
|
76
|
+
Formatted Response
|
|
77
|
+
```
|
|
78
|
+
|
|
10
79
|
## Support Matrix
|
|
11
80
|
|
|
12
81
|
| Framework | Status | OSSA Version | Migration Complexity | Documentation |
|
|
13
82
|
|-----------|--------|--------------|---------------------|---------------|
|
|
14
83
|
| kAgent | ✅ Native | 1.0.0+ | N/A (Native) | [Docs](#kagent) |
|
|
15
84
|
| LangChain | ✅ Supported | 1.0.0+ | Low | [Docs](#langchain) |
|
|
85
|
+
| LangGraph | ✅ Supported | 1.0.0+ | Low | [Docs](#langgraph) |
|
|
16
86
|
| CrewAI | ✅ Supported | 1.0.0+ | Medium | [Docs](#crewai) |
|
|
87
|
+
| AutoGen | ✅ Supported | 1.0.0+ | Medium | [Docs](#autogen) |
|
|
88
|
+
| Semantic Kernel | ✅ Supported | 1.0.0+ | Medium | [Docs](#semantic-kernel) |
|
|
17
89
|
| Anthropic MCP | ✅ Supported | 1.0.0+ | Low | [Docs](#anthropic-mcp) |
|
|
18
90
|
| Langflow | ✅ Supported | 1.0.0+ | Low | [Docs](#langflow) |
|
|
91
|
+
| LlamaIndex | ✅ Supported | 1.0.0+ | Low | [Docs](#llamaindex) |
|
|
92
|
+
| Haystack | 🔄 Planned | 1.1.0+ | Medium | Coming Soon |
|
|
19
93
|
| Drupal ECA | ✅ Supported | 1.0.0+ | Medium | [Docs](#drupal-eca) |
|
|
20
94
|
| OpenAI Assistants | ✅ Supported | 1.0.0+ | Medium | [Docs](#openai-assistants) |
|
|
95
|
+
| Vercel AI SDK | 🔄 Planned | 1.1.0+ | Low | Coming Soon |
|
|
21
96
|
|
|
22
97
|
**Legend:**
|
|
23
98
|
- ✅ **Native**: Built on OSSA from the ground up
|
|
@@ -26,6 +101,14 @@ This guide provides detailed information about OSSA compatibility with popular A
|
|
|
26
101
|
- ⚠️ **Beta**: Experimental support available
|
|
27
102
|
- ❌ **Not Supported**: No current integration plans
|
|
28
103
|
|
|
104
|
+
### What "Supported" Means
|
|
105
|
+
|
|
106
|
+
**Bidirectional Conversion**: Convert to/from OSSA manifests
|
|
107
|
+
**Runtime Compatibility**: Execute OSSA manifests natively
|
|
108
|
+
**Tool Mapping**: Framework tools map to OSSA tool definitions
|
|
109
|
+
**LLM Configuration**: Framework LLM settings translate to OSSA capabilities
|
|
110
|
+
**Workflow Preservation**: Multi-step workflows maintain structure
|
|
111
|
+
|
|
29
112
|
---
|
|
30
113
|
|
|
31
114
|
## kAgent {#kagent}
|
|
@@ -240,6 +323,371 @@ See [examples/langchain/](https://github.com/blueflyio/openstandardagents/tree/m
|
|
|
240
323
|
|
|
241
324
|
---
|
|
242
325
|
|
|
326
|
+
## LangGraph {#langgraph}
|
|
327
|
+
|
|
328
|
+
### Overview
|
|
329
|
+
|
|
330
|
+
**LangGraph** is LangChain's framework for building stateful, multi-actor applications with LLMs. OSSA supports LangGraph's graph-based workflows with state management.
|
|
331
|
+
|
|
332
|
+
### Migration Complexity
|
|
333
|
+
|
|
334
|
+
**Low** - LangGraph's nodes and edges map to OSSA workflow steps.
|
|
335
|
+
|
|
336
|
+
### Installation
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
npm install @ossa/langgraph langgraph
|
|
340
|
+
# or
|
|
341
|
+
pip install ossa-langgraph langgraph
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### Converting LangGraph to OSSA
|
|
345
|
+
|
|
346
|
+
```python
|
|
347
|
+
from ossa_langgraph import LangGraphToOSSA
|
|
348
|
+
from langgraph.graph import StateGraph, END
|
|
349
|
+
from typing import TypedDict
|
|
350
|
+
|
|
351
|
+
# Define state
|
|
352
|
+
class AgentState(TypedDict):
|
|
353
|
+
messages: list
|
|
354
|
+
next_step: str
|
|
355
|
+
|
|
356
|
+
# Create graph
|
|
357
|
+
workflow = StateGraph(AgentState)
|
|
358
|
+
|
|
359
|
+
# Add nodes
|
|
360
|
+
workflow.add_node("researcher", research_node)
|
|
361
|
+
workflow.add_node("writer", write_node)
|
|
362
|
+
workflow.add_node("reviewer", review_node)
|
|
363
|
+
|
|
364
|
+
# Add edges
|
|
365
|
+
workflow.add_edge("researcher", "writer")
|
|
366
|
+
workflow.add_edge("writer", "reviewer")
|
|
367
|
+
workflow.add_conditional_edges("reviewer", should_continue, {
|
|
368
|
+
"continue": "writer",
|
|
369
|
+
"end": END
|
|
370
|
+
})
|
|
371
|
+
|
|
372
|
+
# Set entry point
|
|
373
|
+
workflow.set_entry_point("researcher")
|
|
374
|
+
|
|
375
|
+
# Compile
|
|
376
|
+
app = workflow.compile()
|
|
377
|
+
|
|
378
|
+
# Convert to OSSA
|
|
379
|
+
converter = LangGraphToOSSA()
|
|
380
|
+
manifest = converter.convert(app, name="content-pipeline")
|
|
381
|
+
manifest.save("content-pipeline.json")
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### Technical Details
|
|
385
|
+
|
|
386
|
+
**State Management**: LangGraph state is preserved in OSSA's `workflow.state` field
|
|
387
|
+
**Conditional Routing**: Conditional edges become OSSA workflow conditions
|
|
388
|
+
**Checkpointing**: LangGraph checkpoints map to OSSA's persistence layer
|
|
389
|
+
|
|
390
|
+
### Data Flow
|
|
391
|
+
|
|
392
|
+
```
|
|
393
|
+
Input → Entry Node → [State Update] → Next Node → [Condition Check] →
|
|
394
|
+
├─ Continue → Loop Back
|
|
395
|
+
└─ End → Output
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### Documentation
|
|
399
|
+
|
|
400
|
+
- **LangGraph Docs**: [langchain-ai.github.io/langgraph](https://langchain-ai.github.io/langgraph)
|
|
401
|
+
- **OSSA LangGraph Guide**: [docs.openstandardagents.org/langgraph](https://openstandardagents.org/docs/langgraph)
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## AutoGen {#autogen}
|
|
406
|
+
|
|
407
|
+
### Overview
|
|
408
|
+
|
|
409
|
+
**Microsoft AutoGen** enables multi-agent conversations with human-in-the-loop capabilities. OSSA supports AutoGen's conversational patterns and agent groups.
|
|
410
|
+
|
|
411
|
+
### Migration Complexity
|
|
412
|
+
|
|
413
|
+
**Medium** - AutoGen's conversation-driven model requires mapping to OSSA's message-based workflow.
|
|
414
|
+
|
|
415
|
+
### Installation
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
pip install ossa-autogen pyautogen
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
### Converting AutoGen to OSSA
|
|
422
|
+
|
|
423
|
+
```python
|
|
424
|
+
from ossa_autogen import AutoGenToOSSA
|
|
425
|
+
import autogen
|
|
426
|
+
|
|
427
|
+
# Configure AutoGen agents
|
|
428
|
+
config_list = [{"model": "gpt-4", "api_key": "..."}]
|
|
429
|
+
|
|
430
|
+
assistant = autogen.AssistantAgent(
|
|
431
|
+
name="assistant",
|
|
432
|
+
llm_config={"config_list": config_list},
|
|
433
|
+
)
|
|
434
|
+
|
|
435
|
+
user_proxy = autogen.UserProxyAgent(
|
|
436
|
+
name="user_proxy",
|
|
437
|
+
human_input_mode="NEVER",
|
|
438
|
+
code_execution_config={"work_dir": "coding"},
|
|
439
|
+
)
|
|
440
|
+
|
|
441
|
+
# Convert to OSSA
|
|
442
|
+
converter = AutoGenToOSSA()
|
|
443
|
+
manifest = converter.convert(
|
|
444
|
+
agents=[assistant, user_proxy],
|
|
445
|
+
name="coding-assistant"
|
|
446
|
+
)
|
|
447
|
+
manifest.save("coding-assistant.json")
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### Technical Details
|
|
451
|
+
|
|
452
|
+
**Conversation Flow**: AutoGen conversations become OSSA workflow steps
|
|
453
|
+
**Code Execution**: AutoGen's code execution maps to OSSA's `code_interpreter` tool
|
|
454
|
+
**Human-in-Loop**: AutoGen's human input becomes OSSA's `approval_required` flag
|
|
455
|
+
|
|
456
|
+
### Data Flow
|
|
457
|
+
|
|
458
|
+
```
|
|
459
|
+
User Message → Agent 1 → [Generate Response] → Agent 2 →
|
|
460
|
+
[Execute Code] → [Validate] → Agent 1 → Final Response
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
### Example Manifest
|
|
464
|
+
|
|
465
|
+
```json
|
|
466
|
+
{
|
|
467
|
+
"ossa": "1.0.0",
|
|
468
|
+
"name": "coding-assistant",
|
|
469
|
+
"type": "orchestrator",
|
|
470
|
+
"agents": [
|
|
471
|
+
{
|
|
472
|
+
"id": "assistant",
|
|
473
|
+
"role": "Assistant",
|
|
474
|
+
"capabilities": {
|
|
475
|
+
"tools": ["code_interpreter"],
|
|
476
|
+
"llm": {
|
|
477
|
+
"provider": "openai",
|
|
478
|
+
"model": "gpt-4"
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"id": "executor",
|
|
484
|
+
"role": "Code Executor",
|
|
485
|
+
"capabilities": {
|
|
486
|
+
"tools": [
|
|
487
|
+
{
|
|
488
|
+
"type": "code_interpreter",
|
|
489
|
+
"languages": ["python", "javascript"],
|
|
490
|
+
"sandbox": true
|
|
491
|
+
}
|
|
492
|
+
]
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
],
|
|
496
|
+
"workflow": {
|
|
497
|
+
"type": "conversation",
|
|
498
|
+
"max_turns": 10,
|
|
499
|
+
"termination": {
|
|
500
|
+
"condition": "task_complete"
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### Documentation
|
|
507
|
+
|
|
508
|
+
- **AutoGen Docs**: [microsoft.github.io/autogen](https://microsoft.github.io/autogen)
|
|
509
|
+
- **OSSA AutoGen Guide**: [docs.openstandardagents.org/autogen](https://openstandardagents.org/docs/autogen)
|
|
510
|
+
|
|
511
|
+
---
|
|
512
|
+
|
|
513
|
+
## Semantic Kernel {#semantic-kernel}
|
|
514
|
+
|
|
515
|
+
### Overview
|
|
516
|
+
|
|
517
|
+
**Microsoft Semantic Kernel** is an SDK for integrating LLMs with conventional programming languages. OSSA supports Semantic Kernel's plugin system and planners.
|
|
518
|
+
|
|
519
|
+
### Migration Complexity
|
|
520
|
+
|
|
521
|
+
**Medium** - Semantic Kernel's plugin architecture requires mapping to OSSA tools.
|
|
522
|
+
|
|
523
|
+
### Installation
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
dotnet add package OSSA.SemanticKernel
|
|
527
|
+
# or
|
|
528
|
+
pip install ossa-semantic-kernel semantic-kernel
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
### Converting Semantic Kernel to OSSA
|
|
532
|
+
|
|
533
|
+
```csharp
|
|
534
|
+
using Microsoft.SemanticKernel;
|
|
535
|
+
using OSSA.SemanticKernel;
|
|
536
|
+
|
|
537
|
+
// Create Semantic Kernel
|
|
538
|
+
var kernel = Kernel.CreateBuilder()
|
|
539
|
+
.AddOpenAIChatCompletion("gpt-4", "api-key")
|
|
540
|
+
.Build();
|
|
541
|
+
|
|
542
|
+
// Import plugins
|
|
543
|
+
kernel.ImportPluginFromType<MathPlugin>();
|
|
544
|
+
kernel.ImportPluginFromType<FileIOPlugin>();
|
|
545
|
+
|
|
546
|
+
// Convert to OSSA
|
|
547
|
+
var converter = new SemanticKernelToOSSA();
|
|
548
|
+
var manifest = converter.Convert(kernel, "sk-agent");
|
|
549
|
+
await manifest.SaveAsync("sk-agent.json");
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
### Python Example
|
|
553
|
+
|
|
554
|
+
```python
|
|
555
|
+
from ossa_semantic_kernel import SemanticKernelToOSSA
|
|
556
|
+
import semantic_kernel as sk
|
|
557
|
+
|
|
558
|
+
# Create kernel
|
|
559
|
+
kernel = sk.Kernel()
|
|
560
|
+
|
|
561
|
+
# Add service
|
|
562
|
+
kernel.add_chat_service(
|
|
563
|
+
"chat",
|
|
564
|
+
sk.connectors.ai.OpenAIChatCompletion("gpt-4", "api-key")
|
|
565
|
+
)
|
|
566
|
+
|
|
567
|
+
# Import skills
|
|
568
|
+
kernel.import_skill(MathSkill(), "math")
|
|
569
|
+
kernel.import_skill(FileIOSkill(), "fileio")
|
|
570
|
+
|
|
571
|
+
# Convert to OSSA
|
|
572
|
+
converter = SemanticKernelToOSSA()
|
|
573
|
+
manifest = converter.convert(kernel, name="sk-agent")
|
|
574
|
+
manifest.save("sk-agent.json")
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
### Technical Details
|
|
578
|
+
|
|
579
|
+
**Plugin Mapping**: SK plugins become OSSA tools
|
|
580
|
+
**Planner Integration**: SK planners map to OSSA's workflow orchestration
|
|
581
|
+
**Memory**: SK memory becomes OSSA's context management
|
|
582
|
+
|
|
583
|
+
### Data Flow
|
|
584
|
+
|
|
585
|
+
```
|
|
586
|
+
User Goal → Planner → [Generate Steps] → Execute Plugin 1 →
|
|
587
|
+
Execute Plugin 2 → [Aggregate Results] → Response
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
### Documentation
|
|
591
|
+
|
|
592
|
+
- **Semantic Kernel Docs**: [learn.microsoft.com/semantic-kernel](https://learn.microsoft.com/semantic-kernel)
|
|
593
|
+
- **OSSA SK Guide**: [docs.openstandardagents.org/semantic-kernel](https://openstandardagents.org/docs/semantic-kernel)
|
|
594
|
+
|
|
595
|
+
---
|
|
596
|
+
|
|
597
|
+
## LlamaIndex {#llamaindex}
|
|
598
|
+
|
|
599
|
+
### Overview
|
|
600
|
+
|
|
601
|
+
**LlamaIndex** (formerly GPT Index) is a data framework for LLM applications. OSSA supports LlamaIndex's indexing and query engines.
|
|
602
|
+
|
|
603
|
+
### Migration Complexity
|
|
604
|
+
|
|
605
|
+
**Low** - LlamaIndex's query engines map cleanly to OSSA's retrieval tools.
|
|
606
|
+
|
|
607
|
+
### Installation
|
|
608
|
+
|
|
609
|
+
```bash
|
|
610
|
+
pip install ossa-llamaindex llama-index
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
### Converting LlamaIndex to OSSA
|
|
614
|
+
|
|
615
|
+
```python
|
|
616
|
+
from ossa_llamaindex import LlamaIndexToOSSA
|
|
617
|
+
from llama_index import VectorStoreIndex, SimpleDirectoryReader
|
|
618
|
+
|
|
619
|
+
# Create index
|
|
620
|
+
documents = SimpleDirectoryReader('data').load_data()
|
|
621
|
+
index = VectorStoreIndex.from_documents(documents)
|
|
622
|
+
|
|
623
|
+
# Create query engine
|
|
624
|
+
query_engine = index.as_query_engine()
|
|
625
|
+
|
|
626
|
+
# Convert to OSSA
|
|
627
|
+
converter = LlamaIndexToOSSA()
|
|
628
|
+
manifest = converter.convert(
|
|
629
|
+
query_engine,
|
|
630
|
+
name="rag-agent",
|
|
631
|
+
description="RAG-powered Q&A agent"
|
|
632
|
+
)
|
|
633
|
+
manifest.save("rag-agent.json")
|
|
634
|
+
```
|
|
635
|
+
|
|
636
|
+
### Technical Details
|
|
637
|
+
|
|
638
|
+
**Index Types**: Vector, tree, keyword, and graph indexes all supported
|
|
639
|
+
**Retrievers**: LlamaIndex retrievers become OSSA retrieval tools
|
|
640
|
+
**Response Synthesis**: Synthesis modes map to OSSA's response formatting
|
|
641
|
+
|
|
642
|
+
### Data Flow
|
|
643
|
+
|
|
644
|
+
```
|
|
645
|
+
Query → [Embed Query] → Vector Search → [Retrieve Docs] →
|
|
646
|
+
LLM Context → [Generate Response] → Post-process → Output
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
### Example Manifest
|
|
650
|
+
|
|
651
|
+
```json
|
|
652
|
+
{
|
|
653
|
+
"ossa": "1.0.0",
|
|
654
|
+
"name": "rag-agent",
|
|
655
|
+
"type": "worker",
|
|
656
|
+
"capabilities": {
|
|
657
|
+
"tools": [
|
|
658
|
+
{
|
|
659
|
+
"type": "retrieval",
|
|
660
|
+
"name": "vector_search",
|
|
661
|
+
"index_type": "vector",
|
|
662
|
+
"embedding_model": "text-embedding-ada-002",
|
|
663
|
+
"top_k": 5
|
|
664
|
+
}
|
|
665
|
+
],
|
|
666
|
+
"llm": {
|
|
667
|
+
"provider": "openai",
|
|
668
|
+
"model": "gpt-4",
|
|
669
|
+
"temperature": 0.7
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
"data": {
|
|
673
|
+
"sources": [
|
|
674
|
+
{
|
|
675
|
+
"type": "directory",
|
|
676
|
+
"path": "./data",
|
|
677
|
+
"file_types": ["txt", "pdf", "md"]
|
|
678
|
+
}
|
|
679
|
+
]
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
### Documentation
|
|
685
|
+
|
|
686
|
+
- **LlamaIndex Docs**: [docs.llamaindex.ai](https://docs.llamaindex.ai)
|
|
687
|
+
- **OSSA LlamaIndex Guide**: [docs.openstandardagents.org/llamaindex](https://openstandardagents.org/docs/llamaindex)
|
|
688
|
+
|
|
689
|
+
---
|
|
690
|
+
|
|
243
691
|
## CrewAI {#crewai}
|
|
244
692
|
|
|
245
693
|
### Overview
|
|
@@ -737,15 +1185,109 @@ console.log(`Created assistant: ${assistant.id}`);
|
|
|
737
1185
|
|
|
738
1186
|
## Framework Comparison
|
|
739
1187
|
|
|
740
|
-
| Feature | kAgent | LangChain | CrewAI | MCP | Langflow | Drupal ECA | OpenAI |
|
|
741
|
-
|
|
742
|
-
| OSSA Native | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
|
|
743
|
-
| Multi-Agent | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
744
|
-
|
|
|
745
|
-
|
|
|
746
|
-
|
|
|
747
|
-
|
|
|
748
|
-
|
|
|
1188
|
+
| Feature | kAgent | LangChain | LangGraph | CrewAI | AutoGen | Semantic Kernel | MCP | Langflow | LlamaIndex | Drupal ECA | OpenAI |
|
|
1189
|
+
|---------|--------|-----------|-----------|--------|---------|-----------------|-----|----------|------------|------------|--------|
|
|
1190
|
+
| OSSA Native | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
1191
|
+
| Multi-Agent | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
|
1192
|
+
| State Management | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
|
|
1193
|
+
| Visual Builder | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
|
|
1194
|
+
| TypeScript | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
|
|
1195
|
+
| Python | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
|
|
1196
|
+
| C# / .NET | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
|
|
1197
|
+
| Self-Hosted | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
1198
|
+
| Cloud Managed | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ |
|
|
1199
|
+
| RAG Support | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
|
|
1200
|
+
| Code Execution | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
|
1201
|
+
|
|
1202
|
+
---
|
|
1203
|
+
|
|
1204
|
+
## Technical Architecture
|
|
1205
|
+
|
|
1206
|
+
### OSSA Runtime Components
|
|
1207
|
+
|
|
1208
|
+
```
|
|
1209
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
1210
|
+
│ OSSA Runtime │
|
|
1211
|
+
│ │
|
|
1212
|
+
│ ┌────────────────┐ ┌────────────────┐ ┌──────────────┐ │
|
|
1213
|
+
│ │ Manifest │ │ Schema │ │ Validator │ │
|
|
1214
|
+
│ │ Parser │──│ Validator │──│ Engine │ │
|
|
1215
|
+
│ └────────────────┘ └────────────────┘ └──────────────┘ │
|
|
1216
|
+
│ │ │ │
|
|
1217
|
+
│ ▼ ▼ │
|
|
1218
|
+
│ ┌────────────────┐ ┌──────────────────┐ │
|
|
1219
|
+
│ │ Framework │ │ Execution │ │
|
|
1220
|
+
│ │ Adapter │◀───────────────────│ Engine │ │
|
|
1221
|
+
│ └────────────────┘ └──────────────────┘ │
|
|
1222
|
+
│ │ │ │
|
|
1223
|
+
└───────────┼───────────────────────────────────────┼──────────┘
|
|
1224
|
+
│ │
|
|
1225
|
+
▼ ▼
|
|
1226
|
+
┌────────────────┐ ┌──────────────────┐
|
|
1227
|
+
│ Native │ │ Tool │
|
|
1228
|
+
│ Framework │ │ Registry │
|
|
1229
|
+
└────────────────┘ └──────────────────┘
|
|
1230
|
+
```
|
|
1231
|
+
|
|
1232
|
+
### Adapter Pattern
|
|
1233
|
+
|
|
1234
|
+
Each framework adapter implements:
|
|
1235
|
+
|
|
1236
|
+
1. **Manifest Translation**: OSSA → Framework Config
|
|
1237
|
+
2. **Tool Mapping**: OSSA tools → Framework tools
|
|
1238
|
+
3. **Execution Bridge**: Framework execution → OSSA responses
|
|
1239
|
+
4. **State Management**: Framework state ↔ OSSA state
|
|
1240
|
+
|
|
1241
|
+
### Example: LangChain Adapter Flow
|
|
1242
|
+
|
|
1243
|
+
```
|
|
1244
|
+
OSSA Manifest
|
|
1245
|
+
│
|
|
1246
|
+
▼
|
|
1247
|
+
┌─────────────────────┐
|
|
1248
|
+
│ Parse Capabilities │
|
|
1249
|
+
│ - tools: [...] │
|
|
1250
|
+
│ - llm: {...} │
|
|
1251
|
+
└──────────┬──────────┘
|
|
1252
|
+
│
|
|
1253
|
+
▼
|
|
1254
|
+
┌─────────────────────┐
|
|
1255
|
+
│ Create LangChain │
|
|
1256
|
+
│ - ChatModel │
|
|
1257
|
+
│ - Tools │
|
|
1258
|
+
│ - Agent Executor │
|
|
1259
|
+
└──────────┬──────────┘
|
|
1260
|
+
│
|
|
1261
|
+
▼
|
|
1262
|
+
┌─────────────────────┐
|
|
1263
|
+
│ Execute Task │
|
|
1264
|
+
│ - Input → Agent │
|
|
1265
|
+
│ - Agent → Tools │
|
|
1266
|
+
│ - Tools → LLM │
|
|
1267
|
+
└──────────┬──────────┘
|
|
1268
|
+
│
|
|
1269
|
+
▼
|
|
1270
|
+
┌─────────────────────┐
|
|
1271
|
+
│ Format Response │
|
|
1272
|
+
│ - OSSA Output │
|
|
1273
|
+
└─────────────────────┘
|
|
1274
|
+
```
|
|
1275
|
+
|
|
1276
|
+
### Tool Resolution
|
|
1277
|
+
|
|
1278
|
+
```
|
|
1279
|
+
OSSA Tool Definition
|
|
1280
|
+
│
|
|
1281
|
+
├─ type: "function" ──→ Native Function Call
|
|
1282
|
+
│
|
|
1283
|
+
├─ type: "mcp" ──────→ MCP Server Connection
|
|
1284
|
+
│
|
|
1285
|
+
├─ type: "rest" ─────→ HTTP API Call
|
|
1286
|
+
│
|
|
1287
|
+
├─ type: "retrieval" ─→ Vector DB Query
|
|
1288
|
+
│
|
|
1289
|
+
└─ type: "code" ─────→ Code Interpreter
|
|
1290
|
+
```
|
|
749
1291
|
|
|
750
1292
|
---
|
|
751
1293
|
|