@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
package/.devfile.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  schemaVersion: 2.2.0
2
2
  metadata:
3
3
  name: ossa-development
4
- version: 0.2.5-RC
4
+ # Version is managed by package.json - run `npm run version:sync` to update
5
5
  description: OSSA development environment with GitLab agent access
6
6
  components:
7
7
  - name: dev-tools
package/.env.example CHANGED
@@ -4,7 +4,7 @@
4
4
  # ===========================================
5
5
  # Version & Environment
6
6
  # ===========================================
7
- VERSION=0.2.4
7
+ VERSION=0.2.9
8
8
  NODE_ENV=production
9
9
  LOG_LEVEL=info
10
10
 
@@ -0,0 +1,245 @@
1
+ # AGENTS.md - Repository-Level Agent Guidance
2
+
3
+ > This file provides guidance for AI coding agents working on this repository.
4
+ > Follows the [agents.md](https://agents.md) specification.
5
+
6
+ ## Overview
7
+
8
+ This is the **OSSA (Open Standard for Scalable AI Agents)** repository - the OpenAPI for AI Agents.
9
+
10
+ **Important**: This GitHub repository is a **public mirror** of our [GitLab repository](https://gitlab.com/blueflyio/openstandardagents). All CI/CD, testing, and releases happen on GitLab.
11
+
12
+ ## Development Environment
13
+
14
+ ### Setup
15
+
16
+ ```bash
17
+ # Clone (from GitHub mirror)
18
+ git clone https://github.com/blueflyio/openstandardagents.git
19
+ cd openstandardagents
20
+
21
+ # Install dependencies
22
+ npm install
23
+
24
+ # Build
25
+ npm run build
26
+
27
+ # Run tests
28
+ npm test
29
+ ```
30
+
31
+ ### Key Directories
32
+
33
+ | Directory | Purpose |
34
+ |-----------|---------|
35
+ | `spec/` | OSSA schema definitions (JSON Schema) |
36
+ | `src/` | TypeScript CLI and validation library |
37
+ | `examples/` | Example agent manifests for various platforms |
38
+ | `docs/` | Public documentation |
39
+ | `.gitlab/` | GitLab CI/CD and internal agents |
40
+ | `.github/` | GitHub workflows and community tooling |
41
+
42
+ ### Technology Stack
43
+
44
+ - **Language**: TypeScript (strict mode)
45
+ - **Runtime**: Node.js 20+
46
+ - **Package Manager**: npm (with legacy-peer-deps)
47
+ - **Testing**: Jest
48
+ - **Linting**: ESLint + Prettier
49
+ - **Schema**: JSON Schema Draft-07
50
+
51
+ ## Testing
52
+
53
+ ### Running Tests
54
+
55
+ ```bash
56
+ # All tests
57
+ npm test
58
+
59
+ # With coverage
60
+ npm test -- --coverage
61
+
62
+ # Specific file
63
+ npm test -- schema.repository.test.ts
64
+
65
+ # Watch mode
66
+ npm test -- --watch
67
+ ```
68
+
69
+ ### Test Requirements
70
+
71
+ - All schema changes require validation tests
72
+ - All CLI commands require integration tests
73
+ - Minimum 80% code coverage
74
+ - Tests must pass on Node.js 20 and 22
75
+
76
+ ### Validation
77
+
78
+ ```bash
79
+ # Validate all example manifests
80
+ npm run validate
81
+
82
+ # Validate specific manifest
83
+ npx ossa validate examples/cursor/code-review-agent.ossa.json
84
+ ```
85
+
86
+ ## Pull Request Instructions
87
+
88
+ ### PR Workflow (GitHub Mirror)
89
+
90
+ 1. **Open PR on GitHub** - Community contributions welcome
91
+ 2. **Automated Triage** - OSSA agents label and categorize
92
+ 3. **Review** - Maintainers review on GitHub
93
+ 4. **GitLab Sync** - Approved PRs create GitLab MR
94
+ 5. **CI/CD** - Full test suite runs on GitLab
95
+ 6. **Merge** - Changes merge on GitLab
96
+ 7. **Mirror Sync** - GitHub automatically updated
97
+ 8. **PR Auto-Close** - Your PR closes when changes appear
98
+
99
+ ### Commit Convention
100
+
101
+ Use [Conventional Commits](https://conventionalcommits.org):
102
+
103
+ ```bash
104
+ # Feature (minor version bump)
105
+ git commit -m "feat(schema): add agents_md extension support"
106
+
107
+ # Bug fix (patch version bump)
108
+ git commit -m "fix(cli): resolve validation timeout"
109
+
110
+ # Breaking change (major version bump)
111
+ git commit -m "feat!: redesign manifest schema
112
+
113
+ BREAKING CHANGE: apiVersion format changed"
114
+
115
+ # Documentation (no release)
116
+ git commit -m "docs: update getting started guide"
117
+ ```
118
+
119
+ ### PR Title Format
120
+
121
+ PR titles should follow conventional commits (becomes squash commit):
122
+
123
+ - ✅ `feat: add LangGraph extension support`
124
+ - ✅ `fix(schema): correct required fields`
125
+ - ❌ `Updated some stuff`
126
+ - ❌ `WIP`
127
+
128
+ ## Code Style
129
+
130
+ ### TypeScript Guidelines
131
+
132
+ ```typescript
133
+ // ✅ Good: Explicit types, descriptive names
134
+ export async function validateManifest(
135
+ manifest: OssaManifest,
136
+ options: ValidationOptions = {}
137
+ ): Promise<ValidationResult> {
138
+ // Implementation
139
+ }
140
+
141
+ // ❌ Bad: Any types, unclear names
142
+ export async function validate(m: any, o?: any) {
143
+ // Implementation
144
+ }
145
+ ```
146
+
147
+ ### Schema Guidelines
148
+
149
+ ```json
150
+ {
151
+ "$schema": "http://json-schema.org/draft-07/schema#",
152
+ "type": "object",
153
+ "required": ["apiVersion", "kind", "metadata", "spec"],
154
+ "properties": {
155
+ "apiVersion": {
156
+ "type": "string",
157
+ "pattern": "^ossa/v[0-9]+\\.[0-9]+\\.[0-9]+$",
158
+ "description": "OSSA API version"
159
+ }
160
+ }
161
+ }
162
+ ```
163
+
164
+ ### File Naming
165
+
166
+ - Schema files: `ossa-{version}.schema.json`
167
+ - Example manifests: `{name}.ossa.{json|yaml}`
168
+ - Tests: `{name}.test.ts`
169
+ - Services: `{name}.service.ts`
170
+
171
+ ## Security
172
+
173
+ ### Sensitive Data
174
+
175
+ **NEVER** commit:
176
+ - API keys or tokens
177
+ - Private keys or certificates
178
+ - Database credentials
179
+ - Internal URLs or endpoints
180
+
181
+ ### Security Issues
182
+
183
+ **DO NOT** open public issues for security vulnerabilities.
184
+
185
+ Report via email: **ops@openstandardagents.org**
186
+
187
+ ## Architecture Notes
188
+
189
+ ### Schema Versioning
190
+
191
+ - Current: `ossa/v0.2.9` (latest stable)
192
+ - Development: `ossa/v0.2.9` (in progress)
193
+ - Format: `ossa/v{major}.{minor}.{patch}`
194
+
195
+ ### Extension System
196
+
197
+ Extensions allow platform-specific configuration:
198
+
199
+ ```yaml
200
+ extensions:
201
+ cursor:
202
+ enabled: true
203
+ agent_type: composer
204
+ openai_agents:
205
+ enabled: true
206
+ model: gpt-4o
207
+ agents_md:
208
+ enabled: true
209
+ generate: true
210
+ ```
211
+
212
+ ### Supported Extensions
213
+
214
+ | Extension | Platform | Status |
215
+ |-----------|----------|--------|
216
+ | `cursor` | Cursor IDE | Stable |
217
+ | `openai_agents` | OpenAI Agents SDK | Stable |
218
+ | `anthropic` | Claude/Anthropic | Stable |
219
+ | `langchain` | LangChain | Stable |
220
+ | `crewai` | CrewAI | Stable |
221
+ | `kagent` | kAgent (K8s) | Stable |
222
+ | `agents_md` | agents.md | New in v0.2.9 |
223
+
224
+ ## Common Tasks
225
+
226
+ ### Adding a New Extension
227
+
228
+ 1. Add schema definition in `spec/v{version}/ossa-{version}.schema.json`
229
+ 2. Create example in `examples/{extension}/`
230
+ 3. Add validator in `src/services/validation/`
231
+ 4. Write tests in `tests/`
232
+ 5. Update documentation
233
+
234
+ ### Updating Schema Version
235
+
236
+ 1. Copy `spec/v{old}/` to `spec/v{new}/`
237
+ 2. Update `$id`, `title`, and version references
238
+ 3. Make changes
239
+ 4. Update `src/types/index.ts`
240
+ 5. Run `npm run validate`
241
+
242
+ ---
243
+
244
+ *Generated from OSSA agent manifests in `.github/agents/`*
245
+ *Last updated: 2025-12-04*
@@ -0,0 +1,99 @@
1
+ # OSSA Agent Manifest: GitHub Issue Triage Agent
2
+ # Triages issues from GitHub and syncs to GitLab
3
+ apiVersion: ossa/v0.2.9
4
+ kind: Agent
5
+
6
+ metadata:
7
+ name: github-issue-triage
8
+ version: 1.0.0
9
+ description: |
10
+ Triages GitHub issues, auto-labels based on content,
11
+ and syncs to GitLab issue tracker for tracking.
12
+ labels:
13
+ platform: github
14
+ domain: devops
15
+ workflow: issue-triage
16
+ annotations:
17
+ documentation: https://openstandardagents.org/docs/agents/github-issue-triage
18
+
19
+ spec:
20
+ taxonomy:
21
+ domain: devops
22
+ subdomain: issue-management
23
+ capability: triage
24
+
25
+ role: |
26
+ You are a GitHub issue triage agent for OSSA.
27
+
28
+ Your responsibilities:
29
+ 1. Welcome issue reporters and thank them for feedback
30
+ 2. Auto-label issues based on content analysis:
31
+ - bug: Error reports, unexpected behavior
32
+ - enhancement: Feature requests, improvements
33
+ - documentation: Doc updates, clarifications
34
+ - question: Usage questions, help requests
35
+ - component:schema: Schema-related issues
36
+ - component:cli: CLI tool issues
37
+ - component:extensions: Platform extension issues
38
+ 3. Detect duplicate issues and link them
39
+ 4. Escalate security issues immediately
40
+ 5. Create corresponding GitLab issues for tracking
41
+ 6. Sync comments between platforms
42
+
43
+ Be helpful and responsive. Issue reporters are often users
44
+ trying to adopt OSSA and need guidance.
45
+
46
+ llm:
47
+ provider: openai
48
+ model: gpt-4o-mini
49
+ temperature: 0.2
50
+ maxTokens: 1500
51
+
52
+ tools:
53
+ - type: http
54
+ name: github-api
55
+ description: GitHub REST API for issue operations
56
+ endpoint: https://api.github.com
57
+ auth:
58
+ type: bearer
59
+ tokenPath: GITHUB_TOKEN
60
+
61
+ - type: http
62
+ name: gitlab-api
63
+ description: GitLab API for issue sync
64
+ endpoint: https://gitlab.com/api/v4
65
+ auth:
66
+ type: bearer
67
+ tokenPath: GITLAB_TOKEN
68
+
69
+ autonomy:
70
+ level: autonomous
71
+ approval_required: false
72
+ allowed_actions:
73
+ - label_issue
74
+ - comment_issue
75
+ - assign_issue
76
+ - create_gitlab_issue
77
+ - link_duplicate
78
+ blocked_actions:
79
+ - close_issue
80
+ - delete_issue
81
+
82
+ constraints:
83
+ cost:
84
+ maxTokensPerDay: 30000
85
+ maxTokensPerRequest: 2000
86
+ performance:
87
+ maxLatencySeconds: 15
88
+ timeoutSeconds: 60
89
+
90
+ observability:
91
+ logging:
92
+ level: info
93
+ metrics:
94
+ enabled: true
95
+ customMetrics:
96
+ - name: issues_triaged
97
+ type: counter
98
+ - name: duplicates_detected
99
+ type: counter
@@ -0,0 +1,137 @@
1
+ # OSSA Agent Manifest: GitHub PR Triage Agent
2
+ # Triages pull requests from GitHub mirror and syncs to GitLab
3
+ apiVersion: ossa/v0.2.9
4
+ kind: Agent
5
+
6
+ metadata:
7
+ name: github-pr-triage
8
+ version: 1.0.0
9
+ description: |
10
+ Triages GitHub pull requests, validates contributions,
11
+ and creates corresponding merge requests on GitLab.
12
+ labels:
13
+ platform: github
14
+ domain: devops
15
+ workflow: pr-triage
16
+ annotations:
17
+ documentation: https://openstandardagents.org/docs/agents/github-pr-triage
18
+ source: https://gitlab.com/blueflyio/openstandardagents
19
+
20
+ spec:
21
+ taxonomy:
22
+ domain: devops
23
+ subdomain: code-review
24
+ capability: pr-triage
25
+
26
+ role: |
27
+ You are a GitHub PR triage agent for the OSSA (Open Standard for Scalable AI Agents) project.
28
+
29
+ Your responsibilities:
30
+ 1. Welcome contributors and explain the GitHub-to-GitLab workflow
31
+ 2. Validate PR titles follow Conventional Commits format
32
+ 3. Check PR content for:
33
+ - Schema changes (spec/**) - require careful review
34
+ - CLI changes (src/**) - require tests
35
+ - Documentation changes (docs/**) - can be fast-tracked
36
+ - Example additions (examples/**) - require validation
37
+ 4. Auto-label PRs based on content type
38
+ 5. Create corresponding GitLab MR when approved
39
+ 6. Sync comments and reviews between platforms
40
+
41
+ Be welcoming to new contributors. Many are unfamiliar with the dual-repo workflow.
42
+ Provide clear guidance on how to contribute effectively.
43
+
44
+ llm:
45
+ provider: openai
46
+ model: gpt-4o
47
+ temperature: 0.3
48
+ maxTokens: 2000
49
+
50
+ tools:
51
+ - type: http
52
+ name: github-api
53
+ description: GitHub REST API for PR operations
54
+ endpoint: https://api.github.com
55
+ auth:
56
+ type: bearer
57
+ tokenPath: GITHUB_TOKEN
58
+ config:
59
+ headers:
60
+ Accept: application/vnd.github+json
61
+ X-GitHub-Api-Version: "2022-11-28"
62
+
63
+ - type: http
64
+ name: gitlab-api
65
+ description: GitLab API for MR creation
66
+ endpoint: https://gitlab.com/api/v4
67
+ auth:
68
+ type: bearer
69
+ tokenPath: GITLAB_TOKEN
70
+
71
+ - type: mcp
72
+ name: git-operations
73
+ description: Git operations for branch sync
74
+ server: git-mcp
75
+ capabilities:
76
+ - name: clone
77
+ - name: checkout
78
+ - name: push
79
+ - name: diff
80
+
81
+ autonomy:
82
+ level: supervised
83
+ approval_required: false
84
+ allowed_actions:
85
+ - label_pr
86
+ - comment_pr
87
+ - request_changes
88
+ - create_gitlab_mr
89
+ - sync_comments
90
+ blocked_actions:
91
+ - merge_pr
92
+ - close_pr_without_reason
93
+ - delete_branch
94
+
95
+ constraints:
96
+ cost:
97
+ maxTokensPerDay: 50000
98
+ maxTokensPerRequest: 4000
99
+ performance:
100
+ maxLatencySeconds: 30
101
+ timeoutSeconds: 120
102
+
103
+ observability:
104
+ logging:
105
+ level: info
106
+ format: json
107
+ metrics:
108
+ enabled: true
109
+ customMetrics:
110
+ - name: prs_triaged
111
+ type: counter
112
+ description: Number of PRs triaged
113
+ - name: gitlab_mrs_created
114
+ type: counter
115
+ description: Number of GitLab MRs created from GitHub PRs
116
+
117
+ extensions:
118
+ cursor:
119
+ enabled: false
120
+
121
+ agents_md:
122
+ enabled: true
123
+ generate: true
124
+ output_path: .github/AGENTS.md
125
+ sections:
126
+ dev_environment:
127
+ enabled: true
128
+ custom: |
129
+ - This repo is a GitHub mirror of GitLab
130
+ - PRs here trigger triage to GitLab
131
+ - Use Conventional Commits for PR titles
132
+ pr_instructions:
133
+ enabled: true
134
+ custom: |
135
+ - PRs are reviewed here then synced to GitLab
136
+ - CI/CD runs on GitLab, not GitHub
137
+ - Maintainers will create GitLab MR from approved PRs
@@ -0,0 +1,138 @@
1
+ name: Issue Sync to GitLab
2
+
3
+ on:
4
+ issues:
5
+ types: [opened, edited, closed, reopened, labeled]
6
+ issue_comment:
7
+ types: [created]
8
+
9
+ permissions:
10
+ contents: read
11
+ issues: write
12
+
13
+ jobs:
14
+ # Triage new issues
15
+ triage-issue:
16
+ if: github.event_name == 'issues' && github.event.action == 'opened'
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - name: Auto-label Issue
20
+ uses: actions/github-script@v7
21
+ with:
22
+ script: |
23
+ const issue = context.payload.issue;
24
+ const title = issue.title.toLowerCase();
25
+ const body = (issue.body || '').toLowerCase();
26
+ const labels = ['github-issue'];
27
+
28
+ // Auto-detect issue type from title/body
29
+ if (title.includes('bug') || title.includes('error') || title.includes('fix')) {
30
+ labels.push('bug');
31
+ } else if (title.includes('feature') || title.includes('request') || title.includes('add')) {
32
+ labels.push('enhancement');
33
+ } else if (title.includes('doc') || title.includes('readme')) {
34
+ labels.push('documentation');
35
+ } else if (title.includes('question') || title.includes('help')) {
36
+ labels.push('question');
37
+ }
38
+
39
+ // Detect component from content
40
+ if (body.includes('schema') || body.includes('manifest')) {
41
+ labels.push('component:schema');
42
+ }
43
+ if (body.includes('cli') || body.includes('command')) {
44
+ labels.push('component:cli');
45
+ }
46
+ if (body.includes('extension') || body.includes('cursor') || body.includes('langchain')) {
47
+ labels.push('component:extensions');
48
+ }
49
+
50
+ await github.rest.issues.addLabels({
51
+ owner: context.repo.owner,
52
+ repo: context.repo.repo,
53
+ issue_number: issue.number,
54
+ labels: labels
55
+ });
56
+
57
+ - name: Welcome Comment
58
+ uses: actions/github-script@v7
59
+ with:
60
+ script: |
61
+ const issue = context.payload.issue;
62
+ const author = issue.user.login;
63
+
64
+ const welcomeMessage = `## 👋 Thanks for opening an issue, @${author}!
65
+
66
+ We appreciate your feedback on **OSSA (Open Standard for Scalable AI Agents)**.
67
+
68
+ ### 📋 What happens next?
69
+
70
+ 1. **🏷️ Auto-Labeling** - Issue has been automatically labeled based on content
71
+ 2. **🔗 GitLab Sync** - This issue will be synced to our [GitLab repository](https://gitlab.com/blueflyio/openstandardagents/-/issues)
72
+ 3. **👀 Triage** - Core team will review within 24-48 hours
73
+ 4. **💬 Updates** - You'll be notified here when there's progress
74
+
75
+ ### 🔍 Quick Links
76
+
77
+ - 📖 [Documentation](https://openstandardagents.org)
78
+ - 💬 [Discord Community](https://discord.gg/ossa)
79
+ - 🦊 [GitLab Issues](https://gitlab.com/blueflyio/openstandardagents/-/issues)
80
+
81
+ ---
82
+
83
+ *This repository is a public mirror. Active development happens on [GitLab](https://gitlab.com/blueflyio/openstandardagents).*`;
84
+
85
+ await github.rest.issues.createComment({
86
+ owner: context.repo.owner,
87
+ repo: context.repo.repo,
88
+ issue_number: issue.number,
89
+ body: welcomeMessage
90
+ });
91
+
92
+ - name: Notify GitLab Agent Platform
93
+ if: ${{ secrets.GITLAB_WEBHOOK_URL }}
94
+ run: |
95
+ curl -X POST "${{ secrets.GITLAB_WEBHOOK_URL }}" \
96
+ -H "Content-Type: application/json" \
97
+ -H "X-GitHub-Event: issues" \
98
+ -d '{
99
+ "event": "github_issue_opened",
100
+ "issue_number": ${{ github.event.issue.number }},
101
+ "issue_title": "${{ github.event.issue.title }}",
102
+ "issue_url": "${{ github.event.issue.html_url }}",
103
+ "author": "${{ github.event.issue.user.login }}"
104
+ }'
105
+
106
+ # Sync issue closure
107
+ sync-issue-close:
108
+ if: github.event_name == 'issues' && github.event.action == 'closed'
109
+ runs-on: ubuntu-latest
110
+ steps:
111
+ - name: Log Closure
112
+ run: |
113
+ echo "Issue #${{ github.event.issue.number }} closed"
114
+ echo "Closed by: ${{ github.event.sender.login }}"
115
+
116
+ # Sync new comments
117
+ sync-comment:
118
+ if: github.event_name == 'issue_comment' && github.event.action == 'created'
119
+ runs-on: ubuntu-latest
120
+ steps:
121
+ - name: Notify GitLab of Comment
122
+ if: ${{ secrets.GITLAB_WEBHOOK_URL }}
123
+ run: |
124
+ # Skip bot comments
125
+ if [[ "${{ github.event.comment.user.login }}" == *"bot"* ]]; then
126
+ echo "Skipping bot comment"
127
+ exit 0
128
+ fi
129
+
130
+ curl -X POST "${{ secrets.GITLAB_WEBHOOK_URL }}" \
131
+ -H "Content-Type: application/json" \
132
+ -H "X-GitHub-Event: issue_comment" \
133
+ -d '{
134
+ "event": "github_comment_created",
135
+ "issue_number": ${{ github.event.issue.number }},
136
+ "comment_url": "${{ github.event.comment.html_url }}",
137
+ "author": "${{ github.event.comment.user.login }}"
138
+ }'