@bluefly/openstandardagents 0.2.5-RC → 0.2.8

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 (365) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  5. package/.github/workflows/dependabot-comment.yml +34 -0
  6. package/.github/workflows/pr-comment.yml +33 -0
  7. package/.husky/pre-commit +5 -0
  8. package/.kiro/config.json +21 -0
  9. package/.kiro/settings/mcp.json +61 -0
  10. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  11. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  12. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  13. package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
  14. package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
  15. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  16. package/.version.json +2 -2
  17. package/.wiki-config.json +24 -0
  18. package/CHANGELOG.md +34 -18
  19. package/CODEOWNERS +75 -0
  20. package/CONTRIBUTING.md +1 -1
  21. package/README.md +176 -239
  22. package/bin/ossa-dev +42 -0
  23. package/bin/ossa-export +32 -0
  24. package/bin/ossa-generate +60 -0
  25. package/bin/ossa-health +40 -0
  26. package/bin/ossa-init +26 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/repositories/schema.repository.d.ts +6 -1
  32. package/dist/repositories/schema.repository.d.ts.map +1 -1
  33. package/dist/repositories/schema.repository.js +63 -36
  34. package/dist/repositories/schema.repository.js.map +1 -1
  35. package/dist/services/github-sync/github-client.d.ts +14 -0
  36. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  37. package/dist/services/github-sync/github-client.js +41 -0
  38. package/dist/services/github-sync/github-client.js.map +1 -0
  39. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  40. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  41. package/dist/services/github-sync/gitlab-client.js +42 -0
  42. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  43. package/dist/services/github-sync/schemas.d.ts +46 -0
  44. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  45. package/dist/services/github-sync/schemas.js +36 -0
  46. package/dist/services/github-sync/schemas.js.map +1 -0
  47. package/dist/services/github-sync/sync.service.d.ts +27 -0
  48. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  49. package/dist/services/github-sync/sync.service.js +99 -0
  50. package/dist/services/github-sync/sync.service.js.map +1 -0
  51. package/dist/services/migration.service.d.ts +4 -3
  52. package/dist/services/migration.service.d.ts.map +1 -1
  53. package/dist/services/migration.service.js +11 -10
  54. package/dist/services/migration.service.js.map +1 -1
  55. package/dist/services/release-automation/release.service.js +1 -1
  56. package/dist/services/release-automation/release.service.js.map +1 -1
  57. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  58. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  59. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  60. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  61. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  62. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  63. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  64. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  65. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  66. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  67. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  68. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  69. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  70. package/dist/services/runtime/claude/types.d.ts +115 -0
  71. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  72. package/dist/services/runtime/claude/types.js +6 -0
  73. package/dist/services/runtime/claude/types.js.map +1 -0
  74. package/dist/services/validation.service.d.ts.map +1 -1
  75. package/dist/services/validation.service.js +12 -1
  76. package/dist/services/validation.service.js.map +1 -1
  77. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  78. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  79. package/dist/spec/v0.2.6/README.md +72 -0
  80. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  81. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  82. package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  83. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  84. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  85. package/dist/spec/v0.2.6-dev/README.md +75 -0
  86. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  87. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  88. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  89. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  90. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  91. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  92. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  93. package/dist/spec/v0.2.8/README.md +72 -0
  94. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  95. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  96. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  97. package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  98. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  99. package/dist/types/index.d.ts +3 -2
  100. package/dist/types/index.d.ts.map +1 -1
  101. package/dist/utils/index.d.ts +6 -0
  102. package/dist/utils/index.d.ts.map +1 -0
  103. package/dist/utils/index.js +6 -0
  104. package/dist/utils/index.js.map +1 -0
  105. package/dist/utils/version.d.ts +68 -0
  106. package/dist/utils/version.d.ts.map +1 -0
  107. package/dist/utils/version.js +156 -0
  108. package/dist/utils/version.js.map +1 -0
  109. package/docs/brand-guide/01-brand-overview.md +37 -0
  110. package/docs/brand-guide/02-logo-usage.md +43 -0
  111. package/docs/brand-guide/03-color-palette.md +70 -0
  112. package/docs/brand-guide/04-typography.md +82 -0
  113. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  114. package/docs/brand-guide/06-visual-elements.md +137 -0
  115. package/docs/brand-guide/07-application-examples.md +153 -0
  116. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  117. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  118. package/docs/brand-guide/README.md +107 -0
  119. package/docs/comparison.md +315 -0
  120. package/docs/operations/automation-roadmap.md +245 -0
  121. package/docs/operations/github-sync-strategy.md +357 -0
  122. package/eslint-report.json +1 -0
  123. package/examples/adk-integration/code-review-workflow.yml +1 -1
  124. package/examples/adk-integration/customer-support.yml +1 -1
  125. package/examples/adk-integration/data-pipeline.yml +1 -1
  126. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  127. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  128. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  129. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  130. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  131. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  132. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  133. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  134. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  135. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  136. package/examples/autogen/multi-agent.ossa.json +6 -4
  137. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  138. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  139. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  140. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  141. package/examples/crewai/research-team.ossa.json +14 -5
  142. package/examples/cursor/code-review-agent.ossa.json +21 -6
  143. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  144. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  145. package/examples/extensions/drupal-v1.yml +1 -1
  146. package/examples/extensions/kagent-v1.yml +1 -1
  147. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  148. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  149. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  150. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  151. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  152. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  153. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  154. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  155. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  156. package/examples/langchain/chain-agent.ossa.json +21 -5
  157. package/examples/langflow/workflow-agent.ossa.json +2 -3
  158. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  159. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  160. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  161. package/examples/multi-agent/README.md +74 -0
  162. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  163. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  164. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  165. package/examples/openai/basic-agent.ossa.yaml +1 -1
  166. package/examples/openai/multi-tool-agent.ossa.json +33 -10
  167. package/examples/openai/swarm-agent.ossa.json +18 -5
  168. package/examples/production/document-analyzer-openai.yml +1 -1
  169. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  170. package/examples/spec-examples/audit-agent.yml +1 -1
  171. package/examples/spec-examples/chat-agent.yml +1 -1
  172. package/examples/spec-examples/compliance-agent.yml +1 -1
  173. package/examples/spec-examples/monitoring-agent.yml +1 -1
  174. package/examples/spec-examples/workflow-agent.yml +1 -1
  175. package/examples/templates/ossa-compliance.yaml +1 -1
  176. package/examples/vercel/edge-agent.ossa.json +5 -4
  177. package/gl-code-quality-report.json +62 -0
  178. package/llms-ctx-full.txt +39 -0
  179. package/llms-ctx.txt +39 -0
  180. package/llms.txt +47 -0
  181. package/openapi/github-sync.yaml +115 -0
  182. package/package.json +26 -4
  183. package/scripts/README.md +103 -0
  184. package/scripts/auto-rebase-mrs.ts +106 -0
  185. package/scripts/batch-dependabot.sh +57 -0
  186. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  187. package/scripts/create-issue-helper.ts +238 -0
  188. package/scripts/create-milestone-issue.ts +73 -0
  189. package/scripts/eslint-to-codequality.cjs +34 -0
  190. package/scripts/fix-schema-formats.js +82 -0
  191. package/scripts/generate-agents-catalog.ts +77 -0
  192. package/scripts/generate-api-docs.ts +218 -0
  193. package/scripts/generate-cli-docs.ts +410 -0
  194. package/scripts/generate-config-docs.ts +109 -0
  195. package/scripts/generate-errors-docs.ts +76 -0
  196. package/scripts/generate-examples-docs.ts +99 -0
  197. package/scripts/generate-llms-ctx.sh +17 -0
  198. package/scripts/generate-schema-docs.ts +317 -0
  199. package/scripts/generate-types-docs.ts +48 -0
  200. package/scripts/lowercase-docs.ts +43 -0
  201. package/scripts/manage-milestone-mrs.ts +279 -0
  202. package/scripts/rebase-all-mrs.sh +75 -0
  203. package/scripts/sync-github-pr.sh +48 -0
  204. package/scripts/sync-version.js +32 -0
  205. package/scripts/sync-wiki.sh +50 -0
  206. package/scripts/validate-all.js +127 -0
  207. package/scripts/validate-schema.ts +2 -1
  208. package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  209. package/spec/v0.2.6/CHANGELOG.md +401 -0
  210. package/spec/v0.2.6/README.md +72 -0
  211. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  212. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  213. package/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  214. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  215. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  216. package/spec/v0.2.6-dev/README.md +75 -0
  217. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  218. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  219. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  220. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  221. package/spec/v0.2.7/core/agentgraph.md +324 -0
  222. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  223. package/spec/v0.2.8/CHANGELOG.md +401 -0
  224. package/spec/v0.2.8/README.md +72 -0
  225. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  226. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  227. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  228. package/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  229. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  230. package/test-results/junit.xml +299 -0
  231. package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
  232. package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
  233. package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
  234. package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
  235. package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
  236. package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
  237. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  238. package/docs/issue-19-completion-summary.md +0 -648
  239. package/docs/issue-19-validation.md +0 -351
  240. package/scripts/lib/exec.ts +0 -37
  241. package/scripts/lib/file-ops.ts +0 -58
  242. package/scripts/lib/version.ts +0 -83
  243. package/website/.lighthouserc.ts +0 -24
  244. package/website/.prettierrc +0 -10
  245. package/website/Dockerfile +0 -30
  246. package/website/app/about/page.tsx +0 -295
  247. package/website/app/blog/[slug]/page.tsx +0 -208
  248. package/website/app/blog/page.tsx +0 -249
  249. package/website/app/design-guide/page.tsx +0 -511
  250. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  251. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  252. package/website/app/ecosystem/page.tsx +0 -375
  253. package/website/app/examples/page.tsx +0 -133
  254. package/website/app/globals.scss +0 -135
  255. package/website/app/layout.tsx +0 -106
  256. package/website/app/license/page.tsx +0 -183
  257. package/website/app/not-found.tsx +0 -18
  258. package/website/app/page.tsx +0 -474
  259. package/website/app/playground/page.tsx +0 -487
  260. package/website/app/robots.ts +0 -19
  261. package/website/app/rss.xml/route.ts +0 -74
  262. package/website/app/schema/page.tsx +0 -1001
  263. package/website/app/sitemap.ts +0 -56
  264. package/website/app/specification/page.tsx +0 -287
  265. package/website/components/InstallCommand.tsx +0 -96
  266. package/website/components/Logo.tsx +0 -97
  267. package/website/components/StructuredData.tsx +0 -65
  268. package/website/components/docs/DocsSearch.tsx +0 -104
  269. package/website/components/docs/DocsSidebar.tsx +0 -155
  270. package/website/components/docs/MarkdownContent.tsx +0 -401
  271. package/website/components/docs/VersionSelector.tsx +0 -105
  272. package/website/components/examples/ExamplesViewer.tsx +0 -293
  273. package/website/components/layout/Footer.tsx +0 -116
  274. package/website/components/layout/Header.tsx +0 -168
  275. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  276. package/website/components/schema/SchemaExplorer.tsx +0 -213
  277. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  278. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  279. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  280. package/website/content/blog/introducing-ossa-framework.md +0 -328
  281. package/website/content/blog/ossa-production-results.md +0 -279
  282. package/website/content/blog/welcome-to-ossa.md +0 -43
  283. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  284. package/website/content/docs/00-HOME.md +0 -153
  285. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  286. package/website/content/docs/Examples.md +0 -71
  287. package/website/content/docs/OpenAPI-Extensions.md +0 -934
  288. package/website/content/docs/adapters/openai-adapter.md +0 -693
  289. package/website/content/docs/architecture/execution-flow.md +0 -335
  290. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  291. package/website/content/docs/architecture/overview.md +0 -121
  292. package/website/content/docs/architecture/stack-integration.md +0 -461
  293. package/website/content/docs/changelog.md +0 -246
  294. package/website/content/docs/contributing.md +0 -599
  295. package/website/content/docs/core-concepts/Project-Structure.md +0 -348
  296. package/website/content/docs/ecosystem/framework-support.md +0 -819
  297. package/website/content/docs/ecosystem/overview.md +0 -366
  298. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  299. package/website/content/docs/examples/Migration-Guides.md +0 -214
  300. package/website/content/docs/for-audiences/Architects.md +0 -224
  301. package/website/content/docs/for-audiences/Developers.md +0 -220
  302. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  303. package/website/content/docs/for-audiences/Students-Researchers.md +0 -122
  304. package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
  305. package/website/content/docs/getting-started/First-Agent.md +0 -196
  306. package/website/content/docs/getting-started/Hello-World.md +0 -184
  307. package/website/content/docs/getting-started/Installation.md +0 -155
  308. package/website/content/docs/getting-started/index.md +0 -92
  309. package/website/content/docs/getting-started/running-agents.md +0 -309
  310. package/website/content/docs/getting-started.md +0 -91
  311. package/website/content/docs/integrations/aiflow.md +0 -104
  312. package/website/content/docs/integrations/drupal.md +0 -105
  313. package/website/content/docs/migration-guides/00-INDEX.md +0 -76
  314. package/website/content/docs/migration-guides/README.md +0 -133
  315. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  316. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  317. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  318. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  319. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  320. package/website/content/docs/migration-guides/index.md +0 -133
  321. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  322. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  323. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  324. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  325. package/website/content/docs/openapi-extensions/examples.md +0 -550
  326. package/website/content/docs/openapi-extensions/index.md +0 -551
  327. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  328. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  329. package/website/content/docs/ossa-compliant-badge.md +0 -251
  330. package/website/content/docs/pre-release/index.md +0 -175
  331. package/website/content/docs/quick-reference.md +0 -17
  332. package/website/content/docs/readme.md +0 -35
  333. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  334. package/website/content/docs/schema-reference/autonomy.md +0 -568
  335. package/website/content/docs/schema-reference/constraints.md +0 -543
  336. package/website/content/docs/schema-reference/index.md +0 -176
  337. package/website/content/docs/schema-reference/llm-config.md +0 -445
  338. package/website/content/docs/schema-reference/observability.md +0 -654
  339. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  340. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  341. package/website/content/docs/schema-reference/tools.md +0 -628
  342. package/website/content/docs/templates/blog-post.md +0 -43
  343. package/website/content/docs/use-cases/00-index.md +0 -395
  344. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  345. package/website/content/docs/use-cases/customer-support.md +0 -1234
  346. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  347. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  348. package/website/content/docs/versioning.md +0 -288
  349. package/website/lib/version.ts +0 -35
  350. package/website/lib/versions.json +0 -78
  351. package/website/next.config.ts +0 -18
  352. package/website/nginx.conf +0 -32
  353. package/website/package-lock.json +0 -9679
  354. package/website/package.json +0 -59
  355. package/website/postcss.config.mjs +0 -9
  356. package/website/scripts/fetch-versions.js +0 -166
  357. package/website/scripts/generate-examples-index.js +0 -163
  358. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  359. package/website/scripts/sync-version.js +0 -72
  360. package/website/scripts/sync-wiki.ts +0 -322
  361. package/website/scripts/upload-wiki.ts +0 -199
  362. package/website/styles/_variables.scss +0 -36
  363. package/website/tailwind.config.ts +0 -136
  364. /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
  365. /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
@@ -1,847 +0,0 @@
1
- import { notFound } from 'next/navigation';
2
- import fs from 'fs';
3
- import path from 'path';
4
- import matter from 'gray-matter';
5
- import { DocsSidebar } from '@/components/docs/DocsSidebar';
6
- import { MarkdownContent } from '@/components/docs/MarkdownContent';
7
- import Link from 'next/link';
8
-
9
- // GitHub API utilities
10
- const GITHUB_OWNER = 'blueflyio';
11
- const GITHUB_REPO = 'openstandardagents';
12
- const GITHUB_API_BASE = 'https://api.github.com';
13
-
14
- interface GitHubRepoInfo {
15
- stars: number;
16
- forks: number;
17
- openIssues: number;
18
- openPullRequests: number;
19
- description: string;
20
- language: string | null;
21
- updatedAt: string;
22
- watchers: number;
23
- }
24
-
25
- async function fetchRepoInfo(): Promise<GitHubRepoInfo | null> {
26
- try {
27
- const token = process.env.GITHUB_TOKEN;
28
- const headers: HeadersInit = {
29
- 'Accept': 'application/vnd.github.v3+json',
30
- };
31
-
32
- if (token) {
33
- headers['Authorization'] = `token ${token}`;
34
- }
35
-
36
- // Fetch repository info
37
- const repoResponse = await fetch(
38
- `${GITHUB_API_BASE}/repos/${GITHUB_OWNER}/${GITHUB_REPO}`,
39
- {
40
- headers,
41
- next: { revalidate: 300 }, // Cache for 5 minutes
42
- }
43
- );
44
-
45
- if (!repoResponse.ok) {
46
- return null;
47
- }
48
-
49
- const repoData = await repoResponse.json();
50
-
51
- // Fetch issues and pull requests separately to get accurate counts
52
- // Use search API for accurate counts without pagination
53
- const [issuesSearchResponse, prsResponse] = await Promise.all([
54
- fetch(
55
- `${GITHUB_API_BASE}/search/issues?q=repo:${GITHUB_OWNER}/${GITHUB_REPO}+type:issue+state:open&per_page=1`,
56
- {
57
- headers,
58
- next: { revalidate: 300 },
59
- }
60
- ),
61
- fetch(
62
- `${GITHUB_API_BASE}/repos/${GITHUB_OWNER}/${GITHUB_REPO}/pulls?state=open&per_page=1`,
63
- {
64
- headers,
65
- next: { revalidate: 300 },
66
- }
67
- ),
68
- ]);
69
-
70
- let openIssues = 0;
71
- let openPullRequests = 0;
72
-
73
- if (issuesSearchResponse.ok) {
74
- const issuesData = await issuesSearchResponse.json();
75
- openIssues = issuesData.total_count || 0;
76
- }
77
-
78
- if (prsResponse.ok) {
79
- try {
80
- // Use search API for accurate PR count
81
- const prsSearchResponse = await fetch(
82
- `${GITHUB_API_BASE}/search/issues?q=repo:${GITHUB_OWNER}/${GITHUB_REPO}+type:pr+state:open&per_page=1`,
83
- {
84
- headers,
85
- next: { revalidate: 300 },
86
- }
87
- );
88
- if (prsSearchResponse.ok) {
89
- const prsSearchData = await prsSearchResponse.json();
90
- openPullRequests = prsSearchData.total_count || 0;
91
- } else {
92
- // Fallback to direct count
93
- const prsData = await prsResponse.json();
94
- openPullRequests = Array.isArray(prsData) ? prsData.length : 0;
95
- }
96
- } catch (error) {
97
- console.error('Error parsing PRs response:', error);
98
- openPullRequests = 0;
99
- }
100
- }
101
-
102
- return {
103
- stars: repoData?.stargazers_count || 0,
104
- forks: repoData?.forks_count || 0,
105
- openIssues: openIssues || 0,
106
- openPullRequests: openPullRequests || 0,
107
- description: repoData?.description || '',
108
- language: repoData?.language || null,
109
- updatedAt: repoData?.updated_at || '',
110
- watchers: repoData?.watchers_count || 0,
111
- };
112
- } catch (error) {
113
- console.error('Error fetching GitHub repo info:', error);
114
- return null;
115
- }
116
- }
117
-
118
- interface PageProps {
119
- params: Promise<{
120
- slug?: string[];
121
- }>;
122
- }
123
-
124
- const docsDirectory = path.join(process.cwd(), 'content/docs');
125
-
126
- function getDocContent(slug: string[]): { content: string; metadata: any } | null {
127
- // Convert URL slug to PascalCase for legacy wiki files
128
- // Directories stay lowercase, but file names are PascalCase
129
- const slugPath = slug.map(s =>
130
- s.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('-')
131
- );
132
-
133
- // Build path with lowercase directories but PascalCase filename
134
- const dirPath = slug.slice(0, -1); // All but last segment (directories)
135
- const fileName = slugPath[slugPath.length - 1]; // Last segment (filename) in PascalCase
136
-
137
- // Try different path patterns - exact case first, then variations
138
- const possiblePaths = [
139
- // Directory lowercase, filename PascalCase (e.g., getting-started/First-Agent.md)
140
- ...(dirPath.length > 0 && fileName ? [path.join(docsDirectory, ...dirPath, fileName + '.md')] : []),
141
- // Full PascalCase path (legacy)
142
- path.join(docsDirectory, ...slugPath) + '.md',
143
- // PascalCase paths (legacy wiki structure)
144
- path.join(docsDirectory, ...slugPath, 'index.md'),
145
- path.join(docsDirectory, ...slugPath, 'README.md'),
146
- // Lowercase paths (current convention) - try index.md first for directories
147
- path.join(docsDirectory, ...slug, 'index.md'),
148
- path.join(docsDirectory, ...slug, 'readme.md'),
149
- path.join(docsDirectory, ...slug) + '.md',
150
- ];
151
-
152
- let fullPath = null;
153
- for (const tryPath of possiblePaths) {
154
- if (fs.existsSync(tryPath)) {
155
- fullPath = tryPath;
156
- break;
157
- }
158
- }
159
-
160
- if (!fullPath) {
161
- return null;
162
- }
163
-
164
- const fileContents = fs.readFileSync(fullPath, 'utf8');
165
- const { data, content } = matter(fileContents);
166
-
167
- // Extract title from frontmatter or generate from slug
168
- const title = data.title || slug[slug.length - 1]
169
- .split('-')
170
- .map(w => w.charAt(0).toUpperCase() + w.slice(1))
171
- .join(' ');
172
-
173
- return {
174
- content,
175
- metadata: {
176
- title,
177
- description: data.description,
178
- },
179
- };
180
- }
181
-
182
- function getAllDocPaths(): string[][] {
183
- const paths: string[][] = [];
184
-
185
- function traverseDir(dir: string, currentPath: string[] = []): void {
186
- try {
187
- if (!fs.existsSync(dir)) {
188
- console.warn(`Directory does not exist: ${dir}`);
189
- return;
190
- }
191
-
192
- const entries = fs.readdirSync(dir, { withFileTypes: true });
193
-
194
- for (const entry of entries) {
195
- // Skip hidden files and directories
196
- if (entry.name.startsWith('.')) {
197
- continue;
198
- }
199
-
200
- if (entry.isDirectory()) {
201
- traverseDir(path.join(dir, entry.name), [...currentPath, entry.name]);
202
- } else if (entry.isFile() && entry.name.endsWith('.md')) {
203
- const slug = entry.name.replace(/\.md$/, '');
204
- if (slug !== 'index' && slug !== 'README' && slug !== 'readme') {
205
- paths.push([...currentPath, slug]);
206
- } else if (currentPath.length > 0) {
207
- paths.push(currentPath);
208
- }
209
- }
210
- }
211
- } catch (error) {
212
- console.error(`Error traversing directory ${dir}:`, error);
213
- }
214
- }
215
-
216
- try {
217
- traverseDir(docsDirectory);
218
- } catch (error) {
219
- console.error(`Error getting doc paths from ${docsDirectory}:`, error);
220
- }
221
-
222
- return paths;
223
- }
224
-
225
- export const dynamicParams = false;
226
-
227
- export function generateStaticParams(): Array<{ slug: string[] }> {
228
- try {
229
- if (!fs.existsSync(docsDirectory)) {
230
- console.warn(`Docs directory not found: ${docsDirectory}`);
231
- return [{ slug: [] }];
232
- }
233
-
234
- const paths = getAllDocPaths();
235
- const result = [
236
- { slug: [] },
237
- ...paths.map(slugParts => ({
238
- slug: slugParts.map(p => String(p).toLowerCase())
239
- }))
240
- ];
241
-
242
- return result;
243
- } catch (error) {
244
- console.error('Error in generateStaticParams:', error);
245
- return [{ slug: [] }];
246
- }
247
- }
248
-
249
- export default async function DocsPage({ params }: PageProps) {
250
- const { slug: slugParam } = await params;
251
- const slug = slugParam || [];
252
-
253
- // Fetch GitHub repo info for root docs page (with error handling)
254
- let repoInfo = null;
255
- if (slug.length === 0) {
256
- try {
257
- repoInfo = await fetchRepoInfo();
258
- } catch (error) {
259
- console.error('Failed to fetch GitHub repo info:', error);
260
- // Continue without repo info rather than crashing
261
- }
262
- }
263
-
264
- // Handle root /docs route - CLEAN, PROFESSIONAL DESIGN
265
- if (slug.length === 0) {
266
- return (
267
- <div className="min-h-screen bg-white">
268
- {/* Hero Section */}
269
- <div className="bg-gradient-to-br from-secondary via-primary to-accent text-white py-16 px-4">
270
- <div className="container mx-auto max-w-6xl text-center">
271
- <div className="inline-flex items-center justify-center w-20 h-20 bg-white/20 backdrop-blur-sm rounded-full mb-6">
272
- <svg className="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
273
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
274
- </svg>
275
- </div>
276
- <h1 className="text-5xl font-bold mb-4">Documentation</h1>
277
- <p className="text-xl text-white/90 mb-2">
278
- Complete guides for building portable, framework-agnostic AI agents
279
- </p>
280
- <p className="text-lg text-white/80 mb-6">
281
- Learn OSSA • Build Agents • Deploy Anywhere
282
- </p>
283
- {repoInfo && (
284
- <div className="flex items-center justify-center gap-6 text-white/90">
285
- <a
286
- href={`https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}`}
287
- target="_blank"
288
- rel="noopener noreferrer"
289
- className="flex items-center gap-2 hover:text-white transition-colors"
290
- >
291
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
292
- <path fillRule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clipRule="evenodd" />
293
- </svg>
294
- <span className="font-semibold">{repoInfo.stars.toLocaleString()}</span>
295
- <span className="text-white/70">stars</span>
296
- </a>
297
- <a
298
- href={`https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}/forks`}
299
- target="_blank"
300
- rel="noopener noreferrer"
301
- className="flex items-center gap-2 hover:text-white transition-colors"
302
- >
303
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
304
- <path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" />
305
- </svg>
306
- <span className="font-semibold">{repoInfo.forks.toLocaleString()}</span>
307
- <span className="text-white/70">forks</span>
308
- </a>
309
- <a
310
- href={`https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}/issues`}
311
- target="_blank"
312
- rel="noopener noreferrer"
313
- className="flex items-center gap-2 hover:text-white transition-colors"
314
- >
315
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
316
- <path fillRule="evenodd" d="M2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0zM12 3.5a8.5 8.5 0 100 17 8.5 8.5 0 000-17zM12 8a1 1 0 011 1v2a1 1 0 11-2 0V9a1 1 0 011-1zm0 6a1 1 0 011 1v.5a1 1 0 11-2 0V15a1 1 0 011-1z" clipRule="evenodd" />
317
- </svg>
318
- <span className="font-semibold">{repoInfo.openIssues}</span>
319
- <span className="text-white/70">issues</span>
320
- </a>
321
- <a
322
- href={`https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}/pulls`}
323
- target="_blank"
324
- rel="noopener noreferrer"
325
- className="flex items-center gap-2 hover:text-white transition-colors"
326
- >
327
- <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 24 24">
328
- <path fillRule="evenodd" d="M2.5 12a9.5 9.5 0 1119 0 9.5 9.5 0 01-19 0zM12 3.5a8.5 8.5 0 100 17 8.5 8.5 0 000-17zM12 8a1 1 0 011 1v2a1 1 0 11-2 0V9a1 1 0 011-1zm0 6a1 1 0 011 1v.5a1 1 0 11-2 0V15a1 1 0 011-1z" clipRule="evenodd" />
329
- </svg>
330
- <span className="font-semibold">{repoInfo.openPullRequests}</span>
331
- <span className="text-white/70">PRs</span>
332
- </a>
333
- </div>
334
- )}
335
- </div>
336
- </div>
337
-
338
- {/* Main Content */}
339
- <div className="container mx-auto max-w-6xl px-4 py-12">
340
-
341
- {/* Featured Quick Start */}
342
- <section className="mb-16">
343
- <div className="bg-gradient-to-br from-blue-50 via-indigo-50 to-purple-50 rounded-2xl p-8 border-2 border-blue-200 shadow-lg">
344
- <div className="flex items-start gap-6">
345
- <div className="w-16 h-16 bg-gradient-to-br from-secondary via-primary to-accent rounded-xl flex items-center justify-center flex-shrink-0">
346
- <svg className="h-8 w-8 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
347
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
348
- </svg>
349
- </div>
350
- <div className="flex-1">
351
- <h3 className="text-2xl font-bold text-gray-900 mb-3">Quick Start</h3>
352
- <p className="text-lg text-gray-700 mb-4">
353
- New to OSSA? Start with the 5-minute overview, then build your first agent in minutes.
354
- </p>
355
- <div className="flex flex-wrap gap-4">
356
- <Link href="/docs/getting-started/5-minute-overview" className="btn-primary">
357
- 5-Minute Overview →
358
- </Link>
359
- <Link href="/docs/getting-started/hello-world" className="btn-outline">
360
- Hello World →
361
- </Link>
362
- </div>
363
- </div>
364
- </div>
365
- </div>
366
- </section>
367
-
368
- {/* Core Documentation - Blog Style Teasers */}
369
- <section className="mb-16">
370
- <div className="flex items-center mb-8">
371
- <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">
372
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
373
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
374
- </svg>
375
- </div>
376
- <h2 className="text-3xl font-bold text-primary">Core Documentation</h2>
377
- </div>
378
- <div className="grid md:grid-cols-3 gap-6">
379
-
380
- {/* Getting Started - Blog Teaser */}
381
- <Link href="/docs/getting-started/5-minute-overview" className="group bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
382
- <div className="w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center mb-4">
383
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
384
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
385
- </svg>
386
- </div>
387
- <h3 className="text-xl font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Getting Started</h3>
388
- <p className="text-gray-600 mb-4 text-sm">
389
- Learn the fundamentals of OSSA and build your first agent in minutes.
390
- </p>
391
- <ul className="space-y-2 text-sm">
392
- <li className="text-gray-700 flex items-center">
393
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
394
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
395
- </svg>
396
- 5-Minute Overview
397
- </li>
398
- <li className="text-gray-700 flex items-center">
399
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
400
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
401
- </svg>
402
- Hello World
403
- </li>
404
- <li className="text-gray-700 flex items-center">
405
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
406
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
407
- </svg>
408
- Your First Agent
409
- </li>
410
- </ul>
411
- </Link>
412
-
413
- {/* API Reference - Blog Teaser */}
414
- <Link href="/schema" className="group bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
415
- <div className="w-12 h-12 bg-gradient-to-br from-green-500 to-green-600 rounded-lg flex items-center justify-center mb-4">
416
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
417
- <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" />
418
- </svg>
419
- </div>
420
- <h3 className="text-xl font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">API Reference</h3>
421
- <p className="text-gray-600 mb-4 text-sm">
422
- Complete schema reference, OpenAPI extensions, and quick reference guides.
423
- </p>
424
- <ul className="space-y-2 text-sm">
425
- <li className="text-gray-700 flex items-center">
426
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
427
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
428
- </svg>
429
- Schema Reference
430
- </li>
431
- <li className="text-gray-700 flex items-center">
432
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
433
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
434
- </svg>
435
- OpenAPI Extensions
436
- </li>
437
- <li className="text-gray-700 flex items-center">
438
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
439
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
440
- </svg>
441
- Quick Reference
442
- </li>
443
- </ul>
444
- </Link>
445
-
446
- {/* Migration Guides - Blog Teaser */}
447
- <Link href="/docs/migration-guides/langchain-to-ossa" className="group bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
448
- <div className="w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 rounded-lg flex items-center justify-center mb-4">
449
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
450
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4" />
451
- </svg>
452
- </div>
453
- <h3 className="text-xl font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Migration Guides</h3>
454
- <p className="text-gray-600 mb-4 text-sm">
455
- Migrate your existing agents from popular frameworks to OSSA.
456
- </p>
457
- <ul className="space-y-2 text-sm">
458
- <li className="text-gray-700 flex items-center">
459
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
460
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
461
- </svg>
462
- From LangChain
463
- </li>
464
- <li className="text-gray-700 flex items-center">
465
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
466
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
467
- </svg>
468
- From Anthropic MCP
469
- </li>
470
- <li className="text-gray-700 flex items-center">
471
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
472
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
473
- </svg>
474
- From OpenAI
475
- </li>
476
- </ul>
477
- </Link>
478
-
479
- </div>
480
- </section>
481
-
482
- {/* By Role - Blog Style Cards */}
483
- <section className="mb-16">
484
- <div className="flex items-center mb-8">
485
- <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">
486
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
487
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" />
488
- </svg>
489
- </div>
490
- <h2 className="text-3xl font-bold text-primary">By Role</h2>
491
- </div>
492
- <div className="grid md:grid-cols-4 gap-4">
493
- <Link href="/docs/for-audiences/developers" className="group bg-white border-2 border-gray-200 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300 text-center">
494
- <div className="w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-lg flex items-center justify-center mx-auto mb-4">
495
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
496
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
497
- </svg>
498
- </div>
499
- <h3 className="font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Developers</h3>
500
- <p className="text-sm text-gray-600">Build agents with code</p>
501
- </Link>
502
- <Link href="/docs/for-audiences/architects" className="group bg-white border-2 border-gray-200 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300 text-center">
503
- <div className="w-12 h-12 bg-gradient-to-br from-green-500 to-green-600 rounded-lg flex items-center justify-center mx-auto mb-4">
504
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
505
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z" />
506
- </svg>
507
- </div>
508
- <h3 className="font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Architects</h3>
509
- <p className="text-sm text-gray-600">Design systems</p>
510
- </Link>
511
- <Link href="/docs/for-audiences/enterprises" className="group bg-white border-2 border-gray-200 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300 text-center">
512
- <div className="w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 rounded-lg flex items-center justify-center mx-auto mb-4">
513
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
514
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4" />
515
- </svg>
516
- </div>
517
- <h3 className="font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Enterprises</h3>
518
- <p className="text-sm text-gray-600">Deploy at scale</p>
519
- </Link>
520
- <Link href="/docs/for-audiences/students-researchers" className="group bg-white border-2 border-gray-200 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300 text-center">
521
- <div className="w-12 h-12 bg-gradient-to-br from-orange-500 to-orange-600 rounded-lg flex items-center justify-center mx-auto mb-4">
522
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
523
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253" />
524
- </svg>
525
- </div>
526
- <h3 className="font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Researchers</h3>
527
- <p className="text-sm text-gray-600">Academic resources</p>
528
- </Link>
529
- </div>
530
- </section>
531
-
532
- {/* GitHub Repository Info */}
533
- {repoInfo && (
534
- <section className="mb-16">
535
- <div className="bg-gradient-to-br from-gray-50 to-blue-50 rounded-2xl p-8 border-2 border-gray-200">
536
- <div className="flex items-center justify-between mb-6">
537
- <div className="flex items-center gap-4">
538
- <div className="w-16 h-16 bg-gradient-to-br from-gray-800 to-gray-900 rounded-xl flex items-center justify-center">
539
- <svg className="w-8 h-8 text-white" fill="currentColor" viewBox="0 0 24 24">
540
- <path fillRule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clipRule="evenodd" />
541
- </svg>
542
- </div>
543
- <div>
544
- <h3 className="text-2xl font-bold text-gray-900 mb-1">
545
- <a
546
- href={`https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}`}
547
- target="_blank"
548
- rel="noopener noreferrer"
549
- className="hover:text-primary transition-colors"
550
- >
551
- {GITHUB_OWNER}/{GITHUB_REPO}
552
- </a>
553
- </h3>
554
- {repoInfo.description && (
555
- <p className="text-gray-600">{repoInfo.description}</p>
556
- )}
557
- </div>
558
- </div>
559
- <Link
560
- href={`https://github.com/${GITHUB_OWNER}/${GITHUB_REPO}`}
561
- target="_blank"
562
- rel="noopener noreferrer"
563
- className="btn-primary whitespace-nowrap"
564
- >
565
- View on GitHub
566
- </Link>
567
- </div>
568
- <div className="grid md:grid-cols-5 gap-4 pt-6 border-t-2 border-gray-200">
569
- <div className="text-center">
570
- <div className="text-3xl font-bold text-primary mb-1">{repoInfo.stars.toLocaleString()}</div>
571
- <div className="text-sm text-gray-600">Stars</div>
572
- </div>
573
- <div className="text-center">
574
- <div className="text-3xl font-bold text-primary mb-1">{repoInfo.forks.toLocaleString()}</div>
575
- <div className="text-sm text-gray-600">Forks</div>
576
- </div>
577
- <div className="text-center">
578
- <div className="text-3xl font-bold text-primary mb-1">{repoInfo.openIssues}</div>
579
- <div className="text-sm text-gray-600">Issues</div>
580
- </div>
581
- <div className="text-center">
582
- <div className="text-3xl font-bold text-primary mb-1">{repoInfo.openPullRequests}</div>
583
- <div className="text-sm text-gray-600">Pull Requests</div>
584
- </div>
585
- <div className="text-center">
586
- <div className="text-3xl font-bold text-primary mb-1">{repoInfo.language || 'N/A'}</div>
587
- <div className="text-sm text-gray-600">Language</div>
588
- </div>
589
- </div>
590
- </div>
591
- </section>
592
- )}
593
-
594
- {/* Resources & Tools */}
595
- <section className="border-t-2 border-gray-200 pt-12">
596
- <div className="flex items-center mb-8">
597
- <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">
598
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
599
- <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" />
600
- </svg>
601
- </div>
602
- <h2 className="text-3xl font-bold text-primary">Resources & Tools</h2>
603
- </div>
604
- <div className="grid md:grid-cols-3 gap-6">
605
- <div className="bg-white border-2 border-gray-200 rounded-xl p-6 shadow-md">
606
- <h3 className="text-lg font-bold text-gray-900 mb-4">Community</h3>
607
- <ul className="space-y-3">
608
- <li>
609
- <a href="https://github.com/blueflyio/openstandardagents/issues" className="text-primary hover:text-secondary font-medium flex items-center">
610
- <svg className="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
611
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
612
- </svg>
613
- Issues & Bugs
614
- </a>
615
- </li>
616
- <li>
617
- <Link href="/docs/contributing" className="text-primary hover:text-secondary font-medium flex items-center">
618
- <svg className="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
619
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
620
- </svg>
621
- Contributing
622
- </Link>
623
- </li>
624
- </ul>
625
- </div>
626
- <div className="bg-white border-2 border-gray-200 rounded-xl p-6 shadow-md">
627
- <h3 className="text-lg font-bold text-gray-900 mb-4">Resources</h3>
628
- <ul className="space-y-3">
629
- <li>
630
- <Link href="/docs/changelog" className="text-primary hover:text-secondary font-medium flex items-center">
631
- <svg className="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
632
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
633
- </svg>
634
- Changelog
635
- </Link>
636
- </li>
637
- <li>
638
- <Link href="/blog" className="text-primary hover:text-secondary font-medium flex items-center">
639
- <svg className="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
640
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
641
- </svg>
642
- Blog
643
- </Link>
644
- </li>
645
- </ul>
646
- </div>
647
- <div className="bg-white border-2 border-gray-200 rounded-xl p-6 shadow-md">
648
- <h3 className="text-lg font-bold text-gray-900 mb-4">Tools</h3>
649
- <ul className="space-y-3">
650
- <li>
651
- <Link href="/playground" className="text-primary hover:text-secondary font-medium flex items-center">
652
- <svg className="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
653
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
654
- </svg>
655
- Playground
656
- </Link>
657
- </li>
658
- <li>
659
- <Link href="/schema" className="text-primary hover:text-secondary font-medium flex items-center">
660
- <svg className="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 20 20">
661
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
662
- </svg>
663
- Schema Explorer
664
- </Link>
665
- </li>
666
- </ul>
667
- </div>
668
- </div>
669
- </section>
670
-
671
- </div>
672
- </div>
673
- );
674
- }
675
-
676
- const doc = getDocContent(slug);
677
-
678
- if (!doc) {
679
- notFound();
680
- }
681
-
682
- // Special handling for schema-reference page
683
- const isSchemaReference = slug.length === 1 && slug[0] === 'schema-reference';
684
-
685
- if (isSchemaReference) {
686
- return (
687
- <>
688
- {/* Hero Section */}
689
- <div className="bg-gradient-to-br from-secondary via-primary to-accent text-white py-16 px-4">
690
- <div className="container mx-auto max-w-6xl text-center">
691
- <div className="inline-flex items-center justify-center w-20 h-20 bg-white/20 backdrop-blur-sm rounded-full mb-6">
692
- <svg className="w-10 h-10" fill="none" stroke="currentColor" viewBox="0 0 24 24">
693
- <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" />
694
- </svg>
695
- </div>
696
- <h1 className="text-5xl font-bold mb-4">Schema Reference</h1>
697
- <p className="text-xl text-white/90 mb-2">
698
- Complete reference documentation for the OSSA Agent Manifest Schema
699
- </p>
700
- <p className="text-lg text-white/80">
701
- Framework-agnostic • Portable • Validated
702
- </p>
703
- </div>
704
- </div>
705
-
706
- <div className="flex min-h-screen">
707
- <DocsSidebar />
708
- <div className="flex-1 flex flex-col">
709
- <main className="flex-1 container mx-auto max-w-6xl px-4 py-12">
710
- {/* Quick Links Section */}
711
- <section className="mb-12">
712
- <div className="grid md:grid-cols-3 gap-6 mb-8">
713
- <Link href="/schema" className="group bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
714
- <div className="w-12 h-12 bg-gradient-to-br from-secondary via-primary to-accent rounded-lg flex items-center justify-center mb-4">
715
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
716
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
717
- </svg>
718
- </div>
719
- <h3 className="text-xl font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Interactive Schema Explorer</h3>
720
- <p className="text-gray-600 text-sm">Explore the JSON schema interactively with live examples</p>
721
- </Link>
722
- <Link href="/playground" className="group bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
723
- <div className="w-12 h-12 bg-gradient-to-br from-green-500 to-green-600 rounded-lg flex items-center justify-center mb-4">
724
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
725
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
726
- </svg>
727
- </div>
728
- <h3 className="text-xl font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">Validate Your Agent</h3>
729
- <p className="text-gray-600 text-sm">Test and validate your agent manifest in real-time</p>
730
- </Link>
731
- <Link href="/docs/openapi-extensions" className="group bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
732
- <div className="w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 rounded-lg flex items-center justify-center mb-4">
733
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
734
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01" />
735
- </svg>
736
- </div>
737
- <h3 className="text-xl font-bold text-gray-900 mb-2 group-hover:text-primary transition-colors">OpenAPI Extensions</h3>
738
- <p className="text-gray-600 text-sm">Learn how OSSA extends OpenAPI for agent definitions</p>
739
- </Link>
740
- </div>
741
- </section>
742
-
743
- {/* Schema Components Grid */}
744
- <section className="mb-12">
745
- <div className="flex items-center mb-8">
746
- <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">
747
- <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
748
- <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" />
749
- </svg>
750
- </div>
751
- <h2 className="text-3xl font-bold text-primary">Schema Components</h2>
752
- </div>
753
- <div className="grid md:grid-cols-2 gap-6">
754
- <div className="bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
755
- <h3 className="text-xl font-bold mb-3 text-primary">Core Objects</h3>
756
- <ul className="space-y-2 text-gray-700">
757
- <li className="flex items-center">
758
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
759
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
760
- </svg>
761
- <Link href="/docs/schema-reference/ossa-manifest" className="hover:text-primary">OSSA Manifest</Link>
762
- </li>
763
- <li className="flex items-center">
764
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
765
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
766
- </svg>
767
- <Link href="/docs/schema-reference/agent-spec" className="hover:text-primary">Agent Spec</Link>
768
- </li>
769
- <li className="flex items-center">
770
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
771
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
772
- </svg>
773
- <Link href="/docs/schema-reference/llm-config" className="hover:text-primary">LLM Configuration</Link>
774
- </li>
775
- <li className="flex items-center">
776
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
777
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
778
- </svg>
779
- <Link href="/docs/schema-reference/tools" className="hover:text-primary">Tools</Link>
780
- </li>
781
- </ul>
782
- </div>
783
- <div className="bg-white border-2 border-blue-100 rounded-xl p-6 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
784
- <h3 className="text-xl font-bold mb-3 text-primary">Configuration Objects</h3>
785
- <ul className="space-y-2 text-gray-700">
786
- <li className="flex items-center">
787
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
788
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
789
- </svg>
790
- <Link href="/docs/schema-reference/taxonomy" className="hover:text-primary">Taxonomy</Link>
791
- </li>
792
- <li className="flex items-center">
793
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
794
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
795
- </svg>
796
- <Link href="/docs/schema-reference/autonomy" className="hover:text-primary">Autonomy</Link>
797
- </li>
798
- <li className="flex items-center">
799
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
800
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
801
- </svg>
802
- <Link href="/docs/schema-reference/constraints" className="hover:text-primary">Constraints</Link>
803
- </li>
804
- <li className="flex items-center">
805
- <svg className="w-4 h-4 text-primary mr-2" fill="currentColor" viewBox="0 0 20 20">
806
- <path fillRule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clipRule="evenodd" />
807
- </svg>
808
- <Link href="/docs/schema-reference/observability" className="hover:text-primary">Observability</Link>
809
- </li>
810
- </ul>
811
- </div>
812
- </div>
813
- </section>
814
-
815
- {/* Main Content */}
816
- <article className="prose prose-lg max-w-none">
817
- <div className="mt-8">
818
- <MarkdownContent content={doc.content} currentPath={`/docs/${slug.join('/')}`} />
819
- </div>
820
- </article>
821
- </main>
822
- </div>
823
- </div>
824
- </>
825
- );
826
- }
827
-
828
- return (
829
- <div className="flex min-h-screen">
830
- <DocsSidebar />
831
- <div className="flex-1 flex flex-col">
832
- <main className="flex-1 container mx-auto max-w-4xl px-4 py-8">
833
- <article className="prose prose-lg max-w-none">
834
- <h1>{doc.metadata.title}</h1>
835
- {doc.metadata.description && (
836
- <p className="text-xl text-gray-600">{doc.metadata.description}</p>
837
- )}
838
- <div className="mt-8">
839
- <MarkdownContent content={doc.content} currentPath={`/docs/${slug.join('/')}`} />
840
- </div>
841
- </article>
842
- </main>
843
- </div>
844
- </div>
845
- );
846
- }
847
-