@bluefly/openstandardagents 0.4.9 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.version.json +3 -3
- package/CHANGELOG.md +8 -8
- package/README.md +68 -58
- package/bin/postinstall +0 -0
- package/dist/.version.json +3 -3
- package/dist/adapters/claude-code/adapter.js +2 -2
- package/dist/adapters/docker/generators.js +19 -19
- package/dist/adapters/drupal/generator.js +76 -76
- package/dist/adapters/openai-agents/adapter.js +2 -2
- package/dist/cli/schema-driven/schema-loader.js +5 -5
- package/dist/mcp-server/__tests__/mcp-server.spec.js +20 -11
- package/dist/mcp-server/index.js +0 -0
- package/dist/package.json +24 -11
- package/dist/services/export/langchain/langchain-exporter.js +2 -2
- package/dist/services/export/langchain/memory-generator.js +2 -2
- package/dist/services/export/testing/test-generator.js +1 -1
- package/dist/services/taxonomy-service.d.ts +3 -3
- package/dist/skills/test-skill/package.json +1 -1
- package/dist/spec/extensions/role-manifest.md +188 -0
- package/dist/spec/v0.4/extensions/mcp/README.md +1 -1
- package/dist/spec/v0.5/agent.schema.json +2 -1
- package/dist/spec/v0.5/extensions/mcp/README.md +1 -1
- package/dist/spec/v0.5/role.schema.json +268 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -0
- package/dist/types/role.d.ts +126 -0
- package/dist/types/role.js +38 -0
- package/dist/validation/validator.js +1 -1
- package/examples/agents/01-customer-support-bot/agent.ossa.yaml +24 -31
- package/examples/agents/05-sales-assistant/agent.ossa.yaml +35 -23
- package/examples/agents/07-research-assistant/agent.ossa.yaml +27 -21
- package/examples/agents/10-meeting-assistant/agent.ossa.yaml +27 -35
- package/examples/agents/security-audit-agent.ossa.yaml +234 -0
- package/examples/agentscope/react-assistant/agent.ossa.yaml +36 -32
- package/examples/drupal/content-moderator.ossa.yaml +2 -2
- package/examples/drupal/drupal-contributor.ossa.yaml +247 -0
- package/examples/export/langchain/production-agent-with-memory/README.md +1 -1
- package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +13 -23
- package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +1 -15
- package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +28 -29
- package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
- package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
- package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
- package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
- package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
- package/examples/getting-started/README.md +3 -3
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/gitlab-agents/gitlab-ci-agent.ossa.yaml +221 -0
- package/examples/hierarchical-agent.ossa.yaml +10 -53
- package/examples/kagent/ossa-kagent-anthropic.ossa.yaml +2 -25
- package/examples/kagent/ossa-kagent-mcp-tools.ossa.yaml +2 -30
- package/examples/kagent/ossa-kagent-multi-tool.ossa.yaml +2 -18
- package/examples/kagent/ossa-kagent-poc.ossa.yaml +2 -16
- package/examples/pipeline-agent.ossa.yaml +3 -3
- package/examples/platform-specific/claude-code-subagent.yaml +1 -1
- package/examples/platform-specific/cursor-coding-agent.yaml +1 -1
- package/examples/platform-specific/warp-terminal-agent.yaml +1 -1
- package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +24 -31
- package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +35 -23
- package/examples/production-ready/07-research-assistant/agent.ossa.yaml +27 -19
- package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +27 -35
- package/examples/reference-implementations/python-client/examples/basic_usage.py +0 -0
- package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -0
- package/examples/roles/drupal-developer.role.yaml +37 -0
- package/examples/roles/platform-operator.role.yaml +28 -0
- package/examples/roles/security-auditor.role.yaml +27 -0
- package/examples/swarm-agent.ossa.yaml +13 -51
- package/examples/team-agent.ossa.yaml +12 -61
- package/examples/team-lead-teammate.ossa.yaml +12 -17
- package/openapi/agent-communication.yaml +260 -212
- package/openapi/agent-crud.yaml +217 -187
- package/openapi/agent-discovery.yaml +119 -81
- package/openapi/agent-identity.yaml +219 -187
- package/openapi/agent-taxonomy.yaml +95 -38
- package/openapi/agents-md-service.yaml +103 -30
- package/openapi/cli/openapi.yaml +147 -40
- package/openapi/core/ossa-core-api.openapi.yaml +327 -271
- package/openapi/core/ossa-registry-api.openapi.yaml +298 -235
- package/openapi/core/ossa-registry.openapi.yaml +299 -159
- package/openapi/core/unified-agent-gateway.openapi.yaml +234 -170
- package/openapi/daemon-api.openapi.yaml +323 -181
- package/openapi/dev-cli/openapi.yaml +137 -113
- package/openapi/github-sync.yaml +62 -19
- package/openapi/marketplace-plugin.openapi.yaml +539 -466
- package/openapi/ossa-api.openapi.yaml +354 -213
- package/openapi/ossa-cli-enhancements.openapi.yaml +108 -89
- package/openapi/ossa-cli.yaml +260 -184
- package/openapi/protocols/sse-streams.yaml +66 -74
- package/openapi/protocols/websocket-events.yaml +61 -54
- package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +37 -20
- package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +35 -23
- package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +29 -18
- package/openapi/reference-implementations/critic-agent-api.openapi.yaml +45 -19
- package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +30 -24
- package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +101 -50
- package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +33 -22
- package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +20 -16
- package/openapi/reference-implementations/governor-agent-api.openapi.yaml +41 -23
- package/openapi/reference-implementations/helm-generator.openapi.yaml +88 -46
- package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +30 -20
- package/openapi/reference-implementations/judge-agent-api.openapi.yaml +22 -16
- package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +32 -18
- package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +32 -21
- package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +34 -21
- package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +49 -27
- package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +27 -19
- package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +427 -293
- package/openapi/reference-implementations/worker-agent-api.openapi.yaml +34 -23
- package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +35 -21
- package/openapi/release-automation.openapi.yaml +47 -13
- package/openapi/schemas/common/agent.yaml +30 -29
- package/openapi/schemas/common/errors.yaml +13 -3
- package/openapi/schemas/common/metadata.yaml +22 -7
- package/openapi/schemas/common/pagination.yaml +18 -6
- package/openapi/schemas/common/security.yaml +13 -5
- package/openapi/schemas/index.yaml +49 -42
- package/openapi/uadp-asyncapi.yaml +4 -2
- package/openapi/uadp-openapi.yaml +243 -165
- package/openapi/version-management.openapi.yaml +142 -135
- package/package.json +114 -103
- package/spec/extensions/role-manifest.md +188 -0
- package/spec/v0.4/extensions/mcp/README.md +1 -1
- package/spec/v0.5/agent.schema.json +2 -1
- package/spec/v0.5/extensions/mcp/README.md +1 -1
- package/spec/v0.5/role.schema.json +268 -0
package/.version.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -89,7 +89,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
89
89
|
### Summary
|
|
90
90
|
Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resulting in 47% LOC reduction, SDK adoption, and complete Skills pipeline implementation.
|
|
91
91
|
|
|
92
|
-
###
|
|
92
|
+
### Key Metrics
|
|
93
93
|
- **16,574 LOC removed** (47% codebase reduction: 35,425 → 18,851)
|
|
94
94
|
- **3,713 LOC directly deleted** (dead code elimination)
|
|
95
95
|
- **513 LOC removed from Anthropic adapter** (25.8% reduction via SDK migration)
|
|
@@ -99,7 +99,7 @@ Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resul
|
|
|
99
99
|
- **Tests: 19 new Skills pipeline tests** (100% passing)
|
|
100
100
|
- **SDK adoption: 22% → 28%** (Anthropic now uses official @anthropic-ai/sdk)
|
|
101
101
|
|
|
102
|
-
###
|
|
102
|
+
### New Features
|
|
103
103
|
|
|
104
104
|
#### Skills Pipeline (P0-1, P0-2, P0-3 from PRD)
|
|
105
105
|
- **`ossa skills research`** - Index Claude Skills from curated sources
|
|
@@ -251,7 +251,7 @@ Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resul
|
|
|
251
251
|
- **NPM converter tests**: 53/53 passing
|
|
252
252
|
- **GitLab generator tests**: 20/21 passing (1 skip)
|
|
253
253
|
|
|
254
|
-
###
|
|
254
|
+
### Dependencies
|
|
255
255
|
- **@anthropic-ai/sdk** - Official Anthropic SDK (new dependency)
|
|
256
256
|
- No breaking dependency changes
|
|
257
257
|
|
|
@@ -259,13 +259,13 @@ Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resul
|
|
|
259
259
|
- **Build failures** - Fixed 10 TypeScript errors by restoring missing services
|
|
260
260
|
- **Duplicate code** - Eliminated 99 LOC of duplication via BasePackageGenerator
|
|
261
261
|
|
|
262
|
-
###
|
|
262
|
+
### Known Issues
|
|
263
263
|
- **Jest type configuration** - Skills pipeline tests have TypeScript errors
|
|
264
264
|
- Tests run and pass (19/19) but TypeScript doesn't recognize Jest globals
|
|
265
265
|
- Needs @types/jest configuration in tsconfig or test setup file
|
|
266
266
|
- **GitLab generator test** - 1 test skipped (20/21 passing)
|
|
267
267
|
|
|
268
|
-
###
|
|
268
|
+
### Migration Guide
|
|
269
269
|
No breaking changes. This release is purely additive with tech debt reduction.
|
|
270
270
|
|
|
271
271
|
#### New Commands
|
|
@@ -296,7 +296,7 @@ npm run publish:dry-run # Test publication without publishing
|
|
|
296
296
|
- ✅ README reflects infrastructure bridge positioning
|
|
297
297
|
- ✅ Ready for npm publish (scripts, docs, config all prepared)
|
|
298
298
|
|
|
299
|
-
###
|
|
299
|
+
### Next Steps
|
|
300
300
|
- Fix Jest type configuration for Skills pipeline tests
|
|
301
301
|
- Run publish:check validation
|
|
302
302
|
- Publish to npm registry
|
|
@@ -353,7 +353,7 @@ Every registered command now works. Every version reference is correct. The READ
|
|
|
353
353
|
|
|
354
354
|
### Added
|
|
355
355
|
|
|
356
|
-
|
|
356
|
+
**GitLab Duo Agent Platform Export (Comprehensive Implementation)**
|
|
357
357
|
|
|
358
358
|
Complete production-ready GitLab Duo integration enabling OSSA agents to run natively on GitLab's Agent Platform.
|
|
359
359
|
|
|
@@ -678,7 +678,7 @@ All 11 platforms now generate complete, production-ready packages validated by c
|
|
|
678
678
|
|
|
679
679
|
### Added
|
|
680
680
|
|
|
681
|
-
|
|
681
|
+
**The Ultimate Agent Specification Standard - "The OpenAPI for Agents"**
|
|
682
682
|
|
|
683
683
|
This release transforms OSSA from a manifest format into THE definitive agent specification standard that will define what AI agents ARE for the next 5 years.
|
|
684
684
|
|
package/README.md
CHANGED
|
@@ -14,63 +14,73 @@ OSSA is not a protocol (like MCP or A2A) and not a framework (like LangChain or
|
|
|
14
14
|
- **Builds on A2A** - Supports A2A messaging and agent-to-agent communication
|
|
15
15
|
- **Extends protocols** - Adds deployment and packaging layer on top of communication protocols
|
|
16
16
|
|
|
17
|
-
##
|
|
17
|
+
## Why OSSA + DUADP
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- **Agent Identity (IA-3)**: W3C Decentralized Identifiers (GAID) provide cryptographic origin authentication for agents.
|
|
22
|
-
- **Pre-Authorization (AC-3, AC-6)**: Deterministic AWS Cedar policies evaluated at the transport layer enforce zero-trust bounds before an LLM receives context.
|
|
23
|
-
- **Federated Discovery**: Integration with DUADP (`.well-known` endpoints) scales agent discovery securely across organizational boundaries without centralized lock-in.
|
|
24
|
-
- **Supply Chain Security (SI-7)**: Cryptographically signed manifests (`x-signature`) and explicit OSCAL/SBOM pointers prevent tool poisoning and supply chain attacks.
|
|
25
|
-
|
|
26
|
-
## What's New
|
|
19
|
+
AI agents need the same foundational infrastructure the internet has: **identity**, **discovery**, and **governance**. OSSA and DUADP together deliver that stack:
|
|
27
20
|
|
|
28
|
-
|
|
21
|
+
```
|
|
22
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
23
|
+
│ Layer 1 — IDENTITY (this repo) │
|
|
24
|
+
│ OSSA (Open Standard for Software Agents) │
|
|
25
|
+
│ openstandardagents.org │
|
|
26
|
+
│ │
|
|
27
|
+
│ · Agent DID — W3C decentralized identity per agent │
|
|
28
|
+
│ · Signed manifests — cryptographic provenance + SBOM │
|
|
29
|
+
│ · Cedar policies — zero-trust authorization bounds │
|
|
30
|
+
│ · NIST SP 800-53 control mapping built in │
|
|
31
|
+
└─────────────────────┬────────────────────────────────────────┘
|
|
32
|
+
│ secure identity
|
|
33
|
+
▼
|
|
34
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
35
|
+
│ Layer 2 — DISCOVERY │
|
|
36
|
+
│ DUADP (Decentralized Universal AI Discovery Protocol) │
|
|
37
|
+
│ duadp.org | npm install @bluefly/duadp │
|
|
38
|
+
│ │
|
|
39
|
+
│ · Federated DNS + WebFinger agent discovery │
|
|
40
|
+
│ · Cross-node gossip federation │
|
|
41
|
+
│ · Policy-aware capability routing │
|
|
42
|
+
│ · Trust-tier gating (community → verified → federal) │
|
|
43
|
+
└─────────────────────┬────────────────────────────────────────┘
|
|
44
|
+
│ policy-filtered
|
|
45
|
+
▼
|
|
46
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
47
|
+
│ Layer 3 — EXECUTION │
|
|
48
|
+
│ Your runtime: Kubernetes, Claude, LangChain, Drupal, etc. │
|
|
49
|
+
└──────────────────────────────────────────────────────────────┘
|
|
50
|
+
```
|
|
29
51
|
|
|
30
|
-
|
|
31
|
-
- **Python adapter**: Full OSSA-to-AgentScope bridge — reads OSSA manifests, instantiates ReActAgent with MCP tools, A2A protocol, memory backends (Mem0, Redis, ReMe)
|
|
32
|
-
- **MCP server wrapper**: Expose any AgentScope agent as an MCP server for Claude Code, Cursor, VS Code
|
|
33
|
-
- **A2A endpoint**: Serve AgentScope agents as discoverable A2A protocol endpoints with `.well-known/agent.json`
|
|
34
|
-
- **Drupal module**: `ai_agents_agentscope` — contrib-first AiProvider plugin bridging AgentScope into Drupal's AI Agents ecosystem
|
|
35
|
-
- **Docker support**: Dockerfile + docker-compose for containerized AgentScope runtime
|
|
36
|
-
- **CLI**: `ossa-agentscope run|validate|serve` commands for manifest-driven agent execution
|
|
37
|
-
- **Unique capabilities** not available in other frameworks: RL-based agent training, realtime voice agents, built-in evaluation framework
|
|
38
|
-
- **Schema**: `extensions.agentscope` block in v0.4 and v0.5 specs with agent_class, capabilities, memory_backend, orchestration, formatter, compression, skill_dirs
|
|
52
|
+
**OSSA defines the agent. DUADP discovers it.**
|
|
39
53
|
|
|
40
|
-
|
|
54
|
+
| Security requirement | OSSA | DUADP |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| Agent identity & authentication | ✅ W3C DID (GAID) per agent | ✅ DID-verified nodes |
|
|
57
|
+
| Authorization & least-privilege | ✅ AWS Cedar policies in manifest | ✅ Trust-tier gating |
|
|
58
|
+
| Governance & human oversight | ✅ Signed manifests + OSCAL pointers | ✅ Audit log + attestation API |
|
|
59
|
+
| Cross-system interoperability | ✅ Multi-platform exports | ✅ Federated gossip discovery |
|
|
60
|
+
| Monitoring & incident response | ✅ Observability config in spec | ✅ Revocation + incident endpoints |
|
|
61
|
+
| Supply chain security | ✅ `x-signature` + SBOM | ✅ Signed resource registry |
|
|
41
62
|
|
|
42
|
-
|
|
43
|
-
- Maps OSSA `spec.personality` to agent instructions, `spec.llm` to model selection, `spec.tools` to function tools, `spec.mcp` to MCPServerStreamableHttp connections, `spec.safety` to guardrails
|
|
44
|
-
- Generates: `agent.ts`, `mcp-config.ts`, `guardrails.ts`, `run.ts`, `package.json`, `tsconfig.json`
|
|
45
|
-
- Usage: `ossa export --platform openai-agents-sdk agent.ossa.yaml`
|
|
46
|
-
- New OSSA extension blocks planned: `openai_agents_sdk`, `openai_responses_api`, `openai_realtime`, `openai_deep_research`
|
|
47
|
-
- Supports defining agents once and exporting to both Claude and OpenAI platforms
|
|
63
|
+
> [openstandardagents.org/specification →](https://openstandardagents.org/specification) | [duadp.org →](https://duadp.org)
|
|
48
64
|
|
|
49
|
-
|
|
65
|
+
## 🇺🇸 NIST CAISI Alignment (NIST-2025-0035)
|
|
50
66
|
|
|
51
|
-
|
|
52
|
-
- **Subagent definitions** (`spec.subagents`): Parent-child delegation hierarchies with role-based agents (worker, specialist, reviewer, debugger)
|
|
53
|
-
- **8 architecture patterns**: single, swarm, pipeline, graph, hierarchical, reactive, cognitive, lead-teammate
|
|
54
|
-
- **Team code generation**: Export team topology to CrewAI (Python), OpenAI Agents SDK (TypeScript), Claude Code (markdown), and npm (TypeScript)
|
|
55
|
-
- **`--perfect-agent` CLI flag**: Generate a complete production bundle — AGENTS.md, team scaffolding, CLEAR eval stubs, governance config, observability config, and agent card
|
|
56
|
-
- **Team-aware AGENTS.md**: Auto-generated documentation with team topology tables, member roles, coordination strategy, and hierarchy diagrams
|
|
57
|
-
- **5 new export platforms**: `openai-agents-sdk` (beta), `a2a` (alpha), `claude-skills` (beta), `mobile-agent` (alpha), `symfony` (alpha) — bringing total to 22
|
|
67
|
+
If you're evaluating OSSA/DUADP for federal or regulated deployments, see the detailed alignment documentation:
|
|
58
68
|
|
|
59
|
-
|
|
69
|
+
OSSA natively aligns with the [NIST CAISI Request for Information on Collaborative AI Systems Integration](https://www.regulations.gov/docket/NIST-2025-0035), providing the critical **Contract Layer** missing from current agent protocols.
|
|
60
70
|
|
|
61
|
-
**
|
|
62
|
-
-
|
|
63
|
-
-
|
|
71
|
+
- **Agent Identity (IA-3)**: W3C Decentralized Identifiers (GAID) provide cryptographic origin authentication for agents.
|
|
72
|
+
- **Pre-Authorization (AC-3, AC-6)**: Deterministic AWS Cedar policies evaluated at the transport layer enforce zero-trust bounds before an LLM receives context.
|
|
73
|
+
- **Federated Discovery**: Integration with DUADP (`.well-known` endpoints) scales agent discovery securely across organizational boundaries without centralized lock-in.
|
|
74
|
+
- **Supply Chain Security (SI-7)**: Cryptographically signed manifests (`x-signature`) and explicit OSCAL/SBOM pointers prevent tool poisoning and supply chain attacks.
|
|
64
75
|
|
|
65
|
-
|
|
76
|
+
## What's New in v0.5.0
|
|
66
77
|
|
|
67
|
-
**
|
|
68
|
-
-
|
|
69
|
-
- SDK
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- 19 New Tests - Skills pipeline fully tested (100% passing)
|
|
78
|
+
- **Spec and schema are aligned on `0.5.0`**. Public examples, migration commands, and SDK snippets now use `ossa/v0.5.0` and [`spec/v0.5/agent.schema.json`](./spec/v0.5/agent.schema.json).
|
|
79
|
+
- **Release-facing examples are normalized**. The getting-started manifests and walkthroughs now validate cleanly as `v0.5.0` instead of mixing `v0.4.x` references into the release branch.
|
|
80
|
+
- **OpenAI Agents SDK export remains first-class**. Use `ossa export agent.ossa.yaml --platform openai-agents-sdk` to generate a runnable `@openai/agents` TypeScript package with MCP config and guardrails.
|
|
81
|
+
- **AgentScope support remains available in `v0.5.0`**. `extensions.agentscope` continues to cover agent class, orchestration, memory backend, capabilities, and compression settings for AgentScope-based deployments.
|
|
82
|
+
- **Team topology stays in the core contract**. `spec.team`, `spec.subagents`, and `--perfect-agent` continue to support lead-teammate, peer, hierarchical, and swarm compositions from a single manifest.
|
|
83
|
+
- **Release validation is stricter**. CI now checks the release-facing docs and getting-started examples so `README.md`, `llms.txt`, and tutorial manifests do not silently drift behind the current spec.
|
|
74
84
|
|
|
75
85
|
See [CHANGELOG.md](./CHANGELOG.md) for complete details.
|
|
76
86
|
|
|
@@ -288,7 +298,7 @@ Upgrade manifests to the latest spec version:
|
|
|
288
298
|
|
|
289
299
|
```bash
|
|
290
300
|
# Migrate from older version to current
|
|
291
|
-
ossa migrate agent.ossa.yaml --to 0.
|
|
301
|
+
ossa migrate agent.ossa.yaml --to 0.5.0
|
|
292
302
|
|
|
293
303
|
# List available migration paths
|
|
294
304
|
ossa migrate --list
|
|
@@ -315,7 +325,7 @@ if (result.valid) {
|
|
|
315
325
|
}
|
|
316
326
|
```
|
|
317
327
|
|
|
318
|
-
## Production Status (v0.
|
|
328
|
+
## Production Status (v0.5.0)
|
|
319
329
|
|
|
320
330
|
### ✅ Production-Ready (Tested & Documented)
|
|
321
331
|
|
|
@@ -327,13 +337,13 @@ if (result.valid) {
|
|
|
327
337
|
- `ossa migrate` - Migrate between spec versions
|
|
328
338
|
- `ossa generate-gaid` - Global Agent ID generation
|
|
329
339
|
|
|
330
|
-
**Production Platform Exports** (
|
|
340
|
+
**Production Platform Exports** (see `ossa export --list-platforms` for the live matrix):
|
|
331
341
|
- `langchain` (production) - Python + TypeScript agents (uses @langchain/* SDK v0.3+)
|
|
332
342
|
- `mcp` (production) - MCP server for Claude Code (uses @modelcontextprotocol/sdk v1.0+)
|
|
333
343
|
- `npm` (production) - TypeScript package with manifest
|
|
334
344
|
- `agent-skills` (production) - SKILL.md for Claude Code
|
|
335
345
|
|
|
336
|
-
**Skills Pipeline** (✅
|
|
346
|
+
**Skills Pipeline** (✅ Current in v0.5.0):
|
|
337
347
|
- `ossa skills research` - Index skills from curated sources (cached locally at ~/.ossa/skills-index.json)
|
|
338
348
|
- `ossa skills generate` - Auto-detects input format (OSSA, Oracle Agent Spec, AGENTS.md)
|
|
339
349
|
- `ossa skills export` - Package as npm, install to ~/.claude/skills/, publish to registry
|
|
@@ -352,7 +362,7 @@ if (result.valid) {
|
|
|
352
362
|
- `ossa agents-local` - Local `.agents/` folder management
|
|
353
363
|
- `ossa agents-md` - Generate, validate, sync [agents.md](https://agents.md) files (standard: [agentsmd/agents.md](https://github.com/agentsmd/agents.md)); customize via wizard step or `ossa agents-md generate|validate|sync`
|
|
354
364
|
- Export to: `crewai`, `drupal`, `claude-code`, `cursor`, `warp`, `anthropic`
|
|
355
|
-
- Anthropic runtime adapter uses official `@anthropic-ai/sdk`
|
|
365
|
+
- Anthropic runtime adapter uses official `@anthropic-ai/sdk`
|
|
356
366
|
|
|
357
367
|
### GitLab Agent Examples (Fully Implemented)
|
|
358
368
|
|
|
@@ -396,7 +406,7 @@ OSSA complements MCP and A2A by adding the packaging and deployment layer they d
|
|
|
396
406
|
### Manifest Format
|
|
397
407
|
|
|
398
408
|
```yaml
|
|
399
|
-
apiVersion: ossa/v0.
|
|
409
|
+
apiVersion: ossa/v0.5.0
|
|
400
410
|
kind: Agent
|
|
401
411
|
metadata:
|
|
402
412
|
name: code-reviewer
|
|
@@ -423,7 +433,7 @@ spec:
|
|
|
423
433
|
#### Team Manifest Example
|
|
424
434
|
|
|
425
435
|
```yaml
|
|
426
|
-
apiVersion: ossa/v0.
|
|
436
|
+
apiVersion: ossa/v0.5.0
|
|
427
437
|
kind: Agent
|
|
428
438
|
metadata:
|
|
429
439
|
name: dev-team
|
|
@@ -517,7 +527,7 @@ import { validateManifest } from '@bluefly/openstandardagents/validation';
|
|
|
517
527
|
import type { OssaAgent } from '@bluefly/openstandardagents/types';
|
|
518
528
|
|
|
519
529
|
const agent: OssaAgent = {
|
|
520
|
-
apiVersion: 'ossa/v0.
|
|
530
|
+
apiVersion: 'ossa/v0.5.0',
|
|
521
531
|
kind: 'Agent',
|
|
522
532
|
metadata: { name: 'creative-agent-naming', version: '1.0.0' },
|
|
523
533
|
spec: {
|
|
@@ -532,7 +542,7 @@ if (result.valid) console.log('Valid manifest');
|
|
|
532
542
|
|
|
533
543
|
## Spec Features
|
|
534
544
|
|
|
535
|
-
The OSSA v0.
|
|
545
|
+
The OSSA v0.5.0 schema supports these optional sections:
|
|
536
546
|
|
|
537
547
|
- **LLM Configuration** - Provider, model, temperature, max tokens, caching
|
|
538
548
|
- **Tools** - Named tools with input schemas
|
|
@@ -563,7 +573,7 @@ OSSA is designed to work **alongside** existing agent protocols, not replace the
|
|
|
563
573
|
**Example**: An OSSA manifest can declare that an agent uses MCP tools and A2A messaging, then export that configuration to Docker, Kubernetes, or LangChain deployment packages.
|
|
564
574
|
|
|
565
575
|
```yaml
|
|
566
|
-
apiVersion: ossa/v0.
|
|
576
|
+
apiVersion: ossa/v0.5.0
|
|
567
577
|
kind: Agent
|
|
568
578
|
metadata:
|
|
569
579
|
name: code-reviewer
|
|
@@ -617,7 +627,7 @@ ossa export agent.ossa.yaml --platform docker --output ./docker-deploy
|
|
|
617
627
|
ossa export --list-platforms
|
|
618
628
|
ossa lint agent.ossa.yaml
|
|
619
629
|
ossa diff old.ossa.yaml new.ossa.yaml
|
|
620
|
-
ossa migrate agent.ossa.yaml --to 0.
|
|
630
|
+
ossa migrate agent.ossa.yaml --to 0.5.0
|
|
621
631
|
ossa generate-gaid agent.ossa.yaml
|
|
622
632
|
ossa export agent.ossa.yaml --perfect-agent
|
|
623
633
|
ossa export agent.ossa.yaml --include-agents-md --include-team --include-evals
|
|
@@ -705,7 +715,7 @@ All mutation commands support:
|
|
|
705
715
|
- [Agents workspace and registry](./docs/getting-started/agents-workspace-registry.md) - `.agents-workspace/` layout, sources, MCP/A2A
|
|
706
716
|
- [CHANGELOG](./CHANGELOG.md) - Release history
|
|
707
717
|
- [Examples](./examples) - Sample manifests
|
|
708
|
-
- [JSON Schema](./spec/v0.
|
|
718
|
+
- [JSON Schema](./spec/v0.5/agent.schema.json) - Full spec
|
|
709
719
|
- [GitLab](https://gitlab.com/blueflyio/ossa/openstandardagents) - Source
|
|
710
720
|
- [GitHub Mirror](https://github.com/blueflyio/openstandardagents)
|
|
711
721
|
|
package/bin/postinstall
CHANGED
|
File without changes
|
package/dist/.version.json
CHANGED
|
@@ -325,8 +325,8 @@ fi`)
|
|
|
325
325
|
|
|
326
326
|
# Delegate to OSSA CLI when available (set OSSA_MANIFEST to manifest path)
|
|
327
327
|
if command -v ossa >/dev/null 2>&1 && [[ -n "\${OSSA_MANIFEST:-}" ]]; then
|
|
328
|
-
ossa run "\${OSSA_MANIFEST}" --tool ${tool.name} -- "
|
|
329
|
-
exit
|
|
328
|
+
ossa run "\${OSSA_MANIFEST}" --tool ${tool.name} -- "$@"
|
|
329
|
+
exit $?
|
|
330
330
|
fi
|
|
331
331
|
|
|
332
332
|
# Fallback: output structured result
|
|
@@ -438,18 +438,18 @@ set -e
|
|
|
438
438
|
echo "Starting ${agentName}..."
|
|
439
439
|
|
|
440
440
|
# Wait for dependencies
|
|
441
|
-
if [ -n "
|
|
441
|
+
if [ -n "$POSTGRES_HOST" ]; then
|
|
442
442
|
echo "Waiting for PostgreSQL..."
|
|
443
|
-
until nc -z "
|
|
443
|
+
until nc -z "$POSTGRES_HOST" "\${POSTGRES_PORT:-5432}"; do
|
|
444
444
|
echo "PostgreSQL is unavailable - sleeping"
|
|
445
445
|
sleep 1
|
|
446
446
|
done
|
|
447
447
|
echo "PostgreSQL is up"
|
|
448
448
|
fi
|
|
449
449
|
|
|
450
|
-
if [ -n "
|
|
450
|
+
if [ -n "$REDIS_HOST" ]; then
|
|
451
451
|
echo "Waiting for Redis..."
|
|
452
|
-
until nc -z "
|
|
452
|
+
until nc -z "$REDIS_HOST" "\${REDIS_PORT:-6379}"; do
|
|
453
453
|
echo "Redis is unavailable - sleeping"
|
|
454
454
|
sleep 1
|
|
455
455
|
done
|
|
@@ -464,7 +464,7 @@ fi
|
|
|
464
464
|
|
|
465
465
|
# Execute the main command
|
|
466
466
|
echo "Starting application..."
|
|
467
|
-
exec "
|
|
467
|
+
exec "$@"
|
|
468
468
|
`;
|
|
469
469
|
}
|
|
470
470
|
/**
|
|
@@ -484,13 +484,13 @@ if ! pgrep -f "node" > /dev/null; then
|
|
|
484
484
|
fi
|
|
485
485
|
|
|
486
486
|
# Check HTTP health endpoint
|
|
487
|
-
response
|
|
487
|
+
response=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:${port}/health || echo "000")
|
|
488
488
|
|
|
489
|
-
if [ "
|
|
489
|
+
if [ "$response" = "200" ]; then
|
|
490
490
|
echo "Health check passed"
|
|
491
491
|
exit 0
|
|
492
492
|
else
|
|
493
|
-
echo "Health check failed with status:
|
|
493
|
+
echo "Health check failed with status: $response"
|
|
494
494
|
exit 1
|
|
495
495
|
fi
|
|
496
496
|
`;
|
|
@@ -523,7 +523,7 @@ docker build \\
|
|
|
523
523
|
|
|
524
524
|
echo "✓ Build complete"
|
|
525
525
|
echo " Image: \${IMAGE_NAME}:\${VERSION}"
|
|
526
|
-
echo " Size:
|
|
526
|
+
echo " Size: $(docker images \${IMAGE_NAME}:\${VERSION} --format "{{.Size}}")"
|
|
527
527
|
`;
|
|
528
528
|
}
|
|
529
529
|
/**
|
|
@@ -540,7 +540,7 @@ IMAGE_NAME="${agentName}"
|
|
|
540
540
|
VERSION=\${VERSION:-latest}
|
|
541
541
|
REGISTRY=\${REGISTRY:-docker.io}
|
|
542
542
|
|
|
543
|
-
if [ -z "
|
|
543
|
+
if [ -z "$REGISTRY" ]; then
|
|
544
544
|
echo "Error: REGISTRY environment variable is required"
|
|
545
545
|
exit 1
|
|
546
546
|
fi
|
|
@@ -709,9 +709,9 @@ http {
|
|
|
709
709
|
include /etc/nginx/mime.types;
|
|
710
710
|
default_type application/octet-stream;
|
|
711
711
|
|
|
712
|
-
log_format main '
|
|
713
|
-
'
|
|
714
|
-
'"
|
|
712
|
+
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
|
713
|
+
'$status $body_bytes_sent "$http_referer" '
|
|
714
|
+
'"$http_user_agent" "$http_x_forwarded_for"';
|
|
715
715
|
|
|
716
716
|
access_log /var/log/nginx/access.log main;
|
|
717
717
|
|
|
@@ -728,7 +728,7 @@ http {
|
|
|
728
728
|
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
|
|
729
729
|
|
|
730
730
|
# Rate limiting
|
|
731
|
-
limit_req_zone
|
|
731
|
+
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
|
|
732
732
|
|
|
733
733
|
upstream agent_backend {
|
|
734
734
|
least_conn;
|
|
@@ -756,12 +756,12 @@ http {
|
|
|
756
756
|
|
|
757
757
|
proxy_pass http://agent_backend;
|
|
758
758
|
proxy_http_version 1.1;
|
|
759
|
-
proxy_set_header Upgrade
|
|
759
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
760
760
|
proxy_set_header Connection "upgrade";
|
|
761
|
-
proxy_set_header Host
|
|
762
|
-
proxy_set_header X-Real-IP
|
|
763
|
-
proxy_set_header X-Forwarded-For
|
|
764
|
-
proxy_set_header X-Forwarded-Proto
|
|
761
|
+
proxy_set_header Host $host;
|
|
762
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
763
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
764
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
765
765
|
|
|
766
766
|
# Timeouts
|
|
767
767
|
proxy_connect_timeout 60;
|