@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.
Files changed (125) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +8 -8
  3. package/README.md +68 -58
  4. package/bin/postinstall +0 -0
  5. package/dist/.version.json +3 -3
  6. package/dist/adapters/claude-code/adapter.js +2 -2
  7. package/dist/adapters/docker/generators.js +19 -19
  8. package/dist/adapters/drupal/generator.js +76 -76
  9. package/dist/adapters/openai-agents/adapter.js +2 -2
  10. package/dist/cli/schema-driven/schema-loader.js +5 -5
  11. package/dist/mcp-server/__tests__/mcp-server.spec.js +20 -11
  12. package/dist/mcp-server/index.js +0 -0
  13. package/dist/package.json +24 -11
  14. package/dist/services/export/langchain/langchain-exporter.js +2 -2
  15. package/dist/services/export/langchain/memory-generator.js +2 -2
  16. package/dist/services/export/testing/test-generator.js +1 -1
  17. package/dist/services/taxonomy-service.d.ts +3 -3
  18. package/dist/skills/test-skill/package.json +1 -1
  19. package/dist/spec/extensions/role-manifest.md +188 -0
  20. package/dist/spec/v0.4/extensions/mcp/README.md +1 -1
  21. package/dist/spec/v0.5/agent.schema.json +2 -1
  22. package/dist/spec/v0.5/extensions/mcp/README.md +1 -1
  23. package/dist/spec/v0.5/role.schema.json +268 -0
  24. package/dist/types/index.d.ts +2 -0
  25. package/dist/types/index.js +2 -0
  26. package/dist/types/role.d.ts +126 -0
  27. package/dist/types/role.js +38 -0
  28. package/dist/validation/validator.js +1 -1
  29. package/examples/agents/01-customer-support-bot/agent.ossa.yaml +24 -31
  30. package/examples/agents/05-sales-assistant/agent.ossa.yaml +35 -23
  31. package/examples/agents/07-research-assistant/agent.ossa.yaml +27 -21
  32. package/examples/agents/10-meeting-assistant/agent.ossa.yaml +27 -35
  33. package/examples/agents/security-audit-agent.ossa.yaml +234 -0
  34. package/examples/agentscope/react-assistant/agent.ossa.yaml +36 -32
  35. package/examples/drupal/content-moderator.ossa.yaml +2 -2
  36. package/examples/drupal/drupal-contributor.ossa.yaml +247 -0
  37. package/examples/export/langchain/production-agent-with-memory/README.md +1 -1
  38. package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +13 -23
  39. package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +1 -15
  40. package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +28 -29
  41. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  42. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  43. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  44. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  45. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  46. package/examples/getting-started/README.md +3 -3
  47. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  48. package/examples/gitlab-agents/gitlab-ci-agent.ossa.yaml +221 -0
  49. package/examples/hierarchical-agent.ossa.yaml +10 -53
  50. package/examples/kagent/ossa-kagent-anthropic.ossa.yaml +2 -25
  51. package/examples/kagent/ossa-kagent-mcp-tools.ossa.yaml +2 -30
  52. package/examples/kagent/ossa-kagent-multi-tool.ossa.yaml +2 -18
  53. package/examples/kagent/ossa-kagent-poc.ossa.yaml +2 -16
  54. package/examples/pipeline-agent.ossa.yaml +3 -3
  55. package/examples/platform-specific/claude-code-subagent.yaml +1 -1
  56. package/examples/platform-specific/cursor-coding-agent.yaml +1 -1
  57. package/examples/platform-specific/warp-terminal-agent.yaml +1 -1
  58. package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +24 -31
  59. package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +35 -23
  60. package/examples/production-ready/07-research-assistant/agent.ossa.yaml +27 -19
  61. package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +27 -35
  62. package/examples/reference-implementations/python-client/examples/basic_usage.py +0 -0
  63. package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -0
  64. package/examples/roles/drupal-developer.role.yaml +37 -0
  65. package/examples/roles/platform-operator.role.yaml +28 -0
  66. package/examples/roles/security-auditor.role.yaml +27 -0
  67. package/examples/swarm-agent.ossa.yaml +13 -51
  68. package/examples/team-agent.ossa.yaml +12 -61
  69. package/examples/team-lead-teammate.ossa.yaml +12 -17
  70. package/openapi/agent-communication.yaml +260 -212
  71. package/openapi/agent-crud.yaml +217 -187
  72. package/openapi/agent-discovery.yaml +119 -81
  73. package/openapi/agent-identity.yaml +219 -187
  74. package/openapi/agent-taxonomy.yaml +95 -38
  75. package/openapi/agents-md-service.yaml +103 -30
  76. package/openapi/cli/openapi.yaml +147 -40
  77. package/openapi/core/ossa-core-api.openapi.yaml +327 -271
  78. package/openapi/core/ossa-registry-api.openapi.yaml +298 -235
  79. package/openapi/core/ossa-registry.openapi.yaml +299 -159
  80. package/openapi/core/unified-agent-gateway.openapi.yaml +234 -170
  81. package/openapi/daemon-api.openapi.yaml +323 -181
  82. package/openapi/dev-cli/openapi.yaml +137 -113
  83. package/openapi/github-sync.yaml +62 -19
  84. package/openapi/marketplace-plugin.openapi.yaml +539 -466
  85. package/openapi/ossa-api.openapi.yaml +354 -213
  86. package/openapi/ossa-cli-enhancements.openapi.yaml +108 -89
  87. package/openapi/ossa-cli.yaml +260 -184
  88. package/openapi/protocols/sse-streams.yaml +66 -74
  89. package/openapi/protocols/websocket-events.yaml +61 -54
  90. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +37 -20
  91. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +35 -23
  92. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +29 -18
  93. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +45 -19
  94. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +30 -24
  95. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +101 -50
  96. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +33 -22
  97. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +20 -16
  98. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +41 -23
  99. package/openapi/reference-implementations/helm-generator.openapi.yaml +88 -46
  100. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +30 -20
  101. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +22 -16
  102. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +32 -18
  103. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +32 -21
  104. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +34 -21
  105. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +49 -27
  106. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +27 -19
  107. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +427 -293
  108. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +34 -23
  109. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +35 -21
  110. package/openapi/release-automation.openapi.yaml +47 -13
  111. package/openapi/schemas/common/agent.yaml +30 -29
  112. package/openapi/schemas/common/errors.yaml +13 -3
  113. package/openapi/schemas/common/metadata.yaml +22 -7
  114. package/openapi/schemas/common/pagination.yaml +18 -6
  115. package/openapi/schemas/common/security.yaml +13 -5
  116. package/openapi/schemas/index.yaml +49 -42
  117. package/openapi/uadp-asyncapi.yaml +4 -2
  118. package/openapi/uadp-openapi.yaml +243 -165
  119. package/openapi/version-management.openapi.yaml +142 -135
  120. package/package.json +114 -103
  121. package/spec/extensions/role-manifest.md +188 -0
  122. package/spec/v0.4/extensions/mcp/README.md +1 -1
  123. package/spec/v0.5/agent.schema.json +2 -1
  124. package/spec/v0.5/extensions/mcp/README.md +1 -1
  125. package/spec/v0.5/role.schema.json +268 -0
@@ -0,0 +1,268 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://openstandardagents.org/schemas/v0.5/role.schema.json",
4
+ "title": "OSSA v0.5 Role Manifest Schema",
5
+ "description": "Open Standard for Software Agents (OSSA) v0.5 - Role manifest. Defines behavioral overlays for IDE/CLI agents (Claude Code, Cursor, etc.) with instructions, tool sets, hooks, MCP connections, and activation conditions.",
6
+ "type": "object",
7
+ "required": ["apiVersion", "kind", "metadata", "spec"],
8
+ "properties": {
9
+ "apiVersion": {
10
+ "type": "string",
11
+ "pattern": "^ossa/v[0-9]+(\\.[0-9]+)*(-[a-zA-Z0-9.]+)?$",
12
+ "description": "OSSA API version",
13
+ "examples": ["ossa/v0.5", "ossa/v1"]
14
+ },
15
+ "kind": {
16
+ "type": "string",
17
+ "const": "Role",
18
+ "description": "Resource type — must be Role"
19
+ },
20
+ "metadata": {
21
+ "$ref": "#/definitions/RoleMetadata"
22
+ },
23
+ "spec": {
24
+ "$ref": "#/definitions/RoleSpec"
25
+ },
26
+ "extensions": {
27
+ "type": "object",
28
+ "description": "Platform-specific extensions",
29
+ "additionalProperties": true
30
+ }
31
+ },
32
+ "definitions": {
33
+ "RoleMetadata": {
34
+ "type": "object",
35
+ "required": ["name"],
36
+ "properties": {
37
+ "name": {
38
+ "type": "string",
39
+ "pattern": "^[a-z][a-z0-9-]*$",
40
+ "description": "DNS-style role name (lowercase, hyphens)",
41
+ "examples": ["drupal-developer", "security-auditor", "platform-operator"]
42
+ },
43
+ "version": {
44
+ "type": "string",
45
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(-[a-zA-Z0-9.]+)?$",
46
+ "description": "Semantic version",
47
+ "examples": ["1.0.0", "2.1.0-beta"]
48
+ },
49
+ "description": {
50
+ "type": "string",
51
+ "description": "Human-readable description"
52
+ },
53
+ "labels": {
54
+ "type": "object",
55
+ "additionalProperties": { "type": "string" },
56
+ "description": "Key-value labels for filtering and categorization"
57
+ },
58
+ "annotations": {
59
+ "type": "object",
60
+ "additionalProperties": { "type": "string" },
61
+ "description": "Non-identifying metadata"
62
+ }
63
+ }
64
+ },
65
+ "RoleSpec": {
66
+ "type": "object",
67
+ "properties": {
68
+ "role": {
69
+ "type": "string",
70
+ "description": "System prompt / persona definition"
71
+ },
72
+ "instructions": {
73
+ "$ref": "#/definitions/RoleInstructions"
74
+ },
75
+ "tools": {
76
+ "$ref": "#/definitions/RoleTools"
77
+ },
78
+ "hooks": {
79
+ "$ref": "#/definitions/RoleHooks"
80
+ },
81
+ "context": {
82
+ "$ref": "#/definitions/RoleContext"
83
+ },
84
+ "protocols": {
85
+ "$ref": "#/definitions/RoleProtocols"
86
+ },
87
+ "extends": {
88
+ "type": "array",
89
+ "items": { "$ref": "#/definitions/RoleExtension" },
90
+ "description": "Role composition — inherit from other roles"
91
+ },
92
+ "activation": {
93
+ "$ref": "#/definitions/RoleActivation"
94
+ }
95
+ }
96
+ },
97
+ "RoleInstructions": {
98
+ "type": "object",
99
+ "properties": {
100
+ "preamble": {
101
+ "type": "string",
102
+ "description": "Markdown content prepended to every conversation"
103
+ },
104
+ "constraints": {
105
+ "type": "array",
106
+ "items": { "type": "string" },
107
+ "description": "Hard rules — MUST/MUST NOT statements"
108
+ }
109
+ }
110
+ },
111
+ "RoleTools": {
112
+ "type": "object",
113
+ "properties": {
114
+ "allowed": {
115
+ "type": "array",
116
+ "items": { "type": "string" },
117
+ "description": "Whitelist of allowed tool names"
118
+ },
119
+ "denied": {
120
+ "type": "array",
121
+ "items": { "type": "string" },
122
+ "description": "Blacklist of denied tool names (overrides allowed)"
123
+ },
124
+ "skills": {
125
+ "type": "array",
126
+ "items": { "type": "string" },
127
+ "description": "References to OSSA Skill manifests"
128
+ }
129
+ }
130
+ },
131
+ "RoleHooks": {
132
+ "type": "object",
133
+ "properties": {
134
+ "on_activate": {
135
+ "type": "string",
136
+ "description": "Run when role is activated"
137
+ },
138
+ "on_deactivate": {
139
+ "type": "string",
140
+ "description": "Run when switching away from this role"
141
+ },
142
+ "pre_commit": {
143
+ "type": "string",
144
+ "description": "Run before git commits"
145
+ },
146
+ "post_save": {
147
+ "type": "string",
148
+ "description": "Run after file saves"
149
+ }
150
+ }
151
+ },
152
+ "RoleContext": {
153
+ "type": "object",
154
+ "properties": {
155
+ "schemas": {
156
+ "type": "array",
157
+ "items": { "type": "string" },
158
+ "description": "Paths to JSON Schema or OpenAPI spec files"
159
+ },
160
+ "files": {
161
+ "type": "array",
162
+ "items": { "$ref": "#/definitions/RoleContextFile" },
163
+ "description": "Files to include in agent context"
164
+ },
165
+ "knowledge": {
166
+ "type": "array",
167
+ "items": { "type": "string" },
168
+ "description": "Paths to knowledge base documents"
169
+ }
170
+ }
171
+ },
172
+ "RoleContextFile": {
173
+ "type": "object",
174
+ "required": ["path"],
175
+ "properties": {
176
+ "path": {
177
+ "type": "string",
178
+ "description": "File path or glob pattern"
179
+ },
180
+ "description": {
181
+ "type": "string",
182
+ "description": "Description of what this file provides"
183
+ }
184
+ }
185
+ },
186
+ "RoleProtocols": {
187
+ "type": "object",
188
+ "properties": {
189
+ "mcp": {
190
+ "$ref": "#/definitions/RoleMCPConfig"
191
+ }
192
+ }
193
+ },
194
+ "RoleMCPConfig": {
195
+ "type": "object",
196
+ "properties": {
197
+ "servers": {
198
+ "type": "array",
199
+ "items": { "$ref": "#/definitions/RoleMCPServer" },
200
+ "description": "MCP servers available when this role is active"
201
+ }
202
+ }
203
+ },
204
+ "RoleMCPServer": {
205
+ "type": "object",
206
+ "required": ["name", "transport"],
207
+ "properties": {
208
+ "name": {
209
+ "type": "string",
210
+ "description": "Server identifier"
211
+ },
212
+ "transport": {
213
+ "type": "string",
214
+ "enum": ["stdio", "sse"],
215
+ "description": "Transport type"
216
+ },
217
+ "command": {
218
+ "type": "string",
219
+ "description": "Command to spawn (stdio transport)"
220
+ },
221
+ "args": {
222
+ "type": "array",
223
+ "items": { "type": "string" },
224
+ "description": "Command arguments (stdio transport)"
225
+ },
226
+ "url": {
227
+ "type": "string",
228
+ "format": "uri",
229
+ "description": "Endpoint URL (SSE transport)"
230
+ }
231
+ }
232
+ },
233
+ "RoleExtension": {
234
+ "type": "object",
235
+ "required": ["role"],
236
+ "properties": {
237
+ "role": {
238
+ "type": "string",
239
+ "description": "Name of the parent role to inherit from"
240
+ },
241
+ "override": {
242
+ "type": "boolean",
243
+ "default": false,
244
+ "description": "If true, child fields replace parent fields; if false, they merge"
245
+ }
246
+ }
247
+ },
248
+ "RoleActivation": {
249
+ "type": "object",
250
+ "properties": {
251
+ "file_patterns": {
252
+ "type": "array",
253
+ "items": { "type": "string" },
254
+ "description": "Glob patterns — activate when matching files are open"
255
+ },
256
+ "command": {
257
+ "type": "string",
258
+ "description": "CLI command to activate (e.g., /role drupal)"
259
+ },
260
+ "env": {
261
+ "type": "object",
262
+ "additionalProperties": { "type": "string" },
263
+ "description": "Environment variable conditions (all must match)"
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }