@bluefly/openstandardagents 0.2.7 → 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/.version.json +2 -2
- package/.wiki-config.json +24 -0
- package/CHANGELOG.md +11 -18
- package/CODEOWNERS +75 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +171 -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/runtime/claude/claude-adapter.js +1 -1
- 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/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/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 +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/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 +3 -2
- package/scripts/eslint-to-codequality.cjs +34 -0
- 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/{dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json → spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
- package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
- package/test-results/junit.xml +299 -0
- package/bin/validate-ossa-0.2.5-RC.ts +0 -244
- 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/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
- 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,121 +0,0 @@
|
|
|
1
|
-
# Architecture Overview
|
|
2
|
-
|
|
3
|
-
Understanding how OSSA works and where it fits in the AI agent ecosystem.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## What You'll Learn
|
|
8
|
-
|
|
9
|
-
This architecture section provides visual maps and detailed explanations of:
|
|
10
|
-
|
|
11
|
-
1. **How OSSA agents execute** - From user request to LLM response
|
|
12
|
-
2. **Where OSSA fits** in your technology stack
|
|
13
|
-
3. **How agents communicate** in multi-agent systems
|
|
14
|
-
4. **Data flow patterns** across the ecosystem
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Architecture Topics
|
|
19
|
-
|
|
20
|
-
### [Execution Flow](execution-flow)
|
|
21
|
-
Detailed sequence diagrams showing how a user request flows through an OSSA agent:
|
|
22
|
-
- User interaction patterns
|
|
23
|
-
- Agent orchestration lifecycle
|
|
24
|
-
- LLM integration points
|
|
25
|
-
- Tool execution and responses
|
|
26
|
-
|
|
27
|
-
**Learn**: How does a request move through an OSSA agent?
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
### [Stack Integration](stack-integration)
|
|
32
|
-
Layer-by-layer view of where OSSA fits in your infrastructure:
|
|
33
|
-
- Application layer integration
|
|
34
|
-
- Runtime environments
|
|
35
|
-
- OSSA specification layer
|
|
36
|
-
- Tools, APIs, and external services
|
|
37
|
-
- Infrastructure deployment options
|
|
38
|
-
|
|
39
|
-
**Learn**: Where does OSSA live in my architecture?
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
### [Multi-Agent Systems](multi-agent-systems)
|
|
44
|
-
Agent-to-agent communication patterns using OSSA manifests:
|
|
45
|
-
- Agent discovery mechanisms
|
|
46
|
-
- Inter-agent messaging protocols
|
|
47
|
-
- Coordination and orchestration patterns
|
|
48
|
-
- Distributed agent topologies
|
|
49
|
-
|
|
50
|
-
**Learn**: How do multiple OSSA agents work together?
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Why Architecture Matters
|
|
55
|
-
|
|
56
|
-
Just like OpenAPI provides a standard contract for REST APIs, OSSA provides a standard contract for AI agents. Understanding the architecture helps you:
|
|
57
|
-
|
|
58
|
-
- ✅ **Design better agents** - Understand boundaries and capabilities
|
|
59
|
-
- ✅ **Integrate seamlessly** - Know where OSSA fits in your stack
|
|
60
|
-
- ✅ **Scale effectively** - Plan for multi-agent systems
|
|
61
|
-
- ✅ **Debug faster** - Trace data flow through components
|
|
62
|
-
- ✅ **Deploy confidently** - Understand runtime requirements
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## OSSA Architecture Principles
|
|
67
|
-
|
|
68
|
-
### 1. Specification-Driven
|
|
69
|
-
OSSA defines the **contract**, not the implementation. Your runtime handles the execution.
|
|
70
|
-
|
|
71
|
-
### 2. Layer Separation
|
|
72
|
-
Clear boundaries between:
|
|
73
|
-
- Application logic
|
|
74
|
-
- Agent runtime
|
|
75
|
-
- OSSA specification layer
|
|
76
|
-
- External tools/APIs
|
|
77
|
-
- Infrastructure
|
|
78
|
-
|
|
79
|
-
### 3. Framework Agnostic
|
|
80
|
-
OSSA doesn't care if you use:
|
|
81
|
-
- LangChain, LlamaIndex, Anthropic SDK, OpenAI SDK
|
|
82
|
-
- Python, TypeScript, Go, Rust
|
|
83
|
-
- Kubernetes, Docker, serverless, on-premise
|
|
84
|
-
|
|
85
|
-
### 4. Runtime Independent
|
|
86
|
-
Deploy OSSA agents anywhere:
|
|
87
|
-
- Cloud (AWS, GCP, Azure)
|
|
88
|
-
- Edge computing
|
|
89
|
-
- On-premise data centers
|
|
90
|
-
- Hybrid environments
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## Quick Reference
|
|
95
|
-
|
|
96
|
-
| Topic | Use Case | Audience |
|
|
97
|
-
|-------|----------|----------|
|
|
98
|
-
| **Execution Flow** | Understanding agent lifecycle | Developers, Architects |
|
|
99
|
-
| **Stack Integration** | Planning deployments | Architects, Platform Engineers |
|
|
100
|
-
| **Multi-Agent Systems** | Designing agent networks | Senior Developers, Architects |
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## Related Documentation
|
|
105
|
-
|
|
106
|
-
- [Specification](/docs/specification) - Technical details of the OSSA spec
|
|
107
|
-
- [Schema Reference](/docs/schema-reference) - Complete schema documentation
|
|
108
|
-
- [Ecosystem Overview](/docs/ecosystem/overview) - Framework integrations
|
|
109
|
-
- [Migration Guides](/docs/migration-guides/langchain-to-ossa) - Real-world migration examples
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## Visual Learning Path
|
|
114
|
-
|
|
115
|
-
1. **Start here** → [Execution Flow](execution-flow) - See how a single agent works
|
|
116
|
-
2. **Then** → [Stack Integration](stack-integration) - Understand where OSSA fits
|
|
117
|
-
3. **Finally** → [Multi-Agent Systems](multi-agent-systems) - Learn agent coordination
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
**Next**: [Execution Flow Diagram](execution-flow) - See how requests flow through OSSA agents
|
|
@@ -1,461 +0,0 @@
|
|
|
1
|
-
# Stack Integration Architecture
|
|
2
|
-
|
|
3
|
-
Where OSSA fits in your technology stack and infrastructure.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
This page shows how OSSA integrates into modern application architectures, from frontend applications down to infrastructure. OSSA sits as a **specification layer** between your application and the agent runtime.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Complete Stack Diagram
|
|
14
|
-
|
|
15
|
-
```mermaid
|
|
16
|
-
graph TB
|
|
17
|
-
subgraph "Application Layer"
|
|
18
|
-
WebApp[Web Application]
|
|
19
|
-
MobileApp[Mobile App]
|
|
20
|
-
CLI[CLI Tools]
|
|
21
|
-
API[REST/GraphQL API]
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
subgraph "Agent Runtime Layer"
|
|
25
|
-
Runtime[Agent Runtime<br/>LangChain | LlamaIndex<br/>Anthropic SDK | OpenAI SDK<br/>Custom Runtime]
|
|
26
|
-
Orchestrator[Agent Orchestrator]
|
|
27
|
-
Memory[Memory Store<br/>Redis | PostgreSQL]
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
subgraph "OSSA Specification Layer"
|
|
31
|
-
Manifest[OSSA Manifests<br/>agent.ossa.yaml]
|
|
32
|
-
Schema[JSON Schema<br/>v0.2.x]
|
|
33
|
-
CLI_Tool[OSSA CLI<br/>Validation]
|
|
34
|
-
Registry[Agent Registry]
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
subgraph "Tools & APIs Layer"
|
|
38
|
-
Functions[Function Tools<br/>Python | TypeScript]
|
|
39
|
-
REST[REST APIs<br/>Weather | CRM]
|
|
40
|
-
Database[Databases<br/>PostgreSQL | MongoDB]
|
|
41
|
-
Vector[Vector DBs<br/>Pinecone | Weaviate]
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
subgraph "LLM Provider Layer"
|
|
45
|
-
OpenAI[OpenAI<br/>GPT-3.5/4]
|
|
46
|
-
Anthropic[Anthropic<br/>Claude]
|
|
47
|
-
Other[Other Providers<br/>Cohere | Mistral]
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
subgraph "Infrastructure Layer"
|
|
51
|
-
K8s[Kubernetes]
|
|
52
|
-
Docker[Docker]
|
|
53
|
-
Serverless[Serverless<br/>Lambda | Cloud Run]
|
|
54
|
-
OnPrem[On-Premise]
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
WebApp --> Runtime
|
|
58
|
-
MobileApp --> Runtime
|
|
59
|
-
CLI --> Runtime
|
|
60
|
-
API --> Runtime
|
|
61
|
-
|
|
62
|
-
Runtime --> Orchestrator
|
|
63
|
-
Runtime --> Memory
|
|
64
|
-
|
|
65
|
-
Orchestrator --> Manifest
|
|
66
|
-
Manifest --> Schema
|
|
67
|
-
Manifest --> CLI_Tool
|
|
68
|
-
Manifest --> Registry
|
|
69
|
-
|
|
70
|
-
Orchestrator --> Functions
|
|
71
|
-
Orchestrator --> REST
|
|
72
|
-
Orchestrator --> Database
|
|
73
|
-
Orchestrator --> Vector
|
|
74
|
-
|
|
75
|
-
Orchestrator --> OpenAI
|
|
76
|
-
Orchestrator --> Anthropic
|
|
77
|
-
Orchestrator --> Other
|
|
78
|
-
|
|
79
|
-
Runtime --> K8s
|
|
80
|
-
Runtime --> Docker
|
|
81
|
-
Runtime --> Serverless
|
|
82
|
-
Runtime --> OnPrem
|
|
83
|
-
|
|
84
|
-
style Manifest fill:#4A90E2,stroke:#333,stroke-width:4px,color:#fff
|
|
85
|
-
style Schema fill:#4A90E2,stroke:#333,stroke-width:4px,color:#fff
|
|
86
|
-
style CLI_Tool fill:#4A90E2,stroke:#333,stroke-width:4px,color:#fff
|
|
87
|
-
style Registry fill:#4A90E2,stroke:#333,stroke-width:4px,color:#fff
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Layer-by-Layer Breakdown
|
|
93
|
-
|
|
94
|
-
### 1. Application Layer
|
|
95
|
-
**What it is:** Your user-facing applications
|
|
96
|
-
|
|
97
|
-
**Components:**
|
|
98
|
-
- Web applications (React, Vue, Angular)
|
|
99
|
-
- Mobile apps (iOS, Android, React Native)
|
|
100
|
-
- CLI tools (Node.js, Python scripts)
|
|
101
|
-
- REST/GraphQL APIs
|
|
102
|
-
|
|
103
|
-
**OSSA's role:**
|
|
104
|
-
- ❌ OSSA does NOT interact with this layer directly
|
|
105
|
-
- ✅ Applications call your agent runtime (which uses OSSA)
|
|
106
|
-
|
|
107
|
-
**Example:**
|
|
108
|
-
```typescript
|
|
109
|
-
// Your frontend code
|
|
110
|
-
const response = await fetch('/api/agent', {
|
|
111
|
-
method: 'POST',
|
|
112
|
-
body: JSON.stringify({ message: 'What is the weather?' })
|
|
113
|
-
});
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
---
|
|
117
|
-
|
|
118
|
-
### 2. Agent Runtime Layer
|
|
119
|
-
**What it is:** The execution environment for your agents
|
|
120
|
-
|
|
121
|
-
**Components:**
|
|
122
|
-
- **Agent Runtime**: Framework that executes agents (LangChain, LlamaIndex, custom)
|
|
123
|
-
- **Agent Orchestrator**: Coordinates agent execution lifecycle
|
|
124
|
-
- **Memory Store**: Conversation history, context (Redis, PostgreSQL)
|
|
125
|
-
|
|
126
|
-
**OSSA's role:**
|
|
127
|
-
- ✅ Runtime reads OSSA manifests to configure agents
|
|
128
|
-
- ✅ Orchestrator uses OSSA specs to determine execution flow
|
|
129
|
-
- ✅ Memory rules defined in OSSA manifest
|
|
130
|
-
|
|
131
|
-
**Example Runtime Configuration:**
|
|
132
|
-
```python
|
|
133
|
-
# Runtime loads OSSA manifest
|
|
134
|
-
from ossa import load_agent
|
|
135
|
-
|
|
136
|
-
agent = load_agent("agent.ossa.yaml")
|
|
137
|
-
response = agent.run(user_message="Hello")
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
### 3. OSSA Specification Layer ⭐
|
|
143
|
-
**What it is:** The standard layer - this is where OSSA lives
|
|
144
|
-
|
|
145
|
-
**Components:**
|
|
146
|
-
- **OSSA Manifests**: YAML/JSON files defining agents
|
|
147
|
-
- **JSON Schema**: Validation schema (v0.2.x)
|
|
148
|
-
- **OSSA CLI**: Validation and generation tools
|
|
149
|
-
- **Agent Registry**: Discovery and versioning
|
|
150
|
-
|
|
151
|
-
**OSSA's role:**
|
|
152
|
-
- ✅ **This IS OSSA** - the specification layer
|
|
153
|
-
- ✅ Defines the contract between application and runtime
|
|
154
|
-
- ✅ Provides validation, versioning, and discovery
|
|
155
|
-
|
|
156
|
-
**Example Manifest:**
|
|
157
|
-
```yaml
|
|
158
|
-
apiVersion: ossa/v0.2.x
|
|
159
|
-
kind: Agent
|
|
160
|
-
metadata:
|
|
161
|
-
name: weather-agent
|
|
162
|
-
version: 1.0.0
|
|
163
|
-
spec:
|
|
164
|
-
role: You are a weather assistant
|
|
165
|
-
llm:
|
|
166
|
-
provider: openai
|
|
167
|
-
model: gpt-3.5-turbo
|
|
168
|
-
tools:
|
|
169
|
-
- type: function
|
|
170
|
-
name: get_weather
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
### 4. Tools & APIs Layer
|
|
176
|
-
**What it is:** External services agents can call
|
|
177
|
-
|
|
178
|
-
**Components:**
|
|
179
|
-
- **Function Tools**: Custom Python/TypeScript functions
|
|
180
|
-
- **REST APIs**: Third-party services (Weather, CRM, etc.)
|
|
181
|
-
- **Databases**: Structured data storage
|
|
182
|
-
- **Vector Databases**: Semantic search, RAG
|
|
183
|
-
|
|
184
|
-
**OSSA's role:**
|
|
185
|
-
- ✅ Tool schemas defined in OSSA manifest (`spec.tools[]`)
|
|
186
|
-
- ✅ Execution constraints specified in manifest
|
|
187
|
-
- ✅ Error handling rules defined
|
|
188
|
-
|
|
189
|
-
**Example Tool Definition:**
|
|
190
|
-
```yaml
|
|
191
|
-
tools:
|
|
192
|
-
- type: function
|
|
193
|
-
name: query_database
|
|
194
|
-
description: Query PostgreSQL database
|
|
195
|
-
parameters:
|
|
196
|
-
type: object
|
|
197
|
-
properties:
|
|
198
|
-
query:
|
|
199
|
-
type: string
|
|
200
|
-
timeout: 5000
|
|
201
|
-
retry:
|
|
202
|
-
maxAttempts: 3
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
### 5. LLM Provider Layer
|
|
208
|
-
**What it is:** AI model APIs
|
|
209
|
-
|
|
210
|
-
**Components:**
|
|
211
|
-
- OpenAI (GPT-3.5, GPT-4)
|
|
212
|
-
- Anthropic (Claude)
|
|
213
|
-
- Other providers (Cohere, Mistral, etc.)
|
|
214
|
-
|
|
215
|
-
**OSSA's role:**
|
|
216
|
-
- ✅ Provider specified in manifest (`spec.llm.provider`)
|
|
217
|
-
- ✅ Model specified in manifest (`spec.llm.model`)
|
|
218
|
-
- ✅ Configuration (temperature, max_tokens) defined
|
|
219
|
-
|
|
220
|
-
**Example LLM Config:**
|
|
221
|
-
```yaml
|
|
222
|
-
spec:
|
|
223
|
-
llm:
|
|
224
|
-
provider: anthropic
|
|
225
|
-
model: claude-3-sonnet-20240229
|
|
226
|
-
temperature: 0.7
|
|
227
|
-
maxTokens: 1000
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
### 6. Infrastructure Layer
|
|
233
|
-
**What it is:** Where your agent runtime is deployed
|
|
234
|
-
|
|
235
|
-
**Components:**
|
|
236
|
-
- Kubernetes clusters
|
|
237
|
-
- Docker containers
|
|
238
|
-
- Serverless functions (Lambda, Cloud Run)
|
|
239
|
-
- On-premise servers
|
|
240
|
-
|
|
241
|
-
**OSSA's role:**
|
|
242
|
-
- ❌ OSSA does NOT define infrastructure
|
|
243
|
-
- ✅ OSSA manifests are portable across ANY infrastructure
|
|
244
|
-
- ✅ Deploy the same manifest to K8s, Docker, serverless, etc.
|
|
245
|
-
|
|
246
|
-
**Deployment Examples:**
|
|
247
|
-
```bash
|
|
248
|
-
# Kubernetes
|
|
249
|
-
kubectl apply -f agent-deployment.yaml
|
|
250
|
-
|
|
251
|
-
# Docker
|
|
252
|
-
docker run -v ./agent.ossa.yaml:/config/agent.ossa.yaml my-agent-runtime
|
|
253
|
-
|
|
254
|
-
# Serverless (AWS Lambda)
|
|
255
|
-
aws lambda update-function-code --function-name my-agent \
|
|
256
|
-
--zip-file fileb://agent.zip
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
## Integration Patterns
|
|
262
|
-
|
|
263
|
-
### Pattern 1: Web Application + OSSA Agent
|
|
264
|
-
|
|
265
|
-
```mermaid
|
|
266
|
-
graph LR
|
|
267
|
-
User[User Browser] --> React[React Frontend]
|
|
268
|
-
React --> API[Express API]
|
|
269
|
-
API --> Runtime[Agent Runtime]
|
|
270
|
-
Runtime --> Manifest[OSSA Manifest]
|
|
271
|
-
Runtime --> OpenAI[OpenAI API]
|
|
272
|
-
|
|
273
|
-
style Manifest fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
**Use case:** Chat interface for customer support
|
|
277
|
-
|
|
278
|
-
**OSSA manifest:** Defines support agent role, tools (CRM lookup, ticket creation)
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
### Pattern 2: Microservices + Multi-Agent System
|
|
283
|
-
|
|
284
|
-
```mermaid
|
|
285
|
-
graph TB
|
|
286
|
-
Gateway[API Gateway] --> AgentA[Customer Agent]
|
|
287
|
-
Gateway --> AgentB[Sales Agent]
|
|
288
|
-
Gateway --> AgentC[Support Agent]
|
|
289
|
-
|
|
290
|
-
AgentA --> ManifestA[agent-customer.ossa.yaml]
|
|
291
|
-
AgentB --> ManifestB[agent-sales.ossa.yaml]
|
|
292
|
-
AgentC --> ManifestC[agent-support.ossa.yaml]
|
|
293
|
-
|
|
294
|
-
AgentA --> DB[(Shared DB)]
|
|
295
|
-
AgentB --> DB
|
|
296
|
-
AgentC --> DB
|
|
297
|
-
|
|
298
|
-
style ManifestA fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
|
|
299
|
-
style ManifestB fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
|
|
300
|
-
style ManifestC fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
**Use case:** Specialized agents for different business functions
|
|
304
|
-
|
|
305
|
-
**OSSA manifests:** Each agent has its own manifest with specialized tools
|
|
306
|
-
|
|
307
|
-
---
|
|
308
|
-
|
|
309
|
-
### Pattern 3: Serverless Event-Driven Architecture
|
|
310
|
-
|
|
311
|
-
```mermaid
|
|
312
|
-
graph LR
|
|
313
|
-
Event[Event Source<br/>S3 | SQS | Webhook] --> Lambda[Lambda Function]
|
|
314
|
-
Lambda --> Runtime[Agent Runtime]
|
|
315
|
-
Runtime --> Manifest[OSSA Manifest]
|
|
316
|
-
Runtime --> Tools[External APIs]
|
|
317
|
-
Lambda --> Result[Result Queue]
|
|
318
|
-
|
|
319
|
-
style Manifest fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
**Use case:** Document processing agent triggered by file uploads
|
|
323
|
-
|
|
324
|
-
**OSSA manifest:** Defines document analysis tools and LLM configuration
|
|
325
|
-
|
|
326
|
-
---
|
|
327
|
-
|
|
328
|
-
## Where OSSA Sits: Quick Reference
|
|
329
|
-
|
|
330
|
-
| Layer | OSSA's Role | Examples |
|
|
331
|
-
|-------|-------------|----------|
|
|
332
|
-
| **Application** | Not involved | React, Vue, Mobile Apps |
|
|
333
|
-
| **Agent Runtime** | **Configuration source** | LangChain, LlamaIndex, Custom |
|
|
334
|
-
| **OSSA Layer** | **This IS OSSA** | Manifests, Schema, CLI |
|
|
335
|
-
| **Tools/APIs** | **Schema definition** | REST APIs, Functions, DBs |
|
|
336
|
-
| **LLM Provider** | **Provider selection** | OpenAI, Anthropic, Cohere |
|
|
337
|
-
| **Infrastructure** | Not involved (portable) | K8s, Docker, Serverless |
|
|
338
|
-
|
|
339
|
-
---
|
|
340
|
-
|
|
341
|
-
## Technology Stack Examples
|
|
342
|
-
|
|
343
|
-
### Stack 1: Modern Web App
|
|
344
|
-
```
|
|
345
|
-
Frontend: React + TypeScript
|
|
346
|
-
API: Node.js + Express
|
|
347
|
-
Runtime: LangChain (TypeScript)
|
|
348
|
-
OSSA: agent.ossa.yaml ← OSSA HERE
|
|
349
|
-
LLM: OpenAI GPT-4
|
|
350
|
-
Infrastructure: Kubernetes
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
### Stack 2: Enterprise Python
|
|
354
|
-
```
|
|
355
|
-
Frontend: Internal Dashboard
|
|
356
|
-
API: FastAPI
|
|
357
|
-
Runtime: LlamaIndex (Python)
|
|
358
|
-
OSSA: agent.ossa.yaml ← OSSA HERE
|
|
359
|
-
LLM: Anthropic Claude
|
|
360
|
-
Infrastructure: AWS Lambda
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
### Stack 3: On-Premise
|
|
364
|
-
```
|
|
365
|
-
Frontend: Custom Java App
|
|
366
|
-
API: Spring Boot
|
|
367
|
-
Runtime: Custom Runtime (Go)
|
|
368
|
-
OSSA: agent.ossa.yaml ← OSSA HERE
|
|
369
|
-
LLM: Self-hosted (Ollama)
|
|
370
|
-
Infrastructure: On-premise servers
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
**Notice:** OSSA is the same in all stacks - just the manifest file!
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
|
|
377
|
-
## Key Integration Points
|
|
378
|
-
|
|
379
|
-
### 1. Agent Initialization
|
|
380
|
-
```python
|
|
381
|
-
# Runtime loads OSSA manifest at startup
|
|
382
|
-
agent = load_agent("agent.ossa.yaml")
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
### 2. Request Processing
|
|
386
|
-
```python
|
|
387
|
-
# Runtime uses OSSA config to process requests
|
|
388
|
-
response = agent.run(
|
|
389
|
-
message=user_input,
|
|
390
|
-
# OSSA manifest defines:
|
|
391
|
-
# - role/system prompt
|
|
392
|
-
# - available tools
|
|
393
|
-
# - LLM provider/model
|
|
394
|
-
)
|
|
395
|
-
```
|
|
396
|
-
|
|
397
|
-
### 3. Tool Execution
|
|
398
|
-
```python
|
|
399
|
-
# Runtime validates tools against OSSA schema
|
|
400
|
-
if tool_name in agent.manifest.tools:
|
|
401
|
-
result = execute_tool(tool_name, args)
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
---
|
|
405
|
-
|
|
406
|
-
## Migration Paths
|
|
407
|
-
|
|
408
|
-
### From Framework-Specific to OSSA
|
|
409
|
-
|
|
410
|
-
```mermaid
|
|
411
|
-
graph LR
|
|
412
|
-
A[LangChain Agent<br/>Python Code] --> B[Extract Config]
|
|
413
|
-
B --> C[Generate OSSA Manifest]
|
|
414
|
-
C --> D[Update Runtime<br/>to Load Manifest]
|
|
415
|
-
D --> E[Deploy with OSSA]
|
|
416
|
-
|
|
417
|
-
style C fill:#4A90E2,stroke:#333,stroke-width:2px,color:#fff
|
|
418
|
-
```
|
|
419
|
-
|
|
420
|
-
**Steps:**
|
|
421
|
-
1. Extract agent configuration from code
|
|
422
|
-
2. Generate OSSA manifest using CLI: `ossa generate`
|
|
423
|
-
3. Update runtime to load manifest instead of hardcoded config
|
|
424
|
-
4. Deploy! Same runtime, now OSSA-compliant
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
## Benefits of This Architecture
|
|
429
|
-
|
|
430
|
-
### Separation of Concerns
|
|
431
|
-
- **Application Layer**: User experience
|
|
432
|
-
- **OSSA Layer**: Agent contract
|
|
433
|
-
- **Runtime Layer**: Execution
|
|
434
|
-
- **Infrastructure Layer**: Deployment
|
|
435
|
-
|
|
436
|
-
### Portability
|
|
437
|
-
Move the same OSSA manifest across:
|
|
438
|
-
- Different runtimes (LangChain → LlamaIndex)
|
|
439
|
-
- Different infrastructures (K8s → Serverless)
|
|
440
|
-
- Different teams/organizations
|
|
441
|
-
|
|
442
|
-
### Flexibility
|
|
443
|
-
Change any layer without affecting others:
|
|
444
|
-
- Swap LLM providers (OpenAI → Anthropic)
|
|
445
|
-
- Change runtimes (Python → TypeScript)
|
|
446
|
-
- Migrate infrastructure (Docker → K8s)
|
|
447
|
-
|
|
448
|
-
**OSSA manifest stays the same!**
|
|
449
|
-
|
|
450
|
-
---
|
|
451
|
-
|
|
452
|
-
## Related Documentation
|
|
453
|
-
|
|
454
|
-
- [Execution Flow](execution-flow) - How requests flow through OSSA agents
|
|
455
|
-
- [Specification](/docs/specification) - Deployment guides
|
|
456
|
-
- [Ecosystem Overview](/docs/ecosystem/overview) - Real-world examples
|
|
457
|
-
- [Multi-Agent Systems](multi-agent-systems) - Agent-to-agent communication
|
|
458
|
-
|
|
459
|
-
---
|
|
460
|
-
|
|
461
|
-
**Next**: [Multi-Agent Systems](multi-agent-systems) - See how multiple OSSA agents coordinate
|