@bluefly/openstandardagents 0.3.0 → 0.3.2

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 (406) hide show
  1. package/.devfile.yaml +87 -0
  2. package/.gitlab-ci-trigger +1 -0
  3. package/.wiki-config.json +24 -0
  4. package/CHANGELOG.md +212 -1
  5. package/README.md +8 -193
  6. package/dist/adapters/anthropic/runtime.js +2 -2
  7. package/dist/adapters/anthropic/runtime.js.map +1 -1
  8. package/dist/bot/architecture-validator-bot.d.ts +8 -0
  9. package/dist/bot/architecture-validator-bot.d.ts.map +1 -0
  10. package/dist/bot/architecture-validator-bot.js +15 -0
  11. package/dist/bot/architecture-validator-bot.js.map +1 -0
  12. package/dist/bot/ci-pipeline-bot.d.ts +7 -0
  13. package/dist/bot/ci-pipeline-bot.d.ts.map +1 -0
  14. package/dist/bot/ci-pipeline-bot.js +7 -0
  15. package/dist/bot/ci-pipeline-bot.js.map +1 -0
  16. package/dist/bot/compliance-bot.d.ts +56 -0
  17. package/dist/bot/compliance-bot.d.ts.map +1 -0
  18. package/dist/bot/compliance-bot.js +203 -0
  19. package/dist/bot/compliance-bot.js.map +1 -0
  20. package/dist/bot/dependency-updater-bot.d.ts +9 -0
  21. package/dist/bot/dependency-updater-bot.d.ts.map +1 -0
  22. package/dist/bot/dependency-updater-bot.js +9 -0
  23. package/dist/bot/dependency-updater-bot.js.map +1 -0
  24. package/dist/bot/security-scanner-bot.d.ts +11 -0
  25. package/dist/bot/security-scanner-bot.d.ts.map +1 -0
  26. package/dist/bot/security-scanner-bot.js +21 -0
  27. package/dist/bot/security-scanner-bot.js.map +1 -0
  28. package/dist/cli/commands/agent-card.command.d.ts +11 -0
  29. package/dist/cli/commands/agent-card.command.d.ts.map +1 -0
  30. package/dist/cli/commands/agent-card.command.js +285 -0
  31. package/dist/cli/commands/agent-card.command.js.map +1 -0
  32. package/dist/cli/commands/agents.command.d.ts +11 -0
  33. package/dist/cli/commands/agents.command.d.ts.map +1 -0
  34. package/dist/cli/commands/agents.command.js +326 -0
  35. package/dist/cli/commands/agents.command.js.map +1 -0
  36. package/dist/cli/commands/diff.command.d.ts +7 -0
  37. package/dist/cli/commands/diff.command.d.ts.map +1 -0
  38. package/dist/cli/commands/diff.command.js +181 -0
  39. package/dist/cli/commands/diff.command.js.map +1 -0
  40. package/dist/cli/commands/docs.command.d.ts +7 -0
  41. package/dist/cli/commands/docs.command.d.ts.map +1 -0
  42. package/dist/cli/commands/docs.command.js +274 -0
  43. package/dist/cli/commands/docs.command.js.map +1 -0
  44. package/dist/cli/commands/generate.command.d.ts +13 -2
  45. package/dist/cli/commands/generate.command.d.ts.map +1 -1
  46. package/dist/cli/commands/generate.command.js +204 -29
  47. package/dist/cli/commands/generate.command.js.map +1 -1
  48. package/dist/cli/commands/lint.command.d.ts +7 -0
  49. package/dist/cli/commands/lint.command.d.ts.map +1 -0
  50. package/dist/cli/commands/lint.command.js +342 -0
  51. package/dist/cli/commands/lint.command.js.map +1 -0
  52. package/dist/cli/commands/registry.command.d.ts +14 -0
  53. package/dist/cli/commands/registry.command.d.ts.map +1 -0
  54. package/dist/cli/commands/registry.command.js +428 -0
  55. package/dist/cli/commands/registry.command.js.map +1 -0
  56. package/dist/cli/commands/serve.command.d.ts +7 -0
  57. package/dist/cli/commands/serve.command.d.ts.map +1 -0
  58. package/dist/cli/commands/serve.command.js +232 -0
  59. package/dist/cli/commands/serve.command.js.map +1 -0
  60. package/dist/cli/commands/workspace.command.d.ts +14 -0
  61. package/dist/cli/commands/workspace.command.d.ts.map +1 -0
  62. package/dist/cli/commands/workspace.command.js +467 -0
  63. package/dist/cli/commands/workspace.command.js.map +1 -0
  64. package/dist/cli/index.js +13 -0
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/di-container.d.ts.map +1 -1
  67. package/dist/di-container.js +23 -0
  68. package/dist/di-container.js.map +1 -1
  69. package/dist/services/codegen/codegen.service.d.ts +75 -0
  70. package/dist/services/codegen/codegen.service.d.ts.map +1 -0
  71. package/dist/services/codegen/codegen.service.js +136 -0
  72. package/dist/services/codegen/codegen.service.js.map +1 -0
  73. package/dist/services/codegen/generators/manifest.generator.d.ts +41 -0
  74. package/dist/services/codegen/generators/manifest.generator.d.ts.map +1 -0
  75. package/dist/services/codegen/generators/manifest.generator.js +178 -0
  76. package/dist/services/codegen/generators/manifest.generator.js.map +1 -0
  77. package/dist/services/codegen/generators/openapi.generator.d.ts +46 -0
  78. package/dist/services/codegen/generators/openapi.generator.d.ts.map +1 -0
  79. package/dist/services/codegen/generators/openapi.generator.js +157 -0
  80. package/dist/services/codegen/generators/openapi.generator.js.map +1 -0
  81. package/dist/services/codegen/generators/types.generator.d.ts +27 -0
  82. package/dist/services/codegen/generators/types.generator.d.ts.map +1 -0
  83. package/dist/services/codegen/generators/types.generator.js +97 -0
  84. package/dist/services/codegen/generators/types.generator.js.map +1 -0
  85. package/dist/services/codegen/generators/vscode.generator.d.ts +43 -0
  86. package/dist/services/codegen/generators/vscode.generator.d.ts.map +1 -0
  87. package/dist/services/codegen/generators/vscode.generator.js +163 -0
  88. package/dist/services/codegen/generators/vscode.generator.js.map +1 -0
  89. package/dist/services/codegen/generators/zod.generator.d.ts +31 -0
  90. package/dist/services/codegen/generators/zod.generator.d.ts.map +1 -0
  91. package/dist/services/codegen/generators/zod.generator.js +134 -0
  92. package/dist/services/codegen/generators/zod.generator.js.map +1 -0
  93. package/dist/services/codegen/index.d.ts +33 -0
  94. package/dist/services/codegen/index.d.ts.map +1 -0
  95. package/dist/services/codegen/index.js +36 -0
  96. package/dist/services/codegen/index.js.map +1 -0
  97. package/dist/services/git.service.d.ts +40 -0
  98. package/dist/services/git.service.d.ts.map +1 -0
  99. package/dist/services/git.service.js +122 -0
  100. package/dist/services/git.service.js.map +1 -0
  101. package/dist/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
  102. package/dist/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
  103. package/dist/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
  104. package/dist/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
  105. package/dist/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
  106. package/dist/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
  107. package/dist/spec/v0.3.1/adapters/drupal.md +541 -0
  108. package/dist/spec/v0.3.1/adapters/symfony.md +659 -0
  109. package/dist/spec/v0.3.1/agent-test.schema.json +75 -0
  110. package/dist/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
  111. package/dist/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
  112. package/dist/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  113. package/dist/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
  114. package/dist/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  115. package/dist/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
  116. package/dist/spec/v0.3.1/extensions/drupal.md +417 -0
  117. package/dist/spec/v0.3.1/ossa-0.3.1.schema.json +3085 -0
  118. package/dist/spec/v0.3.1/protocols/sse.md +494 -0
  119. package/dist/spec/v0.3.1/protocols/webrtc.md +600 -0
  120. package/dist/spec/v0.3.1/protocols/websocket.md +362 -0
  121. package/dist/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
  122. package/dist/spec/v0.3.1/schemas/capabilities.yaml +102 -0
  123. package/dist/spec/v0.3.1/schemas/functions.yaml +75 -0
  124. package/dist/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
  125. package/dist/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
  126. package/dist/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
  127. package/dist/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
  128. package/dist/spec/v0.3.1/schemas/runtime.yaml +102 -0
  129. package/dist/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
  130. package/dist/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
  131. package/dist/spec/v0.3.1/taxonomy.yaml +256 -0
  132. package/dist/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
  133. package/dist/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
  134. package/dist/spec/v0.3.2/access_tiers.yaml +375 -0
  135. package/dist/spec/v0.3.2/adapters/drupal.md +541 -0
  136. package/dist/spec/v0.3.2/adapters/symfony.md +659 -0
  137. package/dist/spec/v0.3.2/agent-test.schema.json +75 -0
  138. package/dist/spec/v0.3.2/examples/access-tiers/README.md +106 -0
  139. package/dist/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
  140. package/dist/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
  141. package/dist/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
  142. package/dist/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
  143. package/dist/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
  144. package/dist/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
  145. package/dist/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
  146. package/dist/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  147. package/dist/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
  148. package/dist/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  149. package/dist/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
  150. package/dist/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
  151. package/dist/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
  152. package/dist/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
  153. package/dist/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
  154. package/dist/spec/v0.3.2/extensions/drupal.md +417 -0
  155. package/dist/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
  156. package/dist/spec/v0.3.2/ossa-0.3.2.schema.json +3316 -0
  157. package/dist/spec/v0.3.2/protocols/delegation.yaml +239 -0
  158. package/dist/spec/v0.3.2/protocols/sse.md +494 -0
  159. package/dist/spec/v0.3.2/protocols/webrtc.md +600 -0
  160. package/dist/spec/v0.3.2/protocols/websocket.md +362 -0
  161. package/dist/spec/v0.3.2/runtime/RUNTIME.md +457 -0
  162. package/dist/spec/v0.3.2/runtime/memory-model.yaml +871 -0
  163. package/dist/spec/v0.3.2/runtime/runtime.yaml +926 -0
  164. package/dist/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
  165. package/dist/spec/v0.3.2/schemas/capabilities.yaml +102 -0
  166. package/dist/spec/v0.3.2/schemas/functions.yaml +75 -0
  167. package/dist/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
  168. package/dist/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
  169. package/dist/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
  170. package/dist/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
  171. package/dist/spec/v0.3.2/schemas/runtime.yaml +102 -0
  172. package/dist/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
  173. package/dist/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
  174. package/dist/spec/v0.3.2/taxonomy.yaml +363 -0
  175. package/dist/testing/fixtures.d.ts.map +1 -1
  176. package/dist/testing/fixtures.js +3 -2
  177. package/dist/testing/fixtures.js.map +1 -1
  178. package/dist/types/generated/{ossa-0.3.0.types.d.ts → ossa-0.3.2.types.d.ts} +58 -7
  179. package/dist/types/generated/ossa-0.3.2.types.d.ts.map +1 -0
  180. package/dist/types/generated/ossa-0.3.2.types.js +10 -0
  181. package/dist/types/generated/ossa-0.3.2.types.js.map +1 -0
  182. package/dist/types/generated/ossa-0.3.2.zod.d.ts +36 -0
  183. package/dist/types/generated/ossa-0.3.2.zod.d.ts.map +1 -0
  184. package/dist/types/generated/ossa-0.3.2.zod.js +25 -0
  185. package/dist/types/generated/ossa-0.3.2.zod.js.map +1 -0
  186. package/examples/adapters/drupal-eca-mapping.yaml +1 -1
  187. package/examples/adapters/drupal-eca-task.yaml +1 -1
  188. package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
  189. package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
  190. package/examples/adapters/mistral-agent.yaml +1 -1
  191. package/examples/adapters/symfony-messenger-task.yaml +1 -1
  192. package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
  193. package/examples/adk-integration/code-review-workflow.yml +1 -1
  194. package/examples/adk-integration/customer-support.yml +1 -1
  195. package/examples/adk-integration/data-pipeline.yml +1 -1
  196. package/examples/advanced/reasoning-agent.yaml +1 -1
  197. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  198. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  199. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  200. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  201. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  202. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  203. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  204. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  205. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  206. package/examples/agents/architecture-healer-enterprise.yaml +1 -1
  207. package/examples/agents/dependency-healer-npm.yaml +1 -1
  208. package/examples/agents/spec-healer-openapi.yaml +1 -1
  209. package/examples/agents/wiki-healer-production.yaml +1 -1
  210. package/examples/agents-md/code-agent.ossa.json +36 -11
  211. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  212. package/examples/anthropic/claude-assistant.ossa.json +4 -4
  213. package/examples/autogen/multi-agent.ossa.json +2 -2
  214. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
  215. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  216. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  217. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  218. package/examples/contracts/data-consumer.ossa.yaml +1 -1
  219. package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
  220. package/examples/contracts/data-producer.ossa.yaml +1 -1
  221. package/examples/crewai/research-team.ossa.json +2 -2
  222. package/examples/cursor/code-review-agent.ossa.json +2 -2
  223. package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +1 -1
  224. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  225. package/examples/extensions/agents-md-advanced.yml +1 -1
  226. package/examples/extensions/agents-md-basic.yml +1 -1
  227. package/examples/extensions/agents-md-sync.yml +1 -1
  228. package/examples/extensions/agents-md-v1.yml +1 -1
  229. package/examples/extensions/drupal-v1.yml +1 -1
  230. package/examples/extensions/encryption-multi-provider.yaml +4 -4
  231. package/examples/extensions/kagent-v1.yml +1 -1
  232. package/examples/extensions/knowledge-sources.yaml +1 -1
  233. package/examples/extensions/mcp-full-featured.yaml +1 -1
  234. package/examples/getting-started/01-minimal-agent.ossa.yaml +3 -3
  235. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  236. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  237. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +2 -2
  238. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  239. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  240. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  241. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  242. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  243. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  244. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  245. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  246. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  247. package/examples/langchain/chain-agent.ossa.json +2 -2
  248. package/examples/langflow/workflow-agent.ossa.json +2 -2
  249. package/examples/langgraph/state-machine-agent.ossa.json +2 -2
  250. package/examples/llamaindex/rag-agent.ossa.json +2 -2
  251. package/examples/messaging/dependency-healer.ossa.yaml +1 -1
  252. package/examples/messaging/incident-responder.ossa.yaml +1 -1
  253. package/examples/messaging/routing-rules.ossa.yaml +3 -3
  254. package/examples/messaging/security-scanner.ossa.yaml +1 -1
  255. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  256. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  257. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  258. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  259. package/examples/observability/activity-stream-full.yaml +1 -1
  260. package/examples/openai/basic-agent.ossa.yaml +1 -1
  261. package/examples/openai/multi-tool-agent.ossa.json +2 -2
  262. package/examples/openai/swarm-agent.ossa.json +2 -2
  263. package/examples/production/document-analyzer-openai.yml +1 -1
  264. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  265. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
  266. package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
  267. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
  268. package/examples/schema/reusable-components.yaml +1 -1
  269. package/examples/showcase/ci-pipeline.ossa.yaml +59 -0
  270. package/examples/showcase/code-assistant.ossa.yaml +118 -0
  271. package/examples/showcase/code-reviewer.ossa.yaml +61 -0
  272. package/examples/showcase/compliance-validator.ossa.yaml +62 -0
  273. package/examples/showcase/content-writer.ossa.yaml +67 -0
  274. package/examples/showcase/data-transformer.ossa.yaml +78 -0
  275. package/examples/showcase/doc-generator.ossa.yaml +68 -0
  276. package/examples/showcase/security-scanner.ossa.yaml +65 -0
  277. package/examples/showcase/test-generator.ossa.yaml +63 -0
  278. package/examples/showcase/workflow-orchestrator.ossa.yaml +129 -0
  279. package/examples/tasks/batch-email-sender.yaml +1 -1
  280. package/examples/tasks/data-transform.yaml +1 -1
  281. package/examples/tasks/publish-content.yaml +1 -1
  282. package/examples/templates/ossa-compliance.yaml +1 -1
  283. package/examples/unified/security-scanner.ossa.yaml +1 -1
  284. package/examples/vercel/edge-agent.ossa.json +2 -2
  285. package/examples/workflows/batch-email-campaign.yaml +1 -1
  286. package/examples/workflows/content-review-publish.yaml +1 -1
  287. package/examples/workflows/simple-etl.yaml +1 -1
  288. package/llms-ctx-full.txt +39 -0
  289. package/llms-ctx.txt +39 -0
  290. package/openapi/agent-communication.yaml +1 -1
  291. package/openapi/agent-crud.yaml +8 -8
  292. package/openapi/agent-discovery.yaml +2 -2
  293. package/openapi/agent-identity.yaml +8 -8
  294. package/openapi/cli-commands.openapi.yaml +231 -0
  295. package/openapi/core/ossa-core-api.openapi.yaml +1 -1
  296. package/openapi/core/ossa-registry-api.openapi.yaml +1 -1
  297. package/openapi/core/ossa-registry.openapi.yaml +1 -1
  298. package/openapi/core/unified-agent-gateway.openapi.yaml +1 -1
  299. package/openapi/github-sync.yaml +1 -1
  300. package/openapi/protocols/sse-streams.yaml +1 -1
  301. package/openapi/protocols/websocket-events.yaml +2 -2
  302. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +2 -2
  303. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +1 -1
  304. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +1 -1
  305. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +2 -2
  306. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +2 -2
  307. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +1 -1
  308. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +1 -1
  309. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +2 -2
  310. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +1 -1
  311. package/openapi/reference-implementations/helm-generator.openapi.yaml +1 -1
  312. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +1 -1
  313. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +1 -1
  314. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +2 -2
  315. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +1 -1
  316. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +2 -2
  317. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +1 -1
  318. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +2 -2
  319. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +1 -1
  320. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +2 -2
  321. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +1 -1
  322. package/package.json +14 -32
  323. package/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
  324. package/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
  325. package/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
  326. package/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
  327. package/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
  328. package/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
  329. package/spec/v0.3.1/adapters/drupal.md +541 -0
  330. package/spec/v0.3.1/adapters/symfony.md +659 -0
  331. package/spec/v0.3.1/agent-test.schema.json +75 -0
  332. package/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
  333. package/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
  334. package/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  335. package/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
  336. package/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  337. package/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
  338. package/spec/v0.3.1/extensions/drupal.md +417 -0
  339. package/spec/v0.3.1/ossa-0.3.1.schema.json +3085 -0
  340. package/spec/v0.3.1/protocols/sse.md +494 -0
  341. package/spec/v0.3.1/protocols/webrtc.md +600 -0
  342. package/spec/v0.3.1/protocols/websocket.md +362 -0
  343. package/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
  344. package/spec/v0.3.1/schemas/capabilities.yaml +102 -0
  345. package/spec/v0.3.1/schemas/functions.yaml +75 -0
  346. package/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
  347. package/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
  348. package/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
  349. package/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
  350. package/spec/v0.3.1/schemas/runtime.yaml +102 -0
  351. package/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
  352. package/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
  353. package/spec/v0.3.1/taxonomy.yaml +256 -0
  354. package/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
  355. package/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
  356. package/spec/v0.3.2/access_tiers.yaml +375 -0
  357. package/spec/v0.3.2/adapters/drupal.md +541 -0
  358. package/spec/v0.3.2/adapters/symfony.md +659 -0
  359. package/spec/v0.3.2/agent-test.schema.json +75 -0
  360. package/spec/v0.3.2/examples/access-tiers/README.md +106 -0
  361. package/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
  362. package/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
  363. package/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
  364. package/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
  365. package/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
  366. package/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
  367. package/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
  368. package/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  369. package/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
  370. package/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  371. package/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
  372. package/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
  373. package/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
  374. package/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
  375. package/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
  376. package/spec/v0.3.2/extensions/drupal.md +417 -0
  377. package/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
  378. package/spec/v0.3.2/ossa-0.3.2.schema.json +3316 -0
  379. package/spec/v0.3.2/protocols/delegation.yaml +239 -0
  380. package/spec/v0.3.2/protocols/sse.md +494 -0
  381. package/spec/v0.3.2/protocols/webrtc.md +600 -0
  382. package/spec/v0.3.2/protocols/websocket.md +362 -0
  383. package/spec/v0.3.2/runtime/RUNTIME.md +457 -0
  384. package/spec/v0.3.2/runtime/memory-model.yaml +871 -0
  385. package/spec/v0.3.2/runtime/runtime.yaml +926 -0
  386. package/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
  387. package/spec/v0.3.2/schemas/capabilities.yaml +102 -0
  388. package/spec/v0.3.2/schemas/functions.yaml +75 -0
  389. package/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
  390. package/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
  391. package/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
  392. package/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
  393. package/spec/v0.3.2/schemas/runtime.yaml +102 -0
  394. package/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
  395. package/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
  396. package/spec/v0.3.2/taxonomy.yaml +363 -0
  397. package/dist/types/generated/ossa-0.3.0.types.d.ts.map +0 -1
  398. package/dist/types/generated/ossa-0.3.0.types.js +0 -8
  399. package/dist/types/generated/ossa-0.3.0.types.js.map +0 -1
  400. package/dist/types/generated/ossa-0.3.0.zod.d.ts +0 -17
  401. package/dist/types/generated/ossa-0.3.0.zod.d.ts.map +0 -1
  402. package/dist/types/generated/ossa-0.3.0.zod.js +0 -3
  403. package/dist/types/generated/ossa-0.3.0.zod.js.map +0 -1
  404. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +0 -60
  405. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +0 -68
  406. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +0 -106
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Codegen Service - CI-Based Schema/Version Generation
3
+ *
4
+ * CRUD Operations:
5
+ * - generate: Create/update generated files
6
+ * - list: Show what would be generated
7
+ * - validate: Check for version drift
8
+ * - sync: Update all files to current version
9
+ *
10
+ * Single Source of Truth: package.json version
11
+ *
12
+ * @see src/utils/version.ts for getVersion(), getApiVersion()
13
+ */
14
+ import { ManifestGenerator } from './generators/manifest.generator.js';
15
+ import { VSCodeGenerator } from './generators/vscode.generator.js';
16
+ import { OpenAPIGenerator } from './generators/openapi.generator.js';
17
+ import { TypesGenerator } from './generators/types.generator.js';
18
+ import { ZodGenerator } from './generators/zod.generator.js';
19
+ export interface GenerateResult {
20
+ generator: string;
21
+ filesUpdated: number;
22
+ filesCreated: number;
23
+ errors: string[];
24
+ }
25
+ export interface DriftReport {
26
+ hasDrift: boolean;
27
+ currentVersion: string;
28
+ filesWithOldVersion: Array<{
29
+ path: string;
30
+ foundVersion: string;
31
+ }>;
32
+ }
33
+ export type GeneratorType = 'types' | 'zod' | 'manifests' | 'vscode' | 'openapi' | 'all';
34
+ export declare class CodegenService {
35
+ private manifestGenerator;
36
+ private vscodeGenerator;
37
+ private openapiGenerator;
38
+ private typesGenerator;
39
+ private zodGenerator;
40
+ constructor(manifestGenerator: ManifestGenerator, vscodeGenerator: VSCodeGenerator, openapiGenerator: OpenAPIGenerator, typesGenerator: TypesGenerator, zodGenerator: ZodGenerator);
41
+ /**
42
+ * Get current version info
43
+ */
44
+ getVersionInfo(): {
45
+ version: string;
46
+ apiVersion: string;
47
+ };
48
+ /**
49
+ * CRUD: CREATE/UPDATE - Generate files
50
+ */
51
+ generate(type: GeneratorType, dryRun?: boolean): Promise<GenerateResult[]>;
52
+ /**
53
+ * CRUD: READ - List files that would be generated
54
+ */
55
+ list(type: GeneratorType): Promise<string[]>;
56
+ /**
57
+ * CRUD: VALIDATE - Check for version drift
58
+ */
59
+ validate(): Promise<DriftReport>;
60
+ /**
61
+ * CRUD: UPDATE - Sync all files to current version
62
+ */
63
+ sync(dryRun?: boolean): Promise<GenerateResult[]>;
64
+ private getGenerators;
65
+ }
66
+ /**
67
+ * Base interface for all generators
68
+ */
69
+ export interface Generator {
70
+ name: string;
71
+ generate(dryRun: boolean): Promise<GenerateResult>;
72
+ listTargetFiles(): Promise<string[]>;
73
+ checkDrift(version: string, apiVersion: string): Promise<DriftReport['filesWithOldVersion']>;
74
+ }
75
+ //# sourceMappingURL=codegen.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen.service.d.ts","sourceRoot":"","sources":["../../../src/services/codegen/codegen.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,KAAK,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAEzF,qBACa,cAAc;IAEI,OAAO,CAAC,iBAAiB;IAC3B,OAAO,CAAC,eAAe;IACtB,OAAO,CAAC,gBAAgB;IAC1B,OAAO,CAAC,cAAc;IACxB,OAAO,CAAC,YAAY;gBAJP,iBAAiB,EAAE,iBAAiB,EACtC,eAAe,EAAE,eAAe,EAC/B,gBAAgB,EAAE,gBAAgB,EACpC,cAAc,EAAE,cAAc,EAChC,YAAY,EAAE,YAAY;IAG1D;;OAEG;IACH,cAAc,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAOzD;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAY9E;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYlD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAmBtC;;OAEG;IACG,IAAI,CAAC,MAAM,UAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIrD,OAAO,CAAC,aAAa;CAoBtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACnD,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;CAC9F"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Codegen Service - CI-Based Schema/Version Generation
3
+ *
4
+ * CRUD Operations:
5
+ * - generate: Create/update generated files
6
+ * - list: Show what would be generated
7
+ * - validate: Check for version drift
8
+ * - sync: Update all files to current version
9
+ *
10
+ * Single Source of Truth: package.json version
11
+ *
12
+ * @see src/utils/version.ts for getVersion(), getApiVersion()
13
+ */
14
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
15
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
20
+ var __metadata = (this && this.__metadata) || function (k, v) {
21
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
+ };
23
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
24
+ return function (target, key) { decorator(target, key, paramIndex); }
25
+ };
26
+ import { injectable, inject } from 'inversify';
27
+ import { getVersion, getApiVersion } from '../../utils/version.js';
28
+ import { ManifestGenerator } from './generators/manifest.generator.js';
29
+ import { VSCodeGenerator } from './generators/vscode.generator.js';
30
+ import { OpenAPIGenerator } from './generators/openapi.generator.js';
31
+ import { TypesGenerator } from './generators/types.generator.js';
32
+ import { ZodGenerator } from './generators/zod.generator.js';
33
+ let CodegenService = class CodegenService {
34
+ manifestGenerator;
35
+ vscodeGenerator;
36
+ openapiGenerator;
37
+ typesGenerator;
38
+ zodGenerator;
39
+ constructor(manifestGenerator, vscodeGenerator, openapiGenerator, typesGenerator, zodGenerator) {
40
+ this.manifestGenerator = manifestGenerator;
41
+ this.vscodeGenerator = vscodeGenerator;
42
+ this.openapiGenerator = openapiGenerator;
43
+ this.typesGenerator = typesGenerator;
44
+ this.zodGenerator = zodGenerator;
45
+ }
46
+ /**
47
+ * Get current version info
48
+ */
49
+ getVersionInfo() {
50
+ return {
51
+ version: getVersion(),
52
+ apiVersion: getApiVersion(),
53
+ };
54
+ }
55
+ /**
56
+ * CRUD: CREATE/UPDATE - Generate files
57
+ */
58
+ async generate(type, dryRun = false) {
59
+ const results = [];
60
+ const generators = this.getGenerators(type);
61
+ for (const gen of generators) {
62
+ const result = await gen.generate(dryRun);
63
+ results.push(result);
64
+ }
65
+ return results;
66
+ }
67
+ /**
68
+ * CRUD: READ - List files that would be generated
69
+ */
70
+ async list(type) {
71
+ const generators = this.getGenerators(type);
72
+ const files = [];
73
+ for (const gen of generators) {
74
+ const genFiles = await gen.listTargetFiles();
75
+ files.push(...genFiles);
76
+ }
77
+ return files;
78
+ }
79
+ /**
80
+ * CRUD: VALIDATE - Check for version drift
81
+ */
82
+ async validate() {
83
+ const currentVersion = getVersion();
84
+ const apiVersion = getApiVersion();
85
+ const filesWithOldVersion = [];
86
+ // Check all generators for drift
87
+ const generators = this.getGenerators('all');
88
+ for (const gen of generators) {
89
+ const drift = await gen.checkDrift(currentVersion, apiVersion);
90
+ filesWithOldVersion.push(...drift);
91
+ }
92
+ return {
93
+ hasDrift: filesWithOldVersion.length > 0,
94
+ currentVersion,
95
+ filesWithOldVersion,
96
+ };
97
+ }
98
+ /**
99
+ * CRUD: UPDATE - Sync all files to current version
100
+ */
101
+ async sync(dryRun = false) {
102
+ return this.generate('all', dryRun);
103
+ }
104
+ getGenerators(type) {
105
+ const generatorMap = {
106
+ types: this.typesGenerator,
107
+ zod: this.zodGenerator,
108
+ manifests: this.manifestGenerator,
109
+ vscode: this.vscodeGenerator,
110
+ openapi: this.openapiGenerator,
111
+ };
112
+ if (type === 'all') {
113
+ return Object.values(generatorMap);
114
+ }
115
+ const generator = generatorMap[type];
116
+ if (!generator) {
117
+ throw new Error(`Unknown generator type: ${type}`);
118
+ }
119
+ return [generator];
120
+ }
121
+ };
122
+ CodegenService = __decorate([
123
+ injectable(),
124
+ __param(0, inject(ManifestGenerator)),
125
+ __param(1, inject(VSCodeGenerator)),
126
+ __param(2, inject(OpenAPIGenerator)),
127
+ __param(3, inject(TypesGenerator)),
128
+ __param(4, inject(ZodGenerator)),
129
+ __metadata("design:paramtypes", [ManifestGenerator,
130
+ VSCodeGenerator,
131
+ OpenAPIGenerator,
132
+ TypesGenerator,
133
+ ZodGenerator])
134
+ ], CodegenService);
135
+ export { CodegenService };
136
+ //# sourceMappingURL=codegen.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen.service.js","sourceRoot":"","sources":["../../../src/services/codegen/codegen.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Manifest Generator - Update apiVersion in all OSSA manifests
3
+ *
4
+ * Fixes 161+ .ossa.yaml files with hardcoded versions.
5
+ * Uses single source of truth: package.json version
6
+ */
7
+ import type { Generator, GenerateResult, DriftReport } from '../codegen.service.js';
8
+ export declare class ManifestGenerator implements Generator {
9
+ name: string;
10
+ private readonly patterns;
11
+ private readonly excludePatterns;
12
+ /**
13
+ * Generate: Update apiVersion in all manifests
14
+ */
15
+ generate(dryRun: boolean): Promise<GenerateResult>;
16
+ /**
17
+ * List all manifest files
18
+ */
19
+ listTargetFiles(): Promise<string[]>;
20
+ /**
21
+ * Check for version drift in manifests
22
+ */
23
+ checkDrift(version: string, apiVersion: string): Promise<DriftReport['filesWithOldVersion']>;
24
+ /**
25
+ * Update a single manifest file
26
+ */
27
+ private updateManifest;
28
+ /**
29
+ * Update YAML manifest apiVersion
30
+ */
31
+ private updateYamlManifest;
32
+ /**
33
+ * Update JSON manifest apiVersion
34
+ */
35
+ private updateJsonManifest;
36
+ /**
37
+ * Extract apiVersion from file content
38
+ */
39
+ private extractApiVersion;
40
+ }
41
+ //# sourceMappingURL=manifest.generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.generator.d.ts","sourceRoot":"","sources":["../../../../src/services/codegen/generators/manifest.generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpF,qBACa,iBAAkB,YAAW,SAAS;IACjD,IAAI,SAAe;IAEnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAIvB;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAK9B;IAEF;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IAyBxD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAe1C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAuBlG;;OAEG;YACW,cAAc;IA4B5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAgB1B"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Manifest Generator - Update apiVersion in all OSSA manifests
3
+ *
4
+ * Fixes 161+ .ossa.yaml files with hardcoded versions.
5
+ * Uses single source of truth: package.json version
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ import { injectable } from 'inversify';
14
+ import * as fs from 'fs';
15
+ import * as path from 'path';
16
+ import { glob } from 'glob';
17
+ import { getApiVersion } from '../../../utils/version.js';
18
+ let ManifestGenerator = class ManifestGenerator {
19
+ name = 'manifests';
20
+ patterns = [
21
+ '**/*.ossa.yaml',
22
+ '**/*.ossa.yml',
23
+ '**/*.ossa.json',
24
+ ];
25
+ excludePatterns = [
26
+ 'node_modules/**',
27
+ 'dist/**',
28
+ '.git/**',
29
+ '**/*.template.*',
30
+ ];
31
+ /**
32
+ * Generate: Update apiVersion in all manifests
33
+ */
34
+ async generate(dryRun) {
35
+ const result = {
36
+ generator: this.name,
37
+ filesUpdated: 0,
38
+ filesCreated: 0,
39
+ errors: [],
40
+ };
41
+ const files = await this.listTargetFiles();
42
+ const targetApiVersion = getApiVersion();
43
+ for (const file of files) {
44
+ try {
45
+ const updated = await this.updateManifest(file, targetApiVersion, dryRun);
46
+ if (updated) {
47
+ result.filesUpdated++;
48
+ }
49
+ }
50
+ catch (error) {
51
+ result.errors.push(`${file}: ${error instanceof Error ? error.message : String(error)}`);
52
+ }
53
+ }
54
+ return result;
55
+ }
56
+ /**
57
+ * List all manifest files
58
+ */
59
+ async listTargetFiles() {
60
+ const allFiles = [];
61
+ for (const pattern of this.patterns) {
62
+ const files = await glob(pattern, {
63
+ ignore: this.excludePatterns,
64
+ cwd: process.cwd(),
65
+ absolute: true,
66
+ });
67
+ allFiles.push(...files);
68
+ }
69
+ return [...new Set(allFiles)].sort();
70
+ }
71
+ /**
72
+ * Check for version drift in manifests
73
+ */
74
+ async checkDrift(version, apiVersion) {
75
+ const drift = [];
76
+ const files = await this.listTargetFiles();
77
+ for (const file of files) {
78
+ try {
79
+ const content = fs.readFileSync(file, 'utf8');
80
+ const foundVersion = this.extractApiVersion(content, file);
81
+ if (foundVersion && foundVersion !== apiVersion) {
82
+ drift.push({
83
+ path: path.relative(process.cwd(), file),
84
+ foundVersion,
85
+ });
86
+ }
87
+ }
88
+ catch {
89
+ // Skip files that can't be read
90
+ }
91
+ }
92
+ return drift;
93
+ }
94
+ /**
95
+ * Update a single manifest file
96
+ */
97
+ async updateManifest(filePath, targetApiVersion, dryRun) {
98
+ const content = fs.readFileSync(filePath, 'utf8');
99
+ const ext = path.extname(filePath).toLowerCase();
100
+ let updated;
101
+ let changed = false;
102
+ if (ext === '.json') {
103
+ const result = this.updateJsonManifest(content, targetApiVersion);
104
+ updated = result.content;
105
+ changed = result.changed;
106
+ }
107
+ else {
108
+ const result = this.updateYamlManifest(content, targetApiVersion);
109
+ updated = result.content;
110
+ changed = result.changed;
111
+ }
112
+ if (changed && !dryRun) {
113
+ fs.writeFileSync(filePath, updated, 'utf8');
114
+ }
115
+ return changed;
116
+ }
117
+ /**
118
+ * Update YAML manifest apiVersion
119
+ */
120
+ updateYamlManifest(content, targetApiVersion) {
121
+ // Use regex to preserve formatting and comments
122
+ const apiVersionRegex = /^(apiVersion:\s*)ossa\/v[\d.]+(-\w+)?/m;
123
+ const match = content.match(apiVersionRegex);
124
+ if (!match) {
125
+ return { content, changed: false };
126
+ }
127
+ const currentVersion = match[0];
128
+ const targetValue = `apiVersion: ${targetApiVersion}`;
129
+ if (currentVersion === targetValue) {
130
+ return { content, changed: false };
131
+ }
132
+ const updated = content.replace(apiVersionRegex, targetValue);
133
+ return { content: updated, changed: true };
134
+ }
135
+ /**
136
+ * Update JSON manifest apiVersion
137
+ */
138
+ updateJsonManifest(content, targetApiVersion) {
139
+ try {
140
+ const json = JSON.parse(content);
141
+ if (!json.apiVersion) {
142
+ return { content, changed: false };
143
+ }
144
+ if (json.apiVersion === targetApiVersion) {
145
+ return { content, changed: false };
146
+ }
147
+ json.apiVersion = targetApiVersion;
148
+ const updated = JSON.stringify(json, null, 2) + '\n';
149
+ return { content: updated, changed: true };
150
+ }
151
+ catch {
152
+ return { content, changed: false };
153
+ }
154
+ }
155
+ /**
156
+ * Extract apiVersion from file content
157
+ */
158
+ extractApiVersion(content, filePath) {
159
+ const ext = path.extname(filePath).toLowerCase();
160
+ if (ext === '.json') {
161
+ try {
162
+ const json = JSON.parse(content);
163
+ return json.apiVersion || null;
164
+ }
165
+ catch {
166
+ return null;
167
+ }
168
+ }
169
+ // YAML - extract with regex to handle various formats
170
+ const match = content.match(/apiVersion:\s*(ossa\/v[\d.]+(-\w+)?|v[\d.]+)/);
171
+ return match ? match[1] : null;
172
+ }
173
+ };
174
+ ManifestGenerator = __decorate([
175
+ injectable()
176
+ ], ManifestGenerator);
177
+ export { ManifestGenerator };
178
+ //# sourceMappingURL=manifest.generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.generator.js","sourceRoot":"","sources":["../../../../src/services/codegen/generators/manifest.generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * OpenAPI Generator - Sync versions in OpenAPI specs
3
+ *
4
+ * Updates:
5
+ * - info.version in all openapi/*.yaml files
6
+ * - Schema URLs to use correct domain
7
+ *
8
+ * Domain Configuration:
9
+ * - OSSA_DOMAIN env var (default: openstandardagents.org)
10
+ * - Local dev: ossa.orb.local
11
+ */
12
+ import type { Generator, GenerateResult, DriftReport } from '../codegen.service.js';
13
+ export declare class OpenAPIGenerator implements Generator {
14
+ name: string;
15
+ private readonly patterns;
16
+ private readonly excludePatterns;
17
+ /**
18
+ * Generate: Update versions in OpenAPI specs
19
+ */
20
+ generate(dryRun: boolean): Promise<GenerateResult>;
21
+ /**
22
+ * List target files
23
+ */
24
+ listTargetFiles(): Promise<string[]>;
25
+ /**
26
+ * Check for version drift
27
+ */
28
+ checkDrift(version: string, apiVersion: string): Promise<DriftReport['filesWithOldVersion']>;
29
+ /**
30
+ * Update a single OpenAPI spec
31
+ */
32
+ private updateOpenAPISpec;
33
+ /**
34
+ * Get configured domain
35
+ */
36
+ private getDomain;
37
+ /**
38
+ * Find old OSSA version patterns (not API versions)
39
+ *
40
+ * Note: OpenAPI specs have their own info.version (e.g., 1.2.0)
41
+ * which is the API version, NOT the OSSA schema version.
42
+ * We only check for ossa/vX.X.X patterns.
43
+ */
44
+ private findOldVersions;
45
+ }
46
+ //# sourceMappingURL=openapi.generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.generator.d.ts","sourceRoot":"","sources":["../../../../src/services/codegen/generators/openapi.generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOpF,qBACa,gBAAiB,YAAW,SAAS;IAChD,IAAI,SAAa;IAEjB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6C;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAElE;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA0BxD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAe1C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAuBlG;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;IACH,OAAO,CAAC,SAAS;IAQjB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAuBxB"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * OpenAPI Generator - Sync versions in OpenAPI specs
3
+ *
4
+ * Updates:
5
+ * - info.version in all openapi/*.yaml files
6
+ * - Schema URLs to use correct domain
7
+ *
8
+ * Domain Configuration:
9
+ * - OSSA_DOMAIN env var (default: openstandardagents.org)
10
+ * - Local dev: ossa.orb.local
11
+ */
12
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17
+ };
18
+ import { injectable } from 'inversify';
19
+ import * as fs from 'fs';
20
+ import * as path from 'path';
21
+ import { glob } from 'glob';
22
+ import { getVersion, getApiVersion } from '../../../utils/version.js';
23
+ // Domain configuration
24
+ const OSSA_DOMAIN = process.env.OSSA_DOMAIN || 'openstandardagents.org';
25
+ const OSSA_LOCAL_DOMAIN = 'ossa.orb.local';
26
+ let OpenAPIGenerator = class OpenAPIGenerator {
27
+ name = 'openapi';
28
+ patterns = ['openapi/**/*.yaml', 'openapi/**/*.yml'];
29
+ excludePatterns = ['node_modules/**', 'dist/**'];
30
+ /**
31
+ * Generate: Update versions in OpenAPI specs
32
+ */
33
+ async generate(dryRun) {
34
+ const result = {
35
+ generator: this.name,
36
+ filesUpdated: 0,
37
+ filesCreated: 0,
38
+ errors: [],
39
+ };
40
+ const files = await this.listTargetFiles();
41
+ const version = getVersion();
42
+ const apiVersion = getApiVersion();
43
+ for (const file of files) {
44
+ try {
45
+ const updated = await this.updateOpenAPISpec(file, version, apiVersion, dryRun);
46
+ if (updated) {
47
+ result.filesUpdated++;
48
+ }
49
+ }
50
+ catch (error) {
51
+ result.errors.push(`${file}: ${error instanceof Error ? error.message : String(error)}`);
52
+ }
53
+ }
54
+ return result;
55
+ }
56
+ /**
57
+ * List target files
58
+ */
59
+ async listTargetFiles() {
60
+ const allFiles = [];
61
+ for (const pattern of this.patterns) {
62
+ const files = await glob(pattern, {
63
+ ignore: this.excludePatterns,
64
+ cwd: process.cwd(),
65
+ absolute: true,
66
+ });
67
+ allFiles.push(...files);
68
+ }
69
+ return [...new Set(allFiles)].sort();
70
+ }
71
+ /**
72
+ * Check for version drift
73
+ */
74
+ async checkDrift(version, apiVersion) {
75
+ const drift = [];
76
+ const files = await this.listTargetFiles();
77
+ for (const file of files) {
78
+ try {
79
+ const content = fs.readFileSync(file, 'utf8');
80
+ const oldVersions = this.findOldVersions(content, version);
81
+ if (oldVersions.length > 0) {
82
+ drift.push({
83
+ path: path.relative(process.cwd(), file),
84
+ foundVersion: oldVersions[0],
85
+ });
86
+ }
87
+ }
88
+ catch {
89
+ // Skip
90
+ }
91
+ }
92
+ return drift;
93
+ }
94
+ /**
95
+ * Update a single OpenAPI spec
96
+ */
97
+ async updateOpenAPISpec(filePath, version, apiVersion, dryRun) {
98
+ const content = fs.readFileSync(filePath, 'utf8');
99
+ let updated = content;
100
+ // Update info.version
101
+ updated = updated.replace(/(info:\s*\n(?:[^\n]*\n)*?\s*version:\s*)(['"]?)[\d.]+(-[\w.]+)?(['"]?)/m, `$1$2${version}$4`);
102
+ // Update ossa/vX.X.X patterns
103
+ updated = updated.replace(/ossa\/v\d+\.\d+\.\d+/g, apiVersion);
104
+ // Update schema URLs - use configured domain
105
+ const domain = this.getDomain();
106
+ updated = updated.replace(/https?:\/\/[a-z.-]+\/schemas\/v[\d.]+/g, `https://${domain}/schemas/v${version}`);
107
+ if (updated === content) {
108
+ return false;
109
+ }
110
+ if (!dryRun) {
111
+ fs.writeFileSync(filePath, updated, 'utf8');
112
+ }
113
+ return true;
114
+ }
115
+ /**
116
+ * Get configured domain
117
+ */
118
+ getDomain() {
119
+ // Allow override via environment
120
+ if (process.env.OSSA_LOCAL === 'true') {
121
+ return OSSA_LOCAL_DOMAIN;
122
+ }
123
+ return OSSA_DOMAIN;
124
+ }
125
+ /**
126
+ * Find old OSSA version patterns (not API versions)
127
+ *
128
+ * Note: OpenAPI specs have their own info.version (e.g., 1.2.0)
129
+ * which is the API version, NOT the OSSA schema version.
130
+ * We only check for ossa/vX.X.X patterns.
131
+ */
132
+ findOldVersions(content, currentVersion) {
133
+ const versions = [];
134
+ const apiVersion = `ossa/v${currentVersion}`;
135
+ // Only find ossa/vX.X.X patterns (OSSA schema version)
136
+ const ossaVersionMatches = content.matchAll(/ossa\/v(\d+\.\d+\.\d+)/g);
137
+ for (const match of ossaVersionMatches) {
138
+ const foundVersion = `ossa/v${match[1]}`;
139
+ if (foundVersion !== apiVersion) {
140
+ versions.push(foundVersion);
141
+ }
142
+ }
143
+ // Find schema URL versions
144
+ const schemaUrlMatches = content.matchAll(/schemas\/v(\d+\.\d+\.\d+)/g);
145
+ for (const match of schemaUrlMatches) {
146
+ if (match[1] !== currentVersion) {
147
+ versions.push(`schemas/v${match[1]}`);
148
+ }
149
+ }
150
+ return [...new Set(versions)];
151
+ }
152
+ };
153
+ OpenAPIGenerator = __decorate([
154
+ injectable()
155
+ ], OpenAPIGenerator);
156
+ export { OpenAPIGenerator };
157
+ //# sourceMappingURL=openapi.generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.generator.js","sourceRoot":"","sources":["../../../../src/services/codegen/generators/openapi.generator.ts"],"names":[],"mappings":"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"}