@bluefly/openstandardagents 0.2.4

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 (371) hide show
  1. package/.env.example +41 -0
  2. package/.eslintrc.cjs +43 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  4. package/.github/dependabot.yml +58 -0
  5. package/.github/workflows/ci.yml +154 -0
  6. package/.github/workflows/codeql.yml +41 -0
  7. package/.github/workflows/dependabot-auto-merge.yml +28 -0
  8. package/.github/workflows/release.yml +103 -0
  9. package/.prettierignore +7 -0
  10. package/.prettierrc.json +10 -0
  11. package/.redocly.yaml +9 -0
  12. package/.releaserc.json +84 -0
  13. package/.releaserc.json.disabled +81 -0
  14. package/CHANGELOG.md +152 -0
  15. package/CONTRIBUTING.md +249 -0
  16. package/LICENSE +190 -0
  17. package/README.md +280 -0
  18. package/bin/ossa +8 -0
  19. package/bin/validate-ossa-0.2.2.ts +244 -0
  20. package/dist/di-container.d.ts +18 -0
  21. package/dist/di-container.d.ts.map +1 -0
  22. package/dist/di-container.js +43 -0
  23. package/dist/di-container.js.map +1 -0
  24. package/dist/index.d.ts +13 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +17 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/repositories/manifest.repository.d.ts +26 -0
  29. package/dist/repositories/manifest.repository.d.ts.map +1 -0
  30. package/dist/repositories/manifest.repository.js +90 -0
  31. package/dist/repositories/manifest.repository.js.map +1 -0
  32. package/dist/repositories/schema.repository.d.ts +30 -0
  33. package/dist/repositories/schema.repository.d.ts.map +1 -0
  34. package/dist/repositories/schema.repository.js +143 -0
  35. package/dist/repositories/schema.repository.js.map +1 -0
  36. package/dist/services/generation.service.d.ts +54 -0
  37. package/dist/services/generation.service.d.ts.map +1 -0
  38. package/dist/services/generation.service.js +298 -0
  39. package/dist/services/generation.service.js.map +1 -0
  40. package/dist/services/migration.service.d.ts +30 -0
  41. package/dist/services/migration.service.d.ts.map +1 -0
  42. package/dist/services/migration.service.js +231 -0
  43. package/dist/services/migration.service.js.map +1 -0
  44. package/dist/services/runtime/openai.adapter.d.ts +94 -0
  45. package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
  46. package/dist/services/runtime/openai.adapter.js +209 -0
  47. package/dist/services/runtime/openai.adapter.js.map +1 -0
  48. package/dist/services/validation.service.d.ts +45 -0
  49. package/dist/services/validation.service.d.ts.map +1 -0
  50. package/dist/services/validation.service.js +362 -0
  51. package/dist/services/validation.service.js.map +1 -0
  52. package/dist/services/validators/anthropic.validator.d.ts +9 -0
  53. package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
  54. package/dist/services/validators/anthropic.validator.js +105 -0
  55. package/dist/services/validators/anthropic.validator.js.map +1 -0
  56. package/dist/services/validators/autogen.validator.d.ts +9 -0
  57. package/dist/services/validators/autogen.validator.d.ts.map +1 -0
  58. package/dist/services/validators/autogen.validator.js +111 -0
  59. package/dist/services/validators/autogen.validator.js.map +1 -0
  60. package/dist/services/validators/crewai.validator.d.ts +9 -0
  61. package/dist/services/validators/crewai.validator.d.ts.map +1 -0
  62. package/dist/services/validators/crewai.validator.js +117 -0
  63. package/dist/services/validators/crewai.validator.js.map +1 -0
  64. package/dist/services/validators/cursor.validator.d.ts +9 -0
  65. package/dist/services/validators/cursor.validator.d.ts.map +1 -0
  66. package/dist/services/validators/cursor.validator.js +88 -0
  67. package/dist/services/validators/cursor.validator.js.map +1 -0
  68. package/dist/services/validators/index.d.ts +15 -0
  69. package/dist/services/validators/index.d.ts.map +1 -0
  70. package/dist/services/validators/index.js +15 -0
  71. package/dist/services/validators/index.js.map +1 -0
  72. package/dist/services/validators/langchain.validator.d.ts +9 -0
  73. package/dist/services/validators/langchain.validator.d.ts.map +1 -0
  74. package/dist/services/validators/langchain.validator.js +103 -0
  75. package/dist/services/validators/langchain.validator.js.map +1 -0
  76. package/dist/services/validators/langflow.validator.d.ts +9 -0
  77. package/dist/services/validators/langflow.validator.d.ts.map +1 -0
  78. package/dist/services/validators/langflow.validator.js +92 -0
  79. package/dist/services/validators/langflow.validator.js.map +1 -0
  80. package/dist/services/validators/langgraph.validator.d.ts +9 -0
  81. package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
  82. package/dist/services/validators/langgraph.validator.js +123 -0
  83. package/dist/services/validators/langgraph.validator.js.map +1 -0
  84. package/dist/services/validators/llamaindex.validator.d.ts +9 -0
  85. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
  86. package/dist/services/validators/llamaindex.validator.js +121 -0
  87. package/dist/services/validators/llamaindex.validator.js.map +1 -0
  88. package/dist/services/validators/openai.validator.d.ts +9 -0
  89. package/dist/services/validators/openai.validator.d.ts.map +1 -0
  90. package/dist/services/validators/openai.validator.js +126 -0
  91. package/dist/services/validators/openai.validator.js.map +1 -0
  92. package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
  93. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
  94. package/dist/services/validators/vercel-ai.validator.js +99 -0
  95. package/dist/services/validators/vercel-ai.validator.js.map +1 -0
  96. package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  97. package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
  98. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  99. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  100. package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
  101. package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
  102. package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  103. package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  104. package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  105. package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
  106. package/dist/spec/v0.2.3/README.md +154 -0
  107. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  108. package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  109. package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  110. package/dist/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  111. package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  112. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  113. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  114. package/dist/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  115. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  116. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  117. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  118. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  119. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  120. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  121. package/dist/types/index.d.ts +178 -0
  122. package/dist/types/index.d.ts.map +1 -0
  123. package/dist/types/index.js +6 -0
  124. package/dist/types/index.js.map +1 -0
  125. package/dist/types/openapi-extensions.d.ts +164 -0
  126. package/dist/types/openapi-extensions.d.ts.map +1 -0
  127. package/dist/types/openapi-extensions.js +6 -0
  128. package/dist/types/openapi-extensions.js.map +1 -0
  129. package/docs/OSSA-COMPLIANT-BADGE.md +248 -0
  130. package/docs/README.md +31 -0
  131. package/docs/VERSIONING.md +284 -0
  132. package/docs/agent-openapi-spec.yml +942 -0
  133. package/docs/getting-started.md +87 -0
  134. package/docs/migration/general-agent-schema.yml +255 -0
  135. package/docs/migration/migration-manifest.json +64 -0
  136. package/docs/openapi-extensions.md +930 -0
  137. package/docs/schemas/openapi-extensions.schema.json +486 -0
  138. package/examples/adk-integration/code-review-workflow.yml +136 -0
  139. package/examples/adk-integration/customer-support.yml +263 -0
  140. package/examples/adk-integration/data-pipeline.yml +173 -0
  141. package/examples/advanced/patterns/compliance-context-production.json +53 -0
  142. package/examples/advanced/patterns/model-router.ts +274 -0
  143. package/examples/advanced/patterns/smart-model-routing.ts +248 -0
  144. package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
  145. package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
  146. package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
  147. package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
  148. package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
  149. package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
  150. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
  151. package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
  152. package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
  153. package/examples/anthropic/claude-assistant.ossa.json +45 -0
  154. package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
  155. package/examples/autogen/multi-agent.ossa.json +37 -0
  156. package/examples/bridge-configurations.yaml +346 -0
  157. package/examples/bridges/Dockerfile.production +87 -0
  158. package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
  159. package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
  160. package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
  161. package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
  162. package/examples/bridges/aiflow-bridge-example.yml +310 -0
  163. package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
  164. package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
  165. package/examples/bridges/k8s/configmap.yaml +121 -0
  166. package/examples/bridges/k8s/deployment-simple.yaml +34 -0
  167. package/examples/bridges/k8s/deployment.yaml +275 -0
  168. package/examples/bridges/k8s/hpa.yaml +126 -0
  169. package/examples/bridges/k8s/ingress.yaml +155 -0
  170. package/examples/bridges/kagent-bridge-example.yml +94 -0
  171. package/examples/bridges/load-tests/Dockerfile +28 -0
  172. package/examples/bridges/load-tests/k6-load-test.js +302 -0
  173. package/examples/bridges/load-tests/requirements.txt +20 -0
  174. package/examples/bridges/loadtest/k6-scenarios.js +270 -0
  175. package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
  176. package/examples/bridges/phase4/chaos-tests.yaml +226 -0
  177. package/examples/bridges/requirements.txt +24 -0
  178. package/examples/bridges/test_aiflow_integration.py +341 -0
  179. package/examples/common_npm/agent-router.ossa.yaml +182 -0
  180. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
  181. package/examples/compliance-agent.yml +155 -0
  182. package/examples/crewai/research-team.ossa.json +36 -0
  183. package/examples/cursor/code-review-agent.ossa.json +47 -0
  184. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
  185. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
  186. package/examples/enterprise/agent.yml +452 -0
  187. package/examples/extensions/drupal-v1.yml +266 -0
  188. package/examples/extensions/kagent-v1.yml +167 -0
  189. package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
  190. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
  191. package/examples/kagent/README.md +31 -0
  192. package/examples/kagent/compliance-validator.ossa.yaml +111 -0
  193. package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
  194. package/examples/kagent/documentation-agent.ossa.yaml +91 -0
  195. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
  196. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
  197. package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
  198. package/examples/kagent/security-scanner.ossa.yaml +140 -0
  199. package/examples/langchain/chain-agent.ossa.json +42 -0
  200. package/examples/langflow/workflow-agent.ossa.json +39 -0
  201. package/examples/langgraph/state-machine-agent.ossa.json +59 -0
  202. package/examples/llamaindex/rag-agent.ossa.json +41 -0
  203. package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
  204. package/examples/minimal/agent.yml +152 -0
  205. package/examples/minimal/openapi.yaml +95 -0
  206. package/examples/openai/swarm-agent.ossa.json +59 -0
  207. package/examples/openapi-extensions/README.md +87 -0
  208. package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
  209. package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
  210. package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
  211. package/examples/production/agent.yml +713 -0
  212. package/examples/production/document-analyzer-openai.yml +134 -0
  213. package/examples/quickstart/support-agent.ossa.yaml +59 -0
  214. package/examples/service-registry-usage.ts +423 -0
  215. package/examples/spec-examples/audit-agent.yml +147 -0
  216. package/examples/spec-examples/chat-agent.yml +189 -0
  217. package/examples/spec-examples/compliance-agent.yml +204 -0
  218. package/examples/spec-examples/data-processing-agent.yml +132 -0
  219. package/examples/spec-examples/development-agent.yml +138 -0
  220. package/examples/spec-examples/edge-agent.yml +101 -0
  221. package/examples/spec-examples/integration-agent.yml +129 -0
  222. package/examples/spec-examples/monitoring-agent.yml +130 -0
  223. package/examples/spec-examples/serverless-agent.yml +82 -0
  224. package/examples/spec-examples/workflow-agent.yml +223 -0
  225. package/examples/templates/ossa-compliance.yaml +56 -0
  226. package/examples/typescript/advanced/demo-registry.ts +168 -0
  227. package/examples/typescript/mcpb-agent-example.ts +358 -0
  228. package/examples/vercel/edge-agent.ossa.json +43 -0
  229. package/infrastructure/docker-compose.yml +33 -0
  230. package/junit.xml +1 -0
  231. package/openapi/drupal-agent-api.openapi.yaml +348 -0
  232. package/openapi/gitlab-orchestrator.openapi.yaml +330 -0
  233. package/openapi/helm-generator.openapi.yaml +389 -0
  234. package/openapi/ossa-core-api.openapi.yaml +1448 -0
  235. package/openapi/ossa-registry-api.openapi.yaml +980 -0
  236. package/openapi/ossa-registry.openapi.yaml +782 -0
  237. package/openapi/self-evolving-ecosystem.openapi.yaml +1530 -0
  238. package/openapi/unified-agent-gateway.openapi.yaml +833 -0
  239. package/ossa-website-swarm-tasks.json +105 -0
  240. package/package.json +132 -0
  241. package/release.config.js +64 -0
  242. package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  243. package/spec/v0.1.9/ecosystem-compliance.json +235 -0
  244. package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  245. package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  246. package/spec/v0.1.9/reasoning-compliance.json +654 -0
  247. package/spec/v0.2.2/kagent-enhancements.json +395 -0
  248. package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  249. package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  250. package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  251. package/spec/v0.2.3/CHANGELOG.md +176 -0
  252. package/spec/v0.2.3/README.md +154 -0
  253. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  254. package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  255. package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  256. package/spec/v0.2.4-dev/CHANGELOG.md +403 -0
  257. package/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  258. package/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1696 -0
  259. package/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  260. package/spec/v0.2.5-dev/CHANGELOG.md +171 -0
  261. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +362 -0
  262. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +464 -0
  263. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +440 -0
  264. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  265. package/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  266. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  267. package/test-results.xml +1 -0
  268. package/website/.lighthouserc.js +20 -0
  269. package/website/.prettierrc +10 -0
  270. package/website/Dockerfile +17 -0
  271. package/website/app/about/page.tsx +295 -0
  272. package/website/app/api/validate/route.ts +88 -0
  273. package/website/app/blog/[slug]/page.tsx +167 -0
  274. package/website/app/blog/page.tsx +162 -0
  275. package/website/app/docs/[[...slug]]/page.tsx +349 -0
  276. package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
  277. package/website/app/ecosystem/page.tsx +375 -0
  278. package/website/app/examples/page.tsx +123 -0
  279. package/website/app/globals.css +108 -0
  280. package/website/app/layout.tsx +106 -0
  281. package/website/app/page.tsx +409 -0
  282. package/website/app/playground/page.tsx +507 -0
  283. package/website/app/robots.ts +19 -0
  284. package/website/app/rss.xml/route.ts +74 -0
  285. package/website/app/schema/page.tsx +970 -0
  286. package/website/app/sitemap.ts +56 -0
  287. package/website/app/specification/page.tsx +211 -0
  288. package/website/components/InstallCommand.tsx +96 -0
  289. package/website/components/Logo.tsx +24 -0
  290. package/website/components/StructuredData.tsx +65 -0
  291. package/website/components/docs/DocsSearch.tsx +104 -0
  292. package/website/components/docs/DocsSidebar.tsx +118 -0
  293. package/website/components/docs/MarkdownContent.tsx +183 -0
  294. package/website/components/docs/VersionSelector.tsx +49 -0
  295. package/website/components/examples/ExamplesViewer.tsx +293 -0
  296. package/website/components/layout/Footer.tsx +111 -0
  297. package/website/components/layout/Header.tsx +170 -0
  298. package/website/components/schema/SchemaExplorer.tsx +213 -0
  299. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
  300. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +209 -0
  301. package/website/content/blog/introducing-ossa-framework.md +328 -0
  302. package/website/content/blog/ossa-production-results.md +279 -0
  303. package/website/content/blog/welcome-to-ossa.md +43 -0
  304. package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
  305. package/website/content/docs/00-HOME.md +160 -0
  306. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  307. package/website/content/docs/OpenAPI-Extensions.md +498 -0
  308. package/website/content/docs/architecture/execution-flow.md +335 -0
  309. package/website/content/docs/architecture/multi-agent-systems.md +737 -0
  310. package/website/content/docs/architecture/overview.md +121 -0
  311. package/website/content/docs/architecture/stack-integration.md +461 -0
  312. package/website/content/docs/changelog.md +246 -0
  313. package/website/content/docs/contributing.md +599 -0
  314. package/website/content/docs/core-concepts/project-structure.md +348 -0
  315. package/website/content/docs/ecosystem/framework-support.md +821 -0
  316. package/website/content/docs/ecosystem/overview.md +366 -0
  317. package/website/content/docs/examples/Migration-Guides.md +214 -0
  318. package/website/content/docs/examples.md +71 -0
  319. package/website/content/docs/for-audiences/Enterprises.md +256 -0
  320. package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
  321. package/website/content/docs/for-audiences/architects.md +224 -0
  322. package/website/content/docs/for-audiences/developers.md +220 -0
  323. package/website/content/docs/getting-started/5-minute-overview.md +85 -0
  324. package/website/content/docs/getting-started/Hello-World.md +184 -0
  325. package/website/content/docs/getting-started/first-agent.md +196 -0
  326. package/website/content/docs/getting-started/installation.md +155 -0
  327. package/website/content/docs/getting-started/running-agents.md +107 -0
  328. package/website/content/docs/integrations/aiflow.md +104 -0
  329. package/website/content/docs/integrations/drupal.md +105 -0
  330. package/website/content/docs/migration-guides/00-index.md +76 -0
  331. package/website/content/docs/migration-guides/README.md +133 -0
  332. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
  333. package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
  334. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
  335. package/website/content/docs/migration-guides/index.md +133 -0
  336. package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
  337. package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
  338. package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
  339. package/website/content/docs/openapi-extensions/examples.md +550 -0
  340. package/website/content/docs/openapi-extensions/index.md +495 -0
  341. package/website/content/docs/openapi-extensions/operation-extensions.md +398 -0
  342. package/website/content/docs/openapi-extensions/root-extensions.md +364 -0
  343. package/website/content/docs/pre-release/index.md +175 -0
  344. package/website/content/docs/quick-reference.md +17 -0
  345. package/website/content/docs/schema-reference/agent-spec.md +406 -0
  346. package/website/content/docs/schema-reference/autonomy.md +568 -0
  347. package/website/content/docs/schema-reference/constraints.md +543 -0
  348. package/website/content/docs/schema-reference/index.md +176 -0
  349. package/website/content/docs/schema-reference/llm-config.md +445 -0
  350. package/website/content/docs/schema-reference/observability.md +654 -0
  351. package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
  352. package/website/content/docs/schema-reference/taxonomy.md +509 -0
  353. package/website/content/docs/schema-reference/tools.md +628 -0
  354. package/website/content/docs/templates/blog-post.md +43 -0
  355. package/website/content/docs/use-cases/00-index.md +395 -0
  356. package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
  357. package/website/content/docs/use-cases/customer-support.md +1234 -0
  358. package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
  359. package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
  360. package/website/lib/version.ts +18 -0
  361. package/website/next.config.js +17 -0
  362. package/website/next.config.ts +16 -0
  363. package/website/nginx.conf +32 -0
  364. package/website/package-lock.json +9145 -0
  365. package/website/package.json +53 -0
  366. package/website/postcss.config.js +7 -0
  367. package/website/postcss.config.mjs +9 -0
  368. package/website/scripts/sync-version.js +44 -0
  369. package/website/scripts/sync-wiki.ts +261 -0
  370. package/website/tailwind.config.js +58 -0
  371. package/website/tailwind.config.ts +65 -0
@@ -0,0 +1,628 @@
1
+ ---
2
+ title: "Tools"
3
+ description: "Tool and capability definitions for agent integrations"
4
+ weight: 4
5
+ ---
6
+
7
+ # Tools Object
8
+
9
+ The `tools` array in `spec.tools` defines capabilities and integrations available to the agent. Each tool provides access to external systems, APIs, or functions.
10
+
11
+ ## Field Reference
12
+
13
+ | Field Name | Type | Required | Description |
14
+ |------------|------|----------|-------------|
15
+ | `type` | string (enum) | **Yes** | Tool integration type: `mcp`, `kubernetes`, `http`, `grpc`, `function`, or `custom` |
16
+ | `name` | string | No | Tool name/identifier. Required for `function` and `custom` types |
17
+ | `server` | string | No | MCP server name. Required when `type: mcp` |
18
+ | `namespace` | string | No | Kubernetes namespace. Used with `type: kubernetes` or `type: mcp` |
19
+ | `endpoint` | string (URI) | No | HTTP/gRPC endpoint. Required when `type: http` or `type: grpc` |
20
+ | `capabilities` | array[string] | No | Specific capabilities/operations from this tool |
21
+ | `config` | object | No | Tool-specific configuration. Free-form JSON object |
22
+ | `auth` | [Auth](#auth-object) | No | Authentication configuration |
23
+
24
+ ## Auth Object
25
+
26
+ | Field Name | Type | Required | Description |
27
+ |------------|------|----------|-------------|
28
+ | `type` | string (enum) | No | Auth type: `bearer`, `oauth2`, `mtls`, `apikey`, or `none` |
29
+ | `credentials` | string | No | Reference to secret/credential (NOT the actual secret value) |
30
+
31
+ ## Tool Types
32
+
33
+ ### MCP (Model Context Protocol)
34
+
35
+ MCP is the preferred integration method for OSSA agents. MCP servers provide standardized tool interfaces.
36
+
37
+ ```yaml
38
+ tools:
39
+ - type: mcp
40
+ server: filesystem
41
+ capabilities:
42
+ - read_file
43
+ - write_file
44
+ - list_directory
45
+ - search_files
46
+
47
+ - type: mcp
48
+ server: git
49
+ capabilities:
50
+ - git_diff
51
+ - git_log
52
+ - git_status
53
+ - git_blame
54
+
55
+ - type: mcp
56
+ server: postgres
57
+ namespace: databases
58
+ capabilities:
59
+ - query
60
+ - get_schema
61
+ config:
62
+ database: analytics
63
+ read_only: true
64
+ auth:
65
+ type: apikey
66
+ credentials: SECRET_REF_POSTGRES_KEY
67
+ ```
68
+
69
+ **Common MCP servers:**
70
+ - `filesystem` - File operations
71
+ - `git` - Git repository operations
72
+ - `github` - GitHub API integration
73
+ - `gitlab` - GitLab API integration
74
+ - `postgres` - PostgreSQL database
75
+ - `sqlite` - SQLite database
76
+ - `redis` - Redis key-value store
77
+ - `slack` - Slack API
78
+ - `jira` - Jira API
79
+ - `confluence` - Confluence API
80
+
81
+ See [MCP Extension](./extensions/mcp.md) for server configuration.
82
+
83
+ ### Kubernetes
84
+
85
+ Direct access to Kubernetes API resources.
86
+
87
+ ```yaml
88
+ tools:
89
+ - type: kubernetes
90
+ namespace: production
91
+ capabilities:
92
+ - get_pods
93
+ - get_deployments
94
+ - get_services
95
+ - describe_pod
96
+ config:
97
+ cluster: prod-cluster
98
+ context: prod-context
99
+ auth:
100
+ type: bearer
101
+ credentials: SECRET_REF_K8S_TOKEN
102
+
103
+ - type: kubernetes
104
+ namespace: monitoring
105
+ capabilities:
106
+ - get_pods
107
+ - get_logs
108
+ config:
109
+ read_only: true
110
+ ```
111
+
112
+ **Common capabilities:**
113
+ - `get_pods`, `get_deployments`, `get_services`
114
+ - `describe_pod`, `describe_deployment`
115
+ - `get_logs`, `exec_pod`
116
+ - `scale_deployment`
117
+ - `apply_manifest`, `delete_resource`
118
+
119
+ **Security note:** Always use `read_only: true` in config unless write access is required.
120
+
121
+ ### HTTP API
122
+
123
+ RESTful or GraphQL HTTP endpoints.
124
+
125
+ ```yaml
126
+ tools:
127
+ - type: http
128
+ name: github-api
129
+ endpoint: https://api.github.com
130
+ capabilities:
131
+ - create_issue
132
+ - list_pull_requests
133
+ - get_repository
134
+ auth:
135
+ type: bearer
136
+ credentials: SECRET_REF_GITHUB_TOKEN
137
+ config:
138
+ rate_limit: 5000
139
+ timeout: 30
140
+
141
+ - type: http
142
+ name: internal-analytics
143
+ endpoint: https://analytics.internal.example.com/api/v1
144
+ capabilities:
145
+ - query_metrics
146
+ - get_dashboard
147
+ auth:
148
+ type: oauth2
149
+ credentials: SECRET_REF_OAUTH_CLIENT
150
+ config:
151
+ retry_attempts: 3
152
+ ```
153
+
154
+ ### gRPC
155
+
156
+ gRPC service endpoints.
157
+
158
+ ```yaml
159
+ tools:
160
+ - type: grpc
161
+ name: recommendation-engine
162
+ endpoint: grpc://recommendations.example.com:9090
163
+ capabilities:
164
+ - get_recommendations
165
+ - update_preferences
166
+ auth:
167
+ type: mtls
168
+ credentials: SECRET_REF_GRPC_CERT
169
+ config:
170
+ timeout: 10
171
+ max_message_size: 4194304
172
+
173
+ - type: grpc
174
+ name: data-pipeline
175
+ endpoint: grpc://pipeline.internal:50051
176
+ capabilities:
177
+ - trigger_job
178
+ - get_job_status
179
+ auth:
180
+ type: none
181
+ ```
182
+
183
+ ### Function
184
+
185
+ Platform-specific function calls. Implementation varies by deployment platform.
186
+
187
+ ```yaml
188
+ tools:
189
+ - type: function
190
+ name: send_email
191
+ capabilities:
192
+ - compose
193
+ - send
194
+ - validate_address
195
+ config:
196
+ smtp_server: smtp.example.com
197
+ from_address: agent@example.com
198
+ auth:
199
+ type: apikey
200
+ credentials: SECRET_REF_SMTP_KEY
201
+
202
+ - type: function
203
+ name: analyze_sentiment
204
+ capabilities:
205
+ - analyze_text
206
+ - batch_analyze
207
+ config:
208
+ model: sentiment-v2
209
+ threshold: 0.7
210
+ ```
211
+
212
+ ### Custom
213
+
214
+ Framework or platform-specific tools.
215
+
216
+ ```yaml
217
+ tools:
218
+ - type: custom
219
+ name: drupal_content_api
220
+ capabilities:
221
+ - create_node
222
+ - update_node
223
+ - query_entities
224
+ config:
225
+ content_types:
226
+ - article
227
+ - page
228
+ permissions:
229
+ - view_content
230
+ - create_content
231
+ ```
232
+
233
+ ## Complete Examples
234
+
235
+ ### Code Review Agent
236
+
237
+ ```yaml
238
+ spec:
239
+ role: You are a code review specialist.
240
+
241
+ tools:
242
+ # Read source code
243
+ - type: mcp
244
+ server: filesystem
245
+ capabilities:
246
+ - read_file
247
+ - list_directory
248
+ - search_files
249
+
250
+ # Analyze git history
251
+ - type: mcp
252
+ server: git
253
+ capabilities:
254
+ - git_diff
255
+ - git_log
256
+ - git_blame
257
+
258
+ # GitHub integration
259
+ - type: http
260
+ name: github-api
261
+ endpoint: https://api.github.com
262
+ capabilities:
263
+ - get_pull_request
264
+ - list_files
265
+ - create_review_comment
266
+ auth:
267
+ type: bearer
268
+ credentials: SECRET_REF_GITHUB_TOKEN
269
+
270
+ # Static analysis
271
+ - type: http
272
+ name: sonarqube
273
+ endpoint: https://sonarqube.example.com/api
274
+ capabilities:
275
+ - analyze_code
276
+ - get_issues
277
+ auth:
278
+ type: apikey
279
+ credentials: SECRET_REF_SONARQUBE_KEY
280
+ ```
281
+
282
+ ### DevOps Troubleshooting Agent
283
+
284
+ ```yaml
285
+ spec:
286
+ role: You are a Kubernetes troubleshooting expert.
287
+
288
+ tools:
289
+ # Kubernetes access
290
+ - type: kubernetes
291
+ namespace: production
292
+ capabilities:
293
+ - get_pods
294
+ - get_logs
295
+ - describe_pod
296
+ - get_events
297
+ config:
298
+ read_only: true
299
+ auth:
300
+ type: bearer
301
+ credentials: SECRET_REF_K8S_PROD_TOKEN
302
+
303
+ # Metrics
304
+ - type: http
305
+ name: prometheus
306
+ endpoint: https://prometheus.example.com
307
+ capabilities:
308
+ - query
309
+ - query_range
310
+ config:
311
+ timeout: 30
312
+
313
+ # Logs
314
+ - type: http
315
+ name: loki
316
+ endpoint: https://loki.example.com
317
+ capabilities:
318
+ - query_logs
319
+ - label_values
320
+
321
+ # Alert on-call
322
+ - type: http
323
+ name: pagerduty
324
+ endpoint: https://api.pagerduty.com
325
+ capabilities:
326
+ - get_incidents
327
+ - create_incident
328
+ - update_incident
329
+ auth:
330
+ type: bearer
331
+ credentials: SECRET_REF_PAGERDUTY_TOKEN
332
+ ```
333
+
334
+ ### Data Analysis Agent
335
+
336
+ ```yaml
337
+ spec:
338
+ role: You are a data analyst assistant.
339
+
340
+ tools:
341
+ # Primary database
342
+ - type: mcp
343
+ server: postgres
344
+ namespace: analytics
345
+ capabilities:
346
+ - query
347
+ - get_schema
348
+ - explain_query
349
+ config:
350
+ database: warehouse
351
+ read_only: true
352
+ query_timeout: 60
353
+ auth:
354
+ type: apikey
355
+ credentials: SECRET_REF_POSTGRES_KEY
356
+
357
+ # Cache layer
358
+ - type: mcp
359
+ server: redis
360
+ capabilities:
361
+ - get
362
+ - set
363
+ - delete
364
+ config:
365
+ ttl: 3600
366
+
367
+ # Visualization API
368
+ - type: http
369
+ name: metabase
370
+ endpoint: https://metabase.example.com/api
371
+ capabilities:
372
+ - create_question
373
+ - get_dashboard
374
+ - export_csv
375
+ auth:
376
+ type: apikey
377
+ credentials: SECRET_REF_METABASE_KEY
378
+ ```
379
+
380
+ ### Customer Support Agent
381
+
382
+ ```yaml
383
+ spec:
384
+ role: You are a customer support specialist.
385
+
386
+ tools:
387
+ # CRM
388
+ - type: http
389
+ name: salesforce
390
+ endpoint: https://example.salesforce.com/services/data/v58.0
391
+ capabilities:
392
+ - search_accounts
393
+ - get_case
394
+ - create_case
395
+ - update_case
396
+ auth:
397
+ type: oauth2
398
+ credentials: SECRET_REF_SALESFORCE_OAUTH
399
+
400
+ # Knowledge base
401
+ - type: mcp
402
+ server: confluence
403
+ capabilities:
404
+ - search_pages
405
+ - get_page_content
406
+ config:
407
+ space: SUPPORT
408
+
409
+ # Ticketing
410
+ - type: http
411
+ name: zendesk
412
+ endpoint: https://example.zendesk.com/api/v2
413
+ capabilities:
414
+ - search_tickets
415
+ - create_ticket
416
+ - update_ticket
417
+ - add_comment
418
+ auth:
419
+ type: apikey
420
+ credentials: SECRET_REF_ZENDESK_KEY
421
+
422
+ # Communication
423
+ - type: function
424
+ name: send_email
425
+ capabilities:
426
+ - compose
427
+ - send
428
+ - type: function
429
+ name: send_sms
430
+ capabilities:
431
+ - send
432
+ config:
433
+ provider: twilio
434
+ auth:
435
+ type: apikey
436
+ credentials: SECRET_REF_TWILIO_KEY
437
+ ```
438
+
439
+ ## Capabilities
440
+
441
+ The `capabilities` array lists specific operations available from the tool. This enables:
442
+
443
+ 1. **Granular permissions** - Limit agent to specific operations
444
+ 2. **Documentation** - Self-documenting tool usage
445
+ 3. **Routing** - Map agent needs to tool capabilities
446
+ 4. **Validation** - Ensure required capabilities are available
447
+
448
+ ```yaml
449
+ tools:
450
+ # Full access
451
+ - type: mcp
452
+ server: filesystem
453
+ capabilities:
454
+ - read_file
455
+ - write_file
456
+ - list_directory
457
+ - search_files
458
+ - delete_file
459
+
460
+ # Read-only access
461
+ - type: mcp
462
+ server: filesystem
463
+ capabilities:
464
+ - read_file
465
+ - list_directory
466
+ - search_files
467
+ ```
468
+
469
+ If `capabilities` is omitted, all tool operations are available (subject to `auth` and `autonomy` constraints).
470
+
471
+ ## Configuration
472
+
473
+ The `config` object provides tool-specific settings. Structure varies by tool type.
474
+
475
+ ```yaml
476
+ tools:
477
+ - type: mcp
478
+ server: postgres
479
+ config:
480
+ database: analytics
481
+ read_only: true
482
+ query_timeout: 60
483
+ max_rows: 10000
484
+ pool_size: 10
485
+
486
+ - type: http
487
+ name: external-api
488
+ endpoint: https://api.example.com
489
+ config:
490
+ timeout: 30
491
+ retry_attempts: 3
492
+ retry_delay: 1000
493
+ rate_limit: 1000
494
+ headers:
495
+ User-Agent: OSSA-Agent/1.0
496
+ Accept: application/json
497
+ ```
498
+
499
+ ## Authentication
500
+
501
+ The `auth` object configures authentication. **Never include actual credentials** - use secret references.
502
+
503
+ ### Bearer Token
504
+
505
+ ```yaml
506
+ auth:
507
+ type: bearer
508
+ credentials: SECRET_REF_API_TOKEN
509
+ ```
510
+
511
+ ### OAuth2
512
+
513
+ ```yaml
514
+ auth:
515
+ type: oauth2
516
+ credentials: SECRET_REF_OAUTH_CLIENT
517
+ ```
518
+
519
+ Platform-specific OAuth2 config goes in tool `config`:
520
+
521
+ ```yaml
522
+ auth:
523
+ type: oauth2
524
+ credentials: SECRET_REF_OAUTH
525
+ config:
526
+ oauth:
527
+ token_url: https://oauth.example.com/token
528
+ scopes:
529
+ - read:data
530
+ - write:data
531
+ ```
532
+
533
+ ### mTLS (Mutual TLS)
534
+
535
+ ```yaml
536
+ auth:
537
+ type: mtls
538
+ credentials: SECRET_REF_TLS_CERT
539
+ ```
540
+
541
+ ### API Key
542
+
543
+ ```yaml
544
+ auth:
545
+ type: apikey
546
+ credentials: SECRET_REF_API_KEY
547
+ ```
548
+
549
+ Key placement (header/query) is configured in tool `config`:
550
+
551
+ ```yaml
552
+ auth:
553
+ type: apikey
554
+ credentials: SECRET_REF_KEY
555
+ config:
556
+ api_key_header: X-API-Key
557
+ # OR
558
+ api_key_param: apikey
559
+ ```
560
+
561
+ ### No Authentication
562
+
563
+ ```yaml
564
+ auth:
565
+ type: none
566
+ ```
567
+
568
+ ## Secret References
569
+
570
+ All credential values in `auth.credentials` are **references** to secrets managed by the deployment platform:
571
+
572
+ ```yaml
573
+ # ❌ NEVER do this
574
+ auth:
575
+ credentials: "ghp_abc123xyz789"
576
+
577
+ # ✅ Always use references
578
+ auth:
579
+ credentials: SECRET_REF_GITHUB_TOKEN
580
+ ```
581
+
582
+ **Secret management varies by platform:**
583
+
584
+ - **Kubernetes:** Kubernetes Secrets or external secret managers
585
+ - **Docker:** Docker Secrets or environment variables
586
+ - **Cloud:** AWS Secrets Manager, GCP Secret Manager, Azure Key Vault
587
+ - **BuildKit:** Token files in `~/.tokens/`
588
+
589
+ See platform documentation for secret reference format.
590
+
591
+ ## Best Practices
592
+
593
+ 1. **Principle of least privilege** - Grant minimum required capabilities
594
+ 2. **Read-only by default** - Use `read_only: true` unless write access is needed
595
+ 3. **Explicit capabilities** - List specific capabilities rather than granting all
596
+ 4. **Separate concerns** - Use different tools for read vs. write operations
597
+ 5. **Timeout configuration** - Set reasonable timeouts in `config`
598
+ 6. **Secret references** - Never hardcode credentials
599
+ 7. **Namespace isolation** - Use namespaces for multi-tenant deployments
600
+ 8. **Error handling** - Configure retry logic in `config`
601
+ 9. **Rate limiting** - Respect API rate limits in `config`
602
+ 10. **Audit logging** - Enable logging for sensitive tool access
603
+
604
+ ## Validation
605
+
606
+ Required fields by tool type:
607
+
608
+ | Tool Type | Required Fields |
609
+ |-----------|----------------|
610
+ | `mcp` | `type`, `server` |
611
+ | `kubernetes` | `type` |
612
+ | `http` | `type`, `endpoint` |
613
+ | `grpc` | `type`, `endpoint` |
614
+ | `function` | `type`, `name` |
615
+ | `custom` | `type`, `name` |
616
+
617
+ ## Related Objects
618
+
619
+ - [Agent Spec](./agent-spec.md) - Parent object containing tools
620
+ - [Autonomy](./autonomy.md) - Action permissions for tools
621
+ - [MCP Extension](./extensions/mcp.md) - MCP server configuration
622
+ - [Constraints](./constraints.md) - Performance and cost limits
623
+
624
+ ## See Also
625
+
626
+ - [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
627
+ - [Kubernetes API](https://kubernetes.io/docs/reference/)
628
+ - [Example Agents](/docs/examples/)
@@ -0,0 +1,43 @@
1
+ ---
2
+ title: "Your Blog Post Title"
3
+ date: "2025-01-15"
4
+ author: "Your Name"
5
+ category: "Tutorial"
6
+ tags: ["OSSA", "AI Agents"]
7
+ excerpt: "A brief 1-2 sentence description that appears on the blog listing page."
8
+ ---
9
+
10
+ # Your Blog Post Title
11
+
12
+ ## Introduction
13
+
14
+ Start with a compelling hook that explains why this topic matters. What problem are you solving? What will readers learn?
15
+
16
+ ## Main Content
17
+
18
+ ### Section 1
19
+
20
+ Your content here. Use clear, concise language.
21
+
22
+ ```yaml
23
+ # Code examples help illustrate concepts
24
+ ossa: "1.0.0"
25
+ agent:
26
+ name: "example-agent"
27
+ ```
28
+
29
+ ### Section 2
30
+
31
+ Continue with your main points. Break up long sections with subheadings.
32
+
33
+ ## Key Takeaways
34
+
35
+ - Summarize the main points
36
+ - Make it actionable
37
+ - Link to related resources
38
+
39
+ ## Next Steps
40
+
41
+ - [Link to related documentation](/docs/getting-started/hello-world)
42
+ - [View examples](/examples)
43
+ - [Join the discussion](https://github.com/blueflyio/openstandardagents/issues)