@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
@@ -13,20 +13,17 @@ info:
13
13
  - Post-release: Replace `v0.4.2` → `{{VERSION}}`
14
14
  - CI/CD: Automate version substitution in pipelines
15
15
  - Multi-project: Apply consistent versioning across repositories
16
-
17
16
  contact:
18
17
  name: OSSA Community
19
18
  url: https://openstandardagents.org
20
19
  license:
21
20
  name: Apache 2.0
22
21
  url: https://www.apache.org/licenses/LICENSE-2.0.html
23
-
24
22
  servers:
25
23
  - url: http://localhost:3000/api/v1
26
24
  description: Local development
27
25
  - url: https://api.openstandardagents.org/v1
28
26
  description: Production
29
-
30
27
  tags:
31
28
  - name: version
32
29
  description: Version substitution and management operations
@@ -34,7 +31,6 @@ tags:
34
31
  description: Version detection from project sources
35
32
  - name: validation
36
33
  description: Version format validation
37
-
38
34
  paths:
39
35
  /version/substitute:
40
36
  post:
@@ -53,7 +49,6 @@ paths:
53
49
  **Example:**
54
50
  - Input: `apiVersion: ossa/v{{VERSION}}`
55
51
  - Output: `apiVersion: ossa/v0.4.2`
56
-
57
52
  tags:
58
53
  - version
59
54
  requestBody:
@@ -61,81 +56,84 @@ paths:
61
56
  content:
62
57
  application/json:
63
58
  schema:
64
- $ref: '#/components/schemas/SubstituteRequest'
59
+ $ref: "#/components/schemas/SubstituteRequest"
65
60
  examples:
66
61
  basic:
67
62
  summary: Basic substitution
68
63
  value:
69
- version: "0.4.2"
64
+ version: 0.4.2
70
65
  with_prefix:
71
66
  summary: Version with 'v' prefix
72
67
  value:
73
- version: "v0.4.2"
68
+ version: v0.4.2
74
69
  custom_paths:
75
70
  summary: Custom file patterns
76
71
  value:
77
- version: "0.4.2"
72
+ version: 0.4.2
78
73
  paths:
79
- - "spec/**/*.json"
80
- - "docs/**/*.md"
74
+ - spec/**/*.json
75
+ - docs/**/*.md
81
76
  exclude:
82
- - "node_modules/**"
83
- - ".git/**"
77
+ - node_modules/**
78
+ - .git/**
84
79
  dry_run:
85
80
  summary: Preview changes without modifying files
86
81
  value:
87
- version: "0.4.2"
82
+ version: 0.4.2
88
83
  dry_run: true
89
84
  responses:
90
- '200':
85
+ "200":
91
86
  description: Substitution completed successfully
92
87
  content:
93
88
  application/json:
94
89
  schema:
95
- $ref: '#/components/schemas/SubstituteResponse'
90
+ $ref: "#/components/schemas/SubstituteResponse"
96
91
  examples:
97
92
  success:
98
93
  summary: Successful substitution
99
94
  value:
100
95
  success: true
101
- version_used: "v0.4.2"
96
+ version_used: v0.4.2
102
97
  files_processed: 42
103
98
  replacements_made: 156
104
99
  files:
105
- - path: "spec/v0.4/agent.schema.json"
100
+ - path: spec/v0.4/agent.schema.json
106
101
  replacements: 8
107
- - path: "docs/roadmap/phase-1-specification.md"
102
+ - path: docs/roadmap/phase-1-specification.md
108
103
  replacements: 3
109
104
  dry_run:
110
105
  summary: Dry run result
111
106
  value:
112
107
  success: true
113
- version_used: "v0.4.2"
108
+ version_used: v0.4.2
114
109
  files_processed: 42
115
110
  replacements_made: 156
116
111
  dry_run: true
117
- message: "Dry run completed. No files were modified."
118
- '400':
112
+ message: Dry run completed. No files were modified.
113
+ "400":
119
114
  description: Invalid request
120
115
  content:
121
116
  application/json:
122
117
  schema:
123
- $ref: '#/components/schemas/ErrorResponse'
118
+ $ref: "#/components/schemas/ErrorResponse"
124
119
  examples:
125
120
  invalid_version:
126
121
  summary: Invalid version format
127
122
  value:
128
123
  success: false
129
- error: "Invalid version format"
130
- message: "Version must be in semver format (e.g., '0.4.2' or 'v0.4.2')"
131
- code: "INVALID_VERSION_FORMAT"
132
- '500':
124
+ error: Invalid version format
125
+ message: Version must be in semver format (e.g., '0.4.2' or 'v0.4.2')
126
+ code: INVALID_VERSION_FORMAT
127
+ "500":
133
128
  description: Server error
134
129
  content:
135
130
  application/json:
136
131
  schema:
137
- $ref: '#/components/schemas/ErrorResponse'
138
-
132
+ $ref: "#/components/schemas/ErrorResponse"
133
+ x-ossa-capability: version-substitute-version
134
+ x-ossa-autonomy:
135
+ level: supervised
136
+ approval_required: true
139
137
  /version/restore:
140
138
  post:
141
139
  operationId: restoreVersion
@@ -152,7 +150,6 @@ paths:
152
150
  1. Scan files for the specified version
153
151
  2. Replace version occurrences with `{{VERSION}}`
154
152
  3. Report restorations made
155
-
156
153
  tags:
157
154
  - version
158
155
  requestBody:
@@ -160,36 +157,39 @@ paths:
160
157
  content:
161
158
  application/json:
162
159
  schema:
163
- $ref: '#/components/schemas/RestoreRequest'
160
+ $ref: "#/components/schemas/RestoreRequest"
164
161
  examples:
165
162
  basic:
166
163
  summary: Basic restoration
167
164
  value:
168
- version: "0.4.2"
165
+ version: 0.4.2
169
166
  all_versions:
170
167
  summary: Restore all versions to placeholder
171
168
  value:
172
169
  restore_all: true
173
170
  responses:
174
- '200':
171
+ "200":
175
172
  description: Restoration completed successfully
176
173
  content:
177
174
  application/json:
178
175
  schema:
179
- $ref: '#/components/schemas/RestoreResponse'
180
- '400':
176
+ $ref: "#/components/schemas/RestoreResponse"
177
+ "400":
181
178
  description: Invalid request
182
179
  content:
183
180
  application/json:
184
181
  schema:
185
- $ref: '#/components/schemas/ErrorResponse'
186
- '500':
182
+ $ref: "#/components/schemas/ErrorResponse"
183
+ "500":
187
184
  description: Server error
188
185
  content:
189
186
  application/json:
190
187
  schema:
191
- $ref: '#/components/schemas/ErrorResponse'
192
-
188
+ $ref: "#/components/schemas/ErrorResponse"
189
+ x-ossa-capability: version-restore-version
190
+ x-ossa-autonomy:
191
+ level: supervised
192
+ approval_required: true
193
193
  /version/detect:
194
194
  get:
195
195
  operationId: detectVersion
@@ -208,7 +208,6 @@ paths:
208
208
  - Detected version
209
209
  - Source where version was found
210
210
  - All available versions from all sources
211
-
212
211
  tags:
213
212
  - detection
214
213
  parameters:
@@ -218,53 +217,53 @@ paths:
218
217
  required: false
219
218
  schema:
220
219
  type: string
221
- default: "."
220
+ default: .
222
221
  responses:
223
- '200':
222
+ "200":
224
223
  description: Version detected successfully
225
224
  content:
226
225
  application/json:
227
226
  schema:
228
- $ref: '#/components/schemas/DetectResponse'
227
+ $ref: "#/components/schemas/DetectResponse"
229
228
  examples:
230
229
  from_git:
231
230
  summary: Version detected from git tag
232
231
  value:
233
232
  success: true
234
- version: "v0.4.2"
235
- source: "git_tag"
233
+ version: v0.4.2
234
+ source: git_tag
236
235
  all_sources:
237
- git_tag: "v0.4.2"
238
- package_json: "0.4.1"
236
+ git_tag: v0.4.2
237
+ package_json: 0.4.1
239
238
  from_package:
240
239
  summary: Version detected from package.json
241
240
  value:
242
241
  success: true
243
- version: "0.4.2"
244
- source: "package_json"
242
+ version: 0.4.2
243
+ source: package_json
245
244
  all_sources:
246
- package_json: "0.4.2"
247
- '404':
245
+ package_json: 0.4.2
246
+ "404":
248
247
  description: No version found
249
248
  content:
250
249
  application/json:
251
250
  schema:
252
- $ref: '#/components/schemas/ErrorResponse'
251
+ $ref: "#/components/schemas/ErrorResponse"
253
252
  examples:
254
253
  not_found:
255
254
  summary: No version detected
256
255
  value:
257
256
  success: false
258
- error: "Version not found"
259
- message: "Could not detect version from any source"
260
- code: "VERSION_NOT_FOUND"
261
- '500':
257
+ error: Version not found
258
+ message: Could not detect version from any source
259
+ code: VERSION_NOT_FOUND
260
+ "500":
262
261
  description: Server error
263
262
  content:
264
263
  application/json:
265
264
  schema:
266
- $ref: '#/components/schemas/ErrorResponse'
267
-
265
+ $ref: "#/components/schemas/ErrorResponse"
266
+ x-ossa-capability: version-detect-version
268
267
  /version/validate:
269
268
  post:
270
269
  operationId: validateVersion
@@ -282,7 +281,6 @@ paths:
282
281
  - `0.4` (missing patch)
283
282
  - `v0.4.2.1` (too many segments)
284
283
  - `latest` (not semver)
285
-
286
284
  tags:
287
285
  - validation
288
286
  requestBody:
@@ -290,30 +288,30 @@ paths:
290
288
  content:
291
289
  application/json:
292
290
  schema:
293
- $ref: '#/components/schemas/ValidateRequest'
291
+ $ref: "#/components/schemas/ValidateRequest"
294
292
  examples:
295
293
  valid:
296
294
  summary: Valid version
297
295
  value:
298
- version: "0.4.2"
296
+ version: 0.4.2
299
297
  invalid:
300
298
  summary: Invalid version
301
299
  value:
302
300
  version: "0.4"
303
301
  responses:
304
- '200':
302
+ "200":
305
303
  description: Validation result
306
304
  content:
307
305
  application/json:
308
306
  schema:
309
- $ref: '#/components/schemas/ValidateResponse'
307
+ $ref: "#/components/schemas/ValidateResponse"
310
308
  examples:
311
309
  valid:
312
310
  summary: Version is valid
313
311
  value:
314
312
  success: true
315
313
  valid: true
316
- version: "0.4.2"
314
+ version: 0.4.2
317
315
  parsed:
318
316
  major: 0
319
317
  minor: 4
@@ -327,14 +325,17 @@ paths:
327
325
  valid: false
328
326
  version: "0.4"
329
327
  errors:
330
- - "Missing patch version"
331
- '400':
328
+ - Missing patch version
329
+ "400":
332
330
  description: Invalid request
333
331
  content:
334
332
  application/json:
335
333
  schema:
336
- $ref: '#/components/schemas/ErrorResponse'
337
-
334
+ $ref: "#/components/schemas/ErrorResponse"
335
+ x-ossa-capability: version-validate-version
336
+ x-ossa-autonomy:
337
+ level: supervised
338
+ approval_required: true
338
339
  /version/bump:
339
340
  post:
340
341
  operationId: bumpVersion
@@ -347,7 +348,6 @@ paths:
347
348
  - `minor`: 0.4.2 → 0.5.0
348
349
  - `patch`: 0.4.2 → 0.4.3
349
350
  - `prerelease`: 0.4.2 → 0.4.3-alpha.1
350
-
351
351
  tags:
352
352
  - version
353
353
  requestBody:
@@ -355,38 +355,41 @@ paths:
355
355
  content:
356
356
  application/json:
357
357
  schema:
358
- $ref: '#/components/schemas/BumpRequest'
358
+ $ref: "#/components/schemas/BumpRequest"
359
359
  examples:
360
360
  patch:
361
361
  summary: Bump patch version
362
362
  value:
363
- version: "0.4.2"
364
- bump_type: "patch"
363
+ version: 0.4.2
364
+ bump_type: patch
365
365
  minor:
366
366
  summary: Bump minor version
367
367
  value:
368
- version: "0.4.2"
369
- bump_type: "minor"
368
+ version: 0.4.2
369
+ bump_type: minor
370
370
  prerelease:
371
371
  summary: Bump to prerelease
372
372
  value:
373
- version: "0.4.2"
374
- bump_type: "prerelease"
375
- prerelease_identifier: "alpha"
373
+ version: 0.4.2
374
+ bump_type: prerelease
375
+ prerelease_identifier: alpha
376
376
  responses:
377
- '200':
377
+ "200":
378
378
  description: Version bumped successfully
379
379
  content:
380
380
  application/json:
381
381
  schema:
382
- $ref: '#/components/schemas/BumpResponse'
383
- '400':
382
+ $ref: "#/components/schemas/BumpResponse"
383
+ "400":
384
384
  description: Invalid request
385
385
  content:
386
386
  application/json:
387
387
  schema:
388
- $ref: '#/components/schemas/ErrorResponse'
389
-
388
+ $ref: "#/components/schemas/ErrorResponse"
389
+ x-ossa-capability: version-bump-version
390
+ x-ossa-autonomy:
391
+ level: supervised
392
+ approval_required: true
390
393
  components:
391
394
  schemas:
392
395
  SubstituteRequest:
@@ -396,9 +399,9 @@ components:
396
399
  properties:
397
400
  version:
398
401
  type: string
399
- pattern: '^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?(\+[a-zA-Z0-9.]+)?$'
402
+ pattern: ^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?(\+[a-zA-Z0-9.]+)?$
400
403
  description: Semantic version to substitute (with or without 'v' prefix)
401
- example: "0.4.2"
404
+ example: 0.4.2
402
405
  paths:
403
406
  type: array
404
407
  items:
@@ -410,22 +413,22 @@ components:
410
413
  - "**/*.yaml"
411
414
  - "**/*.yml"
412
415
  example:
413
- - "spec/**/*.json"
414
- - "docs/**/*.md"
416
+ - spec/**/*.json
417
+ - docs/**/*.md
415
418
  exclude:
416
419
  type: array
417
420
  items:
418
421
  type: string
419
422
  description: Glob patterns for files to exclude
420
423
  default:
421
- - "node_modules/**"
422
- - ".git/**"
423
- - "vendor/**"
424
- - "dist/**"
425
- - "build/**"
424
+ - node_modules/**
425
+ - .git/**
426
+ - vendor/**
427
+ - dist/**
428
+ - build/**
426
429
  example:
427
- - "node_modules/**"
428
- - ".git/**"
430
+ - node_modules/**
431
+ - .git/**
429
432
  dry_run:
430
433
  type: boolean
431
434
  default: false
@@ -435,7 +438,6 @@ components:
435
438
  default: "{{VERSION}}"
436
439
  description: Custom placeholder pattern to replace
437
440
  example: "{{VERSION}}"
438
-
439
441
  SubstituteResponse:
440
442
  type: object
441
443
  required:
@@ -450,7 +452,7 @@ components:
450
452
  version_used:
451
453
  type: string
452
454
  description: The version that was substituted
453
- example: "v0.4.2"
455
+ example: v0.4.2
454
456
  files_processed:
455
457
  type: integer
456
458
  description: Number of files scanned
@@ -465,7 +467,7 @@ components:
465
467
  message:
466
468
  type: string
467
469
  description: Human-readable result message
468
- example: "Successfully replaced 156 occurrences in 42 files"
470
+ example: Successfully replaced 156 occurrences in 42 files
469
471
  files:
470
472
  type: array
471
473
  description: Details of each file processed
@@ -478,7 +480,7 @@ components:
478
480
  path:
479
481
  type: string
480
482
  description: Relative path to file
481
- example: "spec/v0.4/agent.schema.json"
483
+ example: spec/v0.4/agent.schema.json
482
484
  replacements:
483
485
  type: integer
484
486
  description: Number of replacements in this file
@@ -495,15 +497,14 @@ components:
495
497
  type: string
496
498
  after:
497
499
  type: string
498
-
499
500
  RestoreRequest:
500
501
  type: object
501
502
  properties:
502
503
  version:
503
504
  type: string
504
- pattern: '^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?(\+[a-zA-Z0-9.]+)?$'
505
+ pattern: ^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?(\+[a-zA-Z0-9.]+)?$
505
506
  description: Specific version to restore to placeholder
506
- example: "0.4.2"
507
+ example: 0.4.2
507
508
  restore_all:
508
509
  type: boolean
509
510
  default: false
@@ -523,9 +524,10 @@ components:
523
524
  default: "{{VERSION}}"
524
525
  description: Placeholder pattern to restore
525
526
  oneOf:
526
- - required: [version]
527
- - required: [restore_all]
528
-
527
+ - required:
528
+ - version
529
+ - required:
530
+ - restore_all
529
531
  RestoreResponse:
530
532
  type: object
531
533
  required:
@@ -538,7 +540,7 @@ components:
538
540
  version_restored:
539
541
  type: string
540
542
  description: The version that was restored to placeholder
541
- example: "v0.4.2"
543
+ example: v0.4.2
542
544
  files_processed:
543
545
  type: integer
544
546
  example: 42
@@ -547,7 +549,7 @@ components:
547
549
  example: 156
548
550
  message:
549
551
  type: string
550
- example: "Successfully restored 156 occurrences to {{VERSION}} in 42 files"
552
+ example: Successfully restored 156 occurrences to {{VERSION}} in 42 files
551
553
  files:
552
554
  type: array
553
555
  items:
@@ -557,15 +559,14 @@ components:
557
559
  type: string
558
560
  replacements:
559
561
  type: integer
560
-
561
562
  DetectRequest:
562
563
  type: object
563
564
  properties:
564
565
  directory:
565
566
  type: string
566
- default: "."
567
+ default: .
567
568
  description: Directory to search for version sources
568
- example: "/path/to/project"
569
+ example: /path/to/project
569
570
  sources:
570
571
  type: array
571
572
  items:
@@ -578,7 +579,6 @@ components:
578
579
  - pyproject_toml
579
580
  - cargo_toml
580
581
  description: Specific sources to check (checks all by default)
581
-
582
582
  DetectResponse:
583
583
  type: object
584
584
  required:
@@ -591,7 +591,7 @@ components:
591
591
  version:
592
592
  type: string
593
593
  description: Detected version
594
- example: "v0.4.2"
594
+ example: v0.4.2
595
595
  source:
596
596
  type: string
597
597
  enum:
@@ -602,16 +602,15 @@ components:
602
602
  - pyproject_toml
603
603
  - cargo_toml
604
604
  description: Source where version was found
605
- example: "git_tag"
605
+ example: git_tag
606
606
  all_sources:
607
607
  type: object
608
608
  description: All versions found from all sources
609
609
  additionalProperties:
610
610
  type: string
611
611
  example:
612
- git_tag: "v0.4.2"
613
- package_json: "0.4.1"
614
-
612
+ git_tag: v0.4.2
613
+ package_json: 0.4.1
615
614
  ValidateRequest:
616
615
  type: object
617
616
  required:
@@ -620,8 +619,7 @@ components:
620
619
  version:
621
620
  type: string
622
621
  description: Version string to validate
623
- example: "0.4.2"
624
-
622
+ example: 0.4.2
625
623
  ValidateResponse:
626
624
  type: object
627
625
  required:
@@ -653,17 +651,16 @@ components:
653
651
  prerelease:
654
652
  type: string
655
653
  nullable: true
656
- example: "alpha.1"
654
+ example: alpha.1
657
655
  build:
658
656
  type: string
659
657
  nullable: true
660
- example: "build.123"
658
+ example: build.123
661
659
  errors:
662
660
  type: array
663
661
  items:
664
662
  type: string
665
663
  description: Validation errors (if invalid)
666
-
667
664
  BumpRequest:
668
665
  type: object
669
666
  required:
@@ -672,9 +669,9 @@ components:
672
669
  properties:
673
670
  version:
674
671
  type: string
675
- pattern: '^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?(\+[a-zA-Z0-9.]+)?$'
672
+ pattern: ^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.]+)?(\+[a-zA-Z0-9.]+)?$
676
673
  description: Current version
677
- example: "0.4.2"
674
+ example: 0.4.2
678
675
  bump_type:
679
676
  type: string
680
677
  enum:
@@ -683,12 +680,11 @@ components:
683
680
  - patch
684
681
  - prerelease
685
682
  description: Type of version bump
686
- example: "patch"
683
+ example: patch
687
684
  prerelease_identifier:
688
685
  type: string
689
686
  description: Identifier for prerelease (e.g., 'alpha', 'beta', 'rc')
690
- example: "alpha"
691
-
687
+ example: alpha
692
688
  BumpResponse:
693
689
  type: object
694
690
  required:
@@ -701,11 +697,11 @@ components:
701
697
  old_version:
702
698
  type: string
703
699
  description: Original version
704
- example: "0.4.2"
700
+ example: 0.4.2
705
701
  new_version:
706
702
  type: string
707
703
  description: Bumped version
708
- example: "0.4.3"
704
+ example: 0.4.3
709
705
  bump_type:
710
706
  type: string
711
707
  enum:
@@ -713,8 +709,7 @@ components:
713
709
  - minor
714
710
  - patch
715
711
  - prerelease
716
- example: "patch"
717
-
712
+ example: patch
718
713
  ErrorResponse:
719
714
  type: object
720
715
  required:
@@ -724,31 +719,43 @@ components:
724
719
  properties:
725
720
  success:
726
721
  type: boolean
727
- enum: [false]
722
+ enum:
723
+ - false
728
724
  error:
729
725
  type: string
730
726
  description: Error type
731
- example: "Invalid version format"
727
+ example: Invalid version format
732
728
  message:
733
729
  type: string
734
730
  description: Human-readable error message
735
- example: "Version must be in semver format (e.g., '0.4.2' or 'v0.4.2')"
731
+ example: Version must be in semver format (e.g., '0.4.2' or 'v0.4.2')
736
732
  code:
737
733
  type: string
738
734
  description: Machine-readable error code
739
- example: "INVALID_VERSION_FORMAT"
735
+ example: INVALID_VERSION_FORMAT
740
736
  details:
741
737
  type: object
742
738
  description: Additional error details
743
739
  additionalProperties: true
744
-
745
740
  securitySchemes:
746
741
  apiKey:
747
742
  type: apiKey
748
743
  in: header
749
744
  name: X-API-Key
750
745
  description: API key for authentication (if required)
751
-
752
746
  security:
753
747
  - apiKey: []
754
- - {} # Allow unauthenticated access for local use
748
+ - {}
749
+ x-ossa-metadata:
750
+ version: 1.0.0
751
+ compliance:
752
+ level: standard
753
+ observability:
754
+ tracing: true
755
+ metrics: true
756
+ logging: true
757
+ x-ossa:
758
+ version: 0.5.0
759
+ agent:
760
+ id: version-management-api
761
+ type: worker