@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
@@ -1,18 +1,58 @@
1
1
  import Link from 'next/link';
2
2
  import { SchemaExplorer } from '@/components/schema/SchemaExplorer';
3
- import { OSSA_VERSION } from '@/lib/version';
4
-
5
- // Import schema directly - this is bundled at build time
6
- const schemaJson = require('../../public/schemas/ossa-0.2.3.schema.json');
3
+ import { SchemaComponentsAccordion } from '@/components/schema/SchemaComponentsAccordion';
4
+ import { STABLE_VERSION, STABLE_VERSION_TAG, getSchemaPath } from '@/lib/version';
5
+ import { Logo } from '@/components/Logo';
6
+ import fs from 'fs';
7
+ import path from 'path';
8
+
9
+ // Get actual stable version from versions.json (not website package.json)
10
+ function getStableVersion(): string {
11
+ try {
12
+ const versionsPath = path.join(process.cwd(), 'lib', 'versions.json');
13
+ if (fs.existsSync(versionsPath)) {
14
+ const versions = JSON.parse(fs.readFileSync(versionsPath, 'utf8'));
15
+ return versions.stable || '0.2.4';
16
+ }
17
+ } catch (error) {
18
+ console.error('Error reading versions.json:', error);
19
+ }
20
+ // Fallback to 0.2.4 if versions.json not available
21
+ return '0.2.4';
22
+ }
7
23
 
8
- function loadSchema(): any {
9
- // Return the imported schema directly
10
- // This works in both development and production
11
- return schemaJson;
24
+ // Try to load schema dynamically - fallback to stable version
25
+ function loadSchema(version?: string): any {
26
+ const stableVersion = version || getStableVersion();
27
+ try {
28
+ // Try to load from public/schemas first
29
+ const publicSchemaPath = path.join(process.cwd(), 'public', 'schemas', `ossa-${stableVersion}.schema.json`);
30
+ if (fs.existsSync(publicSchemaPath)) {
31
+ return JSON.parse(fs.readFileSync(publicSchemaPath, 'utf8'));
32
+ }
33
+
34
+ // Fallback to spec directory
35
+ const specSchemaPath = path.join(process.cwd(), '..', 'spec', `v${stableVersion}`, `ossa-${stableVersion}.schema.json`);
36
+ if (fs.existsSync(specSchemaPath)) {
37
+ return JSON.parse(fs.readFileSync(specSchemaPath, 'utf8'));
38
+ }
39
+
40
+ // Final fallback - try to require (for build time)
41
+ try {
42
+ return require(`../../public/schemas/ossa-${stableVersion}.schema.json`);
43
+ } catch {
44
+ // If all else fails, return null
45
+ return null;
46
+ }
47
+ } catch (error) {
48
+ console.error('Error loading schema:', error);
49
+ return null;
50
+ }
12
51
  }
13
52
 
14
53
  export default function SchemaPage() {
15
- const schema = loadSchema();
54
+ const stableVersion = getStableVersion();
55
+ const schema = loadSchema(stableVersion);
16
56
 
17
57
  if (!schema) {
18
58
  return (
@@ -28,7 +68,7 @@ export default function SchemaPage() {
28
68
  return (
29
69
  <>
30
70
  {/* Hero Section */}
31
- <div className="bg-gradient-to-br from-primary via-accent to-secondary text-white py-16 px-4">
71
+ <div className="bg-gradient-to-br from-secondary via-primary to-accent text-white py-16 px-4">
32
72
  <div className="container mx-auto max-w-6xl text-center">
33
73
  <div className="inline-flex items-center justify-center w-20 h-20 bg-white/20 backdrop-blur-sm rounded-full mb-6">
34
74
  <svg className="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
@@ -40,7 +80,7 @@ export default function SchemaPage() {
40
80
  Complete JSON Schema for defining portable, framework-agnostic AI agents
41
81
  </p>
42
82
  <p className="text-lg text-white/80">
43
- Version v0.2.x • The OpenAPI for AI Agents
83
+ Version v{stableVersion} • The OpenAPI for AI Agents
44
84
  </p>
45
85
  </div>
46
86
  </div>
@@ -50,7 +90,7 @@ export default function SchemaPage() {
50
90
  <section className="mb-16">
51
91
  <div className="bg-gradient-to-br from-amber-50 via-orange-50 to-yellow-50 rounded-2xl p-8 mb-8">
52
92
  <div className="flex items-start mb-6">
53
- <div className="w-12 h-12 bg-gradient-to-br from-primary to-secondary rounded-lg flex items-center justify-center mr-4 flex-shrink-0">
93
+ <div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4 flex-shrink-0">
54
94
  <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55
95
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
56
96
  </svg>
@@ -80,7 +120,7 @@ export default function SchemaPage() {
80
120
  {/* Schema Architecture Diagram */}
81
121
  <section className="mb-16">
82
122
  <div className="flex items-center mb-8">
83
- <div className="w-12 h-12 bg-gradient-to-br from-primary to-secondary rounded-lg flex items-center justify-center mr-4">
123
+ <div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
84
124
  <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
85
125
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" />
86
126
  </svg>
@@ -97,29 +137,42 @@ export default function SchemaPage() {
97
137
 
98
138
  <div className="space-y-6">
99
139
  {/* Root */}
100
- <div className="bg-gradient-to-r from-primary to-secondary text-white rounded-xl p-6 text-center shadow-md">
140
+ <div className="bg-gradient-to-r from-secondary via-primary to-accent text-white rounded-xl p-6 text-center shadow-md">
101
141
  <div className="font-bold text-2xl mb-2">OSSA Agent Manifest</div>
102
142
  <div className="text-base opacity-90">agent.yaml / agent.json</div>
103
143
  </div>
104
144
 
105
145
  {/* Top Level Fields */}
106
146
  <div className="grid md:grid-cols-3 gap-6">
107
- <div className="bg-blue-50 border-3 border-blue-400 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
108
- <div className="font-bold text-blue-900 mb-3 text-xl">apiVersion</div>
109
- <div className="text-base text-gray-700 font-mono">ossa/v0.2.3</div>
110
- </div>
111
- <div className="bg-green-50 border-3 border-green-400 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
112
- <div className="font-bold text-green-900 mb-3 text-xl">kind</div>
113
- <div className="text-base text-gray-700 font-mono">Agent</div>
147
+ <div className="bg-blue-50/50 border-2 border-blue-200 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
148
+ <div className="font-bold text-gray-900 mb-2 text-xl">apiVersion</div>
149
+ <div className="text-base text-gray-600 mb-3">Specifies the OSSA specification version</div>
150
+ <div className="text-lg text-gray-800 font-mono">ossa/v{stableVersion}</div>
151
+ </div>
152
+ <div className="bg-green-50/50 border-2 border-green-200 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
153
+ <div className="font-bold text-gray-900 mb-2 text-xl">kind</div>
154
+ <div className="text-base text-gray-600 mb-3">Resource type identifier that specifies what type of OSSA resource this manifest defines.</div>
155
+ <div className="text-lg text-gray-800 font-mono mb-3">Agent</div>
156
+ <div className="text-sm text-gray-700 space-y-2 pt-3 border-t border-green-200">
157
+ <p><strong className="text-gray-900">Agent</strong> is the primary resource type in OSSA. An Agent represents an autonomous AI system that can:</p>
158
+ <ul className="list-disc list-inside space-y-1 text-gray-600 ml-2">
159
+ <li>Process natural language instructions</li>
160
+ <li>Make decisions and take actions</li>
161
+ <li>Use tools and interact with external systems</li>
162
+ <li>Maintain context and state across interactions</li>
163
+ </ul>
164
+ <p className="text-gray-600">Think of an Agent as a reusable, portable definition of an AI assistant that can be deployed to any framework.</p>
165
+ </div>
114
166
  </div>
115
- <div className="bg-purple-50 border-3 border-purple-400 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
116
- <div className="font-bold text-purple-900 mb-3 text-xl">metadata</div>
117
- <div className="text-sm text-gray-700 space-y-2">
118
- <div>• name</div>
119
- <div>• version</div>
120
- <div>• description</div>
121
- <div>• labels</div>
122
- <div>• annotations</div>
167
+ <div className="bg-purple-50/50 border-2 border-purple-200 rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow">
168
+ <div className="font-bold text-gray-900 mb-2 text-xl">metadata</div>
169
+ <div className="text-base text-gray-600 mb-3">Agent identification and labeling</div>
170
+ <div className="text-base text-gray-700 space-y-1.5 mt-3">
171
+ <div>• name - Unique agent identifier</div>
172
+ <div>• version - Agent version number</div>
173
+ <div>• description - Human-readable description</div>
174
+ <div>• labels - Key-value metadata tags</div>
175
+ <div>• annotations - Additional metadata</div>
123
176
  </div>
124
177
  </div>
125
178
  </div>
@@ -127,143 +180,158 @@ export default function SchemaPage() {
127
180
  {/* Main Content: spec and extensions - STACKED */}
128
181
  <div className="space-y-6">
129
182
  {/* spec */}
130
- <div className="bg-gradient-to-br from-primary/5 to-primary/10 border-3 border-primary rounded-xl p-6 shadow-md">
131
- <div className="font-bold text-primary text-2xl mb-5">spec</div>
183
+ <div className="bg-gradient-to-br from-blue-50/30 to-indigo-50/30 border-2 border-blue-200 rounded-xl p-6 shadow-md">
184
+ <div className="font-bold text-primary text-2xl mb-3">spec</div>
185
+ <div className="text-base text-gray-700 mb-6">Core agent configuration including behavior, capabilities, and operational settings.</div>
132
186
  <div className="space-y-3">
133
187
  {/* role */}
134
- <div className="bg-white rounded-lg p-4 border-2 border-primary/30 shadow-sm hover:shadow-md transition-all hover:border-primary/50">
135
- <div className="font-semibold text-primary text-base mb-2 flex items-center">
136
- <span className="mr-2">🎭</span> role
137
- </div>
138
- <div className="text-sm text-gray-700 mb-2">System prompt / identity</div>
139
- <div className="text-xs text-gray-600 bg-gray-50 rounded p-2 font-mono">
188
+ <div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
189
+ <div className="font-bold text-gray-900 text-lg mb-2">role</div>
190
+ <div className="text-base text-gray-700 mb-3">Defines the agent's system prompt and identity. This is the core instruction that tells the agent who it is and how it should behave.</div>
191
+ <div className="text-sm text-gray-600 bg-gray-50 rounded p-3 font-mono border border-gray-200">
140
192
  type: string (multi-line)
141
193
  </div>
142
194
  </div>
143
195
 
144
196
  {/* llm */}
145
- <div className="bg-white rounded-lg p-4 border-2 border-primary/30 shadow-sm hover:shadow-md transition-all hover:border-primary/50">
146
- <div className="font-semibold text-primary text-base mb-3 flex items-center">
147
- <span className="mr-2">🧠</span> llm
148
- </div>
149
- <div className="grid grid-cols-2 gap-2 text-sm text-gray-700">
150
- <div className="bg-blue-50 rounded p-2">
151
- <strong>provider</strong>: openai | anthropic | azure
197
+ <div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
198
+ <div className="font-bold text-gray-900 text-lg mb-2">llm</div>
199
+ <div className="text-base text-gray-700 mb-4">Configuration for the Large Language Model that powers the agent's reasoning and responses.</div>
200
+ <div className="grid grid-cols-2 gap-3 text-base text-gray-700">
201
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
202
+ <strong className="text-gray-900">provider</strong>
203
+ <div className="text-sm text-gray-600 mt-1">openai | anthropic | azure</div>
152
204
  </div>
153
- <div className="bg-blue-50 rounded p-2">
154
- <strong>model</strong>: gpt-4, claude-3, etc.
205
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
206
+ <strong className="text-gray-900">model</strong>
207
+ <div className="text-sm text-gray-600 mt-1">gpt-4, claude-3, etc.</div>
155
208
  </div>
156
- <div className="bg-blue-50 rounded p-2">
157
- <strong>temperature</strong>: 0.0 - 2.0
209
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
210
+ <strong className="text-gray-900">temperature</strong>
211
+ <div className="text-sm text-gray-600 mt-1">0.0 - 2.0 (creativity level)</div>
158
212
  </div>
159
- <div className="bg-blue-50 rounded p-2">
160
- <strong>max_tokens</strong>: integer
213
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
214
+ <strong className="text-gray-900">max_tokens</strong>
215
+ <div className="text-sm text-gray-600 mt-1">Maximum response length</div>
161
216
  </div>
162
217
  </div>
163
218
  </div>
164
219
 
165
220
  {/* tools */}
166
- <div className="bg-white rounded-lg p-4 border-2 border-primary/30 shadow-sm hover:shadow-md transition-all hover:border-primary/50">
167
- <div className="font-semibold text-primary text-base mb-3 flex items-center">
168
- <span className="mr-2">🔧</span> tools
169
- </div>
170
- <div className="text-sm text-gray-700 space-y-2">
171
- <div className="bg-purple-50 border border-purple-200 rounded p-2">
172
- <strong>http</strong>: REST API calls
221
+ <div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
222
+ <div className="font-bold text-gray-900 text-lg mb-2">tools</div>
223
+ <div className="text-base text-gray-700 mb-4">Capabilities the agent can use to interact with external systems and perform actions.</div>
224
+ <div className="text-base text-gray-700 space-y-2.5">
225
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
226
+ <strong className="text-gray-900">http</strong>
227
+ <div className="text-sm text-gray-600 mt-1">Make REST API calls to external services</div>
173
228
  </div>
174
- <div className="bg-green-50 border border-green-200 rounded p-2">
175
- <strong>code</strong>: Execute Python/JS/Shell
229
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
230
+ <strong className="text-gray-900">code</strong>
231
+ <div className="text-sm text-gray-600 mt-1">Execute Python, JavaScript, or Shell scripts</div>
176
232
  </div>
177
- <div className="bg-yellow-50 border border-yellow-200 rounded p-2">
178
- <strong>database</strong>: SQL queries
233
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
234
+ <strong className="text-gray-900">database</strong>
235
+ <div className="text-sm text-gray-600 mt-1">Run SQL queries against databases</div>
179
236
  </div>
180
- <div className="bg-pink-50 border border-pink-200 rounded p-2">
181
- <strong>file</strong>: Read/write operations
237
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
238
+ <strong className="text-gray-900">file</strong>
239
+ <div className="text-sm text-gray-600 mt-1">Read and write file system operations</div>
182
240
  </div>
183
- <div className="bg-cyan-50 border border-cyan-200 rounded p-2">
184
- <strong>search</strong>: Web/vector search
241
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
242
+ <strong className="text-gray-900">search</strong>
243
+ <div className="text-sm text-gray-600 mt-1">Web search and vector similarity search</div>
185
244
  </div>
186
245
  </div>
187
246
  </div>
188
247
 
189
248
  {/* taxonomy */}
190
- <div className="bg-white rounded-lg p-4 border-2 border-primary/30 shadow-sm hover:shadow-md transition-all hover:border-primary/50">
191
- <div className="font-semibold text-primary text-base mb-3 flex items-center">
192
- <span className="mr-2">🏷️</span> taxonomy
193
- </div>
194
- <div className="grid grid-cols-2 gap-2 text-xs">
195
- <div className="bg-orange-50 rounded p-2">
196
- <strong>domain</strong>: customer_service, engineering, etc.
249
+ <div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
250
+ <div className="font-bold text-gray-900 text-lg mb-2">taxonomy</div>
251
+ <div className="text-base text-gray-700 mb-4">Categorization metadata for organizing and discovering agents across domains and use cases.</div>
252
+ <div className="grid grid-cols-2 gap-3 text-base">
253
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
254
+ <strong className="text-gray-900">domain</strong>
255
+ <div className="text-sm text-gray-600 mt-1">customer_service, engineering, etc.</div>
197
256
  </div>
198
- <div className="bg-orange-50 rounded p-2">
199
- <strong>subdomain</strong>: technical_support, devops, etc.
257
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
258
+ <strong className="text-gray-900">subdomain</strong>
259
+ <div className="text-sm text-gray-600 mt-1">technical_support, devops, etc.</div>
200
260
  </div>
201
- <div className="bg-orange-50 rounded p-2">
202
- <strong>use_case</strong>: troubleshooting, automation
261
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
262
+ <strong className="text-gray-900">use_case</strong>
263
+ <div className="text-sm text-gray-600 mt-1">troubleshooting, automation</div>
203
264
  </div>
204
- <div className="bg-orange-50 rounded p-2">
205
- <strong>industry</strong>: saas, healthcare, finance
265
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
266
+ <strong className="text-gray-900">industry</strong>
267
+ <div className="text-sm text-gray-600 mt-1">saas, healthcare, finance</div>
206
268
  </div>
207
269
  </div>
208
270
  </div>
209
271
 
210
272
  {/* autonomy */}
211
- <div className="bg-white rounded-lg p-4 border-2 border-primary/30 shadow-sm hover:shadow-md transition-all hover:border-primary/50">
212
- <div className="font-semibold text-primary text-base mb-3 flex items-center">
213
- <span className="mr-2">🎯</span> autonomy
214
- </div>
215
- <div className="space-y-2 text-sm">
216
- <div className="bg-red-50 border border-red-200 rounded p-2">
217
- <strong>level</strong>: L0 (no autonomy) → L5 (full autonomy)
273
+ <div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
274
+ <div className="font-bold text-gray-900 text-lg mb-2">autonomy</div>
275
+ <div className="text-base text-gray-700 mb-4">Controls how independently the agent can operate, from fully manual (L0) to fully autonomous (L5).</div>
276
+ <div className="space-y-2.5 text-base">
277
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
278
+ <strong className="text-gray-900">level</strong>
279
+ <div className="text-sm text-gray-600 mt-1">L0 (no autonomy) → L5 (full autonomy)</div>
218
280
  </div>
219
- <div className="bg-yellow-50 border border-yellow-200 rounded p-2">
220
- <strong>approval_required</strong>: Actions needing approval
281
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
282
+ <strong className="text-gray-900">approval_required</strong>
283
+ <div className="text-sm text-gray-600 mt-1">List of actions that require human approval before execution</div>
221
284
  </div>
222
- <div className="bg-green-50 border border-green-200 rounded p-2">
223
- <strong>human_in_loop</strong>: Notification settings
285
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3">
286
+ <strong className="text-gray-900">human_in_loop</strong>
287
+ <div className="text-sm text-gray-600 mt-1">Notification and escalation settings for human oversight</div>
224
288
  </div>
225
289
  </div>
226
290
  </div>
227
291
 
228
292
  {/* observability */}
229
- <div className="bg-white rounded-lg p-4 border-2 border-primary/30 shadow-sm hover:shadow-md transition-all hover:border-primary/50">
230
- <div className="font-semibold text-primary text-base mb-3 flex items-center">
231
- <span className="mr-2">📊</span> observability
232
- </div>
233
- <div className="grid grid-cols-3 gap-2 text-xs">
234
- <div className="bg-indigo-50 rounded p-2 text-center">
235
- <div className="font-bold">logging</div>
236
- <div className="text-gray-600">Logs & audit</div>
293
+ <div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
294
+ <div className="font-bold text-gray-900 text-lg mb-2">observability</div>
295
+ <div className="text-base text-gray-700 mb-4">Monitoring and debugging capabilities for tracking agent behavior and performance.</div>
296
+ <div className="grid grid-cols-3 gap-3 text-base">
297
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200 text-center">
298
+ <div className="font-bold text-gray-900">logging</div>
299
+ <div className="text-sm text-gray-600 mt-1">Logs & audit trails</div>
237
300
  </div>
238
- <div className="bg-purple-50 rounded p-2 text-center">
239
- <div className="font-bold">metrics</div>
240
- <div className="text-gray-600">Performance</div>
301
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200 text-center">
302
+ <div className="font-bold text-gray-900">metrics</div>
303
+ <div className="text-sm text-gray-600 mt-1">Performance data</div>
241
304
  </div>
242
- <div className="bg-pink-50 rounded p-2 text-center">
243
- <div className="font-bold">tracing</div>
244
- <div className="text-gray-600">Execution paths</div>
305
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200 text-center">
306
+ <div className="font-bold text-gray-900">tracing</div>
307
+ <div className="text-sm text-gray-600 mt-1">Execution paths</div>
245
308
  </div>
246
309
  </div>
247
310
  </div>
248
311
 
249
312
  {/* constraints (additional) */}
250
- <div className="bg-white rounded-lg p-4 border-2 border-primary/30 shadow-sm hover:shadow-md transition-all hover:border-primary/50">
251
- <div className="font-semibold text-primary text-base mb-3 flex items-center">
252
- <span className="mr-2">⚠️</span> constraints
253
- <span className="ml-2 text-xs bg-gray-200 text-gray-700 px-2 py-0.5 rounded">Optional</span>
313
+ <div className="bg-white rounded-lg p-5 border-2 border-gray-200 shadow-sm hover:shadow-md transition-all">
314
+ <div className="font-bold text-gray-900 text-lg mb-2 flex items-center gap-2">
315
+ constraints
316
+ <span className="text-sm bg-gray-200 text-gray-700 px-2 py-1 rounded font-normal">Optional</span>
254
317
  </div>
255
- <div className="grid grid-cols-2 gap-2 text-xs">
256
- <div className="bg-red-50 rounded p-2">
257
- <strong>cost</strong>: Budget limits
318
+ <div className="text-base text-gray-700 mb-4">Resource limits and operational boundaries to ensure safe and controlled agent execution.</div>
319
+ <div className="grid grid-cols-2 gap-3 text-base">
320
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
321
+ <strong className="text-gray-900">cost</strong>
322
+ <div className="text-sm text-gray-600 mt-1">Budget and spending limits</div>
258
323
  </div>
259
- <div className="bg-yellow-50 rounded p-2">
260
- <strong>performance</strong>: Timeout, rate limits
324
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
325
+ <strong className="text-gray-900">performance</strong>
326
+ <div className="text-sm text-gray-600 mt-1">Timeout and rate limiting</div>
261
327
  </div>
262
- <div className="bg-blue-50 rounded p-2">
263
- <strong>resources</strong>: Memory, CPU caps
328
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
329
+ <strong className="text-gray-900">resources</strong>
330
+ <div className="text-sm text-gray-600 mt-1">Memory and CPU constraints</div>
264
331
  </div>
265
- <div className="bg-green-50 rounded p-2">
266
- <strong>security</strong>: Access controls
332
+ <div className="bg-gray-50 rounded-lg p-3 border border-gray-200">
333
+ <strong className="text-gray-900">security</strong>
334
+ <div className="text-sm text-gray-600 mt-1">Access control and permissions</div>
267
335
  </div>
268
336
  </div>
269
337
  </div>
@@ -271,26 +339,32 @@ export default function SchemaPage() {
271
339
  </div>
272
340
 
273
341
  {/* extensions */}
274
- <div className="bg-gradient-to-br from-secondary/5 to-secondary/10 border-3 border-secondary rounded-xl p-6 shadow-md">
275
- <div className="font-bold text-secondary text-2xl mb-4">extensions</div>
276
- <div className="text-base text-gray-800 mb-4 font-semibold">Framework-specific configs:</div>
277
- <div className="grid grid-cols-2 gap-3 text-sm">
278
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• kAgent</div>
279
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• BuildKit</div>
280
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• LangChain</div>
281
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• CrewAI</div>
282
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• OpenAI</div>
283
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• Anthropic</div>
284
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• Cursor</div>
285
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• Langflow</div>
286
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• AutoGen</div>
287
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• Vercel AI</div>
288
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• LlamaIndex</div>
289
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• LangGraph</div>
290
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• Drupal</div>
291
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• LibreChat</div>
292
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow">• MCP</div>
293
- <div className="bg-white rounded-lg px-3 py-2.5 border-2 border-secondary/30 shadow-sm hover:shadow-md transition-shadow text-center col-span-2 font-semibold">+ 10 more frameworks</div>
342
+ <div className="bg-gradient-to-br from-purple-50/30 to-pink-50/30 border-2 border-purple-200 rounded-xl p-6 shadow-md">
343
+ <div className="font-bold text-secondary text-2xl mb-3">extensions</div>
344
+ <div className="text-base text-gray-700 mb-6">Optional framework-specific configurations that extend the core OSSA specification for platform-specific features.</div>
345
+ <div className="text-base text-gray-800 mb-6 font-semibold">Supported frameworks:</div>
346
+ <div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 gap-4">
347
+ <Logo domain="kagent.dev" name="kAgent" />
348
+ <Logo domain="langchain.com" name="LangChain" />
349
+ <Logo domain="crewai.com" name="CrewAI" />
350
+ <Logo domain="openai.com" name="OpenAI" />
351
+ <Logo domain="anthropic.com" name="Anthropic" />
352
+ <Logo domain="cursor.sh" name="Cursor" />
353
+ <Logo domain="langflow.com" name="Langflow" />
354
+ <Logo domain="microsoft.com" name="AutoGen" />
355
+ <Logo domain="vercel.com" name="Vercel AI" />
356
+ <Logo domain="llamaindex.ai" name="LlamaIndex" />
357
+ <Logo domain="langchain.com" name="LangGraph" />
358
+ <Logo domain="drupal.org" name="Drupal" />
359
+ <Logo domain="librechat.com" name="LibreChat" />
360
+ <Logo domain="modelcontextprotocol.io" name="MCP" />
361
+ <Logo domain="huggingface.co" name="Hugging Face" />
362
+ <Logo domain="google.com" name="Google" />
363
+ <Logo domain="aws.amazon.com" name="AWS" />
364
+ <Logo domain="azure.com" name="Azure" />
365
+ <Logo domain="github.com" name="GitHub" />
366
+ <Logo domain="docker.com" name="Docker" />
367
+ <Logo domain="kubernetes.io" name="Kubernetes" />
294
368
  </div>
295
369
  </div>
296
370
  </div>
@@ -301,7 +375,7 @@ export default function SchemaPage() {
301
375
  {/* Data Flow Diagram */}
302
376
  <section className="mb-16">
303
377
  <div className="flex items-center mb-8">
304
- <div className="w-12 h-12 bg-gradient-to-br from-secondary to-primary rounded-lg flex items-center justify-center mr-4">
378
+ <div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
305
379
  <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
306
380
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
307
381
  </svg>
@@ -381,124 +455,137 @@ export default function SchemaPage() {
381
455
  </div>
382
456
 
383
457
  {/* Visual Data Flow Diagram - Clean HTML/CSS Version */}
384
- <div className="bg-gradient-to-br from-blue-50 to-cyan-50 rounded-2xl p-8 border-2 border-blue-300">
385
- <h3 className="text-2xl font-bold mb-8 text-center text-gray-900">Complete Agent Lifecycle</h3>
458
+ <div className="bg-gradient-to-br from-gray-50 to-gray-100 rounded-2xl p-8 border-2 border-gray-300">
459
+ <h3 className="text-2xl font-bold mb-4 text-center text-gray-900">Complete Agent Lifecycle</h3>
460
+ <p className="text-center text-gray-600 mb-8 text-base">From development to deployment across any framework</p>
386
461
 
387
462
  <div className="space-y-6">
388
463
  {/* Step 1: Developer */}
389
464
  <div className="flex flex-col items-center">
390
- <div className="bg-gradient-to-r from-purple-500 to-purple-600 text-white rounded-xl p-6 shadow-lg w-full max-w-md text-center">
391
- <div className="text-lg font-bold mb-2">👨‍💻 Developer</div>
392
- <div className="text-base">Writes OSSA Manifest</div>
393
- <div className="text-sm mt-2 opacity-90">agent.yaml</div>
465
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md w-full max-w-md text-center">
466
+ <div className="text-lg font-bold mb-2 text-gray-900">Developer</div>
467
+ <div className="text-base text-gray-700">Writes OSSA Manifest</div>
468
+ <div className="text-sm mt-2 text-gray-600 font-mono">agent.yaml</div>
394
469
  </div>
395
- <div className="w-1 h-12 bg-gradient-to-b from-purple-500 to-blue-500"></div>
470
+ <div className="w-0.5 h-12 bg-gray-300"></div>
396
471
  </div>
397
472
 
398
473
  {/* Step 2: Validation */}
399
474
  <div className="flex flex-col items-center">
400
475
  <div className="grid md:grid-cols-2 gap-4 w-full max-w-4xl">
401
- <div className="bg-gradient-to-r from-blue-500 to-blue-600 text-white rounded-xl p-6 shadow-lg">
402
- <div className="text-lg font-bold mb-2">🔍 OSSA Schema Validator</div>
476
+ <div className="bg-gray-800 text-white rounded-xl p-6 shadow-lg">
477
+ <div className="text-lg font-bold mb-2">OSSA Schema Validator</div>
403
478
  <div className="text-sm opacity-90">JSON Schema validation engine</div>
404
479
  </div>
405
- <div className="bg-white border-2 border-blue-400 rounded-xl p-6 shadow-md">
406
- <div className="text-base font-bold text-blue-900 mb-3">Validation Checks:</div>
407
- <div className="space-y-1 text-sm text-gray-700">
408
- <div>✓ Required fields present</div>
409
- <div>✓ Correct types</div>
410
- <div>✓ Value constraints</div>
411
- <div>✓ Schema compliance</div>
480
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md">
481
+ <div className="text-base font-bold text-gray-900 mb-3">Validation Checks:</div>
482
+ <div className="space-y-2 text-sm text-gray-700">
483
+ <div className="flex items-center">
484
+ <span className="text-green-600 mr-2">✓</span>
485
+ <span>Required fields present</span>
486
+ </div>
487
+ <div className="flex items-center">
488
+ <span className="text-green-600 mr-2">✓</span>
489
+ <span>Correct types</span>
490
+ </div>
491
+ <div className="flex items-center">
492
+ <span className="text-green-600 mr-2">✓</span>
493
+ <span>Value constraints</span>
494
+ </div>
495
+ <div className="flex items-center">
496
+ <span className="text-green-600 mr-2">✓</span>
497
+ <span>Schema compliance</span>
498
+ </div>
412
499
  </div>
413
500
  </div>
414
501
  </div>
415
- <div className="w-1 h-12 bg-gradient-to-b from-blue-500 to-green-500"></div>
416
- <div className="bg-green-500 text-white px-6 py-2 rounded-full font-bold shadow-md">
417
- Valid Manifest
502
+ <div className="w-0.5 h-12 bg-gray-300"></div>
503
+ <div className="bg-gray-800 text-white px-6 py-2 rounded-full font-bold shadow-md">
504
+ Valid Manifest
418
505
  </div>
419
- <div className="w-1 h-12 bg-gradient-to-b from-green-500 to-orange-500"></div>
506
+ <div className="w-0.5 h-12 bg-gray-300"></div>
420
507
  </div>
421
508
 
422
509
  {/* Step 3: Framework Adapter Layer */}
423
510
  <div className="flex flex-col items-center">
424
- <div className="bg-gradient-to-r from-orange-500 to-orange-600 text-white rounded-xl p-6 shadow-lg w-full max-w-3xl text-center">
425
- <div className="text-xl font-bold mb-2">⚙️ Framework Adapter Layer</div>
511
+ <div className="bg-gray-800 text-white rounded-xl p-6 shadow-lg w-full max-w-3xl text-center">
512
+ <div className="text-xl font-bold mb-2">Framework Adapter Layer</div>
426
513
  <div className="text-base opacity-90">Converts OSSA → Framework-Specific Config</div>
427
514
  </div>
428
515
  <div className="flex space-x-2 mt-4">
429
- <div className="w-1 h-12 bg-gradient-to-b from-orange-500 to-indigo-500"></div>
430
- <div className="w-1 h-12 bg-gradient-to-b from-orange-500 to-purple-500"></div>
431
- <div className="w-1 h-12 bg-gradient-to-b from-orange-500 to-pink-500"></div>
432
- <div className="w-1 h-12 bg-gradient-to-b from-orange-500 to-cyan-500"></div>
516
+ <div className="w-0.5 h-12 bg-gray-300"></div>
517
+ <div className="w-0.5 h-12 bg-gray-300"></div>
518
+ <div className="w-0.5 h-12 bg-gray-300"></div>
519
+ <div className="w-0.5 h-12 bg-gray-300"></div>
433
520
  </div>
434
521
  </div>
435
522
 
436
523
  {/* Step 4: Runtimes */}
437
524
  <div className="flex flex-col items-center">
438
525
  <div className="grid md:grid-cols-4 gap-4 w-full max-w-5xl">
439
- <div className="bg-gradient-to-br from-indigo-500 to-indigo-600 text-white rounded-xl p-5 shadow-lg text-center">
440
- <div className="text-base font-bold mb-2">🚀 kAgent</div>
441
- <div className="text-xs opacity-90">Runtime</div>
526
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
527
+ <div className="text-base font-bold mb-2 text-gray-900">kAgent</div>
528
+ <div className="text-xs text-gray-600">Runtime</div>
442
529
  </div>
443
- <div className="bg-gradient-to-br from-purple-500 to-purple-600 text-white rounded-xl p-5 shadow-lg text-center">
444
- <div className="text-base font-bold mb-2">🔗 LangChain</div>
445
- <div className="text-xs opacity-90">Runtime</div>
530
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
531
+ <div className="text-base font-bold mb-2 text-gray-900">LangChain</div>
532
+ <div className="text-xs text-gray-600">Runtime</div>
446
533
  </div>
447
- <div className="bg-gradient-to-br from-pink-500 to-pink-600 text-white rounded-xl p-5 shadow-lg text-center">
448
- <div className="text-base font-bold mb-2">👥 CrewAI</div>
449
- <div className="text-xs opacity-90">Runtime</div>
534
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
535
+ <div className="text-base font-bold mb-2 text-gray-900">CrewAI</div>
536
+ <div className="text-xs text-gray-600">Runtime</div>
450
537
  </div>
451
- <div className="bg-gradient-to-br from-cyan-500 to-cyan-600 text-white rounded-xl p-5 shadow-lg text-center">
452
- <div className="text-base font-bold mb-2">🤖 OpenAI</div>
453
- <div className="text-xs opacity-90">Runtime</div>
538
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-5 shadow-md text-center">
539
+ <div className="text-base font-bold mb-2 text-gray-900">OpenAI</div>
540
+ <div className="text-xs text-gray-600">Runtime</div>
454
541
  </div>
455
542
  </div>
456
543
  <div className="flex justify-center mt-4 space-x-2">
457
- <div className="w-1 h-12 bg-gradient-to-b from-indigo-500 to-teal-500"></div>
458
- <div className="w-1 h-12 bg-gradient-to-b from-purple-500 to-teal-500"></div>
459
- <div className="w-1 h-12 bg-gradient-to-b from-pink-500 to-teal-500"></div>
460
- <div className="w-1 h-12 bg-gradient-to-b from-cyan-500 to-teal-500"></div>
544
+ <div className="w-0.5 h-12 bg-gray-300"></div>
545
+ <div className="w-0.5 h-12 bg-gray-300"></div>
546
+ <div className="w-0.5 h-12 bg-gray-300"></div>
547
+ <div className="w-0.5 h-12 bg-gray-300"></div>
461
548
  </div>
462
549
  </div>
463
550
 
464
551
  {/* Step 5: Agent Execution */}
465
552
  <div className="flex flex-col items-center">
466
- <div className="bg-gradient-to-r from-teal-500 to-teal-600 text-white rounded-xl p-6 shadow-lg w-full max-w-2xl">
467
- <div className="text-xl font-bold mb-4 text-center">⚡ Agent Execution</div>
468
- <div className="grid grid-cols-3 gap-3 text-sm">
469
- <div className="bg-white/20 backdrop-blur-sm rounded-lg p-3 text-center">
470
- <div className="font-bold mb-1">🧠 LLM Calls</div>
471
- <div className="text-xs opacity-90">GPT-4, Claude, etc.</div>
553
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md w-full max-w-2xl">
554
+ <div className="text-xl font-bold mb-4 text-center text-gray-900">Agent Execution</div>
555
+ <div className="grid grid-cols-3 gap-3 text-base">
556
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
557
+ <div className="font-bold mb-1 text-gray-900">LLM Calls</div>
558
+ <div className="text-sm text-gray-600">GPT-4, Claude, etc.</div>
472
559
  </div>
473
- <div className="bg-white/20 backdrop-blur-sm rounded-lg p-3 text-center">
474
- <div className="font-bold mb-1">🔧 Tool Usage</div>
475
- <div className="text-xs opacity-90">APIs, Code, DB</div>
560
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
561
+ <div className="font-bold mb-1 text-gray-900">Tool Usage</div>
562
+ <div className="text-sm text-gray-600">APIs, Code, DB</div>
476
563
  </div>
477
- <div className="bg-white/20 backdrop-blur-sm rounded-lg p-3 text-center">
478
- <div className="font-bold mb-1">📋 Task Processing</div>
479
- <div className="text-xs opacity-90">Execute workflows</div>
564
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
565
+ <div className="font-bold mb-1 text-gray-900">Task Processing</div>
566
+ <div className="text-sm text-gray-600">Execute workflows</div>
480
567
  </div>
481
568
  </div>
482
569
  </div>
483
- <div className="w-1 h-12 bg-gradient-to-b from-teal-500 to-amber-500"></div>
570
+ <div className="w-0.5 h-12 bg-gray-300"></div>
484
571
  </div>
485
572
 
486
573
  {/* Step 6: Observability */}
487
574
  <div className="flex flex-col items-center">
488
- <div className="bg-gradient-to-r from-amber-500 to-amber-600 text-white rounded-xl p-6 shadow-lg w-full max-w-2xl">
489
- <div className="text-xl font-bold mb-4 text-center">📊 Observability</div>
490
- <div className="grid grid-cols-3 gap-3 text-sm">
491
- <div className="bg-white/20 backdrop-blur-sm rounded-lg p-3 text-center">
492
- <div className="font-bold mb-1">📝 Logs</div>
493
- <div className="text-xs opacity-90">Debug & audit</div>
575
+ <div className="bg-white border-2 border-gray-300 rounded-xl p-6 shadow-md w-full max-w-2xl">
576
+ <div className="text-xl font-bold mb-4 text-center text-gray-900">Observability</div>
577
+ <div className="grid grid-cols-3 gap-3 text-base">
578
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
579
+ <div className="font-bold mb-1 text-gray-900">Logs</div>
580
+ <div className="text-sm text-gray-600">Debug & audit</div>
494
581
  </div>
495
- <div className="bg-white/20 backdrop-blur-sm rounded-lg p-3 text-center">
496
- <div className="font-bold mb-1">📈 Metrics</div>
497
- <div className="text-xs opacity-90">Performance data</div>
582
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
583
+ <div className="font-bold mb-1 text-gray-900">Metrics</div>
584
+ <div className="text-sm text-gray-600">Performance data</div>
498
585
  </div>
499
- <div className="bg-white/20 backdrop-blur-sm rounded-lg p-3 text-center">
500
- <div className="font-bold mb-1">🔍 Traces</div>
501
- <div className="text-xs opacity-90">Execution paths</div>
586
+ <div className="bg-gray-50 border border-gray-200 rounded-lg p-3 text-center">
587
+ <div className="font-bold mb-1 text-gray-900">Traces</div>
588
+ <div className="text-sm text-gray-600">Execution paths</div>
502
589
  </div>
503
590
  </div>
504
591
  </div>
@@ -509,8 +596,8 @@ export default function SchemaPage() {
509
596
 
510
597
  {/* Core Components Breakdown */}
511
598
  <section className="mb-16">
512
- <div className="flex items-center mb-8">
513
- <div className="w-12 h-12 bg-gradient-to-br from-primary to-secondary rounded-lg flex items-center justify-center mr-4">
599
+ <div className="flex items-center mb-6">
600
+ <div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
514
601
  <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
515
602
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z" />
516
603
  </svg>
@@ -518,51 +605,50 @@ export default function SchemaPage() {
518
605
  <h2 className="text-3xl font-bold text-primary">Schema Components</h2>
519
606
  </div>
520
607
 
521
- <div className="grid gap-6">
522
- {/* apiVersion & kind */}
523
- <div className="card p-6 border-l-4 border-primary hover:shadow-xl transition-shadow">
524
- <div className="flex items-start">
525
- <div className="w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
526
- <span className="text-2xl">🔖</span>
527
- </div>
528
- <div className="flex-1">
529
- <h3 className="text-2xl font-bold text-primary mb-3">apiVersion & kind</h3>
530
- <div className="space-y-3">
608
+ <p className="text-lg text-gray-700 mb-8 max-w-4xl">
609
+ The OSSA schema is organized into core components that define every aspect of an AI agent.
610
+ Each component serves a specific purpose in creating portable, framework-agnostic agent definitions.
611
+ Click on any component below to learn more about its structure, purpose, and usage.
612
+ </p>
613
+
614
+ <SchemaComponentsAccordion
615
+ items={[
616
+ {
617
+ id: 'apiversion-kind',
618
+ title: 'apiVersion & kind',
619
+ borderColor: 'border-primary',
620
+ content: (
621
+ <div className="space-y-4">
531
622
  <div>
532
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
623
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
533
624
  <p className="text-gray-700">Version identifier and resource type for the manifest.</p>
534
625
  </div>
535
626
  <div>
536
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
627
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
537
628
  <p className="text-gray-700">Enables schema evolution while maintaining backward compatibility. Like Kubernetes resources or OpenAPI specs, agents can evolve without breaking existing definitions.</p>
538
629
  </div>
539
630
  <div>
540
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
541
- <div className="bg-code-bg rounded-lg p-3 mt-2">
542
- <pre className="text-code-text text-sm"><code>{`apiVersion: ossa/v0.2.3
631
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
632
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
633
+ <pre className="text-green-400 text-sm font-mono"><code>{`apiVersion: ossa/v${stableVersion}
543
634
  kind: Agent`}</code></pre>
544
635
  </div>
545
636
  </div>
546
637
  </div>
547
- </div>
548
- </div>
549
- </div>
550
-
551
- {/* metadata */}
552
- <div className="card p-6 border-l-4 border-secondary hover:shadow-xl transition-shadow">
553
- <div className="flex items-start">
554
- <div className="w-10 h-10 bg-secondary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
555
- <span className="text-2xl">📋</span>
556
- </div>
557
- <div className="flex-1">
558
- <h3 className="text-2xl font-bold text-secondary mb-3">metadata</h3>
559
- <div className="space-y-3">
638
+ ),
639
+ },
640
+ {
641
+ id: 'metadata',
642
+ title: 'metadata',
643
+ borderColor: 'border-secondary',
644
+ content: (
645
+ <div className="space-y-4">
560
646
  <div>
561
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
647
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
562
648
  <p className="text-gray-700">Identification and classification information: name, version, description, labels, annotations.</p>
563
649
  </div>
564
650
  <div>
565
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
651
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
566
652
  <p className="text-gray-700">
567
653
  <strong>Discovery:</strong> Find agents by name/labels in catalogs.<br/>
568
654
  <strong>Versioning:</strong> Track changes over time.<br/>
@@ -571,9 +657,9 @@ kind: Agent`}</code></pre>
571
657
  </p>
572
658
  </div>
573
659
  <div>
574
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
575
- <div className="bg-code-bg rounded-lg p-3 mt-2">
576
- <pre className="text-code-text text-sm"><code>{`metadata:
660
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
661
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
662
+ <pre className="text-green-400 text-sm font-mono"><code>{`metadata:
577
663
  name: customer-support-agent
578
664
  version: 2.1.0
579
665
  description: Handles tier-1 support tickets with sentiment analysis
@@ -586,34 +672,29 @@ kind: Agent`}</code></pre>
586
672
  </div>
587
673
  </div>
588
674
  </div>
589
- </div>
590
- </div>
591
- </div>
592
-
593
- {/* spec.role */}
594
- <div className="card p-6 border-l-4 border-primary hover:shadow-xl transition-shadow">
595
- <div className="flex items-start">
596
- <div className="w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
597
- <span className="text-2xl">🎭</span>
598
- </div>
599
- <div className="flex-1">
600
- <h3 className="text-2xl font-bold text-primary mb-3">spec.role</h3>
601
- <div className="space-y-3">
675
+ ),
676
+ },
677
+ {
678
+ id: 'spec-role',
679
+ title: 'spec.role',
680
+ borderColor: 'border-primary',
681
+ content: (
682
+ <div className="space-y-4">
602
683
  <div>
603
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
684
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
604
685
  <p className="text-gray-700">The system prompt / role definition that guides the agent's behavior and personality.</p>
605
686
  </div>
606
687
  <div>
607
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
688
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
608
689
  <p className="text-gray-700">
609
690
  Defines <strong>who</strong> the agent is, <strong>what</strong> it can do, and <strong>how</strong> it should behave.
610
691
  This is the agent's identity and primary instruction set that shapes all interactions.
611
692
  </p>
612
693
  </div>
613
694
  <div>
614
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
615
- <div className="bg-code-bg rounded-lg p-3 mt-2">
616
- <pre className="text-code-text text-sm"><code>{`spec:
695
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
696
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
697
+ <pre className="text-green-400 text-sm font-mono"><code>{`spec:
617
698
  role: |
618
699
  You are a senior software architect specializing in distributed systems.
619
700
  Your role is to review code for scalability, security, and best practices.
@@ -622,25 +703,20 @@ kind: Agent`}</code></pre>
622
703
  </div>
623
704
  </div>
624
705
  </div>
625
- </div>
626
- </div>
627
- </div>
628
-
629
- {/* spec.llm */}
630
- <div className="card p-6 border-l-4 border-secondary hover:shadow-xl transition-shadow">
631
- <div className="flex items-start">
632
- <div className="w-10 h-10 bg-secondary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
633
- <span className="text-2xl">🧠</span>
634
- </div>
635
- <div className="flex-1">
636
- <h3 className="text-2xl font-bold text-secondary mb-3">spec.llm</h3>
637
- <div className="space-y-3">
706
+ ),
707
+ },
708
+ {
709
+ id: 'spec-llm',
710
+ title: 'spec.llm',
711
+ borderColor: 'border-secondary',
712
+ content: (
713
+ <div className="space-y-4">
638
714
  <div>
639
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
715
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
640
716
  <p className="text-gray-700">LLM provider configuration: model, temperature, max_tokens, top_p, and other parameters.</p>
641
717
  </div>
642
718
  <div>
643
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
719
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
644
720
  <p className="text-gray-700">
645
721
  <strong>Portability:</strong> Switch from OpenAI to Anthropic without changing agent logic.<br/>
646
722
  <strong>Optimization:</strong> Tune temperature for creativity vs consistency.<br/>
@@ -649,9 +725,9 @@ kind: Agent`}</code></pre>
649
725
  </p>
650
726
  </div>
651
727
  <div>
652
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
653
- <div className="bg-code-bg rounded-lg p-3 mt-2">
654
- <pre className="text-code-text text-sm"><code>{`spec:
728
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
729
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
730
+ <pre className="text-green-400 text-sm font-mono"><code>{`spec:
655
731
  llm:
656
732
  provider: openai
657
733
  model: gpt-4-turbo
@@ -663,25 +739,20 @@ kind: Agent`}</code></pre>
663
739
  </div>
664
740
  </div>
665
741
  </div>
666
- </div>
667
- </div>
668
- </div>
669
-
670
- {/* spec.tools */}
671
- <div className="card p-6 border-l-4 border-primary hover:shadow-xl transition-shadow">
672
- <div className="flex items-start">
673
- <div className="w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
674
- <span className="text-2xl">🔧</span>
675
- </div>
676
- <div className="flex-1">
677
- <h3 className="text-2xl font-bold text-primary mb-3">spec.tools</h3>
678
- <div className="space-y-3">
742
+ ),
743
+ },
744
+ {
745
+ id: 'spec-tools',
746
+ title: 'spec.tools',
747
+ borderColor: 'border-primary',
748
+ content: (
749
+ <div className="space-y-4">
679
750
  <div>
680
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
751
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
681
752
  <p className="text-gray-700">Array of tools/functions the agent can call: HTTP APIs, code execution, database queries, file operations, etc.</p>
682
753
  </div>
683
754
  <div>
684
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
755
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
685
756
  <p className="text-gray-700">
686
757
  Agents need to <strong>take action</strong>, not just respond with text. Tools enable agents to:
687
758
  interact with APIs, query databases, run code, search the web, manipulate files, and integrate with external systems.
@@ -689,7 +760,7 @@ kind: Agent`}</code></pre>
689
760
  </p>
690
761
  </div>
691
762
  <div>
692
- <p className="font-semibold text-gray-900 mb-1">TYPES:</p>
763
+ <p className="font-semibold text-gray-900 mb-2">TYPES:</p>
693
764
  <ul className="list-disc list-inside text-gray-700 space-y-1 ml-4">
694
765
  <li><strong>http:</strong> REST API calls</li>
695
766
  <li><strong>code:</strong> Execute Python/JS/etc</li>
@@ -700,9 +771,9 @@ kind: Agent`}</code></pre>
700
771
  </ul>
701
772
  </div>
702
773
  <div>
703
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
704
- <div className="bg-code-bg rounded-lg p-3 mt-2">
705
- <pre className="text-code-text text-sm"><code>{`spec:
774
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
775
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
776
+ <pre className="text-green-400 text-sm font-mono"><code>{`spec:
706
777
  tools:
707
778
  - type: http
708
779
  name: search_issues
@@ -719,25 +790,20 @@ kind: Agent`}</code></pre>
719
790
  </div>
720
791
  </div>
721
792
  </div>
722
- </div>
723
- </div>
724
- </div>
725
-
726
- {/* spec.taxonomy */}
727
- <div className="card p-6 border-l-4 border-secondary hover:shadow-xl transition-shadow">
728
- <div className="flex items-start">
729
- <div className="w-10 h-10 bg-secondary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
730
- <span className="text-2xl">🏷️</span>
731
- </div>
732
- <div className="flex-1">
733
- <h3 className="text-2xl font-bold text-secondary mb-3">spec.taxonomy</h3>
734
- <div className="space-y-3">
793
+ ),
794
+ },
795
+ {
796
+ id: 'spec-taxonomy',
797
+ title: 'spec.taxonomy',
798
+ borderColor: 'border-secondary',
799
+ content: (
800
+ <div className="space-y-4">
735
801
  <div>
736
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
802
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
737
803
  <p className="text-gray-700">Classification of agent purpose: domain, subdomain, use_case, and industry.</p>
738
804
  </div>
739
805
  <div>
740
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
806
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
741
807
  <p className="text-gray-700">
742
808
  <strong>Discoverability:</strong> Find agents for specific use cases in catalogs.<br/>
743
809
  <strong>Organization:</strong> Group similar agents together.<br/>
@@ -746,9 +812,9 @@ kind: Agent`}</code></pre>
746
812
  </p>
747
813
  </div>
748
814
  <div>
749
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
750
- <div className="bg-code-bg rounded-lg p-3 mt-2">
751
- <pre className="text-code-text text-sm"><code>{`spec:
815
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
816
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
817
+ <pre className="text-green-400 text-sm font-mono"><code>{`spec:
752
818
  taxonomy:
753
819
  domain: customer_service
754
820
  subdomain: technical_support
@@ -758,25 +824,20 @@ kind: Agent`}</code></pre>
758
824
  </div>
759
825
  </div>
760
826
  </div>
761
- </div>
762
- </div>
763
- </div>
764
-
765
- {/* spec.autonomy */}
766
- <div className="card p-6 border-l-4 border-primary hover:shadow-xl transition-shadow">
767
- <div className="flex items-start">
768
- <div className="w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
769
- <span className="text-2xl">🎯</span>
770
- </div>
771
- <div className="flex-1">
772
- <h3 className="text-2xl font-bold text-primary mb-3">spec.autonomy</h3>
773
- <div className="space-y-3">
827
+ ),
828
+ },
829
+ {
830
+ id: 'spec-autonomy',
831
+ title: 'spec.autonomy',
832
+ borderColor: 'border-primary',
833
+ content: (
834
+ <div className="space-y-4">
774
835
  <div>
775
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
836
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
776
837
  <p className="text-gray-700">Defines how much independence the agent has: level (L0-L5), approval_required, human_in_loop settings.</p>
777
838
  </div>
778
839
  <div>
779
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
840
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
780
841
  <p className="text-gray-700">
781
842
  <strong>Safety:</strong> Prevent agents from taking destructive actions without oversight.<br/>
782
843
  <strong>Compliance:</strong> Require approvals for regulated operations.<br/>
@@ -785,7 +846,7 @@ kind: Agent`}</code></pre>
785
846
  </p>
786
847
  </div>
787
848
  <div>
788
- <p className="font-semibold text-gray-900 mb-1">LEVELS:</p>
849
+ <p className="font-semibold text-gray-900 mb-2">LEVELS:</p>
789
850
  <ul className="list-disc list-inside text-gray-700 space-y-1 ml-4">
790
851
  <li><strong>L0:</strong> No autonomy (human controls everything)</li>
791
852
  <li><strong>L1:</strong> Suggestions only (human approves all actions)</li>
@@ -796,9 +857,9 @@ kind: Agent`}</code></pre>
796
857
  </ul>
797
858
  </div>
798
859
  <div>
799
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
800
- <div className="bg-code-bg rounded-lg p-3 mt-2">
801
- <pre className="text-code-text text-sm"><code>{`spec:
860
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
861
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
862
+ <pre className="text-green-400 text-sm font-mono"><code>{`spec:
802
863
  autonomy:
803
864
  level: L2
804
865
  approval_required:
@@ -811,25 +872,20 @@ kind: Agent`}</code></pre>
811
872
  </div>
812
873
  </div>
813
874
  </div>
814
- </div>
815
- </div>
816
- </div>
817
-
818
- {/* spec.observability */}
819
- <div className="card p-6 border-l-4 border-secondary hover:shadow-xl transition-shadow">
820
- <div className="flex items-start">
821
- <div className="w-10 h-10 bg-secondary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
822
- <span className="text-2xl">📊</span>
823
- </div>
824
- <div className="flex-1">
825
- <h3 className="text-2xl font-bold text-secondary mb-3">spec.observability</h3>
826
- <div className="space-y-3">
875
+ ),
876
+ },
877
+ {
878
+ id: 'spec-observability',
879
+ title: 'spec.observability',
880
+ borderColor: 'border-secondary',
881
+ content: (
882
+ <div className="space-y-4">
827
883
  <div>
828
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
884
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
829
885
  <p className="text-gray-700">Logging, metrics, and tracing configuration for monitoring agent behavior.</p>
830
886
  </div>
831
887
  <div>
832
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
888
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
833
889
  <p className="text-gray-700">
834
890
  <strong>Debugging:</strong> Understand what went wrong when agents fail.<br/>
835
891
  <strong>Performance:</strong> Track response times, token usage, costs.<br/>
@@ -838,9 +894,9 @@ kind: Agent`}</code></pre>
838
894
  </p>
839
895
  </div>
840
896
  <div>
841
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
842
- <div className="bg-code-bg rounded-lg p-3 mt-2">
843
- <pre className="text-code-text text-sm"><code>{`spec:
897
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
898
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
899
+ <pre className="text-green-400 text-sm font-mono"><code>{`spec:
844
900
  observability:
845
901
  logging:
846
902
  level: info
@@ -856,25 +912,20 @@ kind: Agent`}</code></pre>
856
912
  </div>
857
913
  </div>
858
914
  </div>
859
- </div>
860
- </div>
861
- </div>
862
-
863
- {/* extensions */}
864
- <div className="card p-6 border-l-4 border-primary hover:shadow-xl transition-shadow">
865
- <div className="flex items-start">
866
- <div className="w-10 h-10 bg-primary/10 rounded-lg flex items-center justify-center mr-4 flex-shrink-0 mt-1">
867
- <span className="text-2xl">🔌</span>
868
- </div>
869
- <div className="flex-1">
870
- <h3 className="text-2xl font-bold text-primary mb-3">extensions</h3>
871
- <div className="space-y-3">
915
+ ),
916
+ },
917
+ {
918
+ id: 'extensions',
919
+ title: 'extensions',
920
+ borderColor: 'border-primary',
921
+ content: (
922
+ <div className="space-y-4">
872
923
  <div>
873
- <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
924
+ <p className="font-semibold text-gray-900 mb-2">WHAT:</p>
874
925
  <p className="text-gray-700">Framework-specific configuration blocks: kagent, buildkit, langchain, crewai, openai, anthropic, cursor, langflow, autogen, etc.</p>
875
926
  </div>
876
927
  <div>
877
- <p className="font-semibold text-gray-900 mb-1">WHY:</p>
928
+ <p className="font-semibold text-gray-900 mb-2">WHY:</p>
878
929
  <p className="text-gray-700">
879
930
  While OSSA provides a <strong>common core</strong>, each framework has unique features. Extensions allow you to:
880
931
  leverage framework-specific capabilities, maintain compatibility with existing code, and gradually migrate from proprietary formats.
@@ -882,29 +933,9 @@ kind: Agent`}</code></pre>
882
933
  </p>
883
934
  </div>
884
935
  <div>
885
- <p className="font-semibold text-gray-900 mb-1">SUPPORTED FRAMEWORKS (15+):</p>
886
- <div className="grid grid-cols-2 gap-2 mt-2">
887
- <div className="bg-blue-50 p-2 rounded text-sm">• kAgent</div>
888
- <div className="bg-purple-50 p-2 rounded text-sm">• LangChain</div>
889
- <div className="bg-green-50 p-2 rounded text-sm">• CrewAI</div>
890
- <div className="bg-orange-50 p-2 rounded text-sm">• OpenAI Agents</div>
891
- <div className="bg-pink-50 p-2 rounded text-sm">• Anthropic Claude</div>
892
- <div className="bg-yellow-50 p-2 rounded text-sm">• Cursor</div>
893
- <div className="bg-red-50 p-2 rounded text-sm">• Langflow</div>
894
- <div className="bg-indigo-50 p-2 rounded text-sm">• AutoGen</div>
895
- <div className="bg-teal-50 p-2 rounded text-sm">• Vercel AI</div>
896
- <div className="bg-cyan-50 p-2 rounded text-sm">• LlamaIndex</div>
897
- <div className="bg-lime-50 p-2 rounded text-sm">• LangGraph</div>
898
- <div className="bg-amber-50 p-2 rounded text-sm">• BuildKit</div>
899
- <div className="bg-blue-100 p-2 rounded text-sm">• Drupal</div>
900
- <div className="bg-purple-100 p-2 rounded text-sm">• LibreChat</div>
901
- <div className="bg-green-100 p-2 rounded text-sm">• MCP</div>
902
- </div>
903
- </div>
904
- <div>
905
- <p className="font-semibold text-gray-900 mb-1">EXAMPLE:</p>
906
- <div className="bg-code-bg rounded-lg p-3 mt-2">
907
- <pre className="text-code-text text-sm"><code>{`extensions:
936
+ <p className="font-semibold text-gray-900 mb-2">EXAMPLE:</p>
937
+ <div className="bg-gray-900 rounded-lg p-4 mt-2">
938
+ <pre className="text-green-400 text-sm font-mono"><code>{`extensions:
908
939
  kagent:
909
940
  mesh_discovery: true
910
941
  routing_strategy: round_robin
@@ -919,16 +950,16 @@ kind: Agent`}</code></pre>
919
950
  </div>
920
951
  </div>
921
952
  </div>
922
- </div>
923
- </div>
924
- </div>
925
- </div>
953
+ ),
954
+ },
955
+ ]}
956
+ />
926
957
  </section>
927
958
 
928
959
  {/* Interactive Schema Explorer */}
929
960
  <section className="mb-16">
930
961
  <div className="flex items-center mb-8">
931
- <div className="w-12 h-12 bg-gradient-to-br from-primary to-secondary rounded-lg flex items-center justify-center mr-4">
962
+ <div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mr-4">
932
963
  <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
933
964
  <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
934
965
  </svg>