@bluefly/openstandardagents 0.2.4 → 0.2.5-RC

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 (355) hide show
  1. package/.cursorrules +84 -0
  2. package/.devfile.yaml +87 -0
  3. package/.env.example +25 -3
  4. package/.github/workflows/release.yml +1 -1
  5. package/.kiro/specs/agent-buildkit-templates/design.md +495 -0
  6. package/.kiro/specs/agent-buildkit-templates/requirements.md +165 -0
  7. package/.kiro/specs/kiro-ide-supercharger/README.md +202 -0
  8. package/.kiro/specs/kiro-ide-supercharger/design.md +1005 -0
  9. package/.kiro/specs/kiro-ide-supercharger/requirements.md +141 -0
  10. package/.kiro/specs/kiro-ide-supercharger/tasks.md +507 -0
  11. package/.kiro/specs/website-design-audit/design.md +679 -0
  12. package/.kiro/specs/website-design-audit/requirements.md +199 -0
  13. package/.releaserc.json +5 -4
  14. package/.version.json +6 -0
  15. package/CHANGELOG.md +140 -96
  16. package/CONTRIBUTING.md +23 -5
  17. package/README.md +121 -43
  18. package/bin/ossa +24 -3
  19. package/bin/ossa-validate-all +55 -0
  20. package/bin/ossa-version +23 -0
  21. package/bin/validate-ossa-0.2.4.ts +244 -0
  22. package/bin/validate-ossa-0.2.5-RC.ts +244 -0
  23. package/bin/validate-ossa.ts +273 -0
  24. package/dist/di-container.d.ts +1 -1
  25. package/dist/di-container.d.ts.map +1 -1
  26. package/dist/di-container.js.map +1 -1
  27. package/dist/repositories/schema.repository.d.ts +17 -2
  28. package/dist/repositories/schema.repository.d.ts.map +1 -1
  29. package/dist/repositories/schema.repository.js +96 -18
  30. package/dist/repositories/schema.repository.js.map +1 -1
  31. package/dist/services/generation.service.d.ts +7 -5
  32. package/dist/services/generation.service.d.ts.map +1 -1
  33. package/dist/services/generation.service.js +92 -44
  34. package/dist/services/generation.service.js.map +1 -1
  35. package/dist/services/gitlab-agent.service.d.ts +94 -0
  36. package/dist/services/gitlab-agent.service.d.ts.map +1 -0
  37. package/dist/services/gitlab-agent.service.js +162 -0
  38. package/dist/services/gitlab-agent.service.js.map +1 -0
  39. package/dist/services/migration.service.d.ts +3 -3
  40. package/dist/services/migration.service.d.ts.map +1 -1
  41. package/dist/services/migration.service.js +108 -61
  42. package/dist/services/migration.service.js.map +1 -1
  43. package/dist/services/release-automation/base-crud.service.d.ts +93 -0
  44. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
  45. package/dist/services/release-automation/base-crud.service.js +68 -0
  46. package/dist/services/release-automation/base-crud.service.js.map +1 -0
  47. package/dist/services/release-automation/index.d.ts +12 -0
  48. package/dist/services/release-automation/index.d.ts.map +1 -0
  49. package/dist/services/release-automation/index.js +12 -0
  50. package/dist/services/release-automation/index.js.map +1 -0
  51. package/dist/services/release-automation/merge-request.service.d.ts +119 -0
  52. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
  53. package/dist/services/release-automation/merge-request.service.js +212 -0
  54. package/dist/services/release-automation/merge-request.service.js.map +1 -0
  55. package/dist/services/release-automation/milestone.service.d.ts +104 -0
  56. package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
  57. package/dist/services/release-automation/milestone.service.js +207 -0
  58. package/dist/services/release-automation/milestone.service.js.map +1 -0
  59. package/dist/services/release-automation/release.service.d.ts +118 -0
  60. package/dist/services/release-automation/release.service.d.ts.map +1 -0
  61. package/dist/services/release-automation/release.service.js +207 -0
  62. package/dist/services/release-automation/release.service.js.map +1 -0
  63. package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
  64. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
  65. package/dist/services/release-automation/schemas/release.schema.js +269 -0
  66. package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
  67. package/dist/services/release-automation/tag.service.d.ts +99 -0
  68. package/dist/services/release-automation/tag.service.d.ts.map +1 -0
  69. package/dist/services/release-automation/tag.service.js +180 -0
  70. package/dist/services/release-automation/tag.service.js.map +1 -0
  71. package/dist/services/release-automation/webhook.service.d.ts +37 -0
  72. package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
  73. package/dist/services/release-automation/webhook.service.js +173 -0
  74. package/dist/services/release-automation/webhook.service.js.map +1 -0
  75. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  76. package/dist/services/runtime/openai.adapter.js.map +1 -1
  77. package/dist/services/validation.service.d.ts.map +1 -1
  78. package/dist/services/validation.service.js +24 -11
  79. package/dist/services/validation.service.js.map +1 -1
  80. package/dist/services/validators/anthropic.validator.d.ts +2 -2
  81. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  82. package/dist/services/validators/anthropic.validator.js +14 -9
  83. package/dist/services/validators/anthropic.validator.js.map +1 -1
  84. package/dist/services/validators/autogen.validator.d.ts +2 -2
  85. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  86. package/dist/services/validators/autogen.validator.js +18 -15
  87. package/dist/services/validators/autogen.validator.js.map +1 -1
  88. package/dist/services/validators/crewai.validator.d.ts +2 -2
  89. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  90. package/dist/services/validators/crewai.validator.js +18 -17
  91. package/dist/services/validators/crewai.validator.js.map +1 -1
  92. package/dist/services/validators/cursor.validator.d.ts +2 -2
  93. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  94. package/dist/services/validators/cursor.validator.js +15 -11
  95. package/dist/services/validators/cursor.validator.js.map +1 -1
  96. package/dist/services/validators/langchain.validator.d.ts +2 -2
  97. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  98. package/dist/services/validators/langchain.validator.js +14 -11
  99. package/dist/services/validators/langchain.validator.js.map +1 -1
  100. package/dist/services/validators/langflow.validator.d.ts +2 -2
  101. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  102. package/dist/services/validators/langflow.validator.js +14 -9
  103. package/dist/services/validators/langflow.validator.js.map +1 -1
  104. package/dist/services/validators/langgraph.validator.d.ts +2 -2
  105. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  106. package/dist/services/validators/langgraph.validator.js +23 -18
  107. package/dist/services/validators/langgraph.validator.js.map +1 -1
  108. package/dist/services/validators/llamaindex.validator.d.ts +2 -2
  109. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  110. package/dist/services/validators/llamaindex.validator.js +19 -16
  111. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  112. package/dist/services/validators/openai.validator.d.ts +2 -2
  113. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  114. package/dist/services/validators/openai.validator.js +20 -16
  115. package/dist/services/validators/openai.validator.js.map +1 -1
  116. package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
  117. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  118. package/dist/services/validators/vercel-ai.validator.js +16 -15
  119. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  120. package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  121. package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  122. package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
  123. package/dist/spec/v0.2.3/README.md +9 -9
  124. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  125. package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
  126. package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  127. package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
  128. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
  129. package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
  130. package/dist/spec/v0.2.5/README.md +72 -0
  131. package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  132. package/dist/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
  133. package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  134. package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  135. package/dist/spec/v0.2.5-RC/README.md +72 -0
  136. package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  137. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  138. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  139. package/dist/types/index.d.ts +6 -1
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/docs/issue-19-completion-summary.md +648 -0
  142. package/docs/issue-19-validation.md +351 -0
  143. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  144. package/examples/autogen/multi-agent.ossa.json +1 -1
  145. package/examples/bridges/Dockerfile.production +1 -1
  146. package/examples/crewai/research-team.ossa.json +1 -1
  147. package/examples/cursor/code-review-agent.ossa.json +1 -1
  148. package/examples/enterprise/agent.yml +1 -1
  149. package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
  150. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  151. package/examples/langchain/chain-agent.ossa.json +1 -1
  152. package/examples/langflow/workflow-agent.ossa.json +1 -1
  153. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  154. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  155. package/examples/openai/basic-agent.ossa.yaml +61 -0
  156. package/examples/openai/multi-tool-agent.ossa.json +165 -0
  157. package/examples/openai/swarm-agent.ossa.json +1 -1
  158. package/examples/openapi-extensions/README.md +1 -1
  159. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  160. package/examples/vercel/edge-agent.ossa.json +1 -1
  161. package/infrastructure/gitlab-agent/rbac.yaml +126 -0
  162. package/infrastructure/gitlab-agent/values.yaml +150 -0
  163. package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
  164. package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
  165. package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
  166. package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
  167. package/infrastructure/k8s/monitoring/README.md +73 -0
  168. package/infrastructure/k8s/monitoring/deploy.sh +38 -0
  169. package/openapi/CHANGELOG.md +21 -0
  170. package/openapi/README.md +46 -0
  171. package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
  172. package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
  173. package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
  174. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
  175. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
  176. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
  177. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
  178. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
  179. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
  180. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
  181. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
  182. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
  183. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
  184. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
  185. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
  186. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
  187. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
  188. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
  189. package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
  190. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
  191. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
  192. package/package.json +31 -21
  193. package/release.config.js +20 -5
  194. package/scripts/bump-version.ts +57 -0
  195. package/scripts/enhanced-version-manager.ts +257 -0
  196. package/scripts/gen-types.ts +51 -0
  197. package/scripts/gen-zod.ts +51 -0
  198. package/scripts/lib/exec.ts +37 -0
  199. package/scripts/lib/file-ops.ts +58 -0
  200. package/scripts/lib/version.ts +83 -0
  201. package/scripts/process-doc-templates.ts +37 -0
  202. package/scripts/schemas/package.schema.ts +75 -0
  203. package/scripts/setup-branch-protection.sh +33 -0
  204. package/scripts/sync-version.ts +39 -0
  205. package/scripts/sync-versions.ts +488 -0
  206. package/scripts/validate-schema.ts +49 -0
  207. package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  208. package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  209. package/spec/v0.2.3/CHANGELOG.md +7 -7
  210. package/spec/v0.2.3/README.md +9 -9
  211. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  212. package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
  213. package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
  214. package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
  215. package/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
  216. package/spec/v0.2.5/CHANGELOG.md +401 -0
  217. package/spec/v0.2.5/README.md +72 -0
  218. package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  219. package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
  220. package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  221. package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  222. package/spec/v0.2.5-RC/README.md +72 -0
  223. package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
  224. package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  225. package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  226. package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
  227. package/website/Dockerfile +18 -5
  228. package/website/app/about/page.tsx +7 -7
  229. package/website/app/blog/[slug]/page.tsx +61 -20
  230. package/website/app/blog/page.tsx +120 -33
  231. package/website/app/design-guide/page.tsx +511 -0
  232. package/website/app/docs/[[...slug]]/page.tsx +641 -143
  233. package/website/app/examples/page.tsx +51 -41
  234. package/website/app/{globals.css → globals.scss} +50 -23
  235. package/website/app/layout.tsx +2 -2
  236. package/website/app/license/page.tsx +183 -0
  237. package/website/app/not-found.tsx +18 -0
  238. package/website/app/page.tsx +144 -79
  239. package/website/app/playground/page.tsx +25 -45
  240. package/website/app/schema/page.tsx +423 -392
  241. package/website/app/specification/page.tsx +245 -169
  242. package/website/components/Logo.tsx +75 -2
  243. package/website/components/docs/DocsSidebar.tsx +40 -3
  244. package/website/components/docs/MarkdownContent.tsx +265 -47
  245. package/website/components/docs/VersionSelector.tsx +64 -8
  246. package/website/components/examples/ExamplesViewer.tsx +2 -2
  247. package/website/components/layout/Footer.tsx +6 -1
  248. package/website/components/layout/Header.tsx +31 -33
  249. package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
  250. package/website/components/schema/SchemaExplorer.tsx +4 -4
  251. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
  252. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
  253. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
  254. package/website/content/blog/introducing-ossa-framework.md +1 -1
  255. package/website/content/blog/ossa-production-results.md +5 -5
  256. package/website/content/blog/welcome-to-ossa.md +2 -2
  257. package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
  258. package/website/content/docs/00-HOME.md +18 -25
  259. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +8 -8
  260. package/website/content/docs/OpenAPI-Extensions.md +576 -140
  261. package/website/content/docs/adapters/openai-adapter.md +693 -0
  262. package/website/content/docs/architecture/execution-flow.md +3 -3
  263. package/website/content/docs/architecture/multi-agent-systems.md +4 -4
  264. package/website/content/docs/architecture/overview.md +4 -4
  265. package/website/content/docs/architecture/stack-integration.md +4 -4
  266. package/website/content/docs/changelog.md +4 -4
  267. package/website/content/docs/contributing.md +2 -2
  268. package/website/content/docs/ecosystem/framework-support.md +0 -2
  269. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  270. package/website/content/docs/examples/Migration-Guides.md +2 -2
  271. package/website/content/docs/for-audiences/{architects.md → Architects.md} +1 -1
  272. package/website/content/docs/for-audiences/{developers.md → Developers.md} +3 -3
  273. package/website/content/docs/for-audiences/Enterprises.md +2 -2
  274. package/website/content/docs/for-audiences/Students-Researchers.md +1 -1
  275. package/website/content/docs/getting-started/{5-minute-overview.md → 5-Minute-Overview.md} +2 -2
  276. package/website/content/docs/getting-started/{first-agent.md → First-Agent.md} +1 -1
  277. package/website/content/docs/getting-started/Hello-World.md +3 -3
  278. package/website/content/docs/getting-started/{installation.md → Installation.md} +7 -7
  279. package/website/content/docs/getting-started/index.md +92 -0
  280. package/website/content/docs/getting-started/running-agents.md +215 -13
  281. package/{docs → website/content/docs}/getting-started.md +10 -6
  282. package/website/content/docs/integrations/aiflow.md +2 -2
  283. package/website/content/docs/integrations/drupal.md +2 -2
  284. package/website/content/docs/migration-guides/README.md +1 -1
  285. package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
  286. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
  287. package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
  288. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
  289. package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
  290. package/website/content/docs/migration-guides/index.md +1 -1
  291. package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
  292. package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
  293. package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
  294. package/website/content/docs/openapi-extensions/examples.md +9 -9
  295. package/website/content/docs/openapi-extensions/index.md +59 -3
  296. package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
  297. package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
  298. package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
  299. package/website/content/docs/pre-release/index.md +10 -10
  300. package/website/content/docs/readme.md +35 -0
  301. package/website/content/docs/schema-reference/agent-spec.md +2 -2
  302. package/website/content/docs/schema-reference/autonomy.md +5 -5
  303. package/website/content/docs/schema-reference/constraints.md +5 -5
  304. package/website/content/docs/schema-reference/llm-config.md +1 -1
  305. package/website/content/docs/schema-reference/observability.md +5 -5
  306. package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
  307. package/website/content/docs/schema-reference/taxonomy.md +3 -3
  308. package/website/content/docs/use-cases/00-index.md +1 -1
  309. package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
  310. package/website/lib/version.ts +18 -1
  311. package/website/lib/versions.json +78 -0
  312. package/website/next.config.ts +3 -1
  313. package/website/package-lock.json +552 -18
  314. package/website/package.json +11 -5
  315. package/website/postcss.config.mjs +1 -1
  316. package/website/scripts/fetch-versions.js +166 -0
  317. package/website/scripts/generate-examples-index.js +163 -0
  318. package/website/scripts/merge-docs-to-wiki.ts +207 -0
  319. package/website/scripts/sync-version.js +28 -0
  320. package/website/scripts/sync-wiki.ts +64 -3
  321. package/website/scripts/upload-wiki.ts +199 -0
  322. package/website/styles/_variables.scss +36 -0
  323. package/website/tailwind.config.ts +93 -22
  324. package/.releaserc.json.disabled +0 -81
  325. package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  326. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  327. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  328. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  329. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  330. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  331. package/docs/README.md +0 -31
  332. package/docs/agent-openapi-spec.yml +0 -942
  333. package/docs/openapi-extensions.md +0 -930
  334. package/docs/schemas/openapi-extensions.schema.json +0 -486
  335. package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
  336. package/ossa-website-swarm-tasks.json +0 -105
  337. package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  338. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  339. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  340. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  341. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  342. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  343. package/website/app/api/validate/route.ts +0 -88
  344. package/website/next.config.js +0 -17
  345. package/website/postcss.config.js +0 -7
  346. package/website/tailwind.config.js +0 -58
  347. /package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
  348. /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
  349. /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
  350. /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
  351. /package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
  352. /package/website/content/docs/{examples.md → Examples.md} +0 -0
  353. /package/website/content/docs/core-concepts/{project-structure.md → Project-Structure.md} +0 -0
  354. /package/website/content/docs/migration-guides/{00-index.md → 00-INDEX.md} +0 -0
  355. /package/{docs/migration → website/content/docs/migration-guides}/migration-manifest.json +0 -0
package/README.md CHANGED
@@ -3,10 +3,10 @@
3
3
  **The OpenAPI for AI Agents**
4
4
 
5
5
  [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
6
- [![npm version](https://img.shields.io/badge/npm-v0.2.3-blue.svg)](https://www.npmjs.com/package/@bluefly/open-standards-scalable-agents)
7
- [![GitLab](https://img.shields.io/badge/GitLab-OSSA-orange.svg)](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)
8
- [![GitHub](https://img.shields.io/badge/GitHub-OSSA-black.svg)](https://github.com/BlueflyCollective/OSSA)
9
- [![OSSA Compliant](https://img.shields.io/badge/OSSA-Compliant-00B8D4.svg)](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)
6
+ [![npm version](https://img.shields.io/npm/v/@bluefly/openstandardagents)](https://www.npmjs.com/package/@bluefly/openstandardagents)
7
+ [![GitLab](https://img.shields.io/badge/GitLab-OSSA-orange.svg)](https://github.com/blueflyio/openstandardagents)
8
+ [![GitHub](https://img.shields.io/badge/GitHub-OSSA-black.svg)](https://github.com/blueflyio/openstandardagents)
9
+ [![OSSA Compliant](https://img.shields.io/badge/OSSA-Compliant-00B8D4.svg)](https://github.com/blueflyio/openstandardagents)
10
10
 
11
11
  ---
12
12
 
@@ -19,10 +19,10 @@ Just as OpenAPI standardized REST APIs, OSSA standardizes AI agent interaction,
19
19
  **OSSA is NOT a framework** - it's a standard that defines the contract. Implementations provide the functionality.
20
20
 
21
21
  **Key Qualities:**
22
- - **Vendor-Neutral** - Community-driven, not controlled by any single company
23
- - **Interoperable** - Common language enabling diverse AI agents to work together
24
- - **Trustworthy** - Built with compliance and security in mind
25
- - **Open** - Collaborative effort for the "Internet of Agents"
22
+ - **Vendor-Neutral** - Community-driven, not controlled by any single company
23
+ - **Interoperable** - Common language enabling diverse AI agents to work together
24
+ - **Trustworthy** - Built with compliance and security in mind
25
+ - **Open** - Collaborative effort for the "Internet of Agents"
26
26
 
27
27
  | Component | Role | Comparable To |
28
28
  |-----------|------|---------------|
@@ -47,7 +47,7 @@ Just as OpenAPI standardized REST APIs, OSSA standardizes AI agent interaction,
47
47
  ### Installation
48
48
 
49
49
  ```bash
50
- npm install -g @bluefly/open-standards-scalable-agents
50
+ npm install -g @bluefly/openstandardagents
51
51
  ```
52
52
 
53
53
  ### Create Agent
@@ -63,6 +63,22 @@ ossa generate worker --name "My Agent" --id my-agent
63
63
  ossa validate agent.yml
64
64
  ```
65
65
 
66
+ ### Run Your Agent
67
+
68
+ ```bash
69
+ # Set your API key
70
+ export OPENAI_API_KEY=sk-your-key-here
71
+
72
+ # Run interactively
73
+ ossa run agent.ossa.yaml
74
+
75
+ # Or send a single message
76
+ ossa run agent.ossa.yaml -m "Hello, how can you help me?"
77
+
78
+ # With verbose output
79
+ ossa run agent.ossa.yaml -v
80
+ ```
81
+
66
82
  ### Deploy
67
83
 
68
84
  Deploy to **YOUR** infrastructure:
@@ -82,32 +98,65 @@ The OSSA CLI provides basic tooling:
82
98
  ```bash
83
99
  ossa validate <path> # Validate against OSSA schema
84
100
  ossa generate <type> # Generate agent from template (chat, workflow, compliance, etc.)
85
- ossa migrate <source> # Migrate v0.1.9 v0.2.2
101
+ ossa migrate <source> # Migrate between OSSA versions
102
+ ossa run <path> # Run agents with OpenAI adapter
86
103
  ```
87
104
 
88
105
  **What OSSA CLI does:**
89
- - Validate agent manifests
90
- - Generate project scaffolding
91
- - Provide templates
106
+ - Validate agent manifests
107
+ - Generate project scaffolding
108
+ - Provide templates
109
+ - Run agents interactively (OpenAI adapter)
92
110
 
93
111
  **What OSSA CLI does NOT do:**
94
- - Runtime orchestration
95
- - Deployment
96
- - Production monitoring
97
- - Infrastructure management
112
+ - Runtime orchestration
113
+ - Deployment
114
+ - Production monitoring
115
+ - Infrastructure management
116
+
117
+ For production features, see [Agent Buildkit](https://github.com/blueflyio/agent-buildkit).
118
+
119
+ ### Running Agents
120
+
121
+ The `ossa run` command allows you to execute agents using the OpenAI adapter:
122
+
123
+ ```bash
124
+ # Interactive mode (REPL)
125
+ ossa run my-agent.ossa.yaml
126
+
127
+ # Single message mode
128
+ ossa run my-agent.ossa.yaml -m "What is the weather today?"
129
+
130
+ # Verbose output (show tool calls)
131
+ ossa run my-agent.ossa.yaml -v
132
+
133
+ # Custom options
134
+ ossa run my-agent.ossa.yaml --max-turns 20 --no-validate
135
+ ```
136
+
137
+ **Features:**
138
+ - Interactive REPL mode for conversations
139
+ - Single message mode for quick queries
140
+ - Tool execution with custom handlers
141
+ - Verbose mode for debugging
142
+ - Configurable max turns to prevent loops
98
143
 
99
- For production features, see [Agent Buildkit](https://gitlab.bluefly.io/llm/npm/agent-buildkit).
144
+ **Requirements:**
145
+ - OpenAI API key: `export OPENAI_API_KEY=sk-...`
146
+ - Valid OSSA manifest (YAML or JSON)
147
+
148
+ See [Running Agents Guide](https://openstandardagents.org/docs/getting-started/running-agents) for more details.
100
149
 
101
150
  ---
102
151
 
103
152
  ## Specification
104
153
 
105
- OSSA v0.2.3 Schema: [`spec/v0.2.2/ossa-0.2.2.schema.json`](spec/v0.2.2/ossa-0.2.2.schema.json)
154
+ OSSA v0.2.5-RC Schema: [`spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json`](spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json)
106
155
 
107
156
  ### Required Fields
108
157
 
109
158
  ```yaml
110
- ossaVersion: "0.2.3"
159
+ ossaVersion: "0.2.5-RC"
111
160
 
112
161
  agent:
113
162
  id: my-agent # DNS-1123 format
@@ -129,6 +178,38 @@ Full schema documentation: [`docs/specification/`](docs/specification/)
129
178
 
130
179
  ---
131
180
 
181
+ ## Production-Ready Example: GitLab Kubernetes Agent Ecosystem
182
+
183
+ **NEW**: Complete production ecosystem with **8 specialized agents** for GitLab-integrated Kubernetes deployments.
184
+
185
+ [**View Full Documentation**](https://github.com/blueflyio/openstandardagents/wiki/OSSA-Agent-Ecosystem-for-GitLab-Kubernetes-Deployments)
186
+
187
+ ### Highlights
188
+
189
+ - **8 OSSA-compliant agents**: Security, Performance, Database, Config, Monitoring, Rollback, Cost, Compliance
190
+ - **Agent mesh** with Istio + STRICT mTLS
191
+ - **Elite DORA metrics**: 12 deployments/day, 45min lead time, 8.5% change failure rate
192
+ - **Massive ROI**: $80-145K/month cost savings (31-57x return)
193
+ - **Full compliance**: SOC2, HIPAA, PCI-DSS, GDPR, FedRAMP
194
+
195
+ ### Quick Deploy
196
+
197
+ ```bash
198
+ # Deploy agent mesh
199
+ kubectl apply -f .gitlab/agents/mesh-config.yaml
200
+
201
+ # Deploy all 8 agents
202
+ for agent in security-scanner performance-optimizer db-migrator \
203
+ config-validator monitoring-agent rollback-coordinator \
204
+ cost-analyzer compliance-auditor; do
205
+ buildkit agents deploy .gitlab/agents/$agent/manifest.ossa.yaml
206
+ done
207
+ ```
208
+
209
+ **Location**: [`.gitlab/agents/`](.gitlab/agents/)
210
+
211
+ ---
212
+
132
213
  ## Examples
133
214
 
134
215
  Reference implementations: [`examples/`](examples/)
@@ -136,6 +217,7 @@ Reference implementations: [`examples/`](examples/)
136
217
  - `compliance-agent.yml` - FedRAMP compliance
137
218
  - `chat-agent.yml` - Conversation agent
138
219
  - `workflow-agent.yml` - Workflow orchestration
220
+ - **GitLab K8s Ecosystem** - Production-ready multi-agent system (see above)
139
221
 
140
222
  ---
141
223
 
@@ -154,14 +236,12 @@ Reference implementations: [`examples/`](examples/)
154
236
  - GitLab integration
155
237
  - Kubernetes deployment
156
238
  - Production monitoring
157
- - [Learn more →](https://gitlab.bluefly.io/llm/npm/agent-buildkit)
158
239
 
159
240
  **Agent Studio** - GUI platform for agent orchestration
160
241
  - macOS-aligned design
161
242
  - Visual workflow design
162
243
  - Agent monitoring and debugging
163
244
  - End-to-end agent lifecycle management
164
- - [Learn more →](https://gitlab.bluefly.io/llm/demos/llm-platform-demo)
165
245
 
166
246
  ### Part of the OSSA Ecosystem
167
247
 
@@ -180,16 +260,16 @@ Together, they form a complete ecosystem for AI agent development, deployment, a
180
260
 
181
261
  ### For Enterprises
182
262
 
183
- **Lightweight** - Just a standard, minimal dependencies
184
- **No Vendor Lock-in** - Use any implementation
185
- **Deploy Anywhere** - Your infrastructure, your choice
186
- **Clear Specification** - Well-defined contract
263
+ - **Lightweight** - Just a standard, minimal dependencies
264
+ - **No Vendor Lock-in** - Use any implementation
265
+ - **Deploy Anywhere** - Your infrastructure, your choice
266
+ - **Clear Specification** - Well-defined contract
187
267
 
188
268
  ### For Framework Builders
189
269
 
190
- **Standard to Build On** - Like OpenAPI for APIs
191
- **Reference Implementation** - Agent Buildkit shows the way
192
- **Clear Boundaries** - Standard vs. implementation
270
+ - **Standard to Build On** - Like OpenAPI for APIs
271
+ - **Reference Implementation** - Agent Buildkit shows the way
272
+ - **Clear Boundaries** - Standard vs. implementation
193
273
 
194
274
  ---
195
275
 
@@ -198,7 +278,7 @@ Together, they form a complete ecosystem for AI agent development, deployment, a
198
278
  ### As a Standard (Validation Only)
199
279
 
200
280
  ```bash
201
- npm install -g @bluefly/open-standards-scalable-agents
281
+ npm install -g @bluefly/openstandardagents
202
282
  ossa validate my-agent.yml
203
283
  ```
204
284
 
@@ -216,7 +296,7 @@ buildkit ossa sync-docs # GitLab integration
216
296
 
217
297
  ### Official Website & Documentation Portal
218
298
 
219
- **Live Website**: https://ossa.ai (or your deployment URL)
299
+ **Live Website**: https://openstandardagents.org
220
300
 
221
301
  The OSSA website features:
222
302
  - **Interactive Documentation** - Browse the complete OSSA wiki with an enhanced UI
@@ -236,11 +316,10 @@ The documentation is organized into:
236
316
 
237
317
  ### Additional Resources
238
318
 
239
- - **Specification**: [spec/v0.2.2/ossa-0.2.2.schema.json](spec/v0.2.2/ossa-0.2.2.schema.json)
319
+ - **Specification**: [spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json](spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json)
240
320
  - **Examples**: [examples/](examples/)
241
321
  - **API Reference**: [docs/](docs/)
242
- - **GitLab Wiki**: https://gitlab.bluefly.io/llm/ossa/-/wikis/home
243
- - **Issue Tracker**: https://gitlab.bluefly.io/llm/ossa/-/issues
322
+ - **GitHub Issues**: https://github.com/blueflyio/openstandardagents/issues
244
323
 
245
324
  ---
246
325
 
@@ -248,17 +327,16 @@ The documentation is organized into:
248
327
 
249
328
  OSSA is an open standard. Contributions welcome.
250
329
 
251
- **Primary Repository**: [GitLab](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)
252
- **GitHub Mirror**: [GitHub](https://github.com/BlueflyCollective/OSSA) (read-only, automatically synced)
330
+ **Repository**: https://github.com/blueflyio/openstandardagents/
331
+ **Homepage**: https://openstandardagents.org
332
+ **Issues**: https://github.com/blueflyio/openstandardagents/issues
253
333
 
254
- 1. Fork the repository (GitLab preferred)
334
+ 1. Fork the repository on GitHub
255
335
  2. Create feature branch
256
- 3. Submit merge request
336
+ 3. Submit pull request
257
337
 
258
338
  See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
259
339
 
260
- > **Note**: This repository is automatically mirrored from GitLab to GitHub. The GitHub repository is read-only. All development happens on GitLab. See [GitHub Mirror Setup Guide](docs/GITHUB-MIRROR-SETUP.md) for details.
261
-
262
340
  ---
263
341
 
264
342
  ## License
@@ -271,9 +349,9 @@ Apache 2.0 - see [LICENSE](LICENSE) for details.
271
349
 
272
350
  OSSA is part of a unified ecosystem for AI agent development:
273
351
 
274
- - **[OSSA](https://gitlab.bluefly.io/llm/openapi-ai-agents-standard)** - The open standard (this repository)
275
- - **[Agent Buildkit](https://gitlab.bluefly.io/llm/npm/agent-buildkit)** - CLI for building and managing agents
276
- - **[Agent Studio](https://gitlab.bluefly.io/llm/demos/llm-platform-demo)** - GUI platform for agent orchestration
352
+ - **OSSA** - The open standard (this repository)
353
+ - **Agent Buildkit** - CLI for building and managing agents
354
+ - **Agent Studio** - GUI platform for agent orchestration
277
355
 
278
356
  **OSSA: Open. Interoperable. Trustworthy.**
279
357
 
package/bin/ossa CHANGED
@@ -1,8 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * OSSA CLI entry point
5
- * Delegates to the compiled CLI in dist/cli/index.js
4
+ * OSSA CLI Entry Point
5
+ * Enhanced with error handling, version detection, and better UX
6
6
  */
7
7
 
8
- import '../dist/cli/index.js';
8
+ import { fileURLToPath } from 'url';
9
+ import { dirname, resolve } from 'path';
10
+ import { existsSync } from 'fs';
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+
15
+ // Try to load compiled CLI
16
+ const cliPath = resolve(__dirname, '../dist/cli/index.js');
17
+
18
+ if (!existsSync(cliPath)) {
19
+ console.error('❌ OSSA CLI not built. Run: npm run build');
20
+ process.exit(1);
21
+ }
22
+
23
+ try {
24
+ await import(cliPath);
25
+ } catch (error) {
26
+ console.error('❌ Failed to load OSSA CLI:');
27
+ console.error(error);
28
+ process.exit(1);
29
+ }
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * OSSA Validate All
5
+ * Validates all OSSA manifests in examples directory
6
+ */
7
+
8
+ #!/usr/bin/env node
9
+
10
+ /**
11
+ * OSSA Validate All
12
+ * Validates all OSSA manifests in examples directory
13
+ */
14
+
15
+ import { execSync } from 'child_process';
16
+ import { glob } from 'glob';
17
+ import { resolve, dirname } from 'path';
18
+ import { fileURLToPath } from 'url';
19
+
20
+ const __filename = fileURLToPath(import.meta.url);
21
+ const __dirname = dirname(__filename);
22
+ const root = resolve(__dirname, '..');
23
+
24
+ async function main() {
25
+ const examples = await glob('examples/**/*.ossa.{yaml,yml}', { cwd: root });
26
+
27
+ if (examples.length === 0) {
28
+ console.log('No OSSA manifests found in examples/');
29
+ process.exit(0);
30
+ }
31
+
32
+ console.log(`Found ${examples.length} OSSA manifests to validate\n`);
33
+
34
+ let passed = 0;
35
+ let failed = 0;
36
+
37
+ for (const file of examples) {
38
+ try {
39
+ execSync(`node bin/ossa validate ${file}`, {
40
+ cwd: root,
41
+ stdio: 'inherit'
42
+ });
43
+ passed++;
44
+ } catch (error) {
45
+ failed++;
46
+ }
47
+ }
48
+
49
+ console.log(`\n✅ Passed: ${passed}`);
50
+ console.log(`❌ Failed: ${failed}`);
51
+ process.exit(failed > 0 ? 1 : 0);
52
+ }
53
+
54
+ main();
55
+
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * OSSA Version Checker
5
+ * Shows current OSSA CLI version and schema version
6
+ */
7
+
8
+ import { readFileSync } from 'fs';
9
+ import { resolve, dirname } from 'path';
10
+ import { fileURLToPath } from 'url';
11
+
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
14
+
15
+ try {
16
+ const pkg = JSON.parse(readFileSync(resolve(__dirname, '../package.json'), 'utf-8'));
17
+ console.log(`OSSA CLI: ${pkg.version}`);
18
+ console.log(`Schema: ${pkg.version}`);
19
+ } catch (error) {
20
+ console.error('Failed to read version');
21
+ process.exit(1);
22
+ }
23
+
@@ -0,0 +1,244 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * OSSA 0.2.4 Validation Tool
4
+ * Validates power-suite modules' ossa.yaml files against OSSA 0.2.4 schema
5
+ */
6
+
7
+ import { readFileSync } from 'fs';
8
+ import { resolve, dirname } from 'path';
9
+ import { fileURLToPath } from 'url';
10
+ import { parse as parseYaml } from 'yaml';
11
+ import Ajv from 'ajv';
12
+ import addFormats from 'ajv-formats';
13
+ import chalk from 'chalk';
14
+
15
+ // ES module __dirname equivalent
16
+ const __filename = fileURLToPath(import.meta.url);
17
+ const __dirname = dirname(__filename);
18
+
19
+ // Load OSSA 0.2.4 schema
20
+ const schemaPath = resolve(__dirname, '../spec/v0.2.4/ossa-0.2.4.schema.json');
21
+ const schema = JSON.parse(readFileSync(schemaPath, 'utf-8'));
22
+
23
+ // Initialize AJV validator
24
+ const ajv = new Ajv({
25
+ allErrors: true,
26
+ strict: false,
27
+ validateFormats: true,
28
+ verbose: true,
29
+ });
30
+
31
+ addFormats(ajv);
32
+
33
+ // Note: The power-suite ossa.yaml files use a different format (project config)
34
+ // than full agent manifests. This validator checks for OSSA 0.2.4 compliance
35
+ // in the project configuration format.
36
+
37
+ interface PowerSuiteOssaConfig {
38
+ ossa?: {
39
+ version: string;
40
+ project?: {
41
+ name: string;
42
+ type: string;
43
+ version: string;
44
+ description: string;
45
+ };
46
+ metadata?: {
47
+ reasoning?: boolean;
48
+ compliance?: {
49
+ frameworks?: string[];
50
+ };
51
+ };
52
+ ecosystem?: {
53
+ mesh_enabled?: boolean;
54
+ protocol_enabled?: boolean;
55
+ router_enabled?: boolean;
56
+ tracer_enabled?: boolean;
57
+ brain_enabled?: boolean;
58
+ flows_enabled?: boolean;
59
+ [key: string]: unknown;
60
+ };
61
+ [key: string]: unknown;
62
+ };
63
+ }
64
+
65
+ /**
66
+ * Validate OSSA 0.2.4 configuration format
67
+ */
68
+ function validatePowerSuiteConfig(config: PowerSuiteOssaConfig): {
69
+ valid: boolean;
70
+ errors: string[];
71
+ warnings: string[];
72
+ } {
73
+ const errors: string[] = [];
74
+ const warnings: string[] = [];
75
+
76
+ if (!config.ossa) {
77
+ errors.push('Missing top-level "ossa" key');
78
+ return { valid: false, errors, warnings };
79
+ }
80
+
81
+ const { ossa } = config;
82
+
83
+ // Check version
84
+ if (!ossa.version) {
85
+ errors.push('Missing ossa.version');
86
+ } else if (!ossa.version.startsWith('0.2.4')) {
87
+ errors.push(
88
+ `Invalid ossa.version: expected "0.2.4" or "0.2.4.x", got "${ossa.version}"`
89
+ );
90
+ }
91
+
92
+ // Check project
93
+ if (!ossa.project) {
94
+ warnings.push('Missing ossa.project (recommended for identification)');
95
+ } else {
96
+ if (!ossa.project.name) {
97
+ errors.push('Missing ossa.project.name');
98
+ }
99
+ if (!ossa.project.type) {
100
+ warnings.push('Missing ossa.project.type');
101
+ }
102
+ }
103
+
104
+ // Check metadata (OSSA 0.2.4 requirement)
105
+ if (!ossa.metadata) {
106
+ warnings.push(
107
+ 'Missing ossa.metadata (OSSA 0.2.4 recommends metadata.reasoning)'
108
+ );
109
+ } else {
110
+ if (ossa.metadata.reasoning === undefined) {
111
+ warnings.push(
112
+ 'OSSA 0.2.4 recommends metadata.reasoning: true for AI agents'
113
+ );
114
+ }
115
+ if (!ossa.metadata.compliance?.frameworks) {
116
+ warnings.push(
117
+ 'OSSA 0.2.4 recommends metadata.compliance.frameworks array'
118
+ );
119
+ }
120
+ }
121
+
122
+ // Check ecosystem (power-suite integration)
123
+ if (!ossa.ecosystem) {
124
+ warnings.push(
125
+ 'Missing ossa.ecosystem (power-suite integration configuration)'
126
+ );
127
+ } else {
128
+ const ecosystem = ossa.ecosystem;
129
+ const requiredModules = [
130
+ 'mesh_enabled',
131
+ 'protocol_enabled',
132
+ 'router_enabled',
133
+ 'tracer_enabled',
134
+ 'brain_enabled',
135
+ 'flows_enabled',
136
+ ];
137
+
138
+ for (const module of requiredModules) {
139
+ if (ecosystem[module] === undefined) {
140
+ warnings.push(
141
+ `Consider setting ossa.ecosystem.${module} for power-suite integration`
142
+ );
143
+ }
144
+ }
145
+ }
146
+
147
+ // Check compliance standards array
148
+ if (ossa.compliance?.standards) {
149
+ const standards = Array.isArray(ossa.compliance.standards)
150
+ ? ossa.compliance.standards
151
+ : Object.values(ossa.compliance.standards);
152
+
153
+ if (!standards.includes('OSSA-0.2.4')) {
154
+ errors.push(
155
+ 'compliance.standards must include "OSSA-0.2.4" for v0.2.4 compliance'
156
+ );
157
+ }
158
+ }
159
+
160
+ return {
161
+ valid: errors.length === 0,
162
+ errors,
163
+ warnings,
164
+ };
165
+ }
166
+
167
+ /**
168
+ * Validate a single ossa.yaml file
169
+ */
170
+ function validateFile(filePath: string): boolean {
171
+ try {
172
+ const content = readFileSync(filePath, 'utf-8');
173
+ const config = parseYaml(content) as PowerSuiteOssaConfig;
174
+
175
+ console.log(chalk.blue(`\nValidating: ${filePath}`));
176
+ console.log(chalk.gray('─'.repeat(80)));
177
+
178
+ const result = validatePowerSuiteConfig(config);
179
+
180
+ if (result.valid) {
181
+ console.log(chalk.green('✓ Valid OSSA 0.2.4 configuration'));
182
+ } else {
183
+ console.log(chalk.red('✗ Invalid OSSA 0.2.4 configuration'));
184
+ result.errors.forEach((error) => {
185
+ console.log(chalk.red(` ERROR: ${error}`));
186
+ });
187
+ }
188
+
189
+ if (result.warnings.length > 0) {
190
+ result.warnings.forEach((warning) => {
191
+ console.log(chalk.yellow(` WARNING: ${warning}`));
192
+ });
193
+ }
194
+
195
+ return result.valid;
196
+ } catch (error) {
197
+ console.error(chalk.red(`Failed to validate ${filePath}:`));
198
+ console.error(error);
199
+ return false;
200
+ }
201
+ }
202
+
203
+ /**
204
+ * Main validation function
205
+ */
206
+ function main() {
207
+ const args = process.argv.slice(2);
208
+
209
+ if (args.length === 0) {
210
+ console.log(chalk.blue('OSSA 0.2.4 Power-Suite Validation Tool\n'));
211
+ console.log('Usage:');
212
+ console.log(' validate-ossa-0.2.4.ts <file1.yaml> [file2.yaml] ...\n');
213
+ console.log('Or validate all power-suite modules:');
214
+ console.log(
215
+ ' find ../common_npm -name "ossa.yaml" -o -path "*/config/ossa.yaml" | xargs validate-ossa-0.2.4.ts'
216
+ );
217
+ process.exit(1);
218
+ }
219
+
220
+ let allValid = true;
221
+ for (const filePath of args) {
222
+ const valid = validateFile(resolve(filePath));
223
+ if (!valid) {
224
+ allValid = false;
225
+ }
226
+ }
227
+
228
+ console.log(chalk.gray('\n' + '─'.repeat(80)));
229
+ if (allValid) {
230
+ console.log(chalk.green('\n✓ All files are OSSA 0.2.4 compliant'));
231
+ process.exit(0);
232
+ } else {
233
+ console.log(chalk.red('\n✗ Some files failed validation'));
234
+ process.exit(1);
235
+ }
236
+ }
237
+
238
+ // Run if executed directly
239
+ if (import.meta.url === `file://${process.argv[1]}`) {
240
+ main();
241
+ }
242
+
243
+ export { validatePowerSuiteConfig, validateFile };
244
+