@bluefly/openstandardagents 0.2.4 → 0.2.7

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 (511) hide show
  1. package/.cursorrules +84 -0
  2. package/.devfile.yaml +87 -0
  3. package/.env.example +25 -3
  4. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  6. package/.github/workflows/dependabot-comment.yml +34 -0
  7. package/.github/workflows/pr-comment.yml +33 -0
  8. package/.github/workflows/release.yml +1 -1
  9. package/.husky/pre-commit +5 -0
  10. package/.kiro/config.json +21 -0
  11. package/.kiro/settings/mcp.json +61 -0
  12. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  13. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  14. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  15. package/.kiro/specs/website-brand-identity/design.md +1060 -0
  16. package/.kiro/specs/website-brand-identity/requirements.md +287 -0
  17. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  18. package/.releaserc.json +5 -4
  19. package/.version.json +6 -0
  20. package/CHANGELOG.md +163 -96
  21. package/CONTRIBUTING.md +23 -5
  22. package/README.md +130 -43
  23. package/bin/ossa +24 -3
  24. package/bin/ossa-dev +42 -0
  25. package/bin/ossa-export +32 -0
  26. package/bin/ossa-generate +60 -0
  27. package/bin/ossa-health +40 -0
  28. package/bin/ossa-init +26 -0
  29. package/bin/ossa-validate-all +55 -0
  30. package/bin/ossa-version +23 -0
  31. package/bin/validate-ossa-0.2.4.ts +244 -0
  32. package/bin/validate-ossa-0.2.5-RC.ts +244 -0
  33. package/bin/validate-ossa.ts +273 -0
  34. package/dist/di-container.d.ts +1 -1
  35. package/dist/di-container.d.ts.map +1 -1
  36. package/dist/di-container.js.map +1 -1
  37. package/dist/repositories/schema.repository.d.ts +17 -2
  38. package/dist/repositories/schema.repository.d.ts.map +1 -1
  39. package/dist/repositories/schema.repository.js +102 -19
  40. package/dist/repositories/schema.repository.js.map +1 -1
  41. package/dist/services/generation.service.d.ts +7 -5
  42. package/dist/services/generation.service.d.ts.map +1 -1
  43. package/dist/services/generation.service.js +92 -44
  44. package/dist/services/generation.service.js.map +1 -1
  45. package/dist/services/github-sync/github-client.d.ts +14 -0
  46. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  47. package/dist/services/github-sync/github-client.js +41 -0
  48. package/dist/services/github-sync/github-client.js.map +1 -0
  49. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  50. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  51. package/dist/services/github-sync/gitlab-client.js +42 -0
  52. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  53. package/dist/services/github-sync/schemas.d.ts +46 -0
  54. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  55. package/dist/services/github-sync/schemas.js +36 -0
  56. package/dist/services/github-sync/schemas.js.map +1 -0
  57. package/dist/services/github-sync/sync.service.d.ts +27 -0
  58. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  59. package/dist/services/github-sync/sync.service.js +99 -0
  60. package/dist/services/github-sync/sync.service.js.map +1 -0
  61. package/dist/services/gitlab-agent.service.d.ts +94 -0
  62. package/dist/services/gitlab-agent.service.d.ts.map +1 -0
  63. package/dist/services/gitlab-agent.service.js +162 -0
  64. package/dist/services/gitlab-agent.service.js.map +1 -0
  65. package/dist/services/migration.service.d.ts +3 -3
  66. package/dist/services/migration.service.d.ts.map +1 -1
  67. package/dist/services/migration.service.js +108 -61
  68. package/dist/services/migration.service.js.map +1 -1
  69. package/dist/services/release-automation/base-crud.service.d.ts +93 -0
  70. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
  71. package/dist/services/release-automation/base-crud.service.js +68 -0
  72. package/dist/services/release-automation/base-crud.service.js.map +1 -0
  73. package/dist/services/release-automation/index.d.ts +12 -0
  74. package/dist/services/release-automation/index.d.ts.map +1 -0
  75. package/dist/services/release-automation/index.js +12 -0
  76. package/dist/services/release-automation/index.js.map +1 -0
  77. package/dist/services/release-automation/merge-request.service.d.ts +119 -0
  78. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
  79. package/dist/services/release-automation/merge-request.service.js +212 -0
  80. package/dist/services/release-automation/merge-request.service.js.map +1 -0
  81. package/dist/services/release-automation/milestone.service.d.ts +104 -0
  82. package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
  83. package/dist/services/release-automation/milestone.service.js +207 -0
  84. package/dist/services/release-automation/milestone.service.js.map +1 -0
  85. package/dist/services/release-automation/release.service.d.ts +118 -0
  86. package/dist/services/release-automation/release.service.d.ts.map +1 -0
  87. package/dist/services/release-automation/release.service.js +207 -0
  88. package/dist/services/release-automation/release.service.js.map +1 -0
  89. package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
  90. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
  91. package/dist/services/release-automation/schemas/release.schema.js +269 -0
  92. package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
  93. package/dist/services/release-automation/tag.service.d.ts +99 -0
  94. package/dist/services/release-automation/tag.service.d.ts.map +1 -0
  95. package/dist/services/release-automation/tag.service.js +180 -0
  96. package/dist/services/release-automation/tag.service.js.map +1 -0
  97. package/dist/services/release-automation/webhook.service.d.ts +37 -0
  98. package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
  99. package/dist/services/release-automation/webhook.service.js +173 -0
  100. package/dist/services/release-automation/webhook.service.js.map +1 -0
  101. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  102. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  103. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  104. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  105. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  106. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  107. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  108. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  109. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  110. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  111. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  112. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  113. package/dist/services/runtime/claude/types.d.ts +115 -0
  114. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  115. package/dist/services/runtime/claude/types.js +6 -0
  116. package/dist/services/runtime/claude/types.js.map +1 -0
  117. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  118. package/dist/services/runtime/openai.adapter.js.map +1 -1
  119. package/dist/services/validation.service.d.ts.map +1 -1
  120. package/dist/services/validation.service.js +35 -11
  121. package/dist/services/validation.service.js.map +1 -1
  122. package/dist/services/validators/anthropic.validator.d.ts +2 -2
  123. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  124. package/dist/services/validators/anthropic.validator.js +14 -9
  125. package/dist/services/validators/anthropic.validator.js.map +1 -1
  126. package/dist/services/validators/autogen.validator.d.ts +2 -2
  127. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  128. package/dist/services/validators/autogen.validator.js +18 -15
  129. package/dist/services/validators/autogen.validator.js.map +1 -1
  130. package/dist/services/validators/crewai.validator.d.ts +2 -2
  131. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  132. package/dist/services/validators/crewai.validator.js +18 -17
  133. package/dist/services/validators/crewai.validator.js.map +1 -1
  134. package/dist/services/validators/cursor.validator.d.ts +2 -2
  135. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  136. package/dist/services/validators/cursor.validator.js +15 -11
  137. package/dist/services/validators/cursor.validator.js.map +1 -1
  138. package/dist/services/validators/langchain.validator.d.ts +2 -2
  139. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  140. package/dist/services/validators/langchain.validator.js +14 -11
  141. package/dist/services/validators/langchain.validator.js.map +1 -1
  142. package/dist/services/validators/langflow.validator.d.ts +2 -2
  143. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  144. package/dist/services/validators/langflow.validator.js +14 -9
  145. package/dist/services/validators/langflow.validator.js.map +1 -1
  146. package/dist/services/validators/langgraph.validator.d.ts +2 -2
  147. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  148. package/dist/services/validators/langgraph.validator.js +23 -18
  149. package/dist/services/validators/langgraph.validator.js.map +1 -1
  150. package/dist/services/validators/llamaindex.validator.d.ts +2 -2
  151. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  152. package/dist/services/validators/llamaindex.validator.js +19 -16
  153. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  154. package/dist/services/validators/openai.validator.d.ts +2 -2
  155. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  156. package/dist/services/validators/openai.validator.js +20 -16
  157. package/dist/services/validators/openai.validator.js.map +1 -1
  158. package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
  159. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  160. package/dist/services/validators/vercel-ai.validator.js +16 -15
  161. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  162. package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  163. package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  164. package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
  165. package/dist/spec/v0.2.3/README.md +9 -9
  166. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  167. package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
  168. package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  169. package/dist/spec/{v0.2.4-dev/ossa-0.2.4-dev.yaml → v0.2.4/ossa-0.2.4.yaml} +1 -1
  170. package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
  171. package/dist/spec/v0.2.5/README.md +72 -0
  172. package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  173. package/dist/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
  174. package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  175. package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  176. package/dist/spec/v0.2.5-RC/README.md +72 -0
  177. package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  178. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  179. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  180. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  181. package/dist/spec/v0.2.6/README.md +72 -0
  182. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  183. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  184. package/dist/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  185. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  186. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  187. package/dist/spec/v0.2.6-dev/README.md +75 -0
  188. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  189. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  190. package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
  191. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  192. package/dist/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.6-dev/ossa-0.2.6-dev.schema.json} +323 -359
  193. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  194. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  195. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  196. package/dist/types/index.d.ts +6 -1
  197. package/dist/types/index.d.ts.map +1 -1
  198. package/docs/brand-guide/01-brand-overview.md +37 -0
  199. package/docs/brand-guide/02-logo-usage.md +43 -0
  200. package/docs/brand-guide/03-color-palette.md +70 -0
  201. package/docs/brand-guide/04-typography.md +82 -0
  202. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  203. package/docs/brand-guide/06-visual-elements.md +137 -0
  204. package/docs/brand-guide/07-application-examples.md +153 -0
  205. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  206. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  207. package/docs/brand-guide/README.md +107 -0
  208. package/docs/comparison.md +315 -0
  209. package/docs/operations/automation-roadmap.md +245 -0
  210. package/docs/operations/github-sync-strategy.md +357 -0
  211. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  212. package/examples/autogen/multi-agent.ossa.json +6 -4
  213. package/examples/bridges/Dockerfile.production +1 -1
  214. package/examples/crewai/research-team.ossa.json +14 -5
  215. package/examples/cursor/code-review-agent.ossa.json +21 -6
  216. package/examples/enterprise/agent.yml +1 -1
  217. package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
  218. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  219. package/examples/langchain/chain-agent.ossa.json +21 -5
  220. package/examples/langflow/workflow-agent.ossa.json +2 -3
  221. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  222. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  223. package/examples/openai/basic-agent.ossa.yaml +61 -0
  224. package/examples/openai/multi-tool-agent.ossa.json +188 -0
  225. package/examples/openai/swarm-agent.ossa.json +18 -5
  226. package/examples/openapi-extensions/README.md +1 -1
  227. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  228. package/examples/vercel/edge-agent.ossa.json +5 -4
  229. package/infrastructure/gitlab-agent/rbac.yaml +126 -0
  230. package/infrastructure/gitlab-agent/values.yaml +150 -0
  231. package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
  232. package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
  233. package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
  234. package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
  235. package/infrastructure/k8s/monitoring/README.md +73 -0
  236. package/infrastructure/k8s/monitoring/deploy.sh +38 -0
  237. package/openapi/CHANGELOG.md +21 -0
  238. package/openapi/README.md +46 -0
  239. package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
  240. package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
  241. package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
  242. package/openapi/github-sync.yaml +115 -0
  243. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
  244. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
  245. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
  246. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
  247. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
  248. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
  249. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
  250. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
  251. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
  252. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
  253. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
  254. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
  255. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
  256. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
  257. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
  258. package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
  259. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
  260. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
  261. package/package.json +53 -22
  262. package/release.config.js +20 -5
  263. package/scripts/README.md +103 -0
  264. package/scripts/auto-rebase-mrs.ts +106 -0
  265. package/scripts/batch-dependabot.sh +57 -0
  266. package/scripts/bump-version.ts +57 -0
  267. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  268. package/scripts/create-issue-helper.ts +238 -0
  269. package/scripts/create-milestone-issue.ts +73 -0
  270. package/scripts/enhanced-version-manager.ts +257 -0
  271. package/scripts/fix-schema-formats.js +82 -0
  272. package/scripts/gen-types.ts +51 -0
  273. package/scripts/gen-zod.ts +51 -0
  274. package/scripts/generate-agents-catalog.ts +77 -0
  275. package/scripts/generate-api-docs.ts +218 -0
  276. package/scripts/generate-cli-docs.ts +410 -0
  277. package/scripts/generate-config-docs.ts +109 -0
  278. package/scripts/generate-errors-docs.ts +76 -0
  279. package/scripts/generate-examples-docs.ts +99 -0
  280. package/scripts/generate-schema-docs.ts +296 -0
  281. package/scripts/generate-types-docs.ts +48 -0
  282. package/scripts/lib/exec.ts +37 -0
  283. package/scripts/lib/file-ops.ts +58 -0
  284. package/scripts/lib/version.ts +83 -0
  285. package/scripts/lowercase-docs.ts +43 -0
  286. package/scripts/manage-milestone-mrs.ts +279 -0
  287. package/scripts/process-doc-templates.ts +37 -0
  288. package/scripts/rebase-all-mrs.sh +75 -0
  289. package/scripts/schemas/package.schema.ts +75 -0
  290. package/scripts/setup-branch-protection.sh +33 -0
  291. package/scripts/sync-github-pr.sh +48 -0
  292. package/scripts/sync-version.js +40 -0
  293. package/scripts/sync-version.ts +39 -0
  294. package/scripts/sync-versions.ts +488 -0
  295. package/scripts/sync-wiki.sh +50 -0
  296. package/scripts/validate-all.js +127 -0
  297. package/scripts/validate-schema.ts +49 -0
  298. package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  299. package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  300. package/spec/v0.2.3/CHANGELOG.md +7 -7
  301. package/spec/v0.2.3/README.md +9 -9
  302. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  303. package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
  304. package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
  305. package/spec/{v0.2.4-dev/ossa-0.2.4-dev.yaml → v0.2.4/ossa-0.2.4.yaml} +1 -1
  306. package/spec/v0.2.5/CHANGELOG.md +401 -0
  307. package/spec/v0.2.5/README.md +72 -0
  308. package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  309. package/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
  310. package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  311. package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  312. package/spec/v0.2.5-RC/README.md +72 -0
  313. package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
  314. package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  315. package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  316. package/spec/v0.2.6/CHANGELOG.md +401 -0
  317. package/spec/v0.2.6/README.md +72 -0
  318. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  319. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  320. package/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  321. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  322. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  323. package/spec/v0.2.6-dev/README.md +75 -0
  324. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  325. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  326. package/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
  327. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  328. package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.6-dev/ossa-0.2.6-dev.schema.json} +323 -359
  329. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  330. package/spec/v0.2.7/core/agentgraph.md +324 -0
  331. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  332. package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
  333. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +445 -0
  334. package/website/Dockerfile +18 -5
  335. package/website/app/about/page.tsx +60 -51
  336. package/website/app/blog/[slug]/page.tsx +61 -20
  337. package/website/app/blog/page.tsx +120 -33
  338. package/website/app/design-guide/page.tsx +511 -0
  339. package/website/app/docs/[[...slug]]/page.tsx +641 -143
  340. package/website/app/ecosystem/page.tsx +146 -111
  341. package/website/app/examples/page.tsx +51 -41
  342. package/website/app/globals.scss +370 -0
  343. package/website/app/layout.tsx +2 -2
  344. package/website/app/license/page.tsx +183 -0
  345. package/website/app/not-found.tsx +18 -0
  346. package/website/app/page.tsx +513 -236
  347. package/website/app/page.tsx.bak +679 -0
  348. package/website/app/page.tsx.bak2 +649 -0
  349. package/website/app/playground/page.tsx +25 -45
  350. package/website/app/schema/page.tsx +423 -392
  351. package/website/app/specification/page.tsx +245 -169
  352. package/website/components/Logo.tsx +75 -2
  353. package/website/components/docs/DocsSidebar.tsx +40 -3
  354. package/website/components/docs/MarkdownContent.tsx +265 -47
  355. package/website/components/docs/VersionSelector.tsx +64 -8
  356. package/website/components/examples/ExamplesViewer.tsx +2 -2
  357. package/website/components/layout/Footer.tsx +6 -1
  358. package/website/components/layout/Header.tsx +44 -42
  359. package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
  360. package/website/components/schema/SchemaExplorer.tsx +4 -4
  361. package/website/components/ui/Badge.tsx +82 -0
  362. package/website/components/ui/Button.tsx +116 -0
  363. package/website/components/ui/Card.tsx +167 -0
  364. package/website/components/ui/Checkbox.tsx +141 -0
  365. package/website/components/ui/Input.tsx +169 -0
  366. package/website/components/ui/Radio.tsx +141 -0
  367. package/website/components/ui/Select.tsx +182 -0
  368. package/website/components/ui/Tag.tsx +158 -0
  369. package/website/components/ui/Textarea.tsx +195 -0
  370. package/website/components/ui/index.ts +11 -0
  371. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
  372. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
  373. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
  374. package/website/content/blog/introducing-ossa-framework.md +1 -1
  375. package/website/content/blog/ossa-production-results.md +5 -5
  376. package/website/content/blog/welcome-to-ossa.md +2 -2
  377. package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
  378. package/website/content/docs/{00-HOME.md → 00-home.md} +18 -25
  379. package/website/content/docs/adapters/openai-adapter.md +693 -0
  380. package/website/content/docs/agents/catalog.md +28 -0
  381. package/website/content/docs/aiflow-framework-integration-with-ossa.md +107 -0
  382. package/website/content/docs/api-reference/index.md +38 -0
  383. package/website/content/docs/api-reference/ossa-core-api.md +634 -0
  384. package/website/content/docs/api-reference/ossa-registry-api.md +515 -0
  385. package/website/content/docs/api-reference/unified-agent-gateway.md +599 -0
  386. package/website/content/docs/architecture/execution-flow.md +3 -3
  387. package/website/content/docs/architecture/multi-agent-systems.md +4 -4
  388. package/website/content/docs/architecture/overview.md +4 -4
  389. package/website/content/docs/architecture/stack-integration.md +4 -4
  390. package/website/content/docs/changelog.md +4 -4
  391. package/website/content/docs/cli-reference/index.md +111 -0
  392. package/website/content/docs/cli-reference/ossa-agents.md +70 -0
  393. package/website/content/docs/cli-reference/ossa-export.md +56 -0
  394. package/website/content/docs/cli-reference/ossa-generate.md +66 -0
  395. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +57 -0
  396. package/website/content/docs/cli-reference/ossa-import.md +56 -0
  397. package/website/content/docs/cli-reference/ossa-init.md +57 -0
  398. package/website/content/docs/cli-reference/ossa-migrate.md +62 -0
  399. package/website/content/docs/cli-reference/ossa-run.md +66 -0
  400. package/website/content/docs/cli-reference/ossa-schema.md +57 -0
  401. package/website/content/docs/cli-reference/ossa-setup.md +57 -0
  402. package/website/content/docs/cli-reference/ossa-validate.md +66 -0
  403. package/website/content/docs/configuration/index.md +97 -0
  404. package/website/content/docs/contributing.md +2 -2
  405. package/website/content/docs/deployment/github-mirroring.md +924 -0
  406. package/website/content/docs/documentation.md +100 -0
  407. package/website/content/docs/ecosystem/framework-support.md +551 -11
  408. package/website/content/docs/errors/index.md +10 -0
  409. package/website/content/docs/{AIFlow-Framework-Integration-with-OSSA.md → examples/aiflow-framework-integration-with-ossa.md} +2 -2
  410. package/website/content/docs/examples/catalog.md +300 -0
  411. package/website/content/docs/for-audiences/{Students-Researchers.md → students-researchers.md} +1 -1
  412. package/website/content/docs/getting-started/index.md +92 -0
  413. package/website/content/docs/getting-started/installation.md +7 -7
  414. package/website/content/docs/getting-started/running-agents.md +215 -13
  415. package/{docs → website/content/docs}/getting-started.md +10 -6
  416. package/website/content/docs/integrations/aiflow.md +2 -2
  417. package/website/content/docs/integrations/drupal.md +2 -2
  418. package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
  419. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
  420. package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
  421. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
  422. package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
  423. package/website/content/docs/migration-guides/index.md +1 -1
  424. package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
  425. package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
  426. package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
  427. package/website/content/docs/openapi-extensions/examples.md +9 -9
  428. package/website/content/docs/openapi-extensions/index.md +59 -3
  429. package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
  430. package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
  431. package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
  432. package/website/content/docs/pre-release/index.md +10 -10
  433. package/website/content/docs/readme.md +35 -0
  434. package/website/content/docs/releases/v0.2.6.md +99 -0
  435. package/website/content/docs/schema-reference/agent-capabilities.md +50 -0
  436. package/website/content/docs/schema-reference/agent-id.md +52 -0
  437. package/website/content/docs/schema-reference/agent-name.md +50 -0
  438. package/website/content/docs/schema-reference/agent-role.md +54 -0
  439. package/website/content/docs/schema-reference/agent-spec.md +2 -2
  440. package/website/content/docs/schema-reference/agent-version.md +50 -0
  441. package/website/content/docs/schema-reference/autonomy.md +5 -5
  442. package/website/content/docs/schema-reference/constraints.md +5 -5
  443. package/website/content/docs/schema-reference/index.md +26 -157
  444. package/website/content/docs/schema-reference/llm-config.md +1 -1
  445. package/website/content/docs/schema-reference/observability.md +5 -5
  446. package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
  447. package/website/content/docs/schema-reference/taxonomy.md +3 -3
  448. package/website/content/docs/types-reference/index.md +105 -0
  449. package/website/content/docs/use-cases/00-index.md +1 -1
  450. package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
  451. package/website/dev.sh +53 -0
  452. package/website/docker-compose.dev.yml +36 -0
  453. package/website/lib/version.ts +18 -1
  454. package/website/lib/versions.json +103 -0
  455. package/website/next.config.ts +3 -1
  456. package/website/package-lock.json +552 -18
  457. package/website/package.json +11 -5
  458. package/website/postcss.config.mjs +1 -1
  459. package/website/scripts/fetch-versions.js +166 -0
  460. package/website/scripts/generate-examples-index.js +163 -0
  461. package/website/scripts/merge-docs-to-wiki.ts +207 -0
  462. package/website/scripts/sync-version.js +28 -0
  463. package/website/scripts/sync-wiki.ts +64 -3
  464. package/website/scripts/upload-wiki.ts +199 -0
  465. package/website/styles/_spacing.scss +453 -0
  466. package/website/styles/_tokens.scss +245 -0
  467. package/website/styles/_typography.scss +361 -0
  468. package/website/styles/_variables.scss +287 -0
  469. package/website/tailwind.config.ts +127 -22
  470. package/.releaserc.json.disabled +0 -81
  471. package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  472. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  473. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  474. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  475. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  476. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  477. package/docs/README.md +0 -31
  478. package/docs/agent-openapi-spec.yml +0 -942
  479. package/docs/openapi-extensions.md +0 -930
  480. package/docs/schemas/openapi-extensions.schema.json +0 -486
  481. package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
  482. package/ossa-website-swarm-tasks.json +0 -105
  483. package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  484. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  485. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  486. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  487. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  488. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  489. package/website/app/api/validate/route.ts +0 -88
  490. package/website/app/globals.css +0 -108
  491. package/website/content/docs/OpenAPI-Extensions.md +0 -498
  492. package/website/content/docs/core-concepts/project-structure.md +0 -348
  493. package/website/content/docs/examples/Migration-Guides.md +0 -214
  494. package/website/content/docs/examples.md +0 -71
  495. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  496. package/website/content/docs/for-audiences/architects.md +0 -224
  497. package/website/content/docs/for-audiences/developers.md +0 -220
  498. package/website/content/docs/getting-started/5-minute-overview.md +0 -85
  499. package/website/content/docs/getting-started/Hello-World.md +0 -184
  500. package/website/content/docs/getting-started/first-agent.md +0 -196
  501. package/website/content/docs/migration-guides/00-index.md +0 -76
  502. package/website/content/docs/migration-guides/README.md +0 -133
  503. package/website/next.config.js +0 -17
  504. package/website/postcss.config.js +0 -7
  505. package/website/tailwind.config.js +0 -58
  506. /package/dist/spec/{v0.2.4-dev/ossa-0.2.4-dev.schema.json → v0.2.4/ossa-0.2.4.schema.json} +0 -0
  507. /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
  508. /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
  509. /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
  510. /package/spec/{v0.2.4-dev/ossa-0.2.4-dev.schema.json → v0.2.4/ossa-0.2.4.schema.json} +0 -0
  511. /package/{docs/migration → website/content/docs/migration-guides}/migration-manifest.json +0 -0
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env tsx
2
+ import { writeFileSync, mkdirSync } from 'fs';
3
+ import { join } from 'path';
4
+
5
+ const OUTPUT_FILE = join(process.cwd(), 'website/content/docs/configuration/index.md');
6
+
7
+ const doc = `# Configuration Reference
8
+
9
+ Configure OSSA CLI and runtime behavior.
10
+
11
+ ## Configuration File
12
+
13
+ Create \`.ossarc.json\` or \`.ossarc.yaml\` in your project root:
14
+
15
+ \`\`\`json
16
+ {
17
+ "registry": "https://registry.ossa.dev",
18
+ "defaultVersion": "0.2.5-RC",
19
+ "validation": {
20
+ "strict": true,
21
+ "allowUnknownFields": false
22
+ },
23
+ "runtime": {
24
+ "timeout": 30000,
25
+ "retries": 3
26
+ }
27
+ }
28
+ \`\`\`
29
+
30
+ ## Configuration Options
31
+
32
+ ### registry
33
+ - **Type**: \`string\`
34
+ - **Default**: \`"https://registry.ossa.dev"\`
35
+ - **Description**: Agent registry URL
36
+
37
+ ### defaultVersion
38
+ - **Type**: \`string\`
39
+ - **Default**: \`"latest"\`
40
+ - **Description**: Default OSSA schema version
41
+
42
+ ### validation.strict
43
+ - **Type**: \`boolean\`
44
+ - **Default**: \`false\`
45
+ - **Description**: Enable strict validation mode
46
+
47
+ ### validation.allowUnknownFields
48
+ - **Type**: \`boolean\`
49
+ - **Default**: \`true\`
50
+ - **Description**: Allow unknown fields in manifests
51
+
52
+ ### runtime.timeout
53
+ - **Type**: \`number\`
54
+ - **Default**: \`30000\`
55
+ - **Description**: Execution timeout in milliseconds
56
+
57
+ ### runtime.retries
58
+ - **Type**: \`number\`
59
+ - **Default**: \`3\`
60
+ - **Description**: Number of retry attempts
61
+
62
+ ## Environment Variables
63
+
64
+ Override configuration with environment variables:
65
+
66
+ - \`OSSA_REGISTRY\` - Registry URL
67
+ - \`OSSA_VERSION\` - Default version
68
+ - \`OSSA_API_KEY\` - API authentication key
69
+ - \`OSSA_DEBUG\` - Enable debug logging
70
+
71
+ ## Examples
72
+
73
+ ### Development Configuration
74
+
75
+ \`\`\`json
76
+ {
77
+ "registry": "http://localhost:3000",
78
+ "validation": {
79
+ "strict": false
80
+ }
81
+ }
82
+ \`\`\`
83
+
84
+ ### Production Configuration
85
+
86
+ \`\`\`json
87
+ {
88
+ "registry": "https://registry.ossa.dev",
89
+ "validation": {
90
+ "strict": true,
91
+ "allowUnknownFields": false
92
+ },
93
+ "runtime": {
94
+ "timeout": 60000,
95
+ "retries": 5
96
+ }
97
+ }
98
+ \`\`\`
99
+
100
+ ## Related
101
+
102
+ - [CLI Reference](../cli-reference/)
103
+ - [Environment Setup](../getting-started/installation)
104
+ `;
105
+
106
+ mkdirSync(join(process.cwd(), 'website/content/docs/configuration'), { recursive: true });
107
+ writeFileSync(OUTPUT_FILE, doc);
108
+
109
+ console.log(`✅ Generated configuration reference`);
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env tsx
2
+ import { readdirSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
3
+ import { join } from 'path';
4
+
5
+ const SRC_DIR = join(process.cwd(), 'src');
6
+ const OUTPUT_FILE = join(process.cwd(), 'website/content/docs/errors/index.md');
7
+
8
+ interface ErrorInfo {
9
+ code: string;
10
+ message: string;
11
+ file: string;
12
+ }
13
+
14
+ function findErrors(dir: string, errors: ErrorInfo[] = []): ErrorInfo[] {
15
+ const entries = readdirSync(dir, { withFileTypes: true });
16
+
17
+ for (const entry of entries) {
18
+ const fullPath = join(dir, entry.name);
19
+
20
+ if (entry.isDirectory()) {
21
+ findErrors(fullPath, errors);
22
+ } else if (entry.name.endsWith('.ts')) {
23
+ const content = readFileSync(fullPath, 'utf-8');
24
+
25
+ // Find throw new Error patterns
26
+ const matches = content.matchAll(/throw new (\w+Error)\(['"`]([^'"`]+)['"`]\)/g);
27
+ for (const match of matches) {
28
+ errors.push({
29
+ code: match[1],
30
+ message: match[2],
31
+ file: fullPath.replace(process.cwd(), '')
32
+ });
33
+ }
34
+ }
35
+ }
36
+
37
+ return errors;
38
+ }
39
+
40
+ const errors = findErrors(SRC_DIR);
41
+ const byCode = errors.reduce((acc, err) => {
42
+ if (!acc[err.code]) acc[err.code] = [];
43
+ acc[err.code].push(err);
44
+ return acc;
45
+ }, {} as Record<string, ErrorInfo[]>);
46
+
47
+ let doc = `# Error Reference
48
+
49
+ Common errors and solutions.
50
+
51
+ **Total Error Types**: ${Object.keys(byCode).length}
52
+
53
+ `;
54
+
55
+ for (const [code, instances] of Object.entries(byCode).sort()) {
56
+ doc += `## ${code}\n\n`;
57
+
58
+ const uniqueMessages = [...new Set(instances.map(e => e.message))];
59
+ for (const msg of uniqueMessages) {
60
+ doc += `### "${msg}"\n\n`;
61
+ doc += `**Cause**: Check the error context for details\n\n`;
62
+ doc += `**Solution**: \n`;
63
+ doc += `\`\`\`bash\n# Enable debug mode\nDEBUG=* ossa <command>\n\`\`\`\n\n`;
64
+ }
65
+ }
66
+
67
+ doc += `## Getting Help
68
+
69
+ - Check [Troubleshooting Guide](../troubleshooting/)
70
+ - Open an issue on [GitLab](https://gitlab.com/blueflyio/openstandardagents/-/issues)
71
+ `;
72
+
73
+ mkdirSync(join(process.cwd(), 'website/content/docs/errors'), { recursive: true });
74
+ writeFileSync(OUTPUT_FILE, doc);
75
+
76
+ console.log(`✅ Generated error reference: ${Object.keys(byCode).length} error types`);
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Generate examples documentation from YAML files
4
+ */
5
+
6
+ import { readdirSync, readFileSync, writeFileSync, statSync, mkdirSync } from 'fs';
7
+ import { join, relative, basename } from 'path';
8
+ import yaml from 'js-yaml';
9
+
10
+ const EXAMPLES_DIR = join(process.cwd(), 'examples');
11
+ const OUTPUT_FILE = join(process.cwd(), 'website/content/docs/examples/catalog.md');
12
+
13
+ interface Example {
14
+ path: string;
15
+ name: string;
16
+ role?: string;
17
+ description?: string;
18
+ category: string;
19
+ }
20
+
21
+ function findYamlFiles(dir: string, category: string = ''): Example[] {
22
+ const examples: Example[] = [];
23
+ const entries = readdirSync(dir);
24
+
25
+ for (const entry of entries) {
26
+ const fullPath = join(dir, entry);
27
+ const stat = statSync(fullPath);
28
+
29
+ if (stat.isDirectory()) {
30
+ examples.push(...findYamlFiles(fullPath, category || entry));
31
+ } else if (entry.match(/\.(yaml|yml)$/)) {
32
+ try {
33
+ const content = readFileSync(fullPath, 'utf-8');
34
+ const data = yaml.load(content) as any;
35
+
36
+ if (data?.agent) {
37
+ examples.push({
38
+ path: relative(EXAMPLES_DIR, fullPath),
39
+ name: data.agent.name || basename(entry, '.yaml'),
40
+ role: data.agent.role,
41
+ description: data.agent.description,
42
+ category: category || 'general'
43
+ });
44
+ }
45
+ } catch (error) {
46
+ // Skip invalid YAML
47
+ }
48
+ }
49
+ }
50
+
51
+ return examples;
52
+ }
53
+
54
+ function generateDocs(examples: Example[]): string {
55
+ const byCategory = examples.reduce((acc, ex) => {
56
+ if (!acc[ex.category]) acc[ex.category] = [];
57
+ acc[ex.category].push(ex);
58
+ return acc;
59
+ }, {} as Record<string, Example[]>);
60
+
61
+ let doc = `# Examples Catalog
62
+
63
+ Auto-generated catalog of all OSSA agent examples.
64
+
65
+ **Total Examples**: ${examples.length}
66
+
67
+ `;
68
+
69
+ for (const [category, items] of Object.entries(byCategory).sort()) {
70
+ doc += `## ${category.charAt(0).toUpperCase() + category.slice(1)}\n\n`;
71
+
72
+ for (const item of items.sort((a, b) => a.name.localeCompare(b.name))) {
73
+ doc += `### ${item.name}\n\n`;
74
+ if (item.role) doc += `**Role**: \`${item.role}\`\n\n`;
75
+ if (item.description) doc += `${item.description}\n\n`;
76
+ doc += `**File**: [\`${item.path}\`](https://github.com/blueflyio/openstandardagents/blob/main/examples/${item.path})\n\n`;
77
+ doc += `\`\`\`bash\nossa validate examples/${item.path}\n\`\`\`\n\n`;
78
+ }
79
+ }
80
+
81
+ doc += `## Usage\n\n`;
82
+ doc += `\`\`\`bash\n# Validate any example\nossa validate examples/<path>\n\n`;
83
+ doc += `# Run an example\nossa run examples/<path>\n\`\`\`\n`;
84
+
85
+ return doc;
86
+ }
87
+
88
+ console.log('🚀 Generating examples documentation...\n');
89
+
90
+ const examples = findYamlFiles(EXAMPLES_DIR);
91
+ console.log(`📁 Found ${examples.length} examples\n`);
92
+
93
+ const doc = generateDocs(examples);
94
+
95
+ mkdirSync(join(process.cwd(), 'website/content/docs/examples'), { recursive: true });
96
+ writeFileSync(OUTPUT_FILE, doc);
97
+
98
+ console.log(`✅ Generated: ${relative(process.cwd(), OUTPUT_FILE)}`);
99
+ console.log(`\n✨ Examples documentation generated successfully!`);
@@ -0,0 +1,296 @@
1
+ #!/usr/bin/env tsx
2
+ /**
3
+ * Generate schema documentation from JSON Schema
4
+ *
5
+ * Usage: npm run docs:schema:generate
6
+ */
7
+
8
+ import { readFileSync, writeFileSync, mkdirSync } from 'fs';
9
+ import { join } from 'path';
10
+
11
+ interface SchemaProperty {
12
+ type: string | string[];
13
+ description?: string;
14
+ format?: string;
15
+ pattern?: string;
16
+ enum?: string[];
17
+ minimum?: number;
18
+ maximum?: number;
19
+ minLength?: number;
20
+ maxLength?: number;
21
+ required?: boolean;
22
+ default?: any;
23
+ examples?: any[];
24
+ properties?: Record<string, SchemaProperty>;
25
+ items?: SchemaProperty;
26
+ }
27
+
28
+ const SPEC_DIR = join(process.cwd(), 'spec/v0.2.5-RC');
29
+ const OUTPUT_DIR = join(process.cwd(), 'website/content/docs/schema-reference');
30
+
31
+ // Field documentation metadata
32
+ const FIELD_DOCS: Record<string, {
33
+ why: string;
34
+ how: string;
35
+ where: string;
36
+ examples: string[];
37
+ relatedFields: string[];
38
+ relatedDocs: string[];
39
+ }> = {
40
+ 'agent.id': {
41
+ why: 'Unique identifier for agent registration, API routing, and inter-agent communication',
42
+ how: 'Use DNS-1123 subdomain format: lowercase alphanumeric with hyphens, max 63 chars',
43
+ where: 'Used in API endpoints (/agents/{id}), Kubernetes resources, and registry URLs',
44
+ examples: [
45
+ 'my-agent',
46
+ 'data-processor-v2',
47
+ 'compliance-checker-prod'
48
+ ],
49
+ relatedFields: ['agent.name', 'agent.version', 'agent.role'],
50
+ relatedDocs: ['../cli-reference/ossa-validate.md', '../api-reference/core-api.md']
51
+ },
52
+ 'agent.name': {
53
+ why: 'Human-readable name for display in UIs and documentation',
54
+ how: 'Use descriptive names that clearly indicate the agent\'s purpose',
55
+ where: 'Displayed in agent lists, dashboards, and documentation',
56
+ examples: [
57
+ 'Data Processing Agent',
58
+ 'Compliance Checker',
59
+ 'Customer Support Bot'
60
+ ],
61
+ relatedFields: ['agent.id', 'agent.description'],
62
+ relatedDocs: ['../guides/creating-agents.md']
63
+ },
64
+ 'agent.version': {
65
+ why: 'Track agent versions for compatibility, rollback, and change management',
66
+ how: 'Use semantic versioning (MAJOR.MINOR.PATCH)',
67
+ where: 'Used in registry, deployment manifests, and API responses',
68
+ examples: [
69
+ '1.0.0',
70
+ '2.1.3',
71
+ '0.1.0-beta'
72
+ ],
73
+ relatedFields: ['agent.id', 'ossaVersion'],
74
+ relatedDocs: ['../guides/versioning.md']
75
+ },
76
+ 'agent.role': {
77
+ why: 'Classify agents by their function in the system for routing and orchestration',
78
+ how: 'Choose from predefined roles or use custom roles',
79
+ where: 'Used for agent discovery, filtering, and orchestration patterns',
80
+ examples: [
81
+ 'worker',
82
+ 'orchestrator',
83
+ 'compliance',
84
+ 'monitor'
85
+ ],
86
+ relatedFields: ['agent.capabilities', 'agent.taxonomy'],
87
+ relatedDocs: ['../architecture/multi-agent-systems.md']
88
+ },
89
+ 'agent.capabilities': {
90
+ why: 'Define what the agent can do, enabling capability-based routing and discovery',
91
+ how: 'List all capabilities with input/output schemas and descriptions',
92
+ where: 'Used by orchestrators to route tasks and by registry for discovery',
93
+ examples: [
94
+ 'process_data',
95
+ 'validate_compliance',
96
+ 'generate_report'
97
+ ],
98
+ relatedFields: ['agent.tools', 'agent.role'],
99
+ relatedDocs: ['../guides/defining-capabilities.md']
100
+ }
101
+ };
102
+
103
+ function generateFieldDoc(fieldPath: string, property: SchemaProperty): string {
104
+ const metadata = FIELD_DOCS[fieldPath] || {
105
+ why: 'No documentation available',
106
+ how: 'No documentation available',
107
+ where: 'No documentation available',
108
+ examples: [],
109
+ relatedFields: [],
110
+ relatedDocs: []
111
+ };
112
+
113
+ let doc = `# ${fieldPath}\n\n`;
114
+
115
+ // Type and requirements
116
+ const typeStr = Array.isArray(property.type) ? property.type.join(' | ') : property.type;
117
+ doc += `**Type**: \`${typeStr}\`\n`;
118
+ doc += `**Required**: ${property.required ? 'Yes' : 'No'}\n`;
119
+ if (property.format) {
120
+ doc += `**Format**: ${property.format}\n`;
121
+ }
122
+ doc += '\n';
123
+
124
+ // Description
125
+ if (property.description) {
126
+ doc += `## Description\n\n${property.description}\n\n`;
127
+ }
128
+
129
+ // Why
130
+ doc += `## Why This Field Exists\n\n${metadata.why}\n\n`;
131
+
132
+ // How
133
+ doc += `## How to Use\n\n${metadata.how}\n\n`;
134
+
135
+ // Where
136
+ doc += `## Where It's Used\n\n${metadata.where}\n\n`;
137
+
138
+ // Format requirements
139
+ if (property.pattern) {
140
+ doc += `## Format Requirements\n\n`;
141
+ doc += `Must match pattern: \`${property.pattern}\`\n\n`;
142
+ }
143
+
144
+ if (property.enum) {
145
+ doc += `## Allowed Values\n\n`;
146
+ for (const value of property.enum) {
147
+ doc += `- \`${value}\`\n`;
148
+ }
149
+ doc += '\n';
150
+ }
151
+
152
+ if (property.minimum !== undefined || property.maximum !== undefined) {
153
+ doc += `## Constraints\n\n`;
154
+ if (property.minimum !== undefined) {
155
+ doc += `- Minimum: ${property.minimum}\n`;
156
+ }
157
+ if (property.maximum !== undefined) {
158
+ doc += `- Maximum: ${property.maximum}\n`;
159
+ }
160
+ doc += '\n';
161
+ }
162
+
163
+ if (property.minLength !== undefined || property.maxLength !== undefined) {
164
+ doc += `## Length Constraints\n\n`;
165
+ if (property.minLength !== undefined) {
166
+ doc += `- Minimum length: ${property.minLength}\n`;
167
+ }
168
+ if (property.maxLength !== undefined) {
169
+ doc += `- Maximum length: ${property.maxLength}\n`;
170
+ }
171
+ doc += '\n';
172
+ }
173
+
174
+ // Examples
175
+ if (metadata.examples.length > 0) {
176
+ doc += `## Examples\n\n`;
177
+ for (const example of metadata.examples) {
178
+ doc += `\`\`\`yaml\n${fieldPath}: ${example}\n\`\`\`\n\n`;
179
+ }
180
+ }
181
+
182
+ // Validation
183
+ doc += `## Validation\n\n`;
184
+ doc += `\`\`\`bash\nossa validate agent.ossa.yaml\n\`\`\`\n\n`;
185
+
186
+ // Related fields
187
+ if (metadata.relatedFields.length > 0) {
188
+ doc += `## Related Fields\n\n`;
189
+ for (const field of metadata.relatedFields) {
190
+ const filename = field.replace(/\./g, '-') + '.md';
191
+ doc += `- [${field}](./${filename})\n`;
192
+ }
193
+ doc += '\n';
194
+ }
195
+
196
+ // Related documentation
197
+ if (metadata.relatedDocs.length > 0) {
198
+ doc += `## Related Documentation\n\n`;
199
+ for (const docLink of metadata.relatedDocs) {
200
+ doc += `- [${docLink.split('/').pop()?.replace('.md', '')}](${docLink})\n`;
201
+ }
202
+ doc += '\n';
203
+ }
204
+
205
+ return doc;
206
+ }
207
+
208
+ function main() {
209
+ console.log('🚀 Generating schema documentation...\n');
210
+
211
+ // Create output directory
212
+ mkdirSync(OUTPUT_DIR, { recursive: true });
213
+
214
+ // Read schema
215
+ const schemaPath = join(SPEC_DIR, 'ossa-0.2.5-RC.schema.json');
216
+ const schemaContent = readFileSync(schemaPath, 'utf-8');
217
+ const schema = JSON.parse(schemaContent);
218
+
219
+ console.log(`📁 Processing schema fields...\n`);
220
+
221
+ // Generate documentation for documented fields
222
+ let count = 0;
223
+ for (const [fieldPath, metadata] of Object.entries(FIELD_DOCS)) {
224
+ // Create a mock property for now (in real implementation, extract from schema)
225
+ const property: SchemaProperty = {
226
+ type: 'string',
227
+ description: `The ${fieldPath} field`,
228
+ required: true
229
+ };
230
+
231
+ const docContent = generateFieldDoc(fieldPath, property);
232
+ const filename = fieldPath.replace(/\./g, '-') + '.md';
233
+ const outputFile = join(OUTPUT_DIR, filename);
234
+
235
+ writeFileSync(outputFile, docContent);
236
+ console.log(`✅ Generated: ${filename}`);
237
+ count++;
238
+ }
239
+
240
+ // Generate index
241
+ const indexContent = `# Schema Reference
242
+
243
+ Complete reference for the OSSA agent manifest schema.
244
+
245
+ ## Overview
246
+
247
+ The OSSA schema defines the structure of agent manifests. Every field serves a specific purpose in the agent lifecycle.
248
+
249
+ ## Core Fields
250
+
251
+ ### Agent Identification
252
+ - [agent.id](./agent-id.md) - Unique agent identifier
253
+ - [agent.name](./agent-name.md) - Human-readable name
254
+ - [agent.version](./agent-version.md) - Semantic version
255
+ - [agent.role](./agent-role.md) - Agent role classification
256
+
257
+ ### Agent Capabilities
258
+ - [agent.capabilities](./agent-capabilities.md) - What the agent can do
259
+
260
+ ## Schema Versions
261
+
262
+ - **Current**: v0.2.5-RC
263
+ - **Stable**: v0.2.4
264
+ - **Previous**: v0.2.3, v0.2.2
265
+
266
+ See [Versioning Guide](../guides/versioning.md) for migration information.
267
+
268
+ ## Validation
269
+
270
+ Validate your agent manifests:
271
+
272
+ \`\`\`bash
273
+ ossa validate agent.ossa.yaml
274
+ \`\`\`
275
+
276
+ ## Complete Schema
277
+
278
+ View the complete JSON Schema:
279
+ - [v0.2.5-RC Schema](https://github.com/blueflyio/openstandardagents/blob/main/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json)
280
+
281
+ ## Related Documentation
282
+
283
+ - [CLI Reference](../cli-reference/index.md)
284
+ - [API Reference](../api-reference/index.md)
285
+ - [Creating Agents Guide](../guides/creating-agents.md)
286
+ `;
287
+
288
+ writeFileSync(join(OUTPUT_DIR, 'index.md'), indexContent);
289
+ console.log(`✅ Generated: index.md`);
290
+
291
+ console.log(`\n✨ Schema documentation generated successfully!`);
292
+ console.log(`📂 Output: ${OUTPUT_DIR}`);
293
+ console.log(`📊 Fields documented: ${count}`);
294
+ }
295
+
296
+ main();
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env tsx
2
+ import { readFileSync, writeFileSync, mkdirSync } from 'fs';
3
+ import { join } from 'path';
4
+
5
+ const TYPES_FILE = join(process.cwd(), 'src/types/index.ts');
6
+ const OUTPUT_FILE = join(process.cwd(), 'website/content/docs/types-reference/index.md');
7
+
8
+ const content = readFileSync(TYPES_FILE, 'utf-8');
9
+
10
+ // Extract interfaces and types
11
+ const interfaces = content.match(/export interface \w+[^}]+}/gs) || [];
12
+ const types = content.match(/export type \w+ = [^;]+;/gs) || [];
13
+
14
+ let doc = `# TypeScript Types Reference
15
+
16
+ Auto-generated from \`src/types/index.ts\`
17
+
18
+ ## Interfaces
19
+
20
+ `;
21
+
22
+ for (const iface of interfaces) {
23
+ const name = iface.match(/interface (\w+)/)?.[1];
24
+ if (name) {
25
+ doc += `### ${name}\n\n\`\`\`typescript\n${iface}\n\`\`\`\n\n`;
26
+ }
27
+ }
28
+
29
+ doc += `## Type Aliases\n\n`;
30
+
31
+ for (const type of types) {
32
+ const name = type.match(/type (\w+)/)?.[1];
33
+ if (name) {
34
+ doc += `### ${name}\n\n\`\`\`typescript\n${type}\n\`\`\`\n\n`;
35
+ }
36
+ }
37
+
38
+ doc += `## Usage
39
+
40
+ \`\`\`typescript
41
+ import { OSSAManifest, AgentSpec } from '@bluefly/openstandardagents';
42
+ \`\`\`
43
+ `;
44
+
45
+ mkdirSync(join(process.cwd(), 'website/content/docs/types-reference'), { recursive: true });
46
+ writeFileSync(OUTPUT_FILE, doc);
47
+
48
+ console.log(`✅ Generated types reference: ${interfaces.length} interfaces, ${types.length} types`);
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Execution Utilities
3
+ *
4
+ * DRY: Reusable command execution with proper error handling
5
+ * Type-safe: Validates commands and handles errors
6
+ */
7
+
8
+ import { execSync } from 'child_process';
9
+ import { z } from 'zod';
10
+
11
+ const CommandSchema = z.string().min(1);
12
+
13
+ interface ExecOptions {
14
+ encoding?: BufferEncoding;
15
+ stdio?: 'inherit' | 'pipe';
16
+ }
17
+
18
+ /**
19
+ * Execute command with validation and error handling
20
+ */
21
+ export function execCommand(
22
+ command: string,
23
+ options: ExecOptions = {}
24
+ ): string {
25
+ const validatedCommand = CommandSchema.parse(command);
26
+
27
+ try {
28
+ const result = execSync(validatedCommand, {
29
+ encoding: options.encoding || 'utf8',
30
+ stdio: options.stdio || 'pipe',
31
+ });
32
+ return result as string;
33
+ } catch (error: any) {
34
+ const message = error?.message || 'Command execution failed';
35
+ throw new Error(`Command failed: ${validatedCommand}\n${message}`);
36
+ }
37
+ }