@bluefly/openstandardagents 0.2.4

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 (371) hide show
  1. package/.env.example +41 -0
  2. package/.eslintrc.cjs +43 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  4. package/.github/dependabot.yml +58 -0
  5. package/.github/workflows/ci.yml +154 -0
  6. package/.github/workflows/codeql.yml +41 -0
  7. package/.github/workflows/dependabot-auto-merge.yml +28 -0
  8. package/.github/workflows/release.yml +103 -0
  9. package/.prettierignore +7 -0
  10. package/.prettierrc.json +10 -0
  11. package/.redocly.yaml +9 -0
  12. package/.releaserc.json +84 -0
  13. package/.releaserc.json.disabled +81 -0
  14. package/CHANGELOG.md +152 -0
  15. package/CONTRIBUTING.md +249 -0
  16. package/LICENSE +190 -0
  17. package/README.md +280 -0
  18. package/bin/ossa +8 -0
  19. package/bin/validate-ossa-0.2.2.ts +244 -0
  20. package/dist/di-container.d.ts +18 -0
  21. package/dist/di-container.d.ts.map +1 -0
  22. package/dist/di-container.js +43 -0
  23. package/dist/di-container.js.map +1 -0
  24. package/dist/index.d.ts +13 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +17 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/repositories/manifest.repository.d.ts +26 -0
  29. package/dist/repositories/manifest.repository.d.ts.map +1 -0
  30. package/dist/repositories/manifest.repository.js +90 -0
  31. package/dist/repositories/manifest.repository.js.map +1 -0
  32. package/dist/repositories/schema.repository.d.ts +30 -0
  33. package/dist/repositories/schema.repository.d.ts.map +1 -0
  34. package/dist/repositories/schema.repository.js +143 -0
  35. package/dist/repositories/schema.repository.js.map +1 -0
  36. package/dist/services/generation.service.d.ts +54 -0
  37. package/dist/services/generation.service.d.ts.map +1 -0
  38. package/dist/services/generation.service.js +298 -0
  39. package/dist/services/generation.service.js.map +1 -0
  40. package/dist/services/migration.service.d.ts +30 -0
  41. package/dist/services/migration.service.d.ts.map +1 -0
  42. package/dist/services/migration.service.js +231 -0
  43. package/dist/services/migration.service.js.map +1 -0
  44. package/dist/services/runtime/openai.adapter.d.ts +94 -0
  45. package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
  46. package/dist/services/runtime/openai.adapter.js +209 -0
  47. package/dist/services/runtime/openai.adapter.js.map +1 -0
  48. package/dist/services/validation.service.d.ts +45 -0
  49. package/dist/services/validation.service.d.ts.map +1 -0
  50. package/dist/services/validation.service.js +362 -0
  51. package/dist/services/validation.service.js.map +1 -0
  52. package/dist/services/validators/anthropic.validator.d.ts +9 -0
  53. package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
  54. package/dist/services/validators/anthropic.validator.js +105 -0
  55. package/dist/services/validators/anthropic.validator.js.map +1 -0
  56. package/dist/services/validators/autogen.validator.d.ts +9 -0
  57. package/dist/services/validators/autogen.validator.d.ts.map +1 -0
  58. package/dist/services/validators/autogen.validator.js +111 -0
  59. package/dist/services/validators/autogen.validator.js.map +1 -0
  60. package/dist/services/validators/crewai.validator.d.ts +9 -0
  61. package/dist/services/validators/crewai.validator.d.ts.map +1 -0
  62. package/dist/services/validators/crewai.validator.js +117 -0
  63. package/dist/services/validators/crewai.validator.js.map +1 -0
  64. package/dist/services/validators/cursor.validator.d.ts +9 -0
  65. package/dist/services/validators/cursor.validator.d.ts.map +1 -0
  66. package/dist/services/validators/cursor.validator.js +88 -0
  67. package/dist/services/validators/cursor.validator.js.map +1 -0
  68. package/dist/services/validators/index.d.ts +15 -0
  69. package/dist/services/validators/index.d.ts.map +1 -0
  70. package/dist/services/validators/index.js +15 -0
  71. package/dist/services/validators/index.js.map +1 -0
  72. package/dist/services/validators/langchain.validator.d.ts +9 -0
  73. package/dist/services/validators/langchain.validator.d.ts.map +1 -0
  74. package/dist/services/validators/langchain.validator.js +103 -0
  75. package/dist/services/validators/langchain.validator.js.map +1 -0
  76. package/dist/services/validators/langflow.validator.d.ts +9 -0
  77. package/dist/services/validators/langflow.validator.d.ts.map +1 -0
  78. package/dist/services/validators/langflow.validator.js +92 -0
  79. package/dist/services/validators/langflow.validator.js.map +1 -0
  80. package/dist/services/validators/langgraph.validator.d.ts +9 -0
  81. package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
  82. package/dist/services/validators/langgraph.validator.js +123 -0
  83. package/dist/services/validators/langgraph.validator.js.map +1 -0
  84. package/dist/services/validators/llamaindex.validator.d.ts +9 -0
  85. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
  86. package/dist/services/validators/llamaindex.validator.js +121 -0
  87. package/dist/services/validators/llamaindex.validator.js.map +1 -0
  88. package/dist/services/validators/openai.validator.d.ts +9 -0
  89. package/dist/services/validators/openai.validator.d.ts.map +1 -0
  90. package/dist/services/validators/openai.validator.js +126 -0
  91. package/dist/services/validators/openai.validator.js.map +1 -0
  92. package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
  93. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
  94. package/dist/services/validators/vercel-ai.validator.js +99 -0
  95. package/dist/services/validators/vercel-ai.validator.js.map +1 -0
  96. package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  97. package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
  98. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  99. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  100. package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
  101. package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
  102. package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  103. package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  104. package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  105. package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
  106. package/dist/spec/v0.2.3/README.md +154 -0
  107. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  108. package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  109. package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  110. package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  111. package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  112. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  113. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  114. package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  115. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  116. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  117. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  118. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  119. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  120. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  121. package/dist/types/index.d.ts +178 -0
  122. package/dist/types/index.d.ts.map +1 -0
  123. package/dist/types/index.js +6 -0
  124. package/dist/types/index.js.map +1 -0
  125. package/dist/types/openapi-extensions.d.ts +164 -0
  126. package/dist/types/openapi-extensions.d.ts.map +1 -0
  127. package/dist/types/openapi-extensions.js +6 -0
  128. package/dist/types/openapi-extensions.js.map +1 -0
  129. package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
  130. package/docs/README.md +31 -0
  131. package/docs/VERSIONING.md +284 -0
  132. package/docs/agent-openapi-spec.yml +942 -0
  133. package/docs/getting-started.md +87 -0
  134. package/docs/migration/general-agent-schema.yml +255 -0
  135. package/docs/migration/migration-manifest.json +64 -0
  136. package/docs/openapi-extensions.md +930 -0
  137. package/docs/schemas/openapi-extensions.schema.json +486 -0
  138. package/examples/adk-integration/code-review-workflow.yml +136 -0
  139. package/examples/adk-integration/customer-support.yml +263 -0
  140. package/examples/adk-integration/data-pipeline.yml +173 -0
  141. package/examples/advanced/patterns/compliance-context-production.json +53 -0
  142. package/examples/advanced/patterns/model-router.ts +274 -0
  143. package/examples/advanced/patterns/smart-model-routing.ts +248 -0
  144. package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
  145. package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
  146. package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
  147. package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
  148. package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
  149. package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
  150. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
  151. package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
  152. package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
  153. package/examples/anthropic/claude-assistant.ossa.json +45 -0
  154. package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
  155. package/examples/autogen/multi-agent.ossa.json +37 -0
  156. package/examples/bridge-configurations.yaml +346 -0
  157. package/examples/bridges/Dockerfile.production +87 -0
  158. package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
  159. package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
  160. package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
  161. package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
  162. package/examples/bridges/aiflow-bridge-example.yml +310 -0
  163. package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
  164. package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
  165. package/examples/bridges/k8s/configmap.yaml +121 -0
  166. package/examples/bridges/k8s/deployment-simple.yaml +34 -0
  167. package/examples/bridges/k8s/deployment.yaml +275 -0
  168. package/examples/bridges/k8s/hpa.yaml +126 -0
  169. package/examples/bridges/k8s/ingress.yaml +155 -0
  170. package/examples/bridges/kagent-bridge-example.yml +94 -0
  171. package/examples/bridges/load-tests/Dockerfile +28 -0
  172. package/examples/bridges/load-tests/k6-load-test.js +302 -0
  173. package/examples/bridges/load-tests/requirements.txt +20 -0
  174. package/examples/bridges/loadtest/k6-scenarios.js +270 -0
  175. package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
  176. package/examples/bridges/phase4/chaos-tests.yaml +226 -0
  177. package/examples/bridges/requirements.txt +24 -0
  178. package/examples/bridges/test_aiflow_integration.py +341 -0
  179. package/examples/common_npm/agent-router.ossa.yaml +182 -0
  180. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
  181. package/examples/compliance-agent.yml +155 -0
  182. package/examples/crewai/research-team.ossa.json +36 -0
  183. package/examples/cursor/code-review-agent.ossa.json +47 -0
  184. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
  185. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
  186. package/examples/enterprise/agent.yml +452 -0
  187. package/examples/extensions/drupal-v1.yml +266 -0
  188. package/examples/extensions/kagent-v1.yml +167 -0
  189. package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
  190. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
  191. package/examples/kagent/README.md +31 -0
  192. package/examples/kagent/compliance-validator.ossa.yaml +111 -0
  193. package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
  194. package/examples/kagent/documentation-agent.ossa.yaml +91 -0
  195. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
  196. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
  197. package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
  198. package/examples/kagent/security-scanner.ossa.yaml +140 -0
  199. package/examples/langchain/chain-agent.ossa.json +42 -0
  200. package/examples/langflow/workflow-agent.ossa.json +39 -0
  201. package/examples/langgraph/state-machine-agent.ossa.json +59 -0
  202. package/examples/llamaindex/rag-agent.ossa.json +41 -0
  203. package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
  204. package/examples/minimal/agent.yml +152 -0
  205. package/examples/minimal/openapi.yaml +95 -0
  206. package/examples/openai/swarm-agent.ossa.json +59 -0
  207. package/examples/openapi-extensions/README.md +87 -0
  208. package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
  209. package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
  210. package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
  211. package/examples/production/agent.yml +713 -0
  212. package/examples/production/document-analyzer-openai.yml +134 -0
  213. package/examples/quickstart/support-agent.ossa.yaml +59 -0
  214. package/examples/service-registry-usage.ts +423 -0
  215. package/examples/spec-examples/audit-agent.yml +147 -0
  216. package/examples/spec-examples/chat-agent.yml +189 -0
  217. package/examples/spec-examples/compliance-agent.yml +204 -0
  218. package/examples/spec-examples/data-processing-agent.yml +132 -0
  219. package/examples/spec-examples/development-agent.yml +138 -0
  220. package/examples/spec-examples/edge-agent.yml +101 -0
  221. package/examples/spec-examples/integration-agent.yml +129 -0
  222. package/examples/spec-examples/monitoring-agent.yml +130 -0
  223. package/examples/spec-examples/serverless-agent.yml +82 -0
  224. package/examples/spec-examples/workflow-agent.yml +223 -0
  225. package/examples/templates/ossa-compliance.yaml +56 -0
  226. package/examples/typescript/advanced/demo-registry.ts +168 -0
  227. package/examples/typescript/mcpb-agent-example.ts +358 -0
  228. package/examples/vercel/edge-agent.ossa.json +43 -0
  229. package/infrastructure/docker-compose.yml +33 -0
  230. package/junit.xml +1 -0
  231. package/openapi/drupal-agent-api.openapi.yaml +348 -0
  232. package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
  233. package/openapi/helm-generator.openapi.yaml +389 -0
  234. package/openapi/ossa-core-api.openapi.yaml +1448 -0
  235. package/openapi/ossa-registry-api.openapi.yaml +980 -0
  236. package/openapi/ossa-registry.openapi.yaml +782 -0
  237. package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
  238. package/openapi/unified-agent-gateway.openapi.yaml +833 -0
  239. package/ossa-website-swarm-tasks.json +105 -0
  240. package/package.json +132 -0
  241. package/release.config.js +64 -0
  242. package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  243. package/spec/v0.1.9/ecosystem-compliance.json +235 -0
  244. package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  245. package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  246. package/spec/v0.1.9/reasoning-compliance.json +654 -0
  247. package/spec/v0.2.2/kagent-enhancements.json +395 -0
  248. package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  249. package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  250. package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  251. package/spec/v0.2.3/CHANGELOG.md +176 -0
  252. package/spec/v0.2.3/README.md +154 -0
  253. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  254. package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  255. package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  256. package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  257. package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  258. package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  259. package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  260. package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  261. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  262. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  263. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  264. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  265. package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  266. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  267. package/test-results.xml +1 -0
  268. package/website/.lighthouserc.js +20 -0
  269. package/website/.prettierrc +10 -0
  270. package/website/Dockerfile +17 -0
  271. package/website/app/about/page.tsx +295 -0
  272. package/website/app/api/validate/route.ts +88 -0
  273. package/website/app/blog/[slug]/page.tsx +167 -0
  274. package/website/app/blog/page.tsx +162 -0
  275. package/website/app/docs/[[...slug]]/page.tsx +349 -0
  276. package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
  277. package/website/app/ecosystem/page.tsx +375 -0
  278. package/website/app/examples/page.tsx +123 -0
  279. package/website/app/globals.css +108 -0
  280. package/website/app/layout.tsx +106 -0
  281. package/website/app/page.tsx +409 -0
  282. package/website/app/playground/page.tsx +507 -0
  283. package/website/app/robots.ts +19 -0
  284. package/website/app/rss.xml/route.ts +74 -0
  285. package/website/app/schema/page.tsx +970 -0
  286. package/website/app/sitemap.ts +56 -0
  287. package/website/app/specification/page.tsx +211 -0
  288. package/website/components/InstallCommand.tsx +96 -0
  289. package/website/components/Logo.tsx +24 -0
  290. package/website/components/StructuredData.tsx +65 -0
  291. package/website/components/docs/DocsSearch.tsx +104 -0
  292. package/website/components/docs/DocsSidebar.tsx +118 -0
  293. package/website/components/docs/MarkdownContent.tsx +183 -0
  294. package/website/components/docs/VersionSelector.tsx +49 -0
  295. package/website/components/examples/ExamplesViewer.tsx +293 -0
  296. package/website/components/layout/Footer.tsx +111 -0
  297. package/website/components/layout/Header.tsx +170 -0
  298. package/website/components/schema/SchemaExplorer.tsx +213 -0
  299. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
  300. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
  301. package/website/content/blog/introducing-ossa-framework.md +328 -0
  302. package/website/content/blog/ossa-production-results.md +279 -0
  303. package/website/content/blog/welcome-to-ossa.md +43 -0
  304. package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
  305. package/website/content/docs/00-HOME.md +160 -0
  306. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  307. package/website/content/docs/OpenAPI-Extensions.md +498 -0
  308. package/website/content/docs/architecture/execution-flow.md +335 -0
  309. package/website/content/docs/architecture/multi-agent-systems.md +737 -0
  310. package/website/content/docs/architecture/overview.md +121 -0
  311. package/website/content/docs/architecture/stack-integration.md +461 -0
  312. package/website/content/docs/changelog.md +246 -0
  313. package/website/content/docs/contributing.md +599 -0
  314. package/website/content/docs/core-concepts/project-structure.md +348 -0
  315. package/website/content/docs/ecosystem/framework-support.md +821 -0
  316. package/website/content/docs/ecosystem/overview.md +366 -0
  317. package/website/content/docs/examples/Migration-Guides.md +214 -0
  318. package/website/content/docs/examples.md +71 -0
  319. package/website/content/docs/for-audiences/Enterprises.md +256 -0
  320. package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
  321. package/website/content/docs/for-audiences/architects.md +224 -0
  322. package/website/content/docs/for-audiences/developers.md +220 -0
  323. package/website/content/docs/getting-started/5-minute-overview.md +85 -0
  324. package/website/content/docs/getting-started/Hello-World.md +184 -0
  325. package/website/content/docs/getting-started/first-agent.md +196 -0
  326. package/website/content/docs/getting-started/installation.md +155 -0
  327. package/website/content/docs/getting-started/running-agents.md +107 -0
  328. package/website/content/docs/integrations/aiflow.md +104 -0
  329. package/website/content/docs/integrations/drupal.md +105 -0
  330. package/website/content/docs/migration-guides/00-index.md +76 -0
  331. package/website/content/docs/migration-guides/README.md +133 -0
  332. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
  333. package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
  334. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
  335. package/website/content/docs/migration-guides/index.md +133 -0
  336. package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
  337. package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
  338. package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
  339. package/website/content/docs/openapi-extensions/examples.md +550 -0
  340. package/website/content/docs/openapi-extensions/index.md +495 -0
  341. package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
  342. package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
  343. package/website/content/docs/pre-release/index.md +175 -0
  344. package/website/content/docs/quick-reference.md +17 -0
  345. package/website/content/docs/schema-reference/agent-spec.md +406 -0
  346. package/website/content/docs/schema-reference/autonomy.md +568 -0
  347. package/website/content/docs/schema-reference/constraints.md +543 -0
  348. package/website/content/docs/schema-reference/index.md +176 -0
  349. package/website/content/docs/schema-reference/llm-config.md +445 -0
  350. package/website/content/docs/schema-reference/observability.md +654 -0
  351. package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
  352. package/website/content/docs/schema-reference/taxonomy.md +509 -0
  353. package/website/content/docs/schema-reference/tools.md +628 -0
  354. package/website/content/docs/templates/blog-post.md +43 -0
  355. package/website/content/docs/use-cases/00-index.md +395 -0
  356. package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
  357. package/website/content/docs/use-cases/customer-support.md +1234 -0
  358. package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
  359. package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
  360. package/website/lib/version.ts +18 -0
  361. package/website/next.config.js +17 -0
  362. package/website/next.config.ts +16 -0
  363. package/website/nginx.conf +32 -0
  364. package/website/package-lock.json +9145 -0
  365. package/website/package.json +53 -0
  366. package/website/postcss.config.js +7 -0
  367. package/website/postcss.config.mjs +9 -0
  368. package/website/scripts/sync-version.js +44 -0
  369. package/website/scripts/sync-wiki.ts +261 -0
  370. package/website/tailwind.config.js +58 -0
  371. package/website/tailwind.config.ts +65 -0
@@ -0,0 +1,970 @@
1
+ import Link from 'next/link';
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');
7
+
8
+ function loadSchema(): any {
9
+ // Return the imported schema directly
10
+ // This works in both development and production
11
+ return schemaJson;
12
+ }
13
+
14
+ export default function SchemaPage() {
15
+ const schema = loadSchema();
16
+
17
+ if (!schema) {
18
+ return (
19
+ <div className="container mx-auto max-w-7xl px-4 py-8">
20
+ <h1 className="text-4xl font-bold mb-4">Schema Explorer</h1>
21
+ <p className="text-lg text-gray-600">
22
+ Schema file not found. Please ensure the OSSA schema is available.
23
+ </p>
24
+ </div>
25
+ );
26
+ }
27
+
28
+ return (
29
+ <>
30
+ {/* Hero Section */}
31
+ <div className="bg-gradient-to-br from-primary via-accent to-secondary text-white py-16 px-4">
32
+ <div className="container mx-auto max-w-6xl text-center">
33
+ <div className="inline-flex items-center justify-center w-20 h-20 bg-white/20 backdrop-blur-sm rounded-full mb-6">
34
+ <svg className="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
35
+ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
36
+ </svg>
37
+ </div>
38
+ <h1 className="text-5xl font-bold mb-4">OSSA Schema Reference</h1>
39
+ <p className="text-xl text-white/90 mb-2">
40
+ Complete JSON Schema for defining portable, framework-agnostic AI agents
41
+ </p>
42
+ <p className="text-lg text-white/80">
43
+ Version v0.2.x • The OpenAPI for AI Agents
44
+ </p>
45
+ </div>
46
+ </div>
47
+
48
+ <div className="container mx-auto max-w-7xl px-4 py-12">
49
+ {/* Schema Architecture Diagram - MOVED TO TOP */}
50
+ <section className="mb-16">
51
+ <div className="bg-gradient-to-br from-amber-50 via-orange-50 to-yellow-50 rounded-2xl p-8 mb-8">
52
+ <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">
54
+ <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
55
+ <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
+ </svg>
57
+ </div>
58
+ <div>
59
+ <h2 className="text-3xl font-bold mb-4 text-gray-900">Why This Schema?</h2>
60
+ <div className="space-y-4 text-lg text-gray-700">
61
+ <p>
62
+ <strong className="text-primary">The Problem:</strong> Every AI framework defines agents differently.
63
+ LangChain has "chains," CrewAI has "crews," OpenAI has "assistants," Anthropic has different tools.
64
+ This creates <span className="text-red-600 font-semibold">vendor lock-in</span> and makes it impossible to share agents between teams or frameworks.
65
+ </p>
66
+ <p>
67
+ <strong className="text-secondary">The Solution:</strong> OSSA provides a single, standard way to describe agents that works everywhere.
68
+ Like OpenAPI revolutionized REST APIs, OSSA revolutionizes AI agents.
69
+ </p>
70
+ <p>
71
+ <strong className="text-primary">The Result:</strong> Write your agent definition once, deploy it to any framework.
72
+ Switch providers without rewriting code. Share agents across organizations. True portability.
73
+ </p>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </section>
79
+
80
+ {/* Schema Architecture Diagram */}
81
+ <section className="mb-16">
82
+ <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">
84
+ <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
85
+ <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
+ </svg>
87
+ </div>
88
+ <h2 className="text-3xl font-bold text-primary">Schema Architecture</h2>
89
+ </div>
90
+
91
+ {/* Visual Structure Diagram with HTML/CSS */}
92
+ <div className="bg-white rounded-2xl shadow-lg p-8 mb-8 border-2 border-gray-300">
93
+ <h3 className="text-2xl font-bold mb-4 text-center text-gray-900">OSSA Agent Manifest Structure</h3>
94
+ <p className="text-center text-gray-600 mb-8 text-base">
95
+ Complete breakdown of all manifest components and their relationships
96
+ </p>
97
+
98
+ <div className="space-y-6">
99
+ {/* Root */}
100
+ <div className="bg-gradient-to-r from-primary to-secondary text-white rounded-xl p-6 text-center shadow-md">
101
+ <div className="font-bold text-2xl mb-2">OSSA Agent Manifest</div>
102
+ <div className="text-base opacity-90">agent.yaml / agent.json</div>
103
+ </div>
104
+
105
+ {/* Top Level Fields */}
106
+ <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>
114
+ </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>
123
+ </div>
124
+ </div>
125
+ </div>
126
+
127
+ {/* Main Content: spec and extensions - STACKED */}
128
+ <div className="space-y-6">
129
+ {/* 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>
132
+ <div className="space-y-3">
133
+ {/* 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">
140
+ type: string (multi-line)
141
+ </div>
142
+ </div>
143
+
144
+ {/* 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
152
+ </div>
153
+ <div className="bg-blue-50 rounded p-2">
154
+ <strong>model</strong>: gpt-4, claude-3, etc.
155
+ </div>
156
+ <div className="bg-blue-50 rounded p-2">
157
+ <strong>temperature</strong>: 0.0 - 2.0
158
+ </div>
159
+ <div className="bg-blue-50 rounded p-2">
160
+ <strong>max_tokens</strong>: integer
161
+ </div>
162
+ </div>
163
+ </div>
164
+
165
+ {/* 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
173
+ </div>
174
+ <div className="bg-green-50 border border-green-200 rounded p-2">
175
+ <strong>code</strong>: Execute Python/JS/Shell
176
+ </div>
177
+ <div className="bg-yellow-50 border border-yellow-200 rounded p-2">
178
+ <strong>database</strong>: SQL queries
179
+ </div>
180
+ <div className="bg-pink-50 border border-pink-200 rounded p-2">
181
+ <strong>file</strong>: Read/write operations
182
+ </div>
183
+ <div className="bg-cyan-50 border border-cyan-200 rounded p-2">
184
+ <strong>search</strong>: Web/vector search
185
+ </div>
186
+ </div>
187
+ </div>
188
+
189
+ {/* 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.
197
+ </div>
198
+ <div className="bg-orange-50 rounded p-2">
199
+ <strong>subdomain</strong>: technical_support, devops, etc.
200
+ </div>
201
+ <div className="bg-orange-50 rounded p-2">
202
+ <strong>use_case</strong>: troubleshooting, automation
203
+ </div>
204
+ <div className="bg-orange-50 rounded p-2">
205
+ <strong>industry</strong>: saas, healthcare, finance
206
+ </div>
207
+ </div>
208
+ </div>
209
+
210
+ {/* 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)
218
+ </div>
219
+ <div className="bg-yellow-50 border border-yellow-200 rounded p-2">
220
+ <strong>approval_required</strong>: Actions needing approval
221
+ </div>
222
+ <div className="bg-green-50 border border-green-200 rounded p-2">
223
+ <strong>human_in_loop</strong>: Notification settings
224
+ </div>
225
+ </div>
226
+ </div>
227
+
228
+ {/* 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>
237
+ </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>
241
+ </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>
245
+ </div>
246
+ </div>
247
+ </div>
248
+
249
+ {/* 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>
254
+ </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
258
+ </div>
259
+ <div className="bg-yellow-50 rounded p-2">
260
+ <strong>performance</strong>: Timeout, rate limits
261
+ </div>
262
+ <div className="bg-blue-50 rounded p-2">
263
+ <strong>resources</strong>: Memory, CPU caps
264
+ </div>
265
+ <div className="bg-green-50 rounded p-2">
266
+ <strong>security</strong>: Access controls
267
+ </div>
268
+ </div>
269
+ </div>
270
+ </div>
271
+ </div>
272
+
273
+ {/* 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>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ </div>
299
+ </section>
300
+
301
+ {/* Data Flow Diagram */}
302
+ <section className="mb-16">
303
+ <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">
305
+ <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
306
+ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
307
+ </svg>
308
+ </div>
309
+ <h2 className="text-3xl font-bold text-secondary">Data Flow: How OSSA Works</h2>
310
+ </div>
311
+
312
+ <div className="grid md:grid-cols-2 gap-6 mb-8">
313
+ {/* Flow 1: Agent Definition to Execution */}
314
+ <div className="bg-white rounded-xl shadow-lg p-6 border border-gray-200">
315
+ <h3 className="text-lg font-bold mb-4 text-primary">1. Definition → Execution</h3>
316
+ <div className="bg-gray-50 rounded-lg p-4 font-mono text-xs space-y-2">
317
+ <div className="flex items-center">
318
+ <div className="w-8 h-8 bg-primary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">1</div>
319
+ <div>
320
+ <div className="font-semibold">Write agent.yaml</div>
321
+ <div className="text-gray-600">Define role, LLM, tools</div>
322
+ </div>
323
+ </div>
324
+ <div className="ml-4 border-l-2 border-primary h-4"></div>
325
+ <div className="flex items-center">
326
+ <div className="w-8 h-8 bg-secondary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">2</div>
327
+ <div>
328
+ <div className="font-semibold">Validate schema</div>
329
+ <div className="text-gray-600">JSON Schema validation</div>
330
+ </div>
331
+ </div>
332
+ <div className="ml-4 border-l-2 border-secondary h-4"></div>
333
+ <div className="flex items-center">
334
+ <div className="w-8 h-8 bg-primary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">3</div>
335
+ <div>
336
+ <div className="font-semibold">Load into runtime</div>
337
+ <div className="text-gray-600">kAgent / LangChain / etc</div>
338
+ </div>
339
+ </div>
340
+ <div className="ml-4 border-l-2 border-primary h-4"></div>
341
+ <div className="flex items-center">
342
+ <div className="w-8 h-8 bg-secondary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">4</div>
343
+ <div>
344
+ <div className="font-semibold">Execute agent</div>
345
+ <div className="text-gray-600">Run tasks, call LLM, use tools</div>
346
+ </div>
347
+ </div>
348
+ </div>
349
+ </div>
350
+
351
+ {/* Flow 2: Cross-Framework Portability */}
352
+ <div className="bg-white rounded-xl shadow-lg p-6 border border-gray-200">
353
+ <h3 className="text-lg font-bold mb-4 text-secondary">2. Cross-Framework Portability</h3>
354
+ <div className="bg-gray-50 rounded-lg p-4 font-mono text-xs space-y-2">
355
+ <div className="flex items-center">
356
+ <div className="w-8 h-8 bg-primary text-white rounded-full flex items-center justify-center mr-3 flex-shrink-0">A</div>
357
+ <div>
358
+ <div className="font-semibold">agent.yaml (OSSA)</div>
359
+ <div className="text-gray-600">Framework-agnostic definition</div>
360
+ </div>
361
+ </div>
362
+ <div className="ml-4 border-l-2 border-dashed border-primary h-4"></div>
363
+ <div className="text-center text-gray-500 font-bold">↓ Export to ↓</div>
364
+ <div className="ml-4 border-l-2 border-dashed border-primary h-4"></div>
365
+ <div className="space-y-2">
366
+ <div className="bg-blue-50 p-2 rounded border-l-2 border-blue-500">
367
+ <strong>LangChain</strong>: chains.json
368
+ </div>
369
+ <div className="bg-purple-50 p-2 rounded border-l-2 border-purple-500">
370
+ <strong>CrewAI</strong>: crew_config.yaml
371
+ </div>
372
+ <div className="bg-green-50 p-2 rounded border-l-2 border-green-500">
373
+ <strong>OpenAI</strong>: assistant_config.json
374
+ </div>
375
+ <div className="bg-orange-50 p-2 rounded border-l-2 border-orange-500">
376
+ <strong>Anthropic</strong>: claude_tools.json
377
+ </div>
378
+ </div>
379
+ </div>
380
+ </div>
381
+ </div>
382
+
383
+ {/* 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>
386
+
387
+ <div className="space-y-6">
388
+ {/* Step 1: Developer */}
389
+ <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>
394
+ </div>
395
+ <div className="w-1 h-12 bg-gradient-to-b from-purple-500 to-blue-500"></div>
396
+ </div>
397
+
398
+ {/* Step 2: Validation */}
399
+ <div className="flex flex-col items-center">
400
+ <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>
403
+ <div className="text-sm opacity-90">JSON Schema validation engine</div>
404
+ </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>
412
+ </div>
413
+ </div>
414
+ </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
418
+ </div>
419
+ <div className="w-1 h-12 bg-gradient-to-b from-green-500 to-orange-500"></div>
420
+ </div>
421
+
422
+ {/* Step 3: Framework Adapter Layer */}
423
+ <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>
426
+ <div className="text-base opacity-90">Converts OSSA → Framework-Specific Config</div>
427
+ </div>
428
+ <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>
433
+ </div>
434
+ </div>
435
+
436
+ {/* Step 4: Runtimes */}
437
+ <div className="flex flex-col items-center">
438
+ <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>
442
+ </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>
446
+ </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>
450
+ </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>
454
+ </div>
455
+ </div>
456
+ <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>
461
+ </div>
462
+ </div>
463
+
464
+ {/* Step 5: Agent Execution */}
465
+ <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>
472
+ </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>
476
+ </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>
480
+ </div>
481
+ </div>
482
+ </div>
483
+ <div className="w-1 h-12 bg-gradient-to-b from-teal-500 to-amber-500"></div>
484
+ </div>
485
+
486
+ {/* Step 6: Observability */}
487
+ <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>
494
+ </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>
498
+ </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>
502
+ </div>
503
+ </div>
504
+ </div>
505
+ </div>
506
+ </div>
507
+ </div>
508
+ </section>
509
+
510
+ {/* Core Components Breakdown */}
511
+ <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">
514
+ <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
515
+ <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
+ </svg>
517
+ </div>
518
+ <h2 className="text-3xl font-bold text-primary">Schema Components</h2>
519
+ </div>
520
+
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">
531
+ <div>
532
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
533
+ <p className="text-gray-700">Version identifier and resource type for the manifest.</p>
534
+ </div>
535
+ <div>
536
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
537
+ <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
+ </div>
539
+ <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
543
+ kind: Agent`}</code></pre>
544
+ </div>
545
+ </div>
546
+ </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">
560
+ <div>
561
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
562
+ <p className="text-gray-700">Identification and classification information: name, version, description, labels, annotations.</p>
563
+ </div>
564
+ <div>
565
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
566
+ <p className="text-gray-700">
567
+ <strong>Discovery:</strong> Find agents by name/labels in catalogs.<br/>
568
+ <strong>Versioning:</strong> Track changes over time.<br/>
569
+ <strong>Organization:</strong> Group agents by team, project, environment.<br/>
570
+ <strong>Documentation:</strong> Human-readable descriptions and URLs.
571
+ </p>
572
+ </div>
573
+ <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:
577
+ name: customer-support-agent
578
+ version: 2.1.0
579
+ description: Handles tier-1 support tickets with sentiment analysis
580
+ labels:
581
+ team: support
582
+ environment: production
583
+ annotations:
584
+ docs: https://docs.example.com/agents/support
585
+ owner: support-team@example.com`}</code></pre>
586
+ </div>
587
+ </div>
588
+ </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">
602
+ <div>
603
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
604
+ <p className="text-gray-700">The system prompt / role definition that guides the agent's behavior and personality.</p>
605
+ </div>
606
+ <div>
607
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
608
+ <p className="text-gray-700">
609
+ Defines <strong>who</strong> the agent is, <strong>what</strong> it can do, and <strong>how</strong> it should behave.
610
+ This is the agent's identity and primary instruction set that shapes all interactions.
611
+ </p>
612
+ </div>
613
+ <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:
617
+ role: |
618
+ You are a senior software architect specializing in distributed systems.
619
+ Your role is to review code for scalability, security, and best practices.
620
+ You provide constructive feedback with specific examples and recommendations.
621
+ You communicate in a professional but friendly tone.`}</code></pre>
622
+ </div>
623
+ </div>
624
+ </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">
638
+ <div>
639
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
640
+ <p className="text-gray-700">LLM provider configuration: model, temperature, max_tokens, top_p, and other parameters.</p>
641
+ </div>
642
+ <div>
643
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
644
+ <p className="text-gray-700">
645
+ <strong>Portability:</strong> Switch from OpenAI to Anthropic without changing agent logic.<br/>
646
+ <strong>Optimization:</strong> Tune temperature for creativity vs consistency.<br/>
647
+ <strong>Cost Control:</strong> Set token limits and choose appropriate model sizes.<br/>
648
+ <strong>Quality:</strong> Configure sampling parameters for best results.
649
+ </p>
650
+ </div>
651
+ <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:
655
+ llm:
656
+ provider: openai
657
+ model: gpt-4-turbo
658
+ temperature: 0.7
659
+ max_tokens: 2000
660
+ top_p: 0.9
661
+ frequency_penalty: 0.0
662
+ presence_penalty: 0.6`}</code></pre>
663
+ </div>
664
+ </div>
665
+ </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">
679
+ <div>
680
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
681
+ <p className="text-gray-700">Array of tools/functions the agent can call: HTTP APIs, code execution, database queries, file operations, etc.</p>
682
+ </div>
683
+ <div>
684
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
685
+ <p className="text-gray-700">
686
+ Agents need to <strong>take action</strong>, not just respond with text. Tools enable agents to:
687
+ interact with APIs, query databases, run code, search the web, manipulate files, and integrate with external systems.
688
+ Standardizing tool definitions ensures portability across frameworks.
689
+ </p>
690
+ </div>
691
+ <div>
692
+ <p className="font-semibold text-gray-900 mb-1">TYPES:</p>
693
+ <ul className="list-disc list-inside text-gray-700 space-y-1 ml-4">
694
+ <li><strong>http:</strong> REST API calls</li>
695
+ <li><strong>code:</strong> Execute Python/JS/etc</li>
696
+ <li><strong>database:</strong> SQL queries</li>
697
+ <li><strong>file:</strong> Read/write files</li>
698
+ <li><strong>search:</strong> Web/vector search</li>
699
+ <li><strong>custom:</strong> Framework-specific tools</li>
700
+ </ul>
701
+ </div>
702
+ <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:
706
+ tools:
707
+ - type: http
708
+ name: search_issues
709
+ endpoint: https://api.github.com/search/issues
710
+ method: GET
711
+ auth:
712
+ type: bearer
713
+ token: \${GITHUB_TOKEN}
714
+
715
+ - type: code
716
+ name: analyze_logs
717
+ language: python
718
+ allowed_libraries: [pandas, numpy]`}</code></pre>
719
+ </div>
720
+ </div>
721
+ </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">
735
+ <div>
736
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
737
+ <p className="text-gray-700">Classification of agent purpose: domain, subdomain, use_case, and industry.</p>
738
+ </div>
739
+ <div>
740
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
741
+ <p className="text-gray-700">
742
+ <strong>Discoverability:</strong> Find agents for specific use cases in catalogs.<br/>
743
+ <strong>Organization:</strong> Group similar agents together.<br/>
744
+ <strong>Routing:</strong> Automatically route tasks to appropriate agents.<br/>
745
+ <strong>Analytics:</strong> Track agent usage by domain/industry.
746
+ </p>
747
+ </div>
748
+ <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:
752
+ taxonomy:
753
+ domain: customer_service
754
+ subdomain: technical_support
755
+ use_case: troubleshooting
756
+ industry: saas
757
+ tags: [support, automation, tier1]`}</code></pre>
758
+ </div>
759
+ </div>
760
+ </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">
774
+ <div>
775
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
776
+ <p className="text-gray-700">Defines how much independence the agent has: level (L0-L5), approval_required, human_in_loop settings.</p>
777
+ </div>
778
+ <div>
779
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
780
+ <p className="text-gray-700">
781
+ <strong>Safety:</strong> Prevent agents from taking destructive actions without oversight.<br/>
782
+ <strong>Compliance:</strong> Require approvals for regulated operations.<br/>
783
+ <strong>Trust:</strong> Gradually increase autonomy as agents prove reliable.<br/>
784
+ <strong>Audit:</strong> Track which actions required human approval.
785
+ </p>
786
+ </div>
787
+ <div>
788
+ <p className="font-semibold text-gray-900 mb-1">LEVELS:</p>
789
+ <ul className="list-disc list-inside text-gray-700 space-y-1 ml-4">
790
+ <li><strong>L0:</strong> No autonomy (human controls everything)</li>
791
+ <li><strong>L1:</strong> Suggestions only (human approves all actions)</li>
792
+ <li><strong>L2:</strong> Conditional autonomy (human approves risky actions)</li>
793
+ <li><strong>L3:</strong> High autonomy (human approves critical actions)</li>
794
+ <li><strong>L4:</strong> Full autonomy (human notified of actions)</li>
795
+ <li><strong>L5:</strong> Complete autonomy (no human oversight)</li>
796
+ </ul>
797
+ </div>
798
+ <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:
802
+ autonomy:
803
+ level: L2
804
+ approval_required:
805
+ - delete_operations
806
+ - financial_transactions
807
+ - user_data_access
808
+ human_in_loop:
809
+ notification_channels: [slack, email]
810
+ timeout_seconds: 300`}</code></pre>
811
+ </div>
812
+ </div>
813
+ </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">
827
+ <div>
828
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
829
+ <p className="text-gray-700">Logging, metrics, and tracing configuration for monitoring agent behavior.</p>
830
+ </div>
831
+ <div>
832
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
833
+ <p className="text-gray-700">
834
+ <strong>Debugging:</strong> Understand what went wrong when agents fail.<br/>
835
+ <strong>Performance:</strong> Track response times, token usage, costs.<br/>
836
+ <strong>Quality:</strong> Monitor success rates and user satisfaction.<br/>
837
+ <strong>Compliance:</strong> Audit trails for regulated industries.
838
+ </p>
839
+ </div>
840
+ <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:
844
+ observability:
845
+ logging:
846
+ level: info
847
+ include_prompts: true
848
+ include_responses: true
849
+ metrics:
850
+ enabled: true
851
+ export_to: prometheus
852
+ tracing:
853
+ enabled: true
854
+ provider: opentelemetry
855
+ sample_rate: 1.0`}</code></pre>
856
+ </div>
857
+ </div>
858
+ </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">
872
+ <div>
873
+ <p className="font-semibold text-gray-900 mb-1">WHAT:</p>
874
+ <p className="text-gray-700">Framework-specific configuration blocks: kagent, buildkit, langchain, crewai, openai, anthropic, cursor, langflow, autogen, etc.</p>
875
+ </div>
876
+ <div>
877
+ <p className="font-semibold text-gray-900 mb-1">WHY:</p>
878
+ <p className="text-gray-700">
879
+ While OSSA provides a <strong>common core</strong>, each framework has unique features. Extensions allow you to:
880
+ leverage framework-specific capabilities, maintain compatibility with existing code, and gradually migrate from proprietary formats.
881
+ <strong className="block mt-2">The core spec ensures portability. Extensions provide power.</strong>
882
+ </p>
883
+ </div>
884
+ <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:
908
+ kagent:
909
+ mesh_discovery: true
910
+ routing_strategy: round_robin
911
+
912
+ langchain:
913
+ memory_type: conversation_buffer_window
914
+ memory_window_size: 5
915
+
916
+ openai_agents:
917
+ code_interpreter: true
918
+ file_search: true`}</code></pre>
919
+ </div>
920
+ </div>
921
+ </div>
922
+ </div>
923
+ </div>
924
+ </div>
925
+ </div>
926
+ </section>
927
+
928
+ {/* Interactive Schema Explorer */}
929
+ <section className="mb-16">
930
+ <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">
932
+ <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
933
+ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
934
+ </svg>
935
+ </div>
936
+ <h2 className="text-3xl font-bold text-primary">Interactive Schema Explorer</h2>
937
+ </div>
938
+ <p className="text-lg text-gray-700 mb-6">
939
+ Explore the complete JSON Schema interactively. Click on any property to see its type, description, and validation rules.
940
+ </p>
941
+ <SchemaExplorer schema={schema} />
942
+ </section>
943
+
944
+ {/* Next Steps */}
945
+ <section className="mb-8">
946
+ <div className="bg-gradient-to-br from-primary/10 via-accent/10 to-secondary/10 rounded-2xl p-8">
947
+ <h2 className="text-3xl font-bold mb-6 text-center">Ready to Build Agents?</h2>
948
+ <div className="grid md:grid-cols-3 gap-4">
949
+ <Link href="/playground" className="card-hover p-6 text-center border-l-4 border-primary hover:-translate-y-1 transition-all duration-300">
950
+ <div className="text-4xl mb-3">🎮</div>
951
+ <h3 className="text-xl font-semibold text-primary mb-2">Try the Playground</h3>
952
+ <p className="text-gray-700">Write and validate your first agent manifest</p>
953
+ </Link>
954
+ <Link href="/examples" className="card-hover p-6 text-center border-l-4 border-secondary hover:-translate-y-1 transition-all duration-300">
955
+ <div className="text-4xl mb-3">📚</div>
956
+ <h3 className="text-xl font-semibold text-secondary mb-2">Browse Examples</h3>
957
+ <p className="text-gray-700">See 58+ real-world agent definitions</p>
958
+ </Link>
959
+ <Link href="/docs" className="card-hover p-6 text-center border-l-4 border-primary hover:-translate-y-1 transition-all duration-300">
960
+ <div className="text-4xl mb-3">📖</div>
961
+ <h3 className="text-xl font-semibold text-primary mb-2">Read the Docs</h3>
962
+ <p className="text-gray-700">Comprehensive guides and tutorials</p>
963
+ </Link>
964
+ </div>
965
+ </div>
966
+ </section>
967
+ </div>
968
+ </>
969
+ );
970
+ }