@bluefly/openstandardagents 0.5.0 → 0.5.1

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.
Files changed (170) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +43 -12
  3. package/README.md +31 -26
  4. package/bin/postinstall +0 -0
  5. package/dist/.version.json +3 -3
  6. package/dist/adapters/a2a/a2a-protocol.js +4 -2
  7. package/dist/adapters/a2a/a2a-tool.js +4 -2
  8. package/dist/adapters/a2a/mcp-integration.d.ts +2 -1
  9. package/dist/adapters/a2a/mcp-integration.js +6 -3
  10. package/dist/adapters/browser/browser-exporter.d.ts +26 -0
  11. package/dist/adapters/browser/browser-exporter.js +73 -0
  12. package/dist/adapters/browser/browser-runner.d.ts +23 -0
  13. package/dist/adapters/browser/browser-runner.js +46 -0
  14. package/dist/adapters/browser/index.d.ts +9 -0
  15. package/dist/adapters/browser/index.js +9 -0
  16. package/dist/adapters/docker/index.d.ts +2 -0
  17. package/dist/adapters/docker/index.js +2 -0
  18. package/dist/adapters/docker/openclaw-bridge.d.ts +57 -0
  19. package/dist/adapters/docker/openclaw-bridge.js +173 -0
  20. package/dist/adapters/drupal/index.d.ts +1 -0
  21. package/dist/adapters/drupal/index.js +2 -0
  22. package/dist/adapters/drupal/twig-renderer.d.ts +23 -0
  23. package/dist/adapters/drupal/twig-renderer.js +99 -0
  24. package/dist/adapters/gitlab/agent-generator.js +2 -1
  25. package/dist/api/index.js +2 -1
  26. package/dist/api/routes/mcp.router.js +3 -1
  27. package/dist/api/routes/wizard.router.js +3 -1
  28. package/dist/cli/commands/agent/discover-type.command.js +1 -1
  29. package/dist/cli/commands/agent-card.command.js +37 -10
  30. package/dist/cli/commands/agents-sync.command.d.ts +2 -2
  31. package/dist/cli/commands/agents-sync.command.js +27 -17
  32. package/dist/cli/commands/catalog/config.js +1 -1
  33. package/dist/cli/commands/catalog/validate.command.js +2 -2
  34. package/dist/cli/commands/config.command.js +2 -2
  35. package/dist/cli/commands/daemon.command.js +32 -8
  36. package/dist/cli/commands/discover.d.ts +1 -1
  37. package/dist/cli/commands/discover.js +16 -8
  38. package/dist/cli/commands/economics.command.d.ts +9 -0
  39. package/dist/cli/commands/economics.command.js +113 -0
  40. package/dist/cli/commands/export.command.js +6 -3
  41. package/dist/cli/commands/mcp.command.js +3 -1
  42. package/dist/cli/commands/memory.command.d.ts +18 -0
  43. package/dist/cli/commands/memory.command.js +168 -0
  44. package/dist/cli/commands/publish.command.js +7 -4
  45. package/dist/cli/commands/serve-builder-routes.js +1 -1
  46. package/dist/cli/commands/usie-skills.command.d.ts +24 -0
  47. package/dist/cli/commands/usie-skills.command.js +297 -0
  48. package/dist/cli/commands/validate.command.js +8 -1
  49. package/dist/cli/commands/verify.d.ts +3 -3
  50. package/dist/cli/commands/verify.js +12 -6
  51. package/dist/cli/commands/workspace.command.d.ts +1 -0
  52. package/dist/cli/commands/workspace.command.js +28 -4
  53. package/dist/cli/index.js +12 -0
  54. package/dist/cli/workspace-validate.d.ts +23 -0
  55. package/dist/cli/workspace-validate.js +117 -0
  56. package/dist/data/platform-matrix.js +1 -4
  57. package/dist/generated/types.d.ts +97 -97
  58. package/dist/index.d.ts +2 -0
  59. package/dist/index.js +2 -0
  60. package/dist/mcp-server/index.js +658 -982
  61. package/dist/mesh/discovery-gkg.d.ts +26 -0
  62. package/dist/mesh/discovery-gkg.js +92 -0
  63. package/dist/messenger/Handler/AgentBatchHandler.js +3 -2
  64. package/dist/messenger/Handler/AgentExecutionHandler.js +6 -1
  65. package/dist/package.json +20 -4
  66. package/dist/sdks/shared/types.d.ts +1 -1
  67. package/dist/services/agent-card-generator.js +6 -2
  68. package/dist/services/daemon/audit-log.service.js +3 -1
  69. package/dist/services/daemon/execution.service.js +8 -4
  70. package/dist/services/daemon/fs-watcher.service.js +6 -7
  71. package/dist/services/daemon/pairing.service.js +2 -1
  72. package/dist/services/daemon/skill-aggregator.service.js +105 -21
  73. package/dist/services/daemon/sse-endpoints.js +1 -1
  74. package/dist/services/daemon/ws-server.js +10 -3
  75. package/dist/services/governance/cedar-provider.js +12 -8
  76. package/dist/services/governance/cedar-validator.service.js +1 -1
  77. package/dist/services/mcp/bridge.service.js +40 -9
  78. package/dist/services/openapi-extensions-validation.d.ts +20 -0
  79. package/dist/services/openapi-extensions-validation.js +193 -0
  80. package/dist/services/release-automation/merge-request.service.d.ts +4 -4
  81. package/dist/services/release-automation/release-buttons.js +3 -3
  82. package/dist/services/release-automation/schemas/release.schema.d.ts +3 -3
  83. package/dist/services/runtime/openai.adapter.d.ts +46 -13
  84. package/dist/services/runtime/openai.adapter.js +169 -131
  85. package/dist/services/skill-registry.service.d.ts +1 -1
  86. package/dist/services/skills-pipeline/skills-research.service.js +47 -7
  87. package/dist/services/trust/trust.service.js +6 -4
  88. package/dist/services/validation-zod.service.js +3 -22
  89. package/dist/services/validators/index.d.ts +1 -0
  90. package/dist/services/validators/index.js +1 -0
  91. package/dist/services/validators/registry.d.ts +21 -0
  92. package/dist/services/validators/registry.js +42 -0
  93. package/dist/skills/test-skill/package.json +1 -1
  94. package/dist/spec/extensions/cognition.schema.json +87 -0
  95. package/dist/spec/layer4-economics/duadp-examples.json +44 -0
  96. package/dist/spec/v0.4/agent.schema.json +14 -0
  97. package/dist/spec/v0.5/agent-builder-openapi.yaml +230 -0
  98. package/dist/spec/v0.5/agent.schema.json +32 -1
  99. package/dist/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
  100. package/dist/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
  101. package/dist/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
  102. package/dist/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
  103. package/dist/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
  104. package/dist/spec/v0.5/extensions/mcp/README.md +1 -1
  105. package/dist/spec/v0.5/memory-hierarchy.yaml +120 -0
  106. package/dist/spec/v1/agent-card.schema.json +254 -0
  107. package/dist/types/cognition.zod.d.ts +312 -0
  108. package/dist/types/cognition.zod.js +223 -0
  109. package/dist/types/identity.zod.d.ts +5 -5
  110. package/dist/types/index.d.ts +53 -7
  111. package/dist/types/index.js +4 -2
  112. package/dist/types/personality.zod.d.ts +3 -3
  113. package/dist/utils/http-client.d.ts +22 -0
  114. package/dist/utils/http-client.js +51 -0
  115. package/dist/utils/index.d.ts +3 -0
  116. package/dist/utils/index.js +3 -0
  117. package/dist/utils/proxy-resolver.d.ts +36 -0
  118. package/dist/utils/proxy-resolver.js +59 -0
  119. package/dist/utils/user-agent.d.ts +11 -0
  120. package/dist/utils/user-agent.js +17 -0
  121. package/dist/validation/version-compliance.js +1 -1
  122. package/examples/agentscope/react-assistant/README.md +1 -1
  123. package/examples/agentscope/react-assistant/agent.ossa.yaml +1 -1
  124. package/examples/drupal/drupal-contributor-agent/.eslintrc.json +58 -0
  125. package/examples/drupal/drupal-contributor-agent/.prettierrc.json +10 -0
  126. package/examples/drupal/drupal-contributor-agent/package.json +55 -0
  127. package/examples/drupal/drupal-contributor-agent/src/core/index.ts +10 -0
  128. package/examples/drupal/drupal-contributor-agent/src/index.ts +17 -0
  129. package/examples/drupal/drupal-contributor-agent/src/types/index.ts +180 -0
  130. package/examples/drupal/drupal-contributor-agent/tsconfig.json +36 -0
  131. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  132. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  133. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  134. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  135. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  136. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  137. package/examples/reference-implementations/python-client/examples/basic_usage.py +0 -0
  138. package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -0
  139. package/openapi/agent-cognition-sessions.yaml +580 -0
  140. package/openapi/agent-crud.yaml +20 -20
  141. package/openapi/core/ossa-registry-api.openapi.yaml +1 -1
  142. package/openapi/ossa-cli-enhancements.openapi.yaml +1 -1
  143. package/openapi/release-automation.openapi.yaml +1 -1
  144. package/openapi/schemas/common/economics.yaml +98 -0
  145. package/openapi/uadp-asyncapi.yaml +1 -1
  146. package/openapi/uadp-openapi.yaml +2 -2
  147. package/package.json +114 -96
  148. package/spec/extensions/cognition.schema.json +87 -0
  149. package/spec/layer4-economics/duadp-examples.json +44 -0
  150. package/spec/v0.4/agent.schema.json +14 -0
  151. package/spec/v0.5/agent-builder-openapi.yaml +230 -0
  152. package/spec/v0.5/agent.schema.json +32 -1
  153. package/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
  154. package/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
  155. package/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
  156. package/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
  157. package/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
  158. package/spec/v0.5/extensions/mcp/README.md +1 -1
  159. package/spec/v0.5/memory-hierarchy.yaml +120 -0
  160. package/spec/v1/agent-card.schema.json +254 -0
  161. package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts +0 -5
  162. package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +0 -268
  163. package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts +0 -5
  164. package/dist/adapters/a2a/__tests__/mcp-transport.spec.js +0 -203
  165. package/dist/mcp-server/__tests__/mcp-server.spec.d.ts +0 -8
  166. package/dist/mcp-server/__tests__/mcp-server.spec.js +0 -566
  167. package/dist/validation/__tests__/error-codes.test.d.ts +0 -5
  168. package/dist/validation/__tests__/error-codes.test.js +0 -252
  169. package/dist/version-management/core/version-manager.test.d.ts +0 -2
  170. package/dist/version-management/core/version-manager.test.js +0 -210
package/.version.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
- "current": "0.5.0",
3
- "latest_stable": "0.4.9",
4
- "spec_version": "0.5.0",
2
+ "current": "0.5.1",
3
+ "latest_stable": "0.5.1",
4
+ "spec_version": "0.5.1",
5
5
  "spec_path": "spec/v0.5",
6
6
  "schema_file": "agent.schema.json"
7
7
  }
package/CHANGELOG.md CHANGED
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.1] - 2026-03-21
11
+
12
+ ### Added
13
+ - **Memory Hierarchy (P5)**: Three-tier memory contracts (`spec/v0.5/memory-hierarchy.yaml`) — working, episodic, and long-term layers with promotion rules
14
+ - **`ossa memory` CLI subcommand**: `init`, `index`, `resolve`, `promote` — wire agents to the three-tier memory spec
15
+ - **Execution Economics (Layer 4)**: `ExecutionProfile`, `ContextPack`, and `ReplayPacket` schemas for portable execution intent and cost-aware agent design
16
+ - **Reasoning Escrow**: Cryptographic hash of reasoning traces via the AI SDK v6 `ToolLoopAgent` — auditable yet private agent decisions
17
+ - **StateMesh Integration**: Agents publish `StateClaims` (Evidence/Intent) to the mesh during runtime; governed state exchange via `extensions.statemesh`
18
+ - **AI SDK v6 Loop**: Native `ToolLoopAgent` in the production `OpenAIAdapter`; `@ai-sdk/anthropic` and `@ai-sdk/google` adapters added
19
+ - **DUADP Trust Tiers**: Native four-tier model (Official → Verified → Community → Unverified) wired into discovery and GKG Matchmaker
20
+ - **Agent Builder API**: `/api/agent-builder` route replaces deprecated `/api/v1/wizard`; `apiVersion >= ossa/v0.5.0` enforced at scaffold time
21
+ - **CAOE cognition types**: `session`, `hypothesis`, and `alignment gate` JSON schema extensions (`spec/v0.5/extensions/cognition/`)
22
+ - **`kind: Role` manifest**: Declarative role-based agent identity (`spec/v0.5/role.schema.json`)
23
+ - **Agent Builder OpenAPI spec**: `spec/v0.5/agent-builder-openapi.yaml` — frozen builder contract
24
+ - **Registry API v0.5.1**: `spec/registry/openapi.yaml` bumped; `agent-crud` generated types updated
25
+ - **Skills CLI (6 commands)**: `ossa skills research | generate | export | list | validate | sync` — full skills pipeline production-ready; 19 tests, 100% passing
26
+ - **5 new skills plugin files**: `database-migration`, `chaos-engineering`, `performance-profiling`, `compliance-auditing`, `incident-response`
27
+ - **`ossa execution-profile validate`**, **`ossa context-pack build`**, **`ossa task quote`** CLI commands
28
+
29
+ ### Changed
30
+ - `uuid` dependency: `^11.0.5` → `^11.1.0` (platform `dependency_standards` compliance)
31
+ - `@modelcontextprotocol/sdk`: aligned to `^1.26.0`
32
+ - MCP DI services wired: `ossa_validate` and `ossa_publish` connected to dependency injection
33
+ - Open-source publication: removed all internal paths, private domains, and platform-specific references
34
+
35
+ ### Fixed
36
+ - Test framework: 3 test files using `vitest` in Jest runner corrected to `@jest/globals`; 76/76 suites, 1305 tests, 0 failures
37
+ - `OssaApiVersionSchema`: union accepts `ossa/v0.5.0` and `ossa/v0.3.2` for migration compatibility
38
+ - Registry and agent-crud OpenAPI versions bumped `0.3.3` → `0.5.1`
39
+ - `undici` vulnerability overrides applied; `postgres` password parameterized in Docker generator
40
+
10
41
  ## [0.5.0] - 2026-03-08
11
42
 
12
43
  ### Added
@@ -89,7 +120,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
89
120
  ### Summary
90
121
  Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resulting in 47% LOC reduction, SDK adoption, and complete Skills pipeline implementation.
91
122
 
92
- ### Key Metrics
123
+ ### 🎯 Key Metrics
93
124
  - **16,574 LOC removed** (47% codebase reduction: 35,425 → 18,851)
94
125
  - **3,713 LOC directly deleted** (dead code elimination)
95
126
  - **513 LOC removed from Anthropic adapter** (25.8% reduction via SDK migration)
@@ -99,7 +130,7 @@ Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resul
99
130
  - **Tests: 19 new Skills pipeline tests** (100% passing)
100
131
  - **SDK adoption: 22% → 28%** (Anthropic now uses official @anthropic-ai/sdk)
101
132
 
102
- ### New Features
133
+ ### New Features
103
134
 
104
135
  #### Skills Pipeline (P0-1, P0-2, P0-3 from PRD)
105
136
  - **`ossa skills research`** - Index Claude Skills from curated sources
@@ -251,7 +282,7 @@ Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resul
251
282
  - **NPM converter tests**: 53/53 passing
252
283
  - **GitLab generator tests**: 20/21 passing (1 skip)
253
284
 
254
- ### Dependencies
285
+ ### 📦 Dependencies
255
286
  - **@anthropic-ai/sdk** - Official Anthropic SDK (new dependency)
256
287
  - No breaking dependency changes
257
288
 
@@ -259,13 +290,13 @@ Phase 0 - Foundation fixes + tech debt reduction. Massive codebase cleanup resul
259
290
  - **Build failures** - Fixed 10 TypeScript errors by restoring missing services
260
291
  - **Duplicate code** - Eliminated 99 LOC of duplication via BasePackageGenerator
261
292
 
262
- ### Known Issues
293
+ ### 💡 Known Issues
263
294
  - **Jest type configuration** - Skills pipeline tests have TypeScript errors
264
295
  - Tests run and pass (19/19) but TypeScript doesn't recognize Jest globals
265
296
  - Needs @types/jest configuration in tsconfig or test setup file
266
297
  - **GitLab generator test** - 1 test skipped (20/21 passing)
267
298
 
268
- ### Migration Guide
299
+ ### 🚀 Migration Guide
269
300
  No breaking changes. This release is purely additive with tech debt reduction.
270
301
 
271
302
  #### New Commands
@@ -296,7 +327,7 @@ npm run publish:dry-run # Test publication without publishing
296
327
  - ✅ README reflects infrastructure bridge positioning
297
328
  - ✅ Ready for npm publish (scripts, docs, config all prepared)
298
329
 
299
- ### Next Steps
330
+ ### 🎯 Next Steps
300
331
  - Fix Jest type configuration for Skills pipeline tests
301
332
  - Run publish:check validation
302
333
  - Publish to npm registry
@@ -353,7 +384,7 @@ Every registered command now works. Every version reference is correct. The READ
353
384
 
354
385
  ### Added
355
386
 
356
- **GitLab Duo Agent Platform Export (Comprehensive Implementation)**
387
+ **🚀 GitLab Duo Agent Platform Export (Comprehensive Implementation)**
357
388
 
358
389
  Complete production-ready GitLab Duo integration enabling OSSA agents to run natively on GitLab's Agent Platform.
359
390
 
@@ -500,7 +531,7 @@ Complete agent registration infrastructure enabling global agent discovery, veri
500
531
  - HTTP client for registry API integration (248 lines)
501
532
  - Axios-based with TypeScript types
502
533
  - Methods: `registerAgent()`, `discoverAgents()`, `verifyAgent()`, `getAgentCard()`
503
- - Configurable base URL (default: https://mesh.blueflyagents.com)
534
+ - Configurable base URL (default: https://mesh.bluefly.internal)
504
535
  - Comprehensive error handling
505
536
  - Exported from index.ts for SDK consumption
506
537
 
@@ -511,7 +542,7 @@ Complete agent registration infrastructure enabling global agent discovery, veri
511
542
  - Organization name for GAID (default: blueflyio)
512
543
  - Serial number prefix (default: AG)
513
544
  - 📡 Register agent to platform registry? (default: no)
514
- - Registry API URL (default: https://mesh.blueflyagents.com)
545
+ - Registry API URL (default: https://mesh.bluefly.internal)
515
546
  - Serial number format: `{PREFIX}-{TIMESTAMP}-{RANDOM}`
516
547
  - Example: `AG-1K2L3M-4N5P`
517
548
  - Unique, time-sortable, URL-safe
@@ -524,7 +555,7 @@ Complete agent registration infrastructure enabling global agent discovery, veri
524
555
  ossa.org/organization: blueflyio
525
556
  ossa.org/registered-at: 2026-02-06T...
526
557
  ossa.org/registered: "true"
527
- ossa.org/registry-url: https://mesh.blueflyagents.com
558
+ ossa.org/registry-url: https://mesh.bluefly.internal
528
559
  ossa.org/signature: sha256:abc...
529
560
  ```
530
561
  - GAID info file: Saves `.gaid.json` with registration metadata
@@ -655,7 +686,7 @@ ossa validate creative-agent-naming.ossa.yaml
655
686
  ossa generate-gaid creative-agent-naming.ossa.yaml --org blueflyio
656
687
 
657
688
  # Register to platform
658
- ossa register creative-agent-naming.ossa.yaml --registry https://mesh.blueflyagents.com
689
+ ossa register creative-agent-naming.ossa.yaml --registry https://mesh.bluefly.internal
659
690
 
660
691
  # Discover agents
661
692
  ossa discover --capability compliance-audit
@@ -678,7 +709,7 @@ All 11 platforms now generate complete, production-ready packages validated by c
678
709
 
679
710
  ### Added
680
711
 
681
- **The Ultimate Agent Specification Standard - "The OpenAPI for Agents"**
712
+ **🎯 The Ultimate Agent Specification Standard - "The OpenAPI for Agents"**
682
713
 
683
714
  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
715
 
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # OSSA - Open Standard for Software Agents
2
2
 
3
- > **Development happens on [GitLab](https://gitlab.com/blueflyio/ossa/openstandardagents).** This repo is a read-only mirror.
4
- > [Source](https://gitlab.com/blueflyio/ossa/openstandardagents) | [Issues](https://gitlab.com/blueflyio/ossa/openstandardagents/-/issues) | [npm](https://www.npmjs.com/package/@bluefly/openstandardagents)
3
+ > **Source of truth**: [GitLab](https://gitlab.com/blueflyio/ossa/openstandardagents) development, issues, and CI happen here.
4
+ > [GitLab](https://gitlab.com/blueflyio/ossa/openstandardagents) | [Issues](https://gitlab.com/blueflyio/ossa/openstandardagents/-/issues) | [npm](https://www.npmjs.com/package/@bluefly/openstandardagents)
5
5
 
6
6
  **The infrastructure bridge between agent protocols and deployment platforms.**
7
7
 
@@ -53,16 +53,16 @@ AI agents need the same foundational infrastructure the internet has: **identity
53
53
 
54
54
  | Security requirement | OSSA | DUADP |
55
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 |
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 |
62
62
 
63
63
  > [openstandardagents.org/specification →](https://openstandardagents.org/specification) | [duadp.org →](https://duadp.org)
64
64
 
65
- ## 🇺🇸 NIST CAISI Alignment (NIST-2025-0035)
65
+ ## NIST CAISI Alignment (NIST-2025-0035)
66
66
 
67
67
  If you're evaluating OSSA/DUADP for federal or regulated deployments, see the detailed alignment documentation:
68
68
 
@@ -73,14 +73,19 @@ OSSA natively aligns with the [NIST CAISI Request for Information on Collaborati
73
73
  - **Federated Discovery**: Integration with DUADP (`.well-known` endpoints) scales agent discovery securely across organizational boundaries without centralized lock-in.
74
74
  - **Supply Chain Security (SI-7)**: Cryptographically signed manifests (`x-signature`) and explicit OSCAL/SBOM pointers prevent tool poisoning and supply chain attacks.
75
75
 
76
- ## What's New in v0.5.0
76
+ ## What's New in v0.5.1
77
77
 
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.
78
+ - **Memory Hierarchy (P5)**: Three-tier memory contracts (working episodic long-term) with `ossa memory init|index|resolve|promote` CLI.
79
+ - **Execution Economics (Layer 4)**: `ExecutionProfile`, `ContextPack`, `ReplayPacket` schemas; `ossa execution-profile validate`, `ossa context-pack build`, `ossa task quote`.
80
+ - **StateMesh Integration**: Agents publish `StateClaims` to the mesh at runtime; governed state exchange via `extensions.statemesh`.
81
+ - **Reasoning Escrow**: Cryptographic hashing of reasoning traces in the AI SDK v6 `ToolLoopAgent` auditable yet private.
82
+ - **AI SDK v6 Loop**: Native `ToolLoopAgent` in `OpenAIAdapter`; `@ai-sdk/anthropic` and `@ai-sdk/google` adapters added.
83
+ - **DUADP Trust Tiers**: Native four-tier trust model (Official Verified Community Unverified) wired into discovery.
84
+ - **Agent Builder API**: `/api/agent-builder` canonical route; `apiVersion >= ossa/v0.5.0` enforced at scaffold time.
85
+ - **CAOE cognition types**: `session`, `hypothesis`, `alignment gate` JSON schema extensions + `kind: Role` manifest.
86
+ - **Skills Pipeline (6 commands)**: `ossa skills research|generate|export|list|validate|sync` — production-ready, 19 tests passing.
87
+ - **5 new skill plugins**: `database-migration`, `chaos-engineering`, `performance-profiling`, `compliance-auditing`, `incident-response`.
88
+ - **Dependency compliance**: `uuid ^11.1.0`, `@modelcontextprotocol/sdk ^1.26.0`.
84
89
 
85
90
  See [CHANGELOG.md](./CHANGELOG.md) for complete details.
86
91
 
@@ -298,7 +303,7 @@ Upgrade manifests to the latest spec version:
298
303
 
299
304
  ```bash
300
305
  # Migrate from older version to current
301
- ossa migrate agent.ossa.yaml --to 0.5.0
306
+ ossa migrate agent.ossa.yaml --to 0.5.1
302
307
 
303
308
  # List available migration paths
304
309
  ossa migrate --list
@@ -325,9 +330,9 @@ if (result.valid) {
325
330
  }
326
331
  ```
327
332
 
328
- ## Production Status (v0.5.0)
333
+ ## Production Status (v0.5.1)
329
334
 
330
- ### Production-Ready (Tested & Documented)
335
+ ### Production-Ready (Tested & Documented)
331
336
 
332
337
  **Core CLI Commands**:
333
338
  - `ossa validate` - Validate manifests against JSON Schema
@@ -343,7 +348,7 @@ if (result.valid) {
343
348
  - `npm` (production) - TypeScript package with manifest
344
349
  - `agent-skills` (production) - SKILL.md for Claude Code
345
350
 
346
- **Skills Pipeline** (Current in v0.5.0):
351
+ **Skills Pipeline** (Current in v0.5.1):
347
352
  - `ossa skills research` - Index skills from curated sources (cached locally at ~/.ossa/skills-index.json)
348
353
  - `ossa skills generate` - Auto-detects input format (OSSA, Oracle Agent Spec, AGENTS.md)
349
354
  - `ossa skills export` - Package as npm, install to ~/.claude/skills/, publish to registry
@@ -357,7 +362,7 @@ if (result.valid) {
357
362
  - Type definitions (`@bluefly/openstandardagents/types`)
358
363
  - JSON Schema access (`@bluefly/openstandardagents/schema`)
359
364
 
360
- ### 🚧 Beta (Functional but needs testing)
365
+ ### Beta (Functional but needs testing)
361
366
 
362
367
  - `ossa agents-local` - Local `.agents/` folder management
363
368
  - `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`
@@ -406,7 +411,7 @@ OSSA complements MCP and A2A by adding the packaging and deployment layer they d
406
411
  ### Manifest Format
407
412
 
408
413
  ```yaml
409
- apiVersion: ossa/v0.5.0
414
+ apiVersion: ossa/v0.5.1
410
415
  kind: Agent
411
416
  metadata:
412
417
  name: code-reviewer
@@ -433,7 +438,7 @@ spec:
433
438
  #### Team Manifest Example
434
439
 
435
440
  ```yaml
436
- apiVersion: ossa/v0.5.0
441
+ apiVersion: ossa/v0.5.1
437
442
  kind: Agent
438
443
  metadata:
439
444
  name: dev-team
@@ -527,7 +532,7 @@ import { validateManifest } from '@bluefly/openstandardagents/validation';
527
532
  import type { OssaAgent } from '@bluefly/openstandardagents/types';
528
533
 
529
534
  const agent: OssaAgent = {
530
- apiVersion: 'ossa/v0.5.0',
535
+ apiVersion: 'ossa/v0.5.1',
531
536
  kind: 'Agent',
532
537
  metadata: { name: 'creative-agent-naming', version: '1.0.0' },
533
538
  spec: {
@@ -573,7 +578,7 @@ OSSA is designed to work **alongside** existing agent protocols, not replace the
573
578
  **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.
574
579
 
575
580
  ```yaml
576
- apiVersion: ossa/v0.5.0
581
+ apiVersion: ossa/v0.5.1
577
582
  kind: Agent
578
583
  metadata:
579
584
  name: code-reviewer
@@ -627,7 +632,7 @@ ossa export agent.ossa.yaml --platform docker --output ./docker-deploy
627
632
  ossa export --list-platforms
628
633
  ossa lint agent.ossa.yaml
629
634
  ossa diff old.ossa.yaml new.ossa.yaml
630
- ossa migrate agent.ossa.yaml --to 0.5.0
635
+ ossa migrate agent.ossa.yaml --to 0.5.1
631
636
  ossa generate-gaid agent.ossa.yaml
632
637
  ossa export agent.ossa.yaml --perfect-agent
633
638
  ossa export agent.ossa.yaml --include-agents-md --include-team --include-evals
package/bin/postinstall CHANGED
File without changes
@@ -1,7 +1,7 @@
1
1
  {
2
- "current": "0.5.0",
3
- "latest_stable": "0.4.9",
4
- "spec_version": "0.5.0",
2
+ "current": "0.5.1",
3
+ "latest_stable": "0.5.1",
4
+ "spec_version": "0.5.1",
5
5
  "spec_path": "spec/v0.5",
6
6
  "schema_file": "agent.schema.json"
7
7
  }
@@ -11,6 +11,7 @@
11
11
  * @module adapters/a2a/a2a-protocol
12
12
  */
13
13
  import { z } from 'zod';
14
+ import { trace } from '@opentelemetry/api';
14
15
  /**
15
16
  * Message Priority Levels
16
17
  */
@@ -203,8 +204,9 @@ export function validateA2AMessage(message) {
203
204
  */
204
205
  export function createA2AMessage(from, to, type, payload, options) {
205
206
  const now = new Date().toISOString();
206
- const traceId = generateTraceId();
207
- const spanId = generateSpanId();
207
+ const activeSpan = trace.getActiveSpan();
208
+ const traceId = activeSpan?.spanContext().traceId ?? generateTraceId();
209
+ const spanId = activeSpan?.spanContext().spanId ?? generateSpanId();
208
210
  return {
209
211
  id: crypto.randomUUID(),
210
212
  from,
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * @module adapters/a2a/a2a-tool
7
7
  */
8
+ import { trace } from '@opentelemetry/api';
8
9
  /**
9
10
  * A2A Tool Definition
10
11
  * Tool for agent-to-agent communication using MCP protocol
@@ -280,8 +281,9 @@ export class A2AToolHandler {
280
281
  return mapping[pattern] || 'request';
281
282
  }
282
283
  createTraceContext() {
283
- const traceId = this.generateHex(32);
284
- const spanId = this.generateHex(16);
284
+ const activeSpan = trace.getActiveSpan();
285
+ const traceId = activeSpan?.spanContext().traceId ?? this.generateHex(32);
286
+ const spanId = activeSpan?.spanContext().spanId ?? this.generateHex(16);
285
287
  return {
286
288
  traceparent: `00-${traceId}-${spanId}-01`,
287
289
  traceId,
@@ -239,7 +239,8 @@ export declare class MCPIntegrationService {
239
239
  */
240
240
  private mapMCPTypeToA2A;
241
241
  /**
242
- * Create trace context
242
+ * Create trace context — prefers active OTel span so outbound messages
243
+ * carry the same traceId as the surrounding span tree.
243
244
  */
244
245
  private createTraceContext;
245
246
  /**
@@ -11,6 +11,7 @@
11
11
  *
12
12
  * @module adapters/a2a/mcp-integration
13
13
  */
14
+ import { trace } from '@opentelemetry/api';
14
15
  import { MCPTransportManager } from './mcp-transport.js';
15
16
  /**
16
17
  * MCP Protocol Version
@@ -295,11 +296,13 @@ export class MCPIntegrationService {
295
296
  return mapping[method] || 'event';
296
297
  }
297
298
  /**
298
- * Create trace context
299
+ * Create trace context — prefers active OTel span so outbound messages
300
+ * carry the same traceId as the surrounding span tree.
299
301
  */
300
302
  createTraceContext() {
301
- const traceId = this.generateHex(32);
302
- const spanId = this.generateHex(16);
303
+ const activeSpan = trace.getActiveSpan();
304
+ const traceId = activeSpan?.spanContext().traceId ?? this.generateHex(32);
305
+ const spanId = activeSpan?.spanContext().spanId ?? this.generateHex(16);
303
306
  return {
304
307
  traceparent: `00-${traceId}-${spanId}-01`,
305
308
  traceId,
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Browser Exporter — Generate browser automation config from OSSA manifests.
3
+ *
4
+ * When an agent has browser capabilities, this generates the agent-browser
5
+ * configuration and startup scripts.
6
+ */
7
+ import type { OssaAgent } from '../../types/index.js';
8
+ export interface BrowserExportResult {
9
+ files: Array<{
10
+ path: string;
11
+ content: string;
12
+ }>;
13
+ command: string;
14
+ }
15
+ export declare class BrowserExporter {
16
+ /**
17
+ * Export OSSA agent as a browser automation agent.
18
+ * Generates agent-browser config and launch scripts.
19
+ */
20
+ export(manifest: OssaAgent): BrowserExportResult;
21
+ /**
22
+ * Check if an OSSA manifest declares browser capabilities.
23
+ */
24
+ hasBrowserCapability(manifest: OssaAgent): boolean;
25
+ }
26
+ //# sourceMappingURL=browser-exporter.d.ts.map
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Browser Exporter — Generate browser automation config from OSSA manifests.
3
+ *
4
+ * When an agent has browser capabilities, this generates the agent-browser
5
+ * configuration and startup scripts.
6
+ */
7
+ export class BrowserExporter {
8
+ /**
9
+ * Export OSSA agent as a browser automation agent.
10
+ * Generates agent-browser config and launch scripts.
11
+ */
12
+ export(manifest) {
13
+ const name = manifest.metadata?.name || 'ossa-browser-agent';
14
+ const headless = true;
15
+ const launchScript = [
16
+ '#!/bin/bash',
17
+ `# Browser agent: ${name}`,
18
+ `# Generated by ossa export --format=browser-agent`,
19
+ '',
20
+ '# Start agent-browser in headless mode',
21
+ `npx agent-browser --headless=${headless} \\`,
22
+ ` --url="\${BASE_URL:-http://localhost:3000}" \\`,
23
+ ' --timeout=30000 \\',
24
+ ' --screenshot-on-error',
25
+ '',
26
+ ].join('\n');
27
+ const dockerService = {
28
+ [`${name}-browser`]: {
29
+ image: 'ghcr.io/nicepkg/agent-browser:latest',
30
+ environment: {
31
+ HEADLESS: 'true',
32
+ BASE_URL: '${BASE_URL:-http://localhost:3000}',
33
+ },
34
+ ports: ['9222:9222'],
35
+ restart: 'unless-stopped',
36
+ },
37
+ };
38
+ const dockerCompose = `# Browser automation service for ${name}
39
+ # Add to your docker-compose.yml services section
40
+ services:
41
+ ${name}-browser:
42
+ image: ghcr.io/nicepkg/agent-browser:latest
43
+ environment:
44
+ - HEADLESS=true
45
+ - BASE_URL=\${BASE_URL:-http://localhost:3000}
46
+ ports:
47
+ - "9222:9222"
48
+ restart: unless-stopped
49
+ `;
50
+ return {
51
+ files: [
52
+ { path: 'scripts/browser-agent.sh', content: launchScript },
53
+ { path: 'docker-compose.browser.yml', content: dockerCompose },
54
+ ],
55
+ command: `npx agent-browser --headless`,
56
+ };
57
+ }
58
+ /**
59
+ * Check if an OSSA manifest declares browser capabilities.
60
+ */
61
+ hasBrowserCapability(manifest) {
62
+ const tools = manifest.spec?.tools || [];
63
+ const toolNames = tools.map((t) => typeof t === 'string' ? t : typeof t === 'object' && t !== null ? t.name || '' : '').join(' ').toLowerCase();
64
+ const role = (manifest.spec?.role || '').toLowerCase();
65
+ return (toolNames.includes('browser') ||
66
+ toolNames.includes('playwright') ||
67
+ toolNames.includes('cdp') ||
68
+ toolNames.includes('web-scrape') ||
69
+ role.includes('browser') ||
70
+ role.includes('scraper'));
71
+ }
72
+ }
73
+ //# sourceMappingURL=browser-exporter.js.map
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Browser Test Runner — Run agent acceptance tests in headless Chrome.
3
+ *
4
+ * Uses agent-browser CLI for CDP-based browser automation.
5
+ * Replaces custom Playwright bootstrapping for agent testing.
6
+ */
7
+ export interface BrowserTestResult {
8
+ passed: boolean;
9
+ output: string;
10
+ error?: string;
11
+ duration: number;
12
+ }
13
+ export declare class BrowserTestRunner {
14
+ /**
15
+ * Run a browser-based test using agent-browser.
16
+ */
17
+ run(url: string, options?: {
18
+ timeout?: number;
19
+ headless?: boolean;
20
+ screenshotOnError?: boolean;
21
+ }): Promise<BrowserTestResult>;
22
+ }
23
+ //# sourceMappingURL=browser-runner.d.ts.map
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Browser Test Runner — Run agent acceptance tests in headless Chrome.
3
+ *
4
+ * Uses agent-browser CLI for CDP-based browser automation.
5
+ * Replaces custom Playwright bootstrapping for agent testing.
6
+ */
7
+ import { execFile } from 'child_process';
8
+ import { promisify } from 'util';
9
+ const execFileAsync = promisify(execFile);
10
+ export class BrowserTestRunner {
11
+ /**
12
+ * Run a browser-based test using agent-browser.
13
+ */
14
+ async run(url, options = {}) {
15
+ const startTime = Date.now();
16
+ const args = [
17
+ 'agent-browser',
18
+ `--url=${url}`,
19
+ `--headless=${options.headless !== false}`,
20
+ `--timeout=${options.timeout || 30000}`,
21
+ ];
22
+ if (options.screenshotOnError) {
23
+ args.push('--screenshot-on-error');
24
+ }
25
+ try {
26
+ const result = await execFileAsync('npx', args, {
27
+ timeout: (options.timeout || 30000) + 5000,
28
+ });
29
+ return {
30
+ passed: true,
31
+ output: result.stdout,
32
+ duration: Date.now() - startTime,
33
+ };
34
+ }
35
+ catch (error) {
36
+ const err = error;
37
+ return {
38
+ passed: false,
39
+ output: err.stdout || '',
40
+ error: err.stderr || err.message || 'Unknown error',
41
+ duration: Date.now() - startTime,
42
+ };
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=browser-runner.js.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Browser Adapter — Export OSSA agents as browser automation agents
3
+ * and run browser-based acceptance tests using agent-browser.
4
+ *
5
+ * agent-browser provides headless Chrome via CDP with zero dependencies.
6
+ */
7
+ export { BrowserExporter } from './browser-exporter.js';
8
+ export { BrowserTestRunner } from './browser-runner.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Browser Adapter — Export OSSA agents as browser automation agents
3
+ * and run browser-based acceptance tests using agent-browser.
4
+ *
5
+ * agent-browser provides headless Chrome via CDP with zero dependencies.
6
+ */
7
+ export { BrowserExporter } from './browser-exporter.js';
8
+ export { BrowserTestRunner } from './browser-runner.js';
9
+ //# sourceMappingURL=index.js.map
@@ -5,4 +5,6 @@
5
5
  export { DockerfileGenerator, DockerComposeGenerator, DockerScriptsGenerator, DockerConfigGenerator, } from './generators.js';
6
6
  export { DockerExporter } from './docker-exporter.js';
7
7
  export type { DockerConfig, DockerExportOptions } from './types.js';
8
+ export { ossaToOpenclawStack, getOpenclawCatalog } from './openclaw-bridge.js';
9
+ export type { OpenclawBridgeOptions, OpenclawStackResult } from './openclaw-bridge.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,6 @@
4
4
  */
5
5
  export { DockerfileGenerator, DockerComposeGenerator, DockerScriptsGenerator, DockerConfigGenerator, } from './generators.js';
6
6
  export { DockerExporter } from './docker-exporter.js';
7
+ // OpenClaw integration — delegates Docker stack generation to @better-openclaw/core
8
+ export { ossaToOpenclawStack, getOpenclawCatalog } from './openclaw-bridge.js';
7
9
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,57 @@
1
+ /**
2
+ * OpenClaw Bridge — OSSA manifest → Docker Compose via @better-openclaw/core
3
+ *
4
+ * Delegates ALL Docker stack generation to openclaw (201 services, 44 skill packs,
5
+ * 21 presets). Eliminates custom Dockerfile/compose generation.
6
+ *
7
+ * @better-openclaw/core handles: service resolution, port conflict detection,
8
+ * env files, health checks, Caddy/Traefik proxy, Grafana dashboards, scripts.
9
+ */
10
+ import type { OssaAgent } from '../../types/index.js';
11
+ export interface OpenclawStackResult {
12
+ files: Array<{
13
+ path: string;
14
+ content: string;
15
+ type: 'yaml' | 'env' | 'shell' | 'markdown' | 'text';
16
+ }>;
17
+ warnings: string[];
18
+ metadata: {
19
+ duration: number;
20
+ preset: string;
21
+ serviceCount: number;
22
+ openclawVersion: string;
23
+ };
24
+ }
25
+ export interface OpenclawBridgeOptions {
26
+ preset?: string;
27
+ additionalServices?: string[];
28
+ skillPacks?: string[];
29
+ outputDir?: string;
30
+ proxy?: 'none' | 'caddy' | 'traefik';
31
+ gpu?: boolean;
32
+ platform?: 'linux/amd64' | 'linux/arm64';
33
+ deployment?: 'local' | 'vps' | 'homelab';
34
+ }
35
+ /**
36
+ * Convert an OSSA manifest into a full Docker Compose stack using openclaw.
37
+ */
38
+ export declare function ossaToOpenclawStack(manifest: OssaAgent, options?: OpenclawBridgeOptions): Promise<OpenclawStackResult>;
39
+ /**
40
+ * List available openclaw catalog for wizard/UI.
41
+ */
42
+ export declare function getOpenclawCatalog(): {
43
+ presets: {
44
+ id: string;
45
+ name: string;
46
+ }[];
47
+ services: {
48
+ id: string;
49
+ name: string;
50
+ }[];
51
+ skillPacks: {
52
+ id: string;
53
+ name: string;
54
+ }[];
55
+ totalServices: number;
56
+ };
57
+ //# sourceMappingURL=openclaw-bridge.d.ts.map