@bluefly/openstandardagents 0.2.5-RC → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  3. package/.github/workflows/dependabot-comment.yml +34 -0
  4. package/.github/workflows/pr-comment.yml +33 -0
  5. package/.husky/pre-commit +5 -0
  6. package/.kiro/config.json +21 -0
  7. package/.kiro/settings/mcp.json +61 -0
  8. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  9. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  10. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  11. package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
  12. package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
  13. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  14. package/CHANGELOG.md +23 -0
  15. package/README.md +12 -3
  16. package/bin/ossa-dev +42 -0
  17. package/bin/ossa-export +32 -0
  18. package/bin/ossa-generate +60 -0
  19. package/bin/ossa-health +40 -0
  20. package/bin/ossa-init +26 -0
  21. package/dist/repositories/schema.repository.d.ts.map +1 -1
  22. package/dist/repositories/schema.repository.js +15 -10
  23. package/dist/repositories/schema.repository.js.map +1 -1
  24. package/dist/services/github-sync/github-client.d.ts +14 -0
  25. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  26. package/dist/services/github-sync/github-client.js +41 -0
  27. package/dist/services/github-sync/github-client.js.map +1 -0
  28. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  29. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  30. package/dist/services/github-sync/gitlab-client.js +42 -0
  31. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  32. package/dist/services/github-sync/schemas.d.ts +46 -0
  33. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  34. package/dist/services/github-sync/schemas.js +36 -0
  35. package/dist/services/github-sync/schemas.js.map +1 -0
  36. package/dist/services/github-sync/sync.service.d.ts +27 -0
  37. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  38. package/dist/services/github-sync/sync.service.js +99 -0
  39. package/dist/services/github-sync/sync.service.js.map +1 -0
  40. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  41. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  42. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  43. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  44. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  45. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  46. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  47. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  48. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  49. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  50. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  51. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  52. package/dist/services/runtime/claude/types.d.ts +115 -0
  53. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  54. package/dist/services/runtime/claude/types.js +6 -0
  55. package/dist/services/runtime/claude/types.js.map +1 -0
  56. package/dist/services/validation.service.d.ts.map +1 -1
  57. package/dist/services/validation.service.js +12 -1
  58. package/dist/services/validation.service.js.map +1 -1
  59. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  60. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  61. package/dist/spec/v0.2.6/README.md +72 -0
  62. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  63. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  64. package/dist/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  65. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  66. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  67. package/dist/spec/v0.2.6-dev/README.md +75 -0
  68. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  69. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  70. package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6-dev/ossa-0.2.5.schema.json} +9 -9
  71. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  72. package/{spec/v0.2.4/ossa-0.2.4-dev.schema.json → dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json} +9 -9
  73. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  74. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  75. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  76. package/docs/brand-guide/01-brand-overview.md +37 -0
  77. package/docs/brand-guide/02-logo-usage.md +43 -0
  78. package/docs/brand-guide/03-color-palette.md +70 -0
  79. package/docs/brand-guide/04-typography.md +82 -0
  80. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  81. package/docs/brand-guide/06-visual-elements.md +137 -0
  82. package/docs/brand-guide/07-application-examples.md +153 -0
  83. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  84. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  85. package/docs/brand-guide/README.md +107 -0
  86. package/docs/comparison.md +315 -0
  87. package/docs/operations/automation-roadmap.md +245 -0
  88. package/docs/operations/github-sync-strategy.md +357 -0
  89. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  90. package/examples/autogen/multi-agent.ossa.json +6 -4
  91. package/examples/crewai/research-team.ossa.json +14 -5
  92. package/examples/cursor/code-review-agent.ossa.json +21 -6
  93. package/examples/langchain/chain-agent.ossa.json +21 -5
  94. package/examples/langflow/workflow-agent.ossa.json +2 -3
  95. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  96. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  97. package/examples/openai/multi-tool-agent.ossa.json +32 -9
  98. package/examples/openai/swarm-agent.ossa.json +18 -5
  99. package/examples/vercel/edge-agent.ossa.json +5 -4
  100. package/openapi/github-sync.yaml +115 -0
  101. package/package.json +25 -4
  102. package/scripts/README.md +103 -0
  103. package/scripts/auto-rebase-mrs.ts +106 -0
  104. package/scripts/batch-dependabot.sh +57 -0
  105. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  106. package/scripts/create-issue-helper.ts +238 -0
  107. package/scripts/create-milestone-issue.ts +73 -0
  108. package/scripts/fix-schema-formats.js +82 -0
  109. package/scripts/generate-agents-catalog.ts +77 -0
  110. package/scripts/generate-api-docs.ts +218 -0
  111. package/scripts/generate-cli-docs.ts +410 -0
  112. package/scripts/generate-config-docs.ts +109 -0
  113. package/scripts/generate-errors-docs.ts +76 -0
  114. package/scripts/generate-examples-docs.ts +99 -0
  115. package/scripts/generate-schema-docs.ts +296 -0
  116. package/scripts/generate-types-docs.ts +48 -0
  117. package/scripts/lowercase-docs.ts +43 -0
  118. package/scripts/manage-milestone-mrs.ts +279 -0
  119. package/scripts/rebase-all-mrs.sh +75 -0
  120. package/scripts/sync-github-pr.sh +48 -0
  121. package/scripts/sync-version.js +40 -0
  122. package/scripts/sync-wiki.sh +50 -0
  123. package/scripts/validate-all.js +127 -0
  124. package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  125. package/spec/v0.2.6/CHANGELOG.md +401 -0
  126. package/spec/v0.2.6/README.md +72 -0
  127. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  128. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  129. package/spec/v0.2.6/ossa-0.2.6.schema.json +1786 -0
  130. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  131. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  132. package/spec/v0.2.6-dev/README.md +75 -0
  133. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  134. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  135. package/spec/v0.2.6-dev/ossa-0.2.5.schema.json +1696 -0
  136. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  137. package/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +1696 -0
  138. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  139. package/spec/v0.2.7/core/agentgraph.md +324 -0
  140. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  141. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +445 -0
  142. package/website/app/about/page.tsx +53 -44
  143. package/website/app/ecosystem/page.tsx +146 -111
  144. package/website/app/globals.scss +256 -21
  145. package/website/app/page.tsx +394 -182
  146. package/website/app/page.tsx.bak +679 -0
  147. package/website/app/page.tsx.bak2 +649 -0
  148. package/website/app/schema/page.tsx +3 -3
  149. package/website/app/specification/page.tsx +1 -1
  150. package/website/components/layout/Header.tsx +27 -23
  151. package/website/components/ui/Badge.tsx +82 -0
  152. package/website/components/ui/Button.tsx +116 -0
  153. package/website/components/ui/Card.tsx +167 -0
  154. package/website/components/ui/Checkbox.tsx +141 -0
  155. package/website/components/ui/Input.tsx +169 -0
  156. package/website/components/ui/Radio.tsx +141 -0
  157. package/website/components/ui/Select.tsx +182 -0
  158. package/website/components/ui/Tag.tsx +158 -0
  159. package/website/components/ui/Textarea.tsx +195 -0
  160. package/website/components/ui/index.ts +11 -0
  161. package/website/content/docs/{00-HOME.md → 00-home.md} +1 -1
  162. package/website/content/docs/agents/catalog.md +28 -0
  163. package/website/content/docs/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
  164. package/website/content/docs/api-reference/index.md +38 -0
  165. package/website/content/docs/api-reference/ossa-core-api.md +634 -0
  166. package/website/content/docs/api-reference/ossa-registry-api.md +515 -0
  167. package/website/content/docs/api-reference/unified-agent-gateway.md +599 -0
  168. package/website/content/docs/cli-reference/index.md +111 -0
  169. package/website/content/docs/cli-reference/ossa-agents.md +70 -0
  170. package/website/content/docs/cli-reference/ossa-export.md +56 -0
  171. package/website/content/docs/cli-reference/ossa-generate.md +66 -0
  172. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +57 -0
  173. package/website/content/docs/cli-reference/ossa-import.md +56 -0
  174. package/website/content/docs/cli-reference/ossa-init.md +57 -0
  175. package/website/content/docs/cli-reference/ossa-migrate.md +62 -0
  176. package/website/content/docs/cli-reference/ossa-run.md +66 -0
  177. package/website/content/docs/cli-reference/ossa-schema.md +57 -0
  178. package/website/content/docs/cli-reference/ossa-setup.md +57 -0
  179. package/website/content/docs/cli-reference/ossa-validate.md +66 -0
  180. package/website/content/docs/configuration/index.md +97 -0
  181. package/website/content/docs/deployment/github-mirroring.md +924 -0
  182. package/website/content/docs/documentation.md +100 -0
  183. package/website/content/docs/ecosystem/framework-support.md +551 -9
  184. package/website/content/docs/errors/index.md +10 -0
  185. package/website/content/docs/examples/{AIFlow-Framework-Integration-with-OSSA.md → aiflow-framework-integration-with-ossa.md} +2 -2
  186. package/website/content/docs/examples/catalog.md +300 -0
  187. package/website/content/docs/for-audiences/{Students-Researchers.md → students-researchers.md} +1 -1
  188. package/website/content/docs/getting-started/{Installation.md → installation.md} +1 -1
  189. package/website/content/docs/getting-started.md +1 -1
  190. package/website/content/docs/integrations/aiflow.md +2 -2
  191. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
  192. package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
  193. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +7 -7
  194. package/website/content/docs/migration-guides/langchain-to-ossa.md +4 -4
  195. package/website/content/docs/openapi-extensions/index.md +1 -1
  196. package/website/content/docs/ossa-compliant-badge.md +1 -1
  197. package/website/content/docs/pre-release/index.md +5 -5
  198. package/website/content/docs/releases/v0.2.6.md +99 -0
  199. package/website/content/docs/schema-reference/agent-capabilities.md +50 -0
  200. package/website/content/docs/schema-reference/agent-id.md +52 -0
  201. package/website/content/docs/schema-reference/agent-name.md +50 -0
  202. package/website/content/docs/schema-reference/agent-role.md +54 -0
  203. package/website/content/docs/schema-reference/agent-version.md +50 -0
  204. package/website/content/docs/schema-reference/index.md +26 -157
  205. package/website/content/docs/types-reference/index.md +105 -0
  206. package/website/content/docs/versioning.md +3 -3
  207. package/website/dev.sh +53 -0
  208. package/website/docker-compose.dev.yml +36 -0
  209. package/website/lib/version.ts +1 -1
  210. package/website/lib/versions.json +45 -20
  211. package/website/package.json +1 -1
  212. package/website/styles/_spacing.scss +453 -0
  213. package/website/styles/_tokens.scss +245 -0
  214. package/website/styles/_typography.scss +361 -0
  215. package/website/styles/_variables.scss +270 -19
  216. package/website/tailwind.config.ts +113 -79
  217. package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
  218. package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
  219. package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
  220. package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
  221. package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
  222. package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
  223. package/docs/issue-19-completion-summary.md +0 -648
  224. package/docs/issue-19-validation.md +0 -351
  225. package/website/content/docs/Examples.md +0 -71
  226. package/website/content/docs/OpenAPI-Extensions.md +0 -934
  227. package/website/content/docs/core-concepts/Project-Structure.md +0 -348
  228. package/website/content/docs/examples/Migration-Guides.md +0 -214
  229. package/website/content/docs/for-audiences/Architects.md +0 -224
  230. package/website/content/docs/for-audiences/Developers.md +0 -220
  231. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  232. package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
  233. package/website/content/docs/getting-started/First-Agent.md +0 -196
  234. package/website/content/docs/getting-started/Hello-World.md +0 -184
  235. package/website/content/docs/migration-guides/00-INDEX.md +0 -76
  236. package/website/content/docs/migration-guides/README.md +0 -133
  237. /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
  238. /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
@@ -1,6 +1,23 @@
1
1
  import Link from 'next/link';
2
2
  import type { Metadata } from 'next';
3
3
  import { Logo } from '@/components/Logo';
4
+ import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/Card';
5
+ import fs from 'fs';
6
+ import path from 'path';
7
+
8
+ // Get version dynamically
9
+ function getVersion(): string {
10
+ try {
11
+ const pkgPath = path.join(process.cwd(), '../package.json');
12
+ if (fs.existsSync(pkgPath)) {
13
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
14
+ return pkg.version;
15
+ }
16
+ } catch (error) {
17
+ console.error('Failed to load version:', error);
18
+ }
19
+ return '0.2.6';
20
+ }
4
21
 
5
22
  export const metadata: Metadata = {
6
23
  title: 'Open Standard Agents - Industry Standard for Agent Orchestration',
@@ -8,31 +25,52 @@ export const metadata: Metadata = {
8
25
  };
9
26
 
10
27
  export default function HomePage() {
28
+ const version = getVersion();
29
+
11
30
  return (
12
31
  <div className="flex flex-col">
13
32
  {/* Hero Section */}
14
33
  <section className="bg-gradient-to-br from-secondary via-primary to-accent text-white py-24 px-4">
15
- <div className="container mx-auto max-w-7xl text-center">
34
+ <div className="container mx-auto max-w-[1440px] text-center">
16
35
  <div className="mb-6 flex flex-col items-center">
17
36
  <span className="inline-block px-4 py-2 bg-white/20 backdrop-blur-sm rounded-full text-sm font-medium mb-4">
18
- The OpenAPI for AI Agents
37
+ The OpenAPI for AI Agents (v{version})
19
38
  </span>
20
39
  </div>
21
- <h1 className="text-6xl md:text-7xl font-bold mb-6 leading-tight">
22
- Open Standard for <span className="bg-gradient-to-r from-yellow-300 via-orange-300 to-pink-300 bg-clip-text text-transparent animate-pulse">Scalable Agents</span>
40
+ <h1 className="text-4xl md:text-6xl lg:text-7xl font-bold mb-6 leading-tight">
41
+ Open Standard for AI Agents
23
42
  </h1>
24
- <p className="text-3xl md:text-4xl mb-6 font-light">
25
- The Interoperability Layer Your Agents Are Missing
26
- </p>
27
- <p className="text-xl md:text-2xl mb-4 text-gray-200 max-w-4xl mx-auto">
28
- A vendor-neutral, open specification for defining, deploying, and managing AI agents.
29
- </p>
30
- <p className="text-lg mb-8 text-white max-w-4xl mx-auto">
31
- Just as OpenAPI standardizes REST APIs, Open Standard Agents standardizes agent interoperability
32
- across frameworks, runtimes, and organizations.
43
+ <p className="text-2xl md:text-3xl lg:text-4xl mb-6 font-bold">
44
+ Vendor-neutral, compliance-ready, enterprise-grade
33
45
  </p>
46
+ <div className="max-w-4xl mx-auto mb-8 space-y-3">
47
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
48
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
49
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
50
+ </svg>
51
+ Switch between AI providers without code changes
52
+ </p>
53
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
54
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
55
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
56
+ </svg>
57
+ Built-in compliance and security frameworks
58
+ </p>
59
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
60
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
61
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
62
+ </svg>
63
+ Standardized agent lifecycle and governance
64
+ </p>
65
+ <p className="text-lg md:text-xl text-gray-100 flex items-center justify-center gap-2">
66
+ <svg className="w-5 h-5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
67
+ <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
68
+ </svg>
69
+ Multi-runtime support (Node.js, Python, more)
70
+ </p>
71
+ </div>
34
72
  <div className="flex flex-col sm:flex-row gap-4 justify-center mb-12">
35
- <Link href="#get-started" className="btn-primary text-lg px-8 py-4 border-2 border-transparent hover:border-white transition-all">
73
+ <Link href="#get-started" className="text-lg px-8 py-4 bg-[#3224c9] text-white font-bold rounded-lg shadow-xl hover:shadow-2xl transform hover:scale-105 transition-all border-2 border-white hover:bg-white hover:text-[#3224c9]">
36
74
  Get Started
37
75
  </Link>
38
76
  <Link href="https://github.com/blueflyio/openstandardagents" className="btn-outline border-white text-white hover:bg-white hover:text-primary text-lg px-8 py-4" target="_blank" rel="noopener noreferrer">
@@ -47,62 +85,25 @@ export default function HomePage() {
47
85
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
48
86
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
49
87
  </svg>
50
- <span>Vendor-Neutral</span>
88
+ <span className="font-bold">Vendor-Neutral</span>
51
89
  </div>
52
90
  <div className="flex items-center gap-2">
53
91
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
54
92
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
55
93
  </svg>
56
- <span>Framework-Agnostic</span>
94
+ <span className="font-bold">Framework-Agnostic</span>
57
95
  </div>
58
96
  <div className="flex items-center gap-2">
59
97
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
60
98
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
61
99
  </svg>
62
- <span>Open Source</span>
100
+ <span className="font-bold">Open Source</span>
63
101
  </div>
64
102
  <div className="flex items-center gap-2">
65
103
  <svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
66
104
  <path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" />
67
105
  </svg>
68
- <span>JSON Schema Validated</span>
69
- </div>
70
- </div>
71
- </div>
72
- </section>
73
-
74
- {/* Why OSSA - The Problem Section */}
75
- <section className="py-16 px-4 bg-gradient-to-br from-amber-50 via-orange-50 to-yellow-50">
76
- <div className="container mx-auto max-w-5xl">
77
- <div className="text-center mb-8">
78
- <h2 className="text-4xl font-bold mb-6 text-gray-900">Why Does This Matter?</h2>
79
- </div>
80
- <div className="prose prose-lg max-w-none">
81
- <p className="text-xl text-gray-700 mb-6 leading-relaxed">
82
- In the world of AI agents, <strong className="text-gray-900">everyone calls an agent something different</strong>.
83
- LangChain has &quot;chains,&quot; CrewAI has &quot;crews,&quot; OpenAI has &quot;assistants,&quot; Anthropic has Claude with &quot;tools.&quot;
84
- Every framework invents its own terminology, its own configuration format, its own orchestration model.
85
- </p>
86
- <p className="text-xl text-gray-700 mb-6 leading-relaxed">
87
- This fragmentation creates <strong className="text-red-600">vendor lock-in</strong>, makes agents impossible
88
- to share between teams, and forces developers to rewrite everything when switching frameworks. Want to move
89
- your LangChain agent to CrewAI? Complete rewrite. Need to deploy the same agent logic across multiple
90
- frameworks? Maintain separate implementations.
91
- </p>
92
- <p className="text-xl text-gray-700 mb-6 leading-relaxed">
93
- Imagine if every API framework required its own documentation format—that was the world before OpenAPI.
94
- Every API provider wrote docs differently, integration was chaos, and tooling couldn&apos;t be shared.
95
- <strong className="text-gray-900"> OpenAPI solved this by creating one standard that every API could follow</strong>.
96
- </p>
97
- <div className="bg-white rounded-xl p-8 shadow-lg border-2 border-blue-200">
98
- <p className="text-2xl text-gray-900 font-bold mb-4">
99
- OSSA solves this for AI agents.
100
- </p>
101
- <p className="text-xl text-gray-700">
102
- <strong>One standard. Any framework. True portability.</strong> Define your agent once in OSSA format,
103
- then deploy it with LangChain, CrewAI, Anthropic, OpenAI, or any other framework. Just like OpenAPI
104
- unified REST APIs, OSSA unifies AI agents.
105
- </p>
106
+ <span className="font-bold">JSON Schema Validated</span>
106
107
  </div>
107
108
  </div>
108
109
  </div>
@@ -110,7 +111,7 @@ export default function HomePage() {
110
111
 
111
112
  {/* What is OSSA Section */}
112
113
  <section className="py-20 px-4 bg-white">
113
- <div className="container mx-auto max-w-7xl">
114
+ <div className="container mx-auto max-w-[1440px]">
114
115
  <div className="text-center mb-16">
115
116
  <h2 className="text-5xl font-bold mb-6">What is Open Standard Agents?</h2>
116
117
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
@@ -121,37 +122,49 @@ export default function HomePage() {
121
122
  </div>
122
123
 
123
124
  <div className="grid md:grid-cols-3 gap-8 mb-12">
124
- <div className="card-hover p-8">
125
- <h3 className="text-2xl font-semibold mb-4 text-primary">Specification Standard</h3>
126
- <p className="text-gray-700 mb-4">
127
- OSSA is <strong>NOT a framework</strong> - it&apos;s a specification that defines the contract
128
- for agent definition, deployment, and management.
129
- </p>
130
- <p className="text-gray-700">
131
- Just like OpenAPI doesn&apos;t implement APIs, OSSA doesn&apos;t implement agents.
132
- It provides the standard that implementations follow.
133
- </p>
134
- </div>
135
- <div className="card-hover p-8">
136
- <h3 className="text-2xl font-semibold mb-4 text-primary">Framework-Agnostic</h3>
137
- <p className="text-gray-700 mb-4">
138
- Works seamlessly with any LLM framework or SDK - LangChain, Anthropic, OpenAI,
139
- CrewAI, Langflow, AutoGen, and more.
140
- </p>
141
- <p className="text-gray-700">
142
- Deploy to Kubernetes, Docker, serverless, or on-premise. OSSA is infrastructure-agnostic.
143
- </p>
144
- </div>
145
- <div className="card-hover p-8">
146
- <h3 className="text-2xl font-semibold mb-4 text-primary">Vendor-Neutral</h3>
147
- <p className="text-gray-700 mb-4">
148
- No vendor lock-in. Write once, deploy anywhere. Move agents between teams,
149
- organizations, and infrastructures without rewriting code.
150
- </p>
151
- <p className="text-gray-700">
152
- Maintained by the open source community, ensuring long-term viability and innovation.
153
- </p>
154
- </div>
125
+ <Card variant="default" padding="lg" elevation={1} hover>
126
+ <CardHeader>
127
+ <CardTitle className="text-primary">Specification Standard</CardTitle>
128
+ </CardHeader>
129
+ <CardContent>
130
+ <p className="text-gray-700 mb-4">
131
+ OSSA is <strong>NOT a framework</strong> - it&apos;s a specification that defines the contract
132
+ for agent definition, deployment, and management.
133
+ </p>
134
+ <p className="text-gray-700">
135
+ Just like OpenAPI doesn&apos;t implement APIs, OSSA doesn&apos;t implement agents.
136
+ It provides the standard that implementations follow.
137
+ </p>
138
+ </CardContent>
139
+ </Card>
140
+ <Card variant="default" padding="lg" elevation={1} hover>
141
+ <CardHeader>
142
+ <CardTitle className="text-primary">Framework-Agnostic</CardTitle>
143
+ </CardHeader>
144
+ <CardContent>
145
+ <p className="text-gray-700 mb-4">
146
+ Works seamlessly with any LLM framework or SDK - LangChain, Anthropic, OpenAI,
147
+ CrewAI, Langflow, AutoGen, and more.
148
+ </p>
149
+ <p className="text-gray-700">
150
+ Deploy to Kubernetes, Docker, serverless, or on-premise. OSSA is infrastructure-agnostic.
151
+ </p>
152
+ </CardContent>
153
+ </Card>
154
+ <Card variant="default" padding="lg" elevation={1} hover>
155
+ <CardHeader>
156
+ <CardTitle className="text-primary">Vendor-Neutral</CardTitle>
157
+ </CardHeader>
158
+ <CardContent>
159
+ <p className="text-gray-700 mb-4">
160
+ No vendor lock-in. Write once, deploy anywhere. Move agents between teams,
161
+ organizations, and infrastructures without rewriting code.
162
+ </p>
163
+ <p className="text-gray-700">
164
+ Maintained by the open source community, ensuring long-term viability and innovation.
165
+ </p>
166
+ </CardContent>
167
+ </Card>
155
168
  </div>
156
169
 
157
170
  {/* OpenAPI Comparison */}
@@ -162,9 +175,9 @@ export default function HomePage() {
162
175
  </h3>
163
176
  <div className="w-24 h-1 bg-gradient-to-r from-primary to-secondary mx-auto rounded-full"></div>
164
177
  </div>
165
- <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6 max-w-7xl mx-auto">
166
- <div className="bg-white rounded-lg p-6 border-2 border-blue-100 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
167
- <h4 className="text-xl font-bold mb-5 text-primary pb-3 border-b-2 border-blue-100">OpenAPI for REST APIs</h4>
178
+ <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6 max-w-[1440px] mx-auto">
179
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
180
+ <h4 className="text-xl font-bold mb-5 text-primary pb-3 border-b-2 border-blue-100">OpenAPI for REST</h4>
168
181
  <ul className="space-y-3 text-gray-700">
169
182
  <li className="flex items-start gap-3">
170
183
  <svg className="w-5 h-5 text-primary mt-0.5 flex-shrink-0" fill="currentColor" viewBox="0 0 20 20">
@@ -191,8 +204,8 @@ export default function HomePage() {
191
204
  <span className="font-medium">JSON Schema validation</span>
192
205
  </li>
193
206
  </ul>
194
- </div>
195
- <div className="bg-white rounded-lg p-6 border-2 border-blue-100 shadow-md hover:shadow-xl hover:border-secondary transition-all duration-300">
207
+ </Card>
208
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
196
209
  <h4 className="text-xl font-bold mb-5 text-secondary pb-3 border-b-2 border-cyan-100">OSSA for AI Agents</h4>
197
210
  <ul className="space-y-3 text-gray-700">
198
211
  <li className="flex items-start gap-3">
@@ -220,8 +233,8 @@ export default function HomePage() {
220
233
  <span className="font-medium">JSON Schema validation</span>
221
234
  </li>
222
235
  </ul>
223
- </div>
224
- <div className="bg-white rounded-lg p-6 border-2 border-blue-100 shadow-md hover:shadow-xl hover:border-primary transition-all duration-300">
236
+ </Card>
237
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
225
238
  <h4 className="text-xl font-bold mb-5 text-primary pb-3 border-b-2 border-blue-100">OpenAPI Integration</h4>
226
239
  <ul className="space-y-3 text-gray-700">
227
240
  <li className="flex items-start gap-3">
@@ -249,8 +262,8 @@ export default function HomePage() {
249
262
  <span className="font-medium">Unified API and agent standards</span>
250
263
  </li>
251
264
  </ul>
252
- </div>
253
- <div className="bg-white rounded-lg p-6 border-2 border-blue-100 shadow-md hover:shadow-xl hover:border-secondary transition-all duration-300">
265
+ </Card>
266
+ <Card variant="default" padding="md" elevation={2} hover className="border-2 border-blue-100">
254
267
  <h4 className="text-xl font-bold mb-5 text-secondary pb-3 border-b-2 border-cyan-100">API-to-Agent Bridge</h4>
255
268
  <ul className="space-y-3 text-gray-700">
256
269
  <li className="flex items-start gap-3">
@@ -278,57 +291,123 @@ export default function HomePage() {
278
291
  <span className="font-medium">Bidirectional integration</span>
279
292
  </li>
280
293
  </ul>
281
- </div>
294
+ </Card>
282
295
  </div>
283
296
  </div>
284
297
  </div>
285
298
  </section>
286
299
 
300
+ {/* Why OSSA - The Problem Section */}
301
+ <section className="py-16 px-4 bg-white">
302
+ <div className="container mx-auto max-w-5xl">
303
+ <div className="text-center mb-12">
304
+ <h2 className="text-4xl md:text-5xl font-bold mb-4 text-gray-900">Why Does This Matter?</h2>
305
+ <p className="text-xl text-gray-600">Leading with portability, regulatory compliance, and vendor independence</p>
306
+ </div>
307
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
308
+ <Card variant="default" padding="lg" elevation={1}>
309
+ <h3 className="text-2xl font-bold mb-3 text-gray-900">Portability: Avoid Vendor Lock-in</h3>
310
+ <p className="text-lg text-gray-700 leading-relaxed">
311
+ Switch between AI providers (OpenAI, Anthropic, Azure) without rewriting code. Define your agent once in OSSA format,
312
+ deploy anywhere. No more complete rewrites when changing frameworks.
313
+ </p>
314
+ </Card>
315
+ <Card variant="default" padding="lg" elevation={1}>
316
+ <h3 className="text-2xl font-bold mb-3 text-gray-900">Regulatory Compliance: Built-in Frameworks</h3>
317
+ <p className="text-lg text-gray-700 leading-relaxed">
318
+ Meet SOC2, FedRAMP, HIPAA, and GDPR requirements with standardized security models, audit trails,
319
+ and data boundary controls. Compliance-ready from day one.
320
+ </p>
321
+ </Card>
322
+ <Card variant="default" padding="lg" elevation={1}>
323
+ <h3 className="text-2xl font-bold mb-3 text-gray-900">Vendor Independence: True Interoperability</h3>
324
+ <p className="text-lg text-gray-700 leading-relaxed">
325
+ Community-driven standard, not controlled by any single company. Works with LangChain, CrewAI, AutoGen,
326
+ and any framework. Your agents, your choice.
327
+ </p>
328
+ </Card>
329
+ </div>
330
+ <Card variant="featured" padding="lg" elevation={3}>
331
+ <p className="text-2xl text-gray-900 font-bold mb-4">
332
+ OSSA solves this for AI agents.
333
+ </p>
334
+ <p className="text-xl text-gray-700">
335
+ <strong>One standard. Any framework. True portability.</strong> Define your agent once in OSSA format,
336
+ then deploy it with LangChain, CrewAI, Anthropic, OpenAI, or any other framework. Just like OpenAPI
337
+ unified REST APIs, OSSA unifies AI agents.
338
+ </p>
339
+ </Card>
340
+ </div>
341
+ </section>
342
+
287
343
  {/* Quick Start Section */}
288
344
  <section id="get-started" className="py-20 px-4 bg-gray-50 scroll-mt-20">
289
- <div className="container mx-auto max-w-7xl">
345
+ <div className="container mx-auto max-w-[1440px]">
290
346
  <div className="text-center mb-12">
291
- <h2 className="text-5xl font-bold mb-6">Get Started in Minutes</h2>
347
+ <div className="flex items-center justify-center mb-6">
348
+ <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">
349
+ <svg className="w-6 h-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
350
+ <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 10V3L4 14h7v7l9-11h-7z" />
351
+ </svg>
352
+ </div>
353
+ <h2 className="text-5xl font-bold text-primary">Get Started in Minutes</h2>
354
+ </div>
292
355
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
293
356
  Install the CLI, create your first agent, and start building with Open Standard Agents.
294
357
  </p>
295
358
  </div>
296
359
 
297
360
  <div className="grid md:grid-cols-2 gap-8 max-w-5xl mx-auto mb-12">
298
- <div className="card p-8">
299
- <h3 className="text-2xl font-semibold mb-4 text-primary">1. Install CLI</h3>
300
- <div className="bg-code-bg rounded-lg p-4 mb-4">
301
- <pre className="text-code-text text-sm overflow-x-auto">
302
- <code>npm install -g @bluefly/openstandardagents</code>
303
- </pre>
304
- </div>
305
- </div>
306
- <div className="card p-8">
307
- <h3 className="text-2xl font-semibold mb-4 text-primary">2. Create Agent</h3>
308
- <div className="bg-code-bg rounded-lg p-4 mb-4">
309
- <pre className="text-code-text text-sm overflow-x-auto">
310
- <code>{`osa init my-agent
361
+ <Card variant="default" padding="lg" elevation={2}>
362
+ <CardHeader>
363
+ <CardTitle className="text-primary">1. Install CLI</CardTitle>
364
+ </CardHeader>
365
+ <CardContent>
366
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
367
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
368
+ <code>npm install -g @bluefly/openstandardagents</code>
369
+ </pre>
370
+ </div>
371
+ </CardContent>
372
+ </Card>
373
+ <Card variant="default" padding="lg" elevation={2}>
374
+ <CardHeader>
375
+ <CardTitle className="text-primary">2. Create Agent</CardTitle>
376
+ </CardHeader>
377
+ <CardContent>
378
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
379
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
380
+ <code>{`osa init my-agent
311
381
  cd my-agent`}</code>
312
- </pre>
313
- </div>
314
- </div>
315
- <div className="card p-8">
316
- <h3 className="text-2xl font-semibold mb-4 text-primary">3. Validate</h3>
317
- <div className="bg-code-bg rounded-lg p-4 mb-4">
318
- <pre className="text-code-text text-sm overflow-x-auto">
319
- <code>osa validate my-agent.ossa.yaml</code>
320
- </pre>
321
- </div>
322
- </div>
323
- <div className="card p-8">
324
- <h3 className="text-2xl font-semibold mb-4 text-primary">4. Export</h3>
325
- <div className="bg-code-bg rounded-lg p-4 mb-4">
326
- <pre className="text-code-text text-sm overflow-x-auto">
327
- <code>{`osa export --to cursor
382
+ </pre>
383
+ </div>
384
+ </CardContent>
385
+ </Card>
386
+ <Card variant="default" padding="lg" elevation={2}>
387
+ <CardHeader>
388
+ <CardTitle className="text-primary">3. Validate</CardTitle>
389
+ </CardHeader>
390
+ <CardContent>
391
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
392
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
393
+ <code>osa validate my-agent.ossa.yaml</code>
394
+ </pre>
395
+ </div>
396
+ </CardContent>
397
+ </Card>
398
+ <Card variant="default" padding="lg" elevation={2}>
399
+ <CardHeader>
400
+ <CardTitle className="text-primary">4. Export</CardTitle>
401
+ </CardHeader>
402
+ <CardContent>
403
+ <div className="bg-code-bg rounded-lg p-3 sm:p-4 overflow-x-auto">
404
+ <pre className="text-code-text text-xs sm:text-sm whitespace-pre-wrap break-all sm:break-normal sm:whitespace-pre">
405
+ <code>{`osa export --to cursor
328
406
  osa export --to langchain`}</code>
329
- </pre>
330
- </div>
331
- </div>
407
+ </pre>
408
+ </div>
409
+ </CardContent>
410
+ </Card>
332
411
  </div>
333
412
 
334
413
  <div className="text-center">
@@ -339,9 +418,110 @@ osa export --to langchain`}</code>
339
418
  </div>
340
419
  </section>
341
420
 
421
+ {/* Comparison Matrix Section */}
422
+ <section className="py-20 px-4 bg-gradient-to-br from-gray-50 to-blue-50">
423
+ <div className="container mx-auto max-w-[1440px]">
424
+ <div className="text-center mb-12">
425
+ <h2 className="text-4xl md:text-5xl font-bold mb-4">How OSSA Compares</h2>
426
+ <p className="text-xl text-gray-600 max-w-3xl mx-auto">
427
+ OSSA is a specification standard, not a framework. See how it enables true interoperability.
428
+ </p>
429
+ </div>
430
+
431
+ {/* Desktop Table */}
432
+ <div className="hidden lg:block overflow-x-auto">
433
+ <table className="w-full bg-white rounded-lg shadow-lg overflow-hidden">
434
+ <thead className="bg-gradient-to-r from-primary to-secondary text-white">
435
+ <tr>
436
+ <th className="px-6 py-4 text-left font-bold">Feature</th>
437
+ <th className="px-6 py-4 text-center font-bold">OSSA</th>
438
+ <th className="px-6 py-4 text-center font-bold">LangChain</th>
439
+ <th className="px-6 py-4 text-center font-bold">AutoGen</th>
440
+ <th className="px-6 py-4 text-center font-bold">MCP</th>
441
+ <th className="px-6 py-4 text-center font-bold">Semantic Kernel</th>
442
+ </tr>
443
+ </thead>
444
+ <tbody className="divide-y divide-gray-200">
445
+ <tr className="hover:bg-gray-50">
446
+ <td className="px-6 py-4 font-medium text-gray-900">Vendor Neutral<br/><span className="text-sm font-normal text-gray-600">Not controlled by any single company</span></td>
447
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
448
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
449
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
450
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
451
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
452
+ </tr>
453
+ <tr className="hover:bg-gray-50 bg-blue-50">
454
+ <td className="px-6 py-4 font-medium text-gray-900">Formal Standard<br/><span className="text-sm font-normal text-gray-600">JSON Schema validated specification</span></td>
455
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
456
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
457
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
458
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
459
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
460
+ </tr>
461
+ <tr className="hover:bg-gray-50">
462
+ <td className="px-6 py-4 font-medium text-gray-900">Multi-runtime<br/><span className="text-sm font-normal text-gray-600">Works across Node.js, Python, and more</span></td>
463
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
464
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
465
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
466
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
467
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
468
+ </tr>
469
+ <tr className="hover:bg-gray-50 bg-blue-50">
470
+ <td className="px-6 py-4 font-medium text-gray-900">Enterprise Governance<br/><span className="text-sm font-normal text-gray-600">Built-in audit trails and policy controls</span></td>
471
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
472
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
473
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
474
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
475
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
476
+ </tr>
477
+ <tr className="hover:bg-gray-50">
478
+ <td className="px-6 py-4 font-medium text-gray-900">Compliance Ready<br/><span className="text-sm font-normal text-gray-600">SOC2, FedRAMP, HIPAA, GDPR frameworks</span></td>
479
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
480
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
481
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
482
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
483
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-red-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clipRule="evenodd" /></svg></td>
484
+ </tr>
485
+ <tr className="hover:bg-gray-50 bg-blue-50">
486
+ <td className="px-6 py-4 font-medium text-gray-900">Open Source<br/><span className="text-sm font-normal text-gray-600">Community-driven development</span></td>
487
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
488
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
489
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
490
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
491
+ <td className="px-6 py-4 text-center"><svg className="w-6 h-6 mx-auto text-green-600" fill="currentColor" viewBox="0 0 20 20"><path fillRule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clipRule="evenodd" /></svg></td>
492
+ </tr>
493
+ </tbody>
494
+ </table>
495
+ </div>
496
+
497
+ {/* Mobile Cards */}
498
+ <div className="lg:hidden space-y-4">
499
+ <Card variant="featured" padding="lg" elevation={2}>
500
+ <h3 className="text-xl font-bold mb-4 text-primary">OSSA</h3>
501
+ <div className="space-y-2 text-sm">
502
+ <div className="flex justify-between"><span>Vendor Neutral</span><span className="text-xl">✅</span></div>
503
+ <div className="flex justify-between"><span>Formal Standard</span><span className="text-xl">✅</span></div>
504
+ <div className="flex justify-between"><span>Multi-runtime</span><span className="text-xl">✅</span></div>
505
+ <div className="flex justify-between"><span>Enterprise Governance</span><span className="text-xl">✅</span></div>
506
+ <div className="flex justify-between"><span>Compliance Ready</span><span className="text-xl">✅</span></div>
507
+ <div className="flex justify-between"><span>Open Source</span><span className="text-xl">✅</span></div>
508
+ </div>
509
+ </Card>
510
+ <Card variant="default" padding="md" elevation={1}>
511
+ <h3 className="text-lg font-bold mb-3">LangChain / AutoGen / Semantic Kernel</h3>
512
+ <p className="text-sm text-gray-600">Framework-specific implementations. Open source but vendor-controlled.</p>
513
+ </Card>
514
+ <Card variant="default" padding="md" elevation={1}>
515
+ <h3 className="text-lg font-bold mb-3">MCP (Model Context Protocol)</h3>
516
+ <p className="text-sm text-gray-600">Formal standard with multi-runtime support. Focused on context, not full agent lifecycle.</p>
517
+ </Card>
518
+ </div>
519
+ </div>
520
+ </section>
521
+
342
522
  {/* Integrations & Adoption Section */}
343
523
  <section className="py-16 px-4 bg-gray-50">
344
- <div className="container mx-auto max-w-7xl">
524
+ <div className="container mx-auto max-w-[1440px]">
345
525
  <div className="text-center mb-12">
346
526
  <h2 className="text-4xl font-bold mb-4">Works With Your Favorite Tools</h2>
347
527
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
@@ -389,7 +569,7 @@ osa export --to langchain`}</code>
389
569
 
390
570
  {/* Features Section */}
391
571
  <section className="py-20 px-4 bg-white">
392
- <div className="container mx-auto max-w-7xl">
572
+ <div className="container mx-auto max-w-[1440px]">
393
573
  <div className="text-center mb-16">
394
574
  <h2 className="text-5xl font-bold mb-6">Why Open Standard Agents?</h2>
395
575
  <p className="text-xl text-gray-600 max-w-3xl mx-auto">
@@ -399,55 +579,87 @@ osa export --to langchain`}</code>
399
579
  </div>
400
580
 
401
581
  <div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8">
402
- <div className="card-hover p-6 text-center">
403
- <h3 className="text-xl font-semibold mb-3">Framework-Agnostic</h3>
404
- <p className="text-gray-700">
405
- Works with LangChain, Anthropic, OpenAI, CrewAI, Langflow, AutoGen, and more.
406
- No vendor lock-in.
407
- </p>
408
- </div>
409
- <div className="bg-white border border-gray-200 rounded-lg p-6 text-center shadow-sm hover:shadow-lg transition-shadow">
410
- <h3 className="text-xl font-semibold mb-3">Portable</h3>
411
- <p className="text-gray-700">
412
- Move agents between teams, organizations, and infrastructures without rewriting code.
413
- </p>
414
- </div>
415
- <div className="bg-white border border-gray-200 rounded-lg p-6 text-center shadow-sm hover:shadow-lg transition-shadow">
416
- <h3 className="text-xl font-semibold mb-3">Validatable</h3>
417
- <p className="text-gray-700">
418
- JSON Schema validation ensures correctness before deployment. Catch errors early.
419
- </p>
420
- </div>
421
- <div className="bg-white border border-gray-200 rounded-lg p-6 text-center shadow-sm hover:shadow-lg transition-shadow">
422
- <h3 className="text-xl font-semibold mb-3">Well-Documented</h3>
423
- <p className="text-gray-700">
424
- Comprehensive documentation, examples, and tooling. Built for developers, by developers.
425
- </p>
426
- </div>
427
- <div className="bg-white border border-gray-200 rounded-lg p-6 text-center shadow-sm hover:shadow-lg transition-shadow">
428
- <h3 className="text-xl font-semibold mb-3">Open Source</h3>
429
- <p className="text-gray-700">
430
- Apache 2.0 licensed. Community-driven. Transparent development process.
431
- </p>
432
- </div>
433
- <div className="bg-white border border-gray-200 rounded-lg p-6 text-center shadow-sm hover:shadow-lg transition-shadow">
434
- <h3 className="text-xl font-semibold mb-3">Fast Integration</h3>
435
- <p className="text-gray-700">
436
- Export to any framework format. Import existing agents. Seamless migration paths.
437
- </p>
438
- </div>
439
- <div className="bg-white border border-gray-200 rounded-lg p-6 text-center shadow-sm hover:shadow-lg transition-shadow">
440
- <h3 className="text-xl font-semibold mb-3">Secure by Design</h3>
441
- <p className="text-gray-700">
442
- Built-in security patterns, authentication, and compliance features.
443
- </p>
444
- </div>
445
- <div className="bg-white border border-gray-200 rounded-lg p-6 text-center shadow-sm hover:shadow-lg transition-shadow">
446
- <h3 className="text-xl font-semibold mb-3">Observable</h3>
447
- <p className="text-gray-700">
448
- Built-in observability, logging, and monitoring. Track agent performance and behavior.
449
- </p>
450
- </div>
582
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
583
+ <CardHeader>
584
+ <CardTitle className="text-xl">Framework-Agnostic</CardTitle>
585
+ </CardHeader>
586
+ <CardContent>
587
+ <p className="text-gray-700">
588
+ Works with LangChain, Anthropic, OpenAI, CrewAI, Langflow, AutoGen, and more.
589
+ No vendor lock-in.
590
+ </p>
591
+ </CardContent>
592
+ </Card>
593
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
594
+ <CardHeader>
595
+ <CardTitle className="text-xl">Portable</CardTitle>
596
+ </CardHeader>
597
+ <CardContent>
598
+ <p className="text-gray-700">
599
+ Move agents between teams, organizations, and infrastructures without rewriting code.
600
+ </p>
601
+ </CardContent>
602
+ </Card>
603
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
604
+ <CardHeader>
605
+ <CardTitle className="text-xl">Validatable</CardTitle>
606
+ </CardHeader>
607
+ <CardContent>
608
+ <p className="text-gray-700">
609
+ JSON Schema validation ensures correctness before deployment. Catch errors early.
610
+ </p>
611
+ </CardContent>
612
+ </Card>
613
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
614
+ <CardHeader>
615
+ <CardTitle className="text-xl">Well-Documented</CardTitle>
616
+ </CardHeader>
617
+ <CardContent>
618
+ <p className="text-gray-700">
619
+ Comprehensive documentation, examples, and tooling. Built for developers, by developers.
620
+ </p>
621
+ </CardContent>
622
+ </Card>
623
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
624
+ <CardHeader>
625
+ <CardTitle className="text-xl">Open Source</CardTitle>
626
+ </CardHeader>
627
+ <CardContent>
628
+ <p className="text-gray-700">
629
+ Apache 2.0 licensed. Community-driven. Transparent development process.
630
+ </p>
631
+ </CardContent>
632
+ </Card>
633
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
634
+ <CardHeader>
635
+ <CardTitle className="text-xl">Fast Integration</CardTitle>
636
+ </CardHeader>
637
+ <CardContent>
638
+ <p className="text-gray-700">
639
+ Export to any framework format. Import existing agents. Seamless migration paths.
640
+ </p>
641
+ </CardContent>
642
+ </Card>
643
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
644
+ <CardHeader>
645
+ <CardTitle className="text-xl">Secure by Design</CardTitle>
646
+ </CardHeader>
647
+ <CardContent>
648
+ <p className="text-gray-700">
649
+ Built-in security patterns, authentication, and compliance features.
650
+ </p>
651
+ </CardContent>
652
+ </Card>
653
+ <Card variant="default" padding="md" elevation={1} hover className="text-center">
654
+ <CardHeader>
655
+ <CardTitle className="text-xl">Observable</CardTitle>
656
+ </CardHeader>
657
+ <CardContent>
658
+ <p className="text-gray-700">
659
+ Built-in observability, logging, and monitoring. Track agent performance and behavior.
660
+ </p>
661
+ </CardContent>
662
+ </Card>
451
663
  </div>
452
664
  </div>
453
665
  </section>