@bluefly/openstandardagents 0.2.7 → 0.2.9

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 (327) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/AGENTS.md +245 -0
  4. package/.github/agents/github-issue-triage.ossa.yaml +99 -0
  5. package/.github/agents/github-pr-triage.ossa.yaml +137 -0
  6. package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
  7. package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
  8. package/.version.json +2 -2
  9. package/.wiki-config.json +24 -0
  10. package/CHANGELOG.md +44 -18
  11. package/CODEOWNERS +75 -0
  12. package/CONTRIBUTING.md +103 -4
  13. package/README.md +178 -243
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/repositories/schema.repository.d.ts +6 -1
  19. package/dist/repositories/schema.repository.d.ts.map +1 -1
  20. package/dist/repositories/schema.repository.js +49 -27
  21. package/dist/repositories/schema.repository.js.map +1 -1
  22. package/dist/services/migration.service.d.ts +4 -3
  23. package/dist/services/migration.service.d.ts.map +1 -1
  24. package/dist/services/migration.service.js +11 -10
  25. package/dist/services/migration.service.js.map +1 -1
  26. package/dist/services/release-automation/release.service.js +1 -1
  27. package/dist/services/release-automation/release.service.js.map +1 -1
  28. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  29. package/dist/services/release-automation/webhook.service.js +3 -3
  30. package/dist/services/release-automation/webhook.service.js.map +1 -1
  31. package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
  32. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  33. package/dist/services/runtime/claude/claude-adapter.js +2 -2
  34. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  35. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  36. package/dist/spec/v0.2.8/README.md +72 -0
  37. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  38. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  39. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  40. package/{spec/v0.2.6-dev/ossa-0.2.5.schema.json → dist/spec/v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  41. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  42. package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
  43. package/dist/spec/v0.2.9/agent.md +1946 -0
  44. package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
  45. package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
  46. package/dist/spec/v0.2.9/capability-schema.md +576 -0
  47. package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
  48. package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
  49. package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  50. package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  51. package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
  52. package/dist/spec/v0.2.9/security-model.md +1245 -0
  53. package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
  54. package/dist/spec/v0.2.9/types.ts +522 -0
  55. package/dist/types/index.d.ts +3 -2
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/policy.d.ts +377 -0
  58. package/dist/types/policy.d.ts.map +1 -0
  59. package/dist/types/policy.js +84 -0
  60. package/dist/types/policy.js.map +1 -0
  61. package/dist/utils/index.d.ts +6 -0
  62. package/dist/utils/index.d.ts.map +1 -0
  63. package/dist/utils/index.js +6 -0
  64. package/dist/utils/index.js.map +1 -0
  65. package/dist/utils/version.d.ts +68 -0
  66. package/dist/utils/version.d.ts.map +1 -0
  67. package/dist/utils/version.js +156 -0
  68. package/dist/utils/version.js.map +1 -0
  69. package/docs/specs/policy-dsl.md +925 -0
  70. package/eslint-report.json +1 -0
  71. package/examples/adk-integration/code-review-workflow.yml +1 -1
  72. package/examples/adk-integration/customer-support.yml +1 -1
  73. package/examples/adk-integration/data-pipeline.yml +1 -1
  74. package/examples/advanced/reasoning-agent.yaml +136 -0
  75. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  76. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  77. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  78. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  79. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  80. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  81. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  82. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  83. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  84. package/examples/agents-md/code-agent.ossa.json +100 -0
  85. package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
  86. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  87. package/examples/autogen/multi-agent.ossa.json +1 -1
  88. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  89. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  90. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  91. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  92. package/examples/crewai/research-team.ossa.json +1 -1
  93. package/examples/cursor/code-review-agent.ossa.json +1 -1
  94. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  95. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  96. package/examples/extensions/agents-md-v1.yml +175 -0
  97. package/examples/extensions/drupal-v1.yml +1 -1
  98. package/examples/extensions/kagent-v1.yml +1 -1
  99. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  100. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  101. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  102. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  103. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  104. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  105. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  106. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  107. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  108. package/examples/langchain/chain-agent.ossa.json +1 -1
  109. package/examples/langflow/workflow-agent.ossa.json +1 -1
  110. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  111. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  112. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  113. package/examples/multi-agent/README.md +74 -0
  114. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  115. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  116. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  117. package/examples/openai/basic-agent.ossa.yaml +1 -1
  118. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  119. package/examples/openai/swarm-agent.ossa.json +1 -1
  120. package/examples/production/document-analyzer-openai.yml +1 -1
  121. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  122. package/examples/spec-examples/audit-agent.yml +1 -1
  123. package/examples/spec-examples/chat-agent.yml +1 -1
  124. package/examples/spec-examples/compliance-agent.yml +1 -1
  125. package/examples/spec-examples/monitoring-agent.yml +1 -1
  126. package/examples/spec-examples/workflow-agent.yml +1 -1
  127. package/examples/templates/ossa-compliance.yaml +1 -1
  128. package/examples/vercel/edge-agent.ossa.json +1 -1
  129. package/gl-code-quality-report.json +62 -0
  130. package/llms-ctx-full.txt +39 -0
  131. package/llms-ctx.txt +39 -0
  132. package/llms.txt +47 -0
  133. package/package.json +6 -3
  134. package/scripts/README.md +25 -0
  135. package/scripts/compliance-audit.ts +796 -0
  136. package/scripts/eslint-to-codequality.cjs +34 -0
  137. package/scripts/generate-agents-catalog.ts +2 -1
  138. package/scripts/generate-api-docs.ts +2 -1
  139. package/scripts/generate-examples-docs.ts +2 -1
  140. package/scripts/generate-llms-ctx.sh +17 -0
  141. package/scripts/generate-schema-docs.ts +31 -10
  142. package/scripts/sync-version.js +4 -12
  143. package/scripts/validate-schema.ts +2 -1
  144. package/spec/v0.2.8/CHANGELOG.md +401 -0
  145. package/spec/v0.2.8/README.md +72 -0
  146. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  147. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  148. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  149. package/spec/{v0.2.6-dev/ossa-0.2.6-dev.schema.json → v0.2.8/ossa-0.2.8.schema.json} +1509 -52
  150. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  151. package/spec/v0.2.9/a2a-protocol.md +1337 -0
  152. package/spec/v0.2.9/agent.md +1946 -0
  153. package/spec/v0.2.9/capabilities/index.yaml +25 -0
  154. package/spec/v0.2.9/capabilities/memory.yaml +251 -0
  155. package/spec/v0.2.9/capability-schema.md +576 -0
  156. package/spec/v0.2.9/compliance-profiles.md +533 -0
  157. package/spec/v0.2.9/conformance-testing.md +1527 -0
  158. package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  159. package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  160. package/spec/v0.2.9/runtime-semantics.md +464 -0
  161. package/spec/v0.2.9/security-model.md +1245 -0
  162. package/spec/v0.2.9/semantic-conventions.md +347 -0
  163. package/spec/v0.2.9/types.ts +522 -0
  164. package/test-results/junit.xml +337 -0
  165. package/.github/workflows/pr-comment.yml +0 -33
  166. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  167. package/dist/spec/v0.2.6-dev/ossa-0.2.5.schema.json +0 -1696
  168. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.schema.json +0 -1696
  169. package/scripts/lib/exec.ts +0 -37
  170. package/scripts/lib/file-ops.ts +0 -58
  171. package/scripts/lib/version.ts +0 -83
  172. package/website/.lighthouserc.ts +0 -24
  173. package/website/.prettierrc +0 -10
  174. package/website/DESIGN_SYSTEM_IMPLEMENTATION.md +0 -445
  175. package/website/Dockerfile +0 -30
  176. package/website/app/about/page.tsx +0 -304
  177. package/website/app/blog/[slug]/page.tsx +0 -208
  178. package/website/app/blog/page.tsx +0 -249
  179. package/website/app/design-guide/page.tsx +0 -511
  180. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  181. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  182. package/website/app/ecosystem/page.tsx +0 -410
  183. package/website/app/examples/page.tsx +0 -133
  184. package/website/app/globals.scss +0 -370
  185. package/website/app/layout.tsx +0 -106
  186. package/website/app/license/page.tsx +0 -183
  187. package/website/app/not-found.tsx +0 -18
  188. package/website/app/page.tsx +0 -686
  189. package/website/app/page.tsx.bak +0 -679
  190. package/website/app/page.tsx.bak2 +0 -649
  191. package/website/app/playground/page.tsx +0 -487
  192. package/website/app/robots.ts +0 -19
  193. package/website/app/rss.xml/route.ts +0 -74
  194. package/website/app/schema/page.tsx +0 -1001
  195. package/website/app/sitemap.ts +0 -56
  196. package/website/app/specification/page.tsx +0 -287
  197. package/website/components/InstallCommand.tsx +0 -96
  198. package/website/components/Logo.tsx +0 -97
  199. package/website/components/StructuredData.tsx +0 -65
  200. package/website/components/docs/DocsSearch.tsx +0 -104
  201. package/website/components/docs/DocsSidebar.tsx +0 -155
  202. package/website/components/docs/MarkdownContent.tsx +0 -401
  203. package/website/components/docs/VersionSelector.tsx +0 -105
  204. package/website/components/examples/ExamplesViewer.tsx +0 -293
  205. package/website/components/layout/Footer.tsx +0 -116
  206. package/website/components/layout/Header.tsx +0 -172
  207. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  208. package/website/components/schema/SchemaExplorer.tsx +0 -213
  209. package/website/components/ui/Badge.tsx +0 -82
  210. package/website/components/ui/Button.tsx +0 -116
  211. package/website/components/ui/Card.tsx +0 -167
  212. package/website/components/ui/Checkbox.tsx +0 -141
  213. package/website/components/ui/Input.tsx +0 -169
  214. package/website/components/ui/Radio.tsx +0 -141
  215. package/website/components/ui/Select.tsx +0 -182
  216. package/website/components/ui/Tag.tsx +0 -158
  217. package/website/components/ui/Textarea.tsx +0 -195
  218. package/website/components/ui/index.ts +0 -11
  219. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  220. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  221. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  222. package/website/content/blog/introducing-ossa-framework.md +0 -328
  223. package/website/content/blog/ossa-production-results.md +0 -279
  224. package/website/content/blog/welcome-to-ossa.md +0 -43
  225. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  226. package/website/content/docs/00-home.md +0 -153
  227. package/website/content/docs/adapters/openai-adapter.md +0 -693
  228. package/website/content/docs/agents/catalog.md +0 -28
  229. package/website/content/docs/aiflow-framework-integration-with-ossa.md +0 -107
  230. package/website/content/docs/api-reference/index.md +0 -38
  231. package/website/content/docs/api-reference/ossa-core-api.md +0 -634
  232. package/website/content/docs/api-reference/ossa-registry-api.md +0 -515
  233. package/website/content/docs/api-reference/unified-agent-gateway.md +0 -599
  234. package/website/content/docs/architecture/execution-flow.md +0 -335
  235. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  236. package/website/content/docs/architecture/overview.md +0 -121
  237. package/website/content/docs/architecture/stack-integration.md +0 -461
  238. package/website/content/docs/changelog.md +0 -246
  239. package/website/content/docs/cli-reference/index.md +0 -111
  240. package/website/content/docs/cli-reference/ossa-agents.md +0 -70
  241. package/website/content/docs/cli-reference/ossa-export.md +0 -56
  242. package/website/content/docs/cli-reference/ossa-generate.md +0 -66
  243. package/website/content/docs/cli-reference/ossa-gitlab-agent.md +0 -57
  244. package/website/content/docs/cli-reference/ossa-import.md +0 -56
  245. package/website/content/docs/cli-reference/ossa-init.md +0 -57
  246. package/website/content/docs/cli-reference/ossa-migrate.md +0 -62
  247. package/website/content/docs/cli-reference/ossa-run.md +0 -66
  248. package/website/content/docs/cli-reference/ossa-schema.md +0 -57
  249. package/website/content/docs/cli-reference/ossa-setup.md +0 -57
  250. package/website/content/docs/cli-reference/ossa-validate.md +0 -66
  251. package/website/content/docs/configuration/index.md +0 -97
  252. package/website/content/docs/contributing.md +0 -599
  253. package/website/content/docs/deployment/github-mirroring.md +0 -924
  254. package/website/content/docs/documentation.md +0 -100
  255. package/website/content/docs/ecosystem/framework-support.md +0 -1361
  256. package/website/content/docs/ecosystem/overview.md +0 -366
  257. package/website/content/docs/errors/index.md +0 -10
  258. package/website/content/docs/examples/aiflow-framework-integration-with-ossa.md +0 -107
  259. package/website/content/docs/examples/catalog.md +0 -300
  260. package/website/content/docs/for-audiences/students-researchers.md +0 -122
  261. package/website/content/docs/getting-started/index.md +0 -92
  262. package/website/content/docs/getting-started/installation.md +0 -155
  263. package/website/content/docs/getting-started/running-agents.md +0 -309
  264. package/website/content/docs/getting-started.md +0 -91
  265. package/website/content/docs/integrations/aiflow.md +0 -104
  266. package/website/content/docs/integrations/drupal.md +0 -105
  267. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  268. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  269. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  270. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  271. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  272. package/website/content/docs/migration-guides/index.md +0 -133
  273. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  274. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  275. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  276. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  277. package/website/content/docs/openapi-extensions/examples.md +0 -550
  278. package/website/content/docs/openapi-extensions/index.md +0 -551
  279. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  280. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  281. package/website/content/docs/ossa-compliant-badge.md +0 -251
  282. package/website/content/docs/pre-release/index.md +0 -175
  283. package/website/content/docs/quick-reference.md +0 -17
  284. package/website/content/docs/readme.md +0 -35
  285. package/website/content/docs/releases/v0.2.6.md +0 -99
  286. package/website/content/docs/schema-reference/agent-capabilities.md +0 -50
  287. package/website/content/docs/schema-reference/agent-id.md +0 -52
  288. package/website/content/docs/schema-reference/agent-name.md +0 -50
  289. package/website/content/docs/schema-reference/agent-role.md +0 -54
  290. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  291. package/website/content/docs/schema-reference/agent-version.md +0 -50
  292. package/website/content/docs/schema-reference/autonomy.md +0 -568
  293. package/website/content/docs/schema-reference/constraints.md +0 -543
  294. package/website/content/docs/schema-reference/index.md +0 -45
  295. package/website/content/docs/schema-reference/llm-config.md +0 -445
  296. package/website/content/docs/schema-reference/observability.md +0 -654
  297. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  298. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  299. package/website/content/docs/schema-reference/tools.md +0 -628
  300. package/website/content/docs/templates/blog-post.md +0 -43
  301. package/website/content/docs/types-reference/index.md +0 -105
  302. package/website/content/docs/use-cases/00-index.md +0 -395
  303. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  304. package/website/content/docs/use-cases/customer-support.md +0 -1234
  305. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  306. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  307. package/website/content/docs/versioning.md +0 -288
  308. package/website/dev.sh +0 -53
  309. package/website/docker-compose.dev.yml +0 -36
  310. package/website/lib/version.ts +0 -35
  311. package/website/lib/versions.json +0 -103
  312. package/website/next.config.ts +0 -18
  313. package/website/nginx.conf +0 -32
  314. package/website/package-lock.json +0 -9679
  315. package/website/package.json +0 -59
  316. package/website/postcss.config.mjs +0 -9
  317. package/website/scripts/fetch-versions.js +0 -166
  318. package/website/scripts/generate-examples-index.js +0 -163
  319. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  320. package/website/scripts/sync-version.js +0 -72
  321. package/website/scripts/sync-wiki.ts +0 -322
  322. package/website/scripts/upload-wiki.ts +0 -199
  323. package/website/styles/_spacing.scss +0 -453
  324. package/website/styles/_tokens.scss +0 -245
  325. package/website/styles/_typography.scss +0 -361
  326. package/website/styles/_variables.scss +0 -287
  327. package/website/tailwind.config.ts +0 -170
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ const fs = require('fs');
3
+ const crypto = require('crypto');
4
+
5
+ const eslintResults = JSON.parse(fs.readFileSync(process.argv[2] || 'eslint-report.json', 'utf8'));
6
+
7
+ const codeQualityReport = [];
8
+
9
+ eslintResults.forEach(file => {
10
+ file.messages.forEach(msg => {
11
+ const fingerprint = crypto
12
+ .createHash('md5')
13
+ .update(`${file.filePath}:${msg.line}:${msg.ruleId}`)
14
+ .digest('hex');
15
+
16
+ codeQualityReport.push({
17
+ description: msg.message,
18
+ check_name: msg.ruleId || 'eslint',
19
+ fingerprint,
20
+ severity: msg.severity === 2 ? 'major' : 'minor',
21
+ location: {
22
+ path: file.filePath.replace(process.cwd() + '/', ''),
23
+ lines: {
24
+ begin: msg.line
25
+ }
26
+ }
27
+ });
28
+ });
29
+ });
30
+
31
+ fs.writeFileSync(
32
+ process.argv[3] || 'gl-code-quality-report.json',
33
+ JSON.stringify(codeQualityReport, null, 2)
34
+ );
@@ -23,7 +23,8 @@ function findAgents(): Agent[] {
23
23
  const manifestPath = join(AGENTS_DIR, entry, 'manifest.ossa.yaml');
24
24
  try {
25
25
  const content = readFileSync(manifestPath, 'utf-8');
26
- const data = yaml.load(content) as any;
26
+ // Use safeLoad to prevent arbitrary code execution (CWE-502)
27
+ const data = yaml.load(content, { schema: yaml.JSON_SCHEMA }) as Record<string, unknown>;
27
28
 
28
29
  if (data?.agent) {
29
30
  agents.push({
@@ -154,7 +154,8 @@ function main() {
154
154
  try {
155
155
  const specPath = join(coreDir, file);
156
156
  const specContent = readFileSync(specPath, 'utf-8');
157
- const spec = yaml.load(specContent) as OpenAPISpec;
157
+ // Use JSON_SCHEMA to prevent arbitrary code execution (CWE-502)
158
+ const spec = yaml.load(specContent, { schema: yaml.JSON_SCHEMA }) as OpenAPISpec;
158
159
 
159
160
  const docContent = generateAPIDoc(spec, file);
160
161
  const outputFile = join(OUTPUT_DIR, file.replace('.openapi.yaml', '.md'));
@@ -31,7 +31,8 @@ function findYamlFiles(dir: string, category: string = ''): Example[] {
31
31
  } else if (entry.match(/\.(yaml|yml)$/)) {
32
32
  try {
33
33
  const content = readFileSync(fullPath, 'utf-8');
34
- const data = yaml.load(content) as any;
34
+ // Use JSON_SCHEMA to prevent arbitrary code execution (CWE-502)
35
+ const data = yaml.load(content, { schema: yaml.JSON_SCHEMA }) as any;
35
36
 
36
37
  if (data?.agent) {
37
38
  examples.push({
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+ # Generate llms-ctx.txt files from llms.txt
3
+
4
+ set -e
5
+
6
+ echo "Installing llms-txt..."
7
+ pip install llms-txt --quiet
8
+
9
+ echo "Generating llms-ctx.txt (without Optional)..."
10
+ llms_txt2ctx llms.txt > llms-ctx.txt
11
+
12
+ echo "Generating llms-ctx-full.txt (with Optional)..."
13
+ llms_txt2ctx llms.txt --optional True > llms-ctx-full.txt
14
+
15
+ echo "✅ Generated:"
16
+ echo " - llms-ctx.txt ($(wc -l < llms-ctx.txt) lines)"
17
+ echo " - llms-ctx-full.txt ($(wc -l < llms-ctx-full.txt) lines)"
@@ -5,8 +5,28 @@
5
5
  * Usage: npm run docs:schema:generate
6
6
  */
7
7
 
8
- import { readFileSync, writeFileSync, mkdirSync } from 'fs';
9
- import { join } from 'path';
8
+ import { readFileSync, writeFileSync, mkdirSync, readdirSync } from 'fs';
9
+ import { join, resolve } from 'path';
10
+
11
+ // Dynamic version detection - find latest spec directory
12
+ function getLatestSchemaVersion(): { dir: string; file: string } {
13
+ const specDir = join(process.cwd(), 'spec');
14
+ const dirs = readdirSync(specDir, { withFileTypes: true })
15
+ .filter(d => d.isDirectory() && d.name.startsWith('v'))
16
+ .map(d => d.name)
17
+ .sort((a, b) => b.localeCompare(a, undefined, { numeric: true }));
18
+
19
+ if (dirs.length === 0) {
20
+ throw new Error('No schema version directories found in spec/');
21
+ }
22
+
23
+ const latestDir = dirs[0];
24
+ const version = latestDir.slice(1); // Remove 'v' prefix
25
+ return {
26
+ dir: latestDir,
27
+ file: `ossa-${version}.schema.json`
28
+ };
29
+ }
10
30
 
11
31
  interface SchemaProperty {
12
32
  type: string | string[];
@@ -25,8 +45,10 @@ interface SchemaProperty {
25
45
  items?: SchemaProperty;
26
46
  }
27
47
 
28
- const SPEC_DIR = join(process.cwd(), 'spec/v0.2.5-RC');
29
- const OUTPUT_DIR = join(process.cwd(), 'website/content/docs/schema-reference');
48
+ // Dynamic paths based on detected version
49
+ const schemaVersion = getLatestSchemaVersion();
50
+ const SPEC_DIR = join(process.cwd(), 'spec', schemaVersion.dir);
51
+ const OUTPUT_DIR = join(process.cwd(), 'docs/schema-reference');
30
52
 
31
53
  // Field documentation metadata
32
54
  const FIELD_DOCS: Record<string, {
@@ -211,8 +233,9 @@ function main() {
211
233
  // Create output directory
212
234
  mkdirSync(OUTPUT_DIR, { recursive: true });
213
235
 
214
- // Read schema
215
- const schemaPath = join(SPEC_DIR, 'ossa-0.2.5-RC.schema.json');
236
+ // Read schema dynamically
237
+ const schemaPath = join(SPEC_DIR, schemaVersion.file);
238
+ console.log(`📜 Using schema: ${schemaVersion.dir}/${schemaVersion.file}`);
216
239
  const schemaContent = readFileSync(schemaPath, 'utf-8');
217
240
  const schema = JSON.parse(schemaContent);
218
241
 
@@ -259,9 +282,7 @@ The OSSA schema defines the structure of agent manifests. Every field serves a s
259
282
 
260
283
  ## Schema Versions
261
284
 
262
- - **Current**: v0.2.5-RC
263
- - **Stable**: v0.2.4
264
- - **Previous**: v0.2.3, v0.2.2
285
+ - **Current**: ${schemaVersion.dir}
265
286
 
266
287
  See [Versioning Guide](../guides/versioning.md) for migration information.
267
288
 
@@ -276,7 +297,7 @@ ossa validate agent.ossa.yaml
276
297
  ## Complete Schema
277
298
 
278
299
  View the complete JSON Schema:
279
- - [v0.2.5-RC Schema](https://github.com/blueflyio/openstandardagents/blob/main/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json)
300
+ - [${schemaVersion.dir} Schema](https://github.com/blueflyio/openstandardagents/blob/main/spec/${schemaVersion.dir}/${schemaVersion.file})
280
301
 
281
302
  ## Related Documentation
282
303
 
@@ -5,18 +5,10 @@ import { resolve } from 'path';
5
5
 
6
6
  const { version } = JSON.parse(readFileSync('package.json', 'utf-8'));
7
7
 
8
- const files = [
9
- {
10
- path: 'website/src/config.ts',
11
- pattern: /version:\s*['"][\d.]+['"]/,
12
- replacement: `version: '${version}'`
13
- },
14
- {
15
- path: 'src/version.ts',
16
- pattern: /VERSION\s*=\s*['"][\d.]+['"]/,
17
- replacement: `VERSION = '${version}'`
18
- }
19
- ];
8
+ // Website moved to openstandardagents.org repository
9
+ // Version is read from package.json at runtime via scripts/lib/version.ts
10
+ // No hardcoded version files to sync
11
+ const files = [];
20
12
 
21
13
  console.log(`📦 Syncing version: ${version}\n`);
22
14
 
@@ -33,7 +33,8 @@ async function main() {
33
33
  // Get additional args
34
34
  const args = process.argv.slice(2);
35
35
  // Use ajv-cli compile to validate schema syntax (no data file needed)
36
- const command = `npx ajv-cli compile -s ${schemaPath} ${args.join(' ')}`;
36
+ // --strict=false allows unknown formats like "uri"
37
+ const command = `npx ajv-cli compile -s ${schemaPath} --strict=false ${args.join(' ')}`;
37
38
 
38
39
  // Run validation
39
40
  execCommand(command, { stdio: 'inherit' });
@@ -0,0 +1,401 @@
1
+ # OSSA v0.2.8 Release Notes
2
+
3
+ **Release Date**: 2025-11-24
4
+ **Type**: Minor Release
5
+ **Status**: STABLE
6
+
7
+ ## Overview
8
+
9
+ OSSA v0.2.8 introduces significant new features for transport metadata, state management, enhanced security, and capability versioning. This release enhances OSSA integration with Google ADK, A2A protocol, OpenAI Agents SDK, and Microsoft Autogen Framework.
10
+
11
+ ## What's New
12
+
13
+ ### Transport Metadata for Capabilities
14
+
15
+ Support for protocol-specific transport configuration, enabling streaming and advanced communication patterns.
16
+
17
+ ```yaml
18
+ tools:
19
+ - type: http
20
+ name: chat-api
21
+ transport:
22
+ protocol: http
23
+ streaming: response # Server streams to client
24
+ binding: /v1/chat/stream
25
+ content_type: text/event-stream
26
+ ```
27
+
28
+ **Supported protocols**: `http`, `grpc`, `a2a`, `mcp`, `websocket`, `custom`
29
+
30
+ **Streaming modes**:
31
+ - `none` - Standard request/response
32
+ - `request` - Client streams to server
33
+ - `response` - Server streams to client (SSE, streaming LLM)
34
+ - `bidirectional` - Full duplex (WebSocket, gRPC)
35
+
36
+ **Use cases**:
37
+ - Google ADK bidirectional streaming
38
+ - A2A protocol agent-to-agent communication
39
+ - Streaming LLM responses
40
+ - Real-time collaborative agents
41
+
42
+ ### State/Memory Block
43
+
44
+ Agent state management configuration for stateful and long-running agents.
45
+
46
+ ```yaml
47
+ spec:
48
+ state:
49
+ mode: session # stateless | session | long_running
50
+ storage:
51
+ type: vector-db # memory | vector-db | kv | rdbms | custom
52
+ retention: 30d
53
+ config:
54
+ provider: pinecone
55
+ index: agent-memory
56
+ context_window:
57
+ max_messages: 100
58
+ max_tokens: 32000
59
+ strategy: summarization # sliding_window | summarization | importance_weighted
60
+ ```
61
+
62
+ **Storage types**:
63
+ - `memory` - In-process (lost on restart)
64
+ - `vector-db` - Vector database (Pinecone, Weaviate, Chroma)
65
+ - `kv` - Key-value store (Redis, DynamoDB)
66
+ - `rdbms` - Relational database
67
+ - `custom` - Custom implementation
68
+
69
+ **Critical for**:
70
+ - OpenAI Agents SDK session continuity
71
+ - Microsoft Autogen Framework workflows
72
+ - RAG systems with context retention
73
+ - Multi-turn conversations
74
+
75
+ ### Enhanced Security with Scopes
76
+
77
+ Fine-grained permission scopes and compliance tags for capabilities.
78
+
79
+ ```yaml
80
+ tools:
81
+ - type: http
82
+ name: database-api
83
+ auth:
84
+ type: bearer
85
+ credentials: secret:db-api-key
86
+ scopes: # NEW: OAuth2-like scopes
87
+ - read:data
88
+ - execute:query
89
+ compliance_tags: # NEW: Compliance framework tags
90
+ - pii
91
+ - gdpr
92
+ - hipaa
93
+ capabilities:
94
+ - name: query_users
95
+ scopes: # Per-capability scopes
96
+ - read:users
97
+ compliance_tags:
98
+ - pii
99
+ ```
100
+
101
+ **Security scopes**:
102
+ - `read:data`, `write:data` - Data access
103
+ - `admin:system`, `admin:users` - Administrative operations
104
+ - `execute:code`, `execute:query` - Execution permissions
105
+
106
+ **Compliance tags**:
107
+ - `pii` - Personally identifiable information
108
+ - `hipaa` - HIPAA compliance required
109
+ - `gdpr` - GDPR compliance required
110
+ - `fedramp` - FedRAMP requirements
111
+ - `soc2` - SOC2 Type II controls
112
+
113
+ ### Capability Versioning
114
+
115
+ Independent versioning and deprecation for capabilities.
116
+
117
+ ```yaml
118
+ capabilities:
119
+ - name: search_documents
120
+ version: '2.1' # NEW: Capability version
121
+ deprecated: false
122
+
123
+ - name: search_legacy
124
+ version: '1.0'
125
+ deprecated: true # NEW: Deprecation flag
126
+ deprecation_message: | # NEW: Migration guidance
127
+ Deprecated in v0.2.4. Will be removed in v0.3.0.
128
+ Use 'search_documents' capability instead.
129
+ Migration: Change capability name and update input schema
130
+ to use 'query' instead of 'search_term'.
131
+ ```
132
+
133
+ **Benefits**:
134
+ - Independent capability lifecycle management
135
+ - Clear migration paths for breaking changes
136
+ - Backward compatibility tracking
137
+ - API versioning best practices
138
+
139
+ ### Google ADK Extension
140
+
141
+ Integration with Google's Agent Development Kit (ADK).
142
+
143
+ ```yaml
144
+ extensions:
145
+ google_adk:
146
+ enabled: true
147
+ agent_type: llm_agent # llm_agent | sequential_agent | parallel_agent | loop_agent
148
+ model: gemini-2.0-flash-exp
149
+ instruction: "You are a helpful research assistant."
150
+ session:
151
+ service: in_memory # in_memory | database | vertex_ai
152
+ state_schema:
153
+ search_history: array
154
+ current_topic: string
155
+ memory:
156
+ enabled: true
157
+ service: vertex_ai_rag
158
+ callbacks:
159
+ before_model_callback: validate_input
160
+ after_model_callback: log_response
161
+ ```
162
+
163
+ **Agent types**:
164
+ - `llm_agent` - Single LLM-powered agent
165
+ - `sequential_agent` - Pipeline of agents
166
+ - `parallel_agent` - Concurrent agent execution
167
+ - `loop_agent` - Iterative agent with conditions
168
+
169
+ **Features**:
170
+ - Session management (in_memory, database, Vertex AI)
171
+ - Memory service integration (Vertex AI RAG)
172
+ - Lifecycle callbacks
173
+ - Sub-agent orchestration
174
+
175
+ ### Schema Updates
176
+
177
+ #### apiVersion Pattern
178
+ Updated to support v0.2.8:
179
+ ```regex
180
+ ^ossa/v(0\.2\.[2-4](-dev)?|1)(\.[0-9]+)?(-[a-zA-Z0-9]+)?$
181
+ ```
182
+
183
+ **Valid versions**:
184
+ - `ossa/v0.2.2`
185
+ - `ossa/v0.2.4`
186
+ - `ossa/v0.2.8`
187
+ - `ossa/v1`
188
+ - `ossa/v1.0`
189
+
190
+ #### Tool Type Enum
191
+ Added `a2a` to supported tool types:
192
+ ```json
193
+ "type": {
194
+ "enum": ["mcp", "kubernetes", "http", "grpc", "function", "a2a", "custom"]
195
+ }
196
+ ```
197
+
198
+ #### New Definitions
199
+ - `Transport` - Transport metadata schema
200
+ - `State` - State/memory configuration schema
201
+ - `Capability` - Enhanced capability with versioning and scopes
202
+ - `GoogleADKExtension` - Google ADK integration
203
+
204
+ ## Breaking Changes
205
+
206
+ **None** - This release maintains full backward compatibility with v0.2.3.
207
+
208
+ All new features are additive and optional.
209
+
210
+ ## Deprecations
211
+
212
+ **None** - No features deprecated in this release.
213
+
214
+ ## Migration from v0.2.3
215
+
216
+ ### Required Changes
217
+ **None** - v0.2.3 manifests work without modification.
218
+
219
+ ### Recommended Changes
220
+
221
+ 1. **Add state configuration for stateful agents**:
222
+ ```yaml
223
+ spec:
224
+ state:
225
+ mode: session
226
+ storage:
227
+ type: memory
228
+ retention: 24h
229
+ ```
230
+
231
+ 2. **Add transport metadata for streaming capabilities**:
232
+ ```yaml
233
+ tools:
234
+ - type: http
235
+ transport:
236
+ protocol: http
237
+ streaming: response
238
+ ```
239
+
240
+ 3. **Add compliance tags for regulated environments**:
241
+ ```yaml
242
+ tools:
243
+ - type: http
244
+ compliance_tags:
245
+ - pii
246
+ - gdpr
247
+ ```
248
+
249
+ 4. **Version capabilities for better lifecycle management**:
250
+ ```yaml
251
+ capabilities:
252
+ - name: my_capability
253
+ version: '1.0'
254
+ ```
255
+
256
+ See [migrations/v0.2.3-to-v0.2.4.md](migrations/v0.2.3-to-v0.2.4.md) for detailed migration guide.
257
+
258
+ ## Installation
259
+
260
+ ### Development Version
261
+ ```bash
262
+ npm install -g @bluefly/openstandardagents@0.2.8
263
+ ```
264
+
265
+ ### Verify Installation
266
+ ```bash
267
+ ossa --version
268
+ # Output: 0.2.8
269
+ ```
270
+
271
+ ## Compatibility
272
+
273
+ | Component | Version | Status |
274
+ |-----------|---------|--------|
275
+ | Node.js | >=18.0.0 | Required |
276
+ | npm | >=9.0.0 | Required |
277
+ | kAgent | v1alpha1, v1alpha2 | Full support |
278
+ | Drupal | 11.x, 10.x | Full support |
279
+ | OpenAI Agents SDK | v2.x | Full support |
280
+ | LangChain | v0.3.x | Full support |
281
+ | CrewAI | v0.11.x | Full support |
282
+ | MCP | Latest | Full support |
283
+ | Google ADK | Preview | Experimental |
284
+ | A2A Protocol | v0.1 | Experimental |
285
+
286
+ ## Known Issues
287
+
288
+ - Transport metadata validation is experimental and may be refined
289
+ - State storage backends are limited to documented types
290
+ - Capability versioning pattern may change before stable release
291
+ - Google ADK extension is based on ADK preview release
292
+
293
+ ## Testing
294
+
295
+ All existing tests pass. New tests added for:
296
+ - Transport metadata validation
297
+ - State configuration validation
298
+ - Security scopes validation
299
+ - Capability versioning validation
300
+ - Google ADK extension validation
301
+
302
+ ## Security
303
+
304
+ No new security vulnerabilities introduced.
305
+
306
+ **Recommendations**:
307
+ - Use scopes to enforce least-privilege access
308
+ - Apply compliance_tags consistently for regulated data
309
+ - Review security implications of new transport modes
310
+
311
+ ## Use Cases
312
+
313
+ ### Streaming LLM Agent
314
+ ```yaml
315
+ spec:
316
+ tools:
317
+ - type: http
318
+ transport:
319
+ protocol: http
320
+ streaming: response
321
+ content_type: text/event-stream
322
+ ```
323
+
324
+ ### Stateful Chat Agent
325
+ ```yaml
326
+ spec:
327
+ state:
328
+ mode: session
329
+ storage:
330
+ type: memory
331
+ retention: 24h
332
+ context_window:
333
+ max_messages: 50
334
+ ```
335
+
336
+ ### HIPAA-Compliant Agent
337
+ ```yaml
338
+ spec:
339
+ tools:
340
+ - type: http
341
+ auth:
342
+ scopes: [read:phi, write:phi]
343
+ compliance_tags: [hipaa, pii]
344
+ ```
345
+
346
+ ### Google ADK Multi-Agent
347
+ ```yaml
348
+ extensions:
349
+ google_adk:
350
+ enabled: true
351
+ agent_type: sequential_agent
352
+ sub_agents: [researcher, writer, reviewer]
353
+ ```
354
+
355
+ ## Roadmap to v0.2.4 Stable
356
+
357
+ - [ ] Finalize transport metadata validation rules
358
+ - [ ] Extend state storage backend options
359
+ - [ ] Refine capability versioning semantics
360
+ - [ ] Update Google ADK extension for GA release
361
+ - [ ] Enhanced A2A protocol support
362
+ - [ ] Additional examples and migration guides
363
+
364
+ ## Contributors
365
+
366
+ - Transport and streaming design
367
+ - State management implementation
368
+ - Security scopes and compliance tagging
369
+ - Capability versioning system
370
+ - Google ADK extension
371
+
372
+ ## Feedback
373
+
374
+ This is a development release. Please provide feedback:
375
+
376
+ - **Issues**: https://github.com/blueflyio/openstandardagents/issues
377
+ - **Documentation**: https://github.com/blueflyio/openstandardagents
378
+
379
+ ## Next Steps
380
+
381
+ ### v0.2.4 Stable (Planned)
382
+ - Finalized transport and state schemas
383
+ - Comprehensive examples
384
+ - Full test coverage
385
+ - Production-ready Google ADK extension
386
+
387
+ ### v0.3.0 (Future)
388
+ - Agent composition patterns
389
+ - Distributed state management
390
+ - Cross-agent memory sharing
391
+ - Enhanced A2A protocol support
392
+
393
+ ## Support
394
+
395
+ - **Documentation**: https://github.com/blueflyio/openstandardagents
396
+ - **Issues**: https://github.com/blueflyio/openstandardagents/issues
397
+ - **Examples**: https://github.com/blueflyio/openstandardagents/tree/main/examples
398
+
399
+ ---
400
+
401
+ **Full Changelog**: [v0.2.5...v0.2.8](https://github.com/blueflyio/openstandardagents/compare/v0.2.5...v0.2.8)
@@ -0,0 +1,72 @@
1
+ # OSSA v0.2.8 Specification
2
+
3
+ **Release Date**: November 24, 2025
4
+ **Status**: Stable Release
5
+ **Version**: 0.2.8
6
+
7
+ ## Overview
8
+
9
+ OSSA (Open Standard for Scalable AI Agents) v0.2.8 is a minor release introducing enhanced transport metadata, state management, security features, and capability versioning for better framework integration.
10
+
11
+ ## What's in This Directory
12
+
13
+ - **`ossa-0.2.8.schema.json`** - JSON Schema definition for OSSA v0.2.8 agent manifests
14
+ - **`ossa-0.2.8.yaml`** - YAML specification document
15
+ - **`CHANGELOG.md`** - Detailed release notes and feature descriptions
16
+ - **`README.md`** - This file
17
+ - **`migrations/`** - Upgrade guides from previous versions
18
+
19
+ ## Key Features
20
+
21
+ ### 🔄 Transport Metadata
22
+ - Protocol-specific configuration for capabilities
23
+ - Streaming support (SSE, WebSocket, gRPC)
24
+ - Enhanced integration with Google ADK, A2A protocol, MCP
25
+
26
+ ### 🔒 Enhanced Security
27
+ - Security policies for tools and memory
28
+ - Access control for capabilities
29
+ - Audit logging support
30
+
31
+ ### 📊 State Management
32
+ - Persistent and ephemeral state handling
33
+ - State versioning and migration
34
+ - Multi-agent state coordination
35
+
36
+ ### 🔧 Capability Versioning
37
+ - Semantic versioning for tools and capabilities
38
+ - Backward compatibility tracking
39
+ - Deprecation warnings
40
+
41
+ ## Compatibility
42
+
43
+ - **Backward Compatible**: Yes (with v0.2.2, v0.2.3, v0.2.4)
44
+ - **Breaking Changes**: None
45
+ - **Supported API Versions**: `ossa/v0.2.2`, `ossa/v0.2.3`, `ossa/v0.2.4`, `ossa/v0.2.8`, `ossa/v1`
46
+
47
+ ## Migration
48
+
49
+ To upgrade from previous versions, see the migration guides:
50
+ - [v0.2.4 → v0.2.8](./migrations/v0.2.4-to-v0.2.8.md)
51
+ - [v0.2.3 → v0.2.8](./migrations/v0.2.3-to-v0.2.8.md)
52
+
53
+ ## Validation
54
+
55
+ To validate manifests against this schema:
56
+
57
+ ```bash
58
+ npm install @bluefly/openstandardagents
59
+ ossa validate your-agent.yaml
60
+ ```
61
+
62
+ ## Resources
63
+
64
+ - **Website**: https://openstandardagents.org
65
+ - **Schema URL**: https://openstandardagents.org/schemas/v0.2.8/agent.json
66
+ - **GitHub**: https://github.com/blueflyio/openstandardagents
67
+ - **GitHub Mirror**: https://github.com/blueflyio/openstandardagents
68
+ - **npm Package**: https://npmjs.com/package/@bluefly/openstandardagents
69
+
70
+ ## License
71
+
72
+ MIT License - See root LICENSE file for details.