@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
package/website/dev.sh ADDED
@@ -0,0 +1,53 @@
1
+ #!/bin/bash
2
+ # OSSA Website - Dev Server with OrbStack
3
+ # Auto-detects worktree and sets unique domain
4
+ #
5
+ # Usage:
6
+ # cd website && ./dev.sh # Start dev server
7
+ # cd website && ./dev.sh down # Stop dev server
8
+ # cd website && ./dev.sh logs # View logs
9
+
10
+ set -e
11
+
12
+ # Detect if we're in a worktree or main repo
13
+ # Structure: /worktrees/<worktree-name>/website or /openstandardagents/website
14
+ REPO_DIR=$(dirname "$PWD")
15
+ REPO_NAME=$(basename "$REPO_DIR")
16
+ PARENT_OF_REPO=$(basename "$(dirname "$REPO_DIR")")
17
+
18
+ # Determine domain based on location
19
+ if [ "$PARENT_OF_REPO" = "worktrees" ]; then
20
+ # In a worktree: use worktree name
21
+ DOMAIN="$REPO_NAME"
22
+ elif [ "$REPO_NAME" = "openstandardagents" ]; then
23
+ # In main repo: ossa.orb.local
24
+ DOMAIN="ossa"
25
+ else
26
+ DOMAIN="$REPO_NAME"
27
+ fi
28
+
29
+ export OSSA_DOMAIN="$DOMAIN"
30
+
31
+ echo "🌐 Domain: https://${DOMAIN}.orb.local"
32
+ echo ""
33
+
34
+ case "${1:-up}" in
35
+ up|start)
36
+ docker compose -f docker-compose.dev.yml up -d
37
+ echo ""
38
+ echo "✅ Dev server starting at https://${DOMAIN}.orb.local"
39
+ echo " Run './dev.sh logs' to view output"
40
+ ;;
41
+ down|stop)
42
+ docker compose -f docker-compose.dev.yml down
43
+ ;;
44
+ logs)
45
+ docker compose -f docker-compose.dev.yml logs -f
46
+ ;;
47
+ restart)
48
+ docker compose -f docker-compose.dev.yml restart
49
+ ;;
50
+ *)
51
+ echo "Usage: ./dev.sh [up|down|logs|restart]"
52
+ ;;
53
+ esac
@@ -0,0 +1,36 @@
1
+ # OSSA Website - Development with OrbStack
2
+ # Works from any worktree - domain derived from parent directory name
3
+ #
4
+ # Usage:
5
+ # cd website && docker compose -f docker-compose.dev.yml up
6
+ #
7
+ # Domains:
8
+ # /openstandardagents/website → ossa.orb.local (main repo)
9
+ # /worktrees/website-design → website-design.orb.local
10
+ # /worktrees/ossa-97-sync-cli → ossa-97-sync-cli.orb.local
11
+
12
+ services:
13
+ ossa-dev:
14
+ image: node:22-alpine
15
+ working_dir: /app
16
+ command: sh -c "npm install --legacy-peer-deps && npm run dev"
17
+ ports:
18
+ - "3000"
19
+ volumes:
20
+ - .:/app
21
+ - node_modules:/app/node_modules
22
+ - ../examples:/examples:ro
23
+ environment:
24
+ - NODE_ENV=development
25
+ - WATCHPACK_POLLING=true
26
+ labels:
27
+ # OrbStack auto-domain: uses parent directory name
28
+ - "dev.orbstack.domains=${OSSA_DOMAIN:-ossa}.orb.local"
29
+ healthcheck:
30
+ test: ["CMD", "wget", "-q", "--spider", "http://localhost:3000"]
31
+ interval: 10s
32
+ timeout: 5s
33
+ retries: 3
34
+
35
+ volumes:
36
+ node_modules:
@@ -4,7 +4,7 @@
4
4
 
5
5
  import versionsData from './versions.json';
6
6
 
7
- export const OSSA_VERSION = "0.2.5-RC";
7
+ export const OSSA_VERSION = "0.2.6";
8
8
  export const OSSA_VERSION_TAG = `v${OSSA_VERSION}`;
9
9
  export const OSSA_API_VERSION = `ossa/v${OSSA_VERSION}`;
10
10
  export const OSSA_SCHEMA_VERSION = OSSA_VERSION;
@@ -1,8 +1,41 @@
1
1
  {
2
- "stable": "0.2.4",
3
- "latest": "0.2.4",
4
- "dev": "0.2.5-dev",
2
+ "stable": "0.2.5-RC",
3
+ "latest": "0.2.5-RC",
4
+ "dev": "0.2.6-dev",
5
5
  "all": [
6
+ {
7
+ "version": "0.2.4",
8
+ "tag": "v0.2.4",
9
+ "apiVersion": "ossa/v0.2.4",
10
+ "type": "stable",
11
+ "published": true,
12
+ "available": true
13
+ },
14
+ {
15
+ "version": "0.2.5-RC",
16
+ "tag": "v0.2.5-RC",
17
+ "apiVersion": "ossa/v0.2.5-RC",
18
+ "type": "stable",
19
+ "published": true,
20
+ "available": true
21
+ },
22
+ {
23
+ "version": "0.2.7",
24
+ "tag": "v0.2.7",
25
+ "apiVersion": "ossa/v0.2.7",
26
+ "type": "stable",
27
+ "published": false,
28
+ "available": false
29
+ },
30
+ {
31
+ "version": "0.2.6",
32
+ "tag": "v0.2.6",
33
+ "apiVersion": "ossa/v0.2.6",
34
+ "type": "stable",
35
+ "published": false,
36
+ "available": true,
37
+ "schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.6/ossa-0.2.6.schema.json"
38
+ },
6
39
  {
7
40
  "version": "0.2.5",
8
41
  "tag": "v0.2.5",
@@ -12,14 +45,6 @@
12
45
  "available": true,
13
46
  "schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.5/ossa-0.2.5.schema.json"
14
47
  },
15
- {
16
- "version": "0.2.4",
17
- "tag": "v0.2.4",
18
- "apiVersion": "ossa/v0.2.4",
19
- "type": "stable",
20
- "published": true,
21
- "available": true
22
- },
23
48
  {
24
49
  "version": "0.2.3",
25
50
  "tag": "v0.2.3",
@@ -56,15 +81,6 @@
56
81
  "available": true,
57
82
  "schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.0/ossa-0.2.0.schema.json"
58
83
  },
59
- {
60
- "version": "0.2.5-RC",
61
- "tag": "v0.2.5-RC",
62
- "apiVersion": "ossa/v0.2.5-RC",
63
- "type": "stable",
64
- "published": false,
65
- "available": true,
66
- "schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json"
67
- },
68
84
  {
69
85
  "version": "0.1.9",
70
86
  "tag": "v0.1.9",
@@ -72,6 +88,15 @@
72
88
  "type": "stable",
73
89
  "published": true,
74
90
  "available": true
91
+ },
92
+ {
93
+ "version": "0.2.6-dev",
94
+ "tag": "v0.2.6-dev",
95
+ "apiVersion": "ossa/v0.2.6-dev",
96
+ "type": "dev",
97
+ "published": false,
98
+ "available": true,
99
+ "schemaPath": "/Users/flux423/Sites/LLM/openstandardagents/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json"
75
100
  }
76
101
  ],
77
102
  "fallbackVersion": "0.2.3"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ossa-website",
3
- "version": "0.2.5-RC",
3
+ "version": "0.2.6",
4
4
  "description": "Open Standard Agents - The OpenAPI for AI Agents",
5
5
  "private": true,
6
6
  "scripts": {
@@ -0,0 +1,453 @@
1
+ // OSSA Design System - Spacing & Layout System
2
+ // Consistent spacing scale and layout utilities
3
+
4
+ // ============================================================================
5
+ // SPACING SCALE (4px base unit)
6
+ // ============================================================================
7
+
8
+ $space-0: 0;
9
+ $space-px: 1px;
10
+ $space-0-5: 0.125rem; // 2px
11
+ $space-1: 0.25rem; // 4px
12
+ $space-1-5: 0.375rem; // 6px
13
+ $space-2: 0.5rem; // 8px
14
+ $space-2-5: 0.625rem; // 10px
15
+ $space-3: 0.75rem; // 12px
16
+ $space-3-5: 0.875rem; // 14px
17
+ $space-4: 1rem; // 16px
18
+ $space-5: 1.25rem; // 20px
19
+ $space-6: 1.5rem; // 24px
20
+ $space-7: 1.75rem; // 28px
21
+ $space-8: 2rem; // 32px
22
+ $space-9: 2.25rem; // 36px
23
+ $space-10: 2.5rem; // 40px
24
+ $space-11: 2.75rem; // 44px
25
+ $space-12: 3rem; // 48px
26
+ $space-14: 3.5rem; // 56px
27
+ $space-16: 4rem; // 64px
28
+ $space-20: 5rem; // 80px
29
+ $space-24: 6rem; // 96px
30
+ $space-28: 7rem; // 112px
31
+ $space-32: 8rem; // 128px
32
+ $space-36: 9rem; // 144px
33
+ $space-40: 10rem; // 160px
34
+ $space-44: 11rem; // 176px
35
+ $space-48: 12rem; // 192px
36
+ $space-52: 13rem; // 208px
37
+ $space-56: 14rem; // 224px
38
+ $space-60: 15rem; // 240px
39
+ $space-64: 16rem; // 256px
40
+ $space-72: 18rem; // 288px
41
+ $space-80: 20rem; // 320px
42
+ $space-96: 24rem; // 384px
43
+
44
+ // ============================================================================
45
+ // VERTICAL RHYTHM SYSTEM
46
+ // ============================================================================
47
+
48
+ // Section spacing (vertical rhythm for page sections)
49
+ $section-spacing-sm: $space-12; // 48px
50
+ $section-spacing-md: $space-16; // 64px
51
+ $section-spacing-lg: $space-20; // 80px
52
+ $section-spacing-xl: $space-24; // 96px
53
+
54
+ // Component spacing (internal component padding)
55
+ $component-spacing-xs: $space-2; // 8px
56
+ $component-spacing-sm: $space-3; // 12px
57
+ $component-spacing-md: $space-4; // 16px
58
+ $component-spacing-lg: $space-6; // 24px
59
+ $component-spacing-xl: $space-8; // 32px
60
+
61
+ // Element spacing (gaps between elements)
62
+ $element-spacing-xs: $space-1; // 4px
63
+ $element-spacing-sm: $space-2; // 8px
64
+ $element-spacing-md: $space-3; // 12px
65
+ $element-spacing-lg: $space-4; // 16px
66
+ $element-spacing-xl: $space-6; // 24px
67
+
68
+ // ============================================================================
69
+ // CONTAINER MAX-WIDTHS
70
+ // ============================================================================
71
+
72
+ $container-sm: 640px;
73
+ $container-md: 768px;
74
+ $container-lg: 1024px;
75
+ $container-xl: 1280px;
76
+ $container-2xl: 1536px;
77
+
78
+ // Content max-widths (for readable text)
79
+ $content-sm: 36rem; // 576px
80
+ $content-md: 42rem; // 672px
81
+ $content-lg: 48rem; // 768px
82
+ $content-xl: 56rem; // 896px
83
+ $content-2xl: 64rem; // 1024px
84
+ $content-3xl: 72rem; // 1152px
85
+ $content-4xl: 80rem; // 1280px
86
+
87
+ // ============================================================================
88
+ // SPACING MIXINS
89
+ // ============================================================================
90
+
91
+ // Section spacing mixin
92
+ @mixin section-spacing($size: 'md') {
93
+ @if $size == 'sm' {
94
+ padding-top: $section-spacing-sm;
95
+ padding-bottom: $section-spacing-sm;
96
+ } @else if $size == 'md' {
97
+ padding-top: $section-spacing-md;
98
+ padding-bottom: $section-spacing-md;
99
+ } @else if $size == 'lg' {
100
+ padding-top: $section-spacing-lg;
101
+ padding-bottom: $section-spacing-lg;
102
+ } @else if $size == 'xl' {
103
+ padding-top: $section-spacing-xl;
104
+ padding-bottom: $section-spacing-xl;
105
+ }
106
+ }
107
+
108
+ // Container mixin with responsive padding
109
+ @mixin container($max-width: $container-xl) {
110
+ width: 100%;
111
+ max-width: $max-width;
112
+ margin-left: auto;
113
+ margin-right: auto;
114
+ padding-left: $space-4;
115
+ padding-right: $space-4;
116
+
117
+ @media (min-width: 640px) {
118
+ padding-left: $space-6;
119
+ padding-right: $space-6;
120
+ }
121
+
122
+ @media (min-width: 1024px) {
123
+ padding-left: $space-8;
124
+ padding-right: $space-8;
125
+ }
126
+ }
127
+
128
+ // Content container (for readable text)
129
+ @mixin content-container($max-width: $content-2xl) {
130
+ width: 100%;
131
+ max-width: $max-width;
132
+ margin-left: auto;
133
+ margin-right: auto;
134
+ }
135
+
136
+ // Stack spacing (vertical spacing between elements)
137
+ @mixin stack($gap: $space-4) {
138
+ display: flex;
139
+ flex-direction: column;
140
+ gap: $gap;
141
+ }
142
+
143
+ // Inline spacing (horizontal spacing between elements)
144
+ @mixin inline($gap: $space-4) {
145
+ display: flex;
146
+ flex-direction: row;
147
+ gap: $gap;
148
+ }
149
+
150
+ // Grid spacing
151
+ @mixin grid($columns: 1, $gap: $space-4) {
152
+ display: grid;
153
+ grid-template-columns: repeat($columns, 1fr);
154
+ gap: $gap;
155
+ }
156
+
157
+ // ============================================================================
158
+ // UTILITY CLASSES
159
+ // ============================================================================
160
+
161
+ // Container classes
162
+ .container {
163
+ @include container;
164
+ }
165
+
166
+ .container-sm {
167
+ @include container($container-sm);
168
+ }
169
+
170
+ .container-md {
171
+ @include container($container-md);
172
+ }
173
+
174
+ .container-lg {
175
+ @include container($container-lg);
176
+ }
177
+
178
+ .container-xl {
179
+ @include container($container-xl);
180
+ }
181
+
182
+ .container-2xl {
183
+ @include container($container-2xl);
184
+ }
185
+
186
+ // Content container classes
187
+ .content-container {
188
+ @include content-container;
189
+ }
190
+
191
+ .content-sm {
192
+ @include content-container($content-sm);
193
+ }
194
+
195
+ .content-md {
196
+ @include content-container($content-md);
197
+ }
198
+
199
+ .content-lg {
200
+ @include content-container($content-lg);
201
+ }
202
+
203
+ .content-xl {
204
+ @include content-container($content-xl);
205
+ }
206
+
207
+ .content-2xl {
208
+ @include content-container($content-2xl);
209
+ }
210
+
211
+ .content-3xl {
212
+ @include content-container($content-3xl);
213
+ }
214
+
215
+ .content-4xl {
216
+ @include content-container($content-4xl);
217
+ }
218
+
219
+ // Section spacing classes
220
+ .section-sm {
221
+ @include section-spacing('sm');
222
+ }
223
+
224
+ .section-md {
225
+ @include section-spacing('md');
226
+ }
227
+
228
+ .section-lg {
229
+ @include section-spacing('lg');
230
+ }
231
+
232
+ .section-xl {
233
+ @include section-spacing('xl');
234
+ }
235
+
236
+ // Stack classes
237
+ .stack-xs {
238
+ @include stack($element-spacing-xs);
239
+ }
240
+
241
+ .stack-sm {
242
+ @include stack($element-spacing-sm);
243
+ }
244
+
245
+ .stack-md {
246
+ @include stack($element-spacing-md);
247
+ }
248
+
249
+ .stack-lg {
250
+ @include stack($element-spacing-lg);
251
+ }
252
+
253
+ .stack-xl {
254
+ @include stack($element-spacing-xl);
255
+ }
256
+
257
+ // Inline classes
258
+ .inline-xs {
259
+ @include inline($element-spacing-xs);
260
+ }
261
+
262
+ .inline-sm {
263
+ @include inline($element-spacing-sm);
264
+ }
265
+
266
+ .inline-md {
267
+ @include inline($element-spacing-md);
268
+ }
269
+
270
+ .inline-lg {
271
+ @include inline($element-spacing-lg);
272
+ }
273
+
274
+ .inline-xl {
275
+ @include inline($element-spacing-xl);
276
+ }
277
+
278
+ // Margin utilities (using spacing scale)
279
+ .m-0 { margin: $space-0; }
280
+ .m-1 { margin: $space-1; }
281
+ .m-2 { margin: $space-2; }
282
+ .m-3 { margin: $space-3; }
283
+ .m-4 { margin: $space-4; }
284
+ .m-5 { margin: $space-5; }
285
+ .m-6 { margin: $space-6; }
286
+ .m-8 { margin: $space-8; }
287
+ .m-10 { margin: $space-10; }
288
+ .m-12 { margin: $space-12; }
289
+ .m-16 { margin: $space-16; }
290
+ .m-20 { margin: $space-20; }
291
+ .m-24 { margin: $space-24; }
292
+
293
+ // Margin top
294
+ .mt-0 { margin-top: $space-0; }
295
+ .mt-1 { margin-top: $space-1; }
296
+ .mt-2 { margin-top: $space-2; }
297
+ .mt-3 { margin-top: $space-3; }
298
+ .mt-4 { margin-top: $space-4; }
299
+ .mt-5 { margin-top: $space-5; }
300
+ .mt-6 { margin-top: $space-6; }
301
+ .mt-8 { margin-top: $space-8; }
302
+ .mt-10 { margin-top: $space-10; }
303
+ .mt-12 { margin-top: $space-12; }
304
+ .mt-16 { margin-top: $space-16; }
305
+ .mt-20 { margin-top: $space-20; }
306
+ .mt-24 { margin-top: $space-24; }
307
+
308
+ // Margin bottom
309
+ .mb-0 { margin-bottom: $space-0; }
310
+ .mb-1 { margin-bottom: $space-1; }
311
+ .mb-2 { margin-bottom: $space-2; }
312
+ .mb-3 { margin-bottom: $space-3; }
313
+ .mb-4 { margin-bottom: $space-4; }
314
+ .mb-5 { margin-bottom: $space-5; }
315
+ .mb-6 { margin-bottom: $space-6; }
316
+ .mb-8 { margin-bottom: $space-8; }
317
+ .mb-10 { margin-bottom: $space-10; }
318
+ .mb-12 { margin-bottom: $space-12; }
319
+ .mb-16 { margin-bottom: $space-16; }
320
+ .mb-20 { margin-bottom: $space-20; }
321
+ .mb-24 { margin-bottom: $space-24; }
322
+
323
+ // Margin left
324
+ .ml-0 { margin-left: $space-0; }
325
+ .ml-1 { margin-left: $space-1; }
326
+ .ml-2 { margin-left: $space-2; }
327
+ .ml-3 { margin-left: $space-3; }
328
+ .ml-4 { margin-left: $space-4; }
329
+ .ml-6 { margin-left: $space-6; }
330
+ .ml-8 { margin-left: $space-8; }
331
+
332
+ // Margin right
333
+ .mr-0 { margin-right: $space-0; }
334
+ .mr-1 { margin-right: $space-1; }
335
+ .mr-2 { margin-right: $space-2; }
336
+ .mr-3 { margin-right: $space-3; }
337
+ .mr-4 { margin-right: $space-4; }
338
+ .mr-6 { margin-right: $space-6; }
339
+ .mr-8 { margin-right: $space-8; }
340
+
341
+ // Margin horizontal
342
+ .mx-0 { margin-left: $space-0; margin-right: $space-0; }
343
+ .mx-1 { margin-left: $space-1; margin-right: $space-1; }
344
+ .mx-2 { margin-left: $space-2; margin-right: $space-2; }
345
+ .mx-3 { margin-left: $space-3; margin-right: $space-3; }
346
+ .mx-4 { margin-left: $space-4; margin-right: $space-4; }
347
+ .mx-6 { margin-left: $space-6; margin-right: $space-6; }
348
+ .mx-8 { margin-left: $space-8; margin-right: $space-8; }
349
+ .mx-auto { margin-left: auto; margin-right: auto; }
350
+
351
+ // Margin vertical
352
+ .my-0 { margin-top: $space-0; margin-bottom: $space-0; }
353
+ .my-1 { margin-top: $space-1; margin-bottom: $space-1; }
354
+ .my-2 { margin-top: $space-2; margin-bottom: $space-2; }
355
+ .my-3 { margin-top: $space-3; margin-bottom: $space-3; }
356
+ .my-4 { margin-top: $space-4; margin-bottom: $space-4; }
357
+ .my-6 { margin-top: $space-6; margin-bottom: $space-6; }
358
+ .my-8 { margin-top: $space-8; margin-bottom: $space-8; }
359
+ .my-12 { margin-top: $space-12; margin-bottom: $space-12; }
360
+ .my-16 { margin-top: $space-16; margin-bottom: $space-16; }
361
+
362
+ // Padding utilities (using spacing scale)
363
+ .p-0 { padding: $space-0; }
364
+ .p-1 { padding: $space-1; }
365
+ .p-2 { padding: $space-2; }
366
+ .p-3 { padding: $space-3; }
367
+ .p-4 { padding: $space-4; }
368
+ .p-5 { padding: $space-5; }
369
+ .p-6 { padding: $space-6; }
370
+ .p-8 { padding: $space-8; }
371
+ .p-10 { padding: $space-10; }
372
+ .p-12 { padding: $space-12; }
373
+ .p-16 { padding: $space-16; }
374
+ .p-20 { padding: $space-20; }
375
+ .p-24 { padding: $space-24; }
376
+
377
+ // Padding top
378
+ .pt-0 { padding-top: $space-0; }
379
+ .pt-1 { padding-top: $space-1; }
380
+ .pt-2 { padding-top: $space-2; }
381
+ .pt-3 { padding-top: $space-3; }
382
+ .pt-4 { padding-top: $space-4; }
383
+ .pt-6 { padding-top: $space-6; }
384
+ .pt-8 { padding-top: $space-8; }
385
+ .pt-12 { padding-top: $space-12; }
386
+ .pt-16 { padding-top: $space-16; }
387
+ .pt-20 { padding-top: $space-20; }
388
+ .pt-24 { padding-top: $space-24; }
389
+
390
+ // Padding bottom
391
+ .pb-0 { padding-bottom: $space-0; }
392
+ .pb-1 { padding-bottom: $space-1; }
393
+ .pb-2 { padding-bottom: $space-2; }
394
+ .pb-3 { padding-bottom: $space-3; }
395
+ .pb-4 { padding-bottom: $space-4; }
396
+ .pb-6 { padding-bottom: $space-6; }
397
+ .pb-8 { padding-bottom: $space-8; }
398
+ .pb-12 { padding-bottom: $space-12; }
399
+ .pb-16 { padding-bottom: $space-16; }
400
+ .pb-20 { padding-bottom: $space-20; }
401
+ .pb-24 { padding-bottom: $space-24; }
402
+
403
+ // Padding left
404
+ .pl-0 { padding-left: $space-0; }
405
+ .pl-1 { padding-left: $space-1; }
406
+ .pl-2 { padding-left: $space-2; }
407
+ .pl-3 { padding-left: $space-3; }
408
+ .pl-4 { padding-left: $space-4; }
409
+ .pl-6 { padding-left: $space-6; }
410
+ .pl-8 { padding-left: $space-8; }
411
+
412
+ // Padding right
413
+ .pr-0 { padding-right: $space-0; }
414
+ .pr-1 { padding-right: $space-1; }
415
+ .pr-2 { padding-right: $space-2; }
416
+ .pr-3 { padding-right: $space-3; }
417
+ .pr-4 { padding-right: $space-4; }
418
+ .pr-6 { padding-right: $space-6; }
419
+ .pr-8 { padding-right: $space-8; }
420
+
421
+ // Padding horizontal
422
+ .px-0 { padding-left: $space-0; padding-right: $space-0; }
423
+ .px-1 { padding-left: $space-1; padding-right: $space-1; }
424
+ .px-2 { padding-left: $space-2; padding-right: $space-2; }
425
+ .px-3 { padding-left: $space-3; padding-right: $space-3; }
426
+ .px-4 { padding-left: $space-4; padding-right: $space-4; }
427
+ .px-6 { padding-left: $space-6; padding-right: $space-6; }
428
+ .px-8 { padding-left: $space-8; padding-right: $space-8; }
429
+
430
+ // Padding vertical
431
+ .py-0 { padding-top: $space-0; padding-bottom: $space-0; }
432
+ .py-1 { padding-top: $space-1; padding-bottom: $space-1; }
433
+ .py-2 { padding-top: $space-2; padding-bottom: $space-2; }
434
+ .py-3 { padding-top: $space-3; padding-bottom: $space-3; }
435
+ .py-4 { padding-top: $space-4; padding-bottom: $space-4; }
436
+ .py-6 { padding-top: $space-6; padding-bottom: $space-6; }
437
+ .py-8 { padding-top: $space-8; padding-bottom: $space-8; }
438
+ .py-12 { padding-top: $space-12; padding-bottom: $space-12; }
439
+ .py-16 { padding-top: $space-16; padding-bottom: $space-16; }
440
+ .py-20 { padding-top: $space-20; padding-bottom: $space-20; }
441
+
442
+ // Gap utilities (for flexbox and grid)
443
+ .gap-0 { gap: $space-0; }
444
+ .gap-1 { gap: $space-1; }
445
+ .gap-2 { gap: $space-2; }
446
+ .gap-3 { gap: $space-3; }
447
+ .gap-4 { gap: $space-4; }
448
+ .gap-5 { gap: $space-5; }
449
+ .gap-6 { gap: $space-6; }
450
+ .gap-8 { gap: $space-8; }
451
+ .gap-10 { gap: $space-10; }
452
+ .gap-12 { gap: $space-12; }
453
+ .gap-16 { gap: $space-16; }