@bluefly/openstandardagents 0.2.5-RC → 0.2.8

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 (365) hide show
  1. package/.devfile.yaml +1 -1
  2. package/.env.example +1 -1
  3. package/.github/ISSUE_TEMPLATE/bug_report.yml +63 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.yml +40 -0
  5. package/.github/workflows/dependabot-comment.yml +34 -0
  6. package/.github/workflows/pr-comment.yml +33 -0
  7. package/.husky/pre-commit +5 -0
  8. package/.kiro/config.json +21 -0
  9. package/.kiro/settings/mcp.json +61 -0
  10. package/.kiro/specs/scripts-migration-api-first/design.md +883 -0
  11. package/.kiro/specs/scripts-migration-api-first/requirements.md +165 -0
  12. package/.kiro/specs/scripts-migration-api-first/tasks.md +539 -0
  13. package/.kiro/specs/{website-design-audit → website-brand-identity}/design.md +381 -0
  14. package/.kiro/specs/{website-design-audit → website-brand-identity}/requirements.md +88 -0
  15. package/.kiro/specs/website-brand-identity/tasks.md +981 -0
  16. package/.version.json +2 -2
  17. package/.wiki-config.json +24 -0
  18. package/CHANGELOG.md +34 -18
  19. package/CODEOWNERS +75 -0
  20. package/CONTRIBUTING.md +1 -1
  21. package/README.md +176 -239
  22. package/bin/ossa-dev +42 -0
  23. package/bin/ossa-export +32 -0
  24. package/bin/ossa-generate +60 -0
  25. package/bin/ossa-health +40 -0
  26. package/bin/ossa-init +26 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/repositories/schema.repository.d.ts +6 -1
  32. package/dist/repositories/schema.repository.d.ts.map +1 -1
  33. package/dist/repositories/schema.repository.js +63 -36
  34. package/dist/repositories/schema.repository.js.map +1 -1
  35. package/dist/services/github-sync/github-client.d.ts +14 -0
  36. package/dist/services/github-sync/github-client.d.ts.map +1 -0
  37. package/dist/services/github-sync/github-client.js +41 -0
  38. package/dist/services/github-sync/github-client.js.map +1 -0
  39. package/dist/services/github-sync/gitlab-client.d.ts +17 -0
  40. package/dist/services/github-sync/gitlab-client.d.ts.map +1 -0
  41. package/dist/services/github-sync/gitlab-client.js +42 -0
  42. package/dist/services/github-sync/gitlab-client.js.map +1 -0
  43. package/dist/services/github-sync/schemas.d.ts +46 -0
  44. package/dist/services/github-sync/schemas.d.ts.map +1 -0
  45. package/dist/services/github-sync/schemas.js +36 -0
  46. package/dist/services/github-sync/schemas.js.map +1 -0
  47. package/dist/services/github-sync/sync.service.d.ts +27 -0
  48. package/dist/services/github-sync/sync.service.d.ts.map +1 -0
  49. package/dist/services/github-sync/sync.service.js +99 -0
  50. package/dist/services/github-sync/sync.service.js.map +1 -0
  51. package/dist/services/migration.service.d.ts +4 -3
  52. package/dist/services/migration.service.d.ts.map +1 -1
  53. package/dist/services/migration.service.js +11 -10
  54. package/dist/services/migration.service.js.map +1 -1
  55. package/dist/services/release-automation/release.service.js +1 -1
  56. package/dist/services/release-automation/release.service.js.map +1 -1
  57. package/dist/services/release-automation/schemas/release.schema.js +1 -1
  58. package/dist/services/runtime/claude/capability-mapper.d.ts +84 -0
  59. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -0
  60. package/dist/services/runtime/claude/capability-mapper.js +245 -0
  61. package/dist/services/runtime/claude/capability-mapper.js.map +1 -0
  62. package/dist/services/runtime/claude/claude-adapter.d.ts +80 -0
  63. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -0
  64. package/dist/services/runtime/claude/claude-adapter.js +287 -0
  65. package/dist/services/runtime/claude/claude-adapter.js.map +1 -0
  66. package/dist/services/runtime/claude/manifest-parser.d.ts +77 -0
  67. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -0
  68. package/dist/services/runtime/claude/manifest-parser.js +169 -0
  69. package/dist/services/runtime/claude/manifest-parser.js.map +1 -0
  70. package/dist/services/runtime/claude/types.d.ts +115 -0
  71. package/dist/services/runtime/claude/types.d.ts.map +1 -0
  72. package/dist/services/runtime/claude/types.js +6 -0
  73. package/dist/services/runtime/claude/types.js.map +1 -0
  74. package/dist/services/validation.service.d.ts.map +1 -1
  75. package/dist/services/validation.service.js +12 -1
  76. package/dist/services/validation.service.js.map +1 -1
  77. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  78. package/dist/spec/v0.2.6/CHANGELOG.md +401 -0
  79. package/dist/spec/v0.2.6/README.md +72 -0
  80. package/dist/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  81. package/dist/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  82. package/dist/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  83. package/dist/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  84. package/dist/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  85. package/dist/spec/v0.2.6-dev/README.md +75 -0
  86. package/dist/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  87. package/dist/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  88. package/dist/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  89. package/dist/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  90. package/dist/spec/v0.2.7/core/agentgraph.md +324 -0
  91. package/dist/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  92. package/dist/spec/v0.2.8/CHANGELOG.md +401 -0
  93. package/dist/spec/v0.2.8/README.md +72 -0
  94. package/dist/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  95. package/dist/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  96. package/dist/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  97. package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  98. package/dist/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  99. package/dist/types/index.d.ts +3 -2
  100. package/dist/types/index.d.ts.map +1 -1
  101. package/dist/utils/index.d.ts +6 -0
  102. package/dist/utils/index.d.ts.map +1 -0
  103. package/dist/utils/index.js +6 -0
  104. package/dist/utils/index.js.map +1 -0
  105. package/dist/utils/version.d.ts +68 -0
  106. package/dist/utils/version.d.ts.map +1 -0
  107. package/dist/utils/version.js +156 -0
  108. package/dist/utils/version.js.map +1 -0
  109. package/docs/brand-guide/01-brand-overview.md +37 -0
  110. package/docs/brand-guide/02-logo-usage.md +43 -0
  111. package/docs/brand-guide/03-color-palette.md +70 -0
  112. package/docs/brand-guide/04-typography.md +82 -0
  113. package/docs/brand-guide/05-voice-and-tone.md +108 -0
  114. package/docs/brand-guide/06-visual-elements.md +137 -0
  115. package/docs/brand-guide/07-application-examples.md +153 -0
  116. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +21 -0
  117. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  118. package/docs/brand-guide/README.md +107 -0
  119. package/docs/comparison.md +315 -0
  120. package/docs/operations/automation-roadmap.md +245 -0
  121. package/docs/operations/github-sync-strategy.md +357 -0
  122. package/eslint-report.json +1 -0
  123. package/examples/adk-integration/code-review-workflow.yml +1 -1
  124. package/examples/adk-integration/customer-support.yml +1 -1
  125. package/examples/adk-integration/data-pipeline.yml +1 -1
  126. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  127. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  128. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  129. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  130. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  131. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  132. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  133. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  134. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  135. package/examples/anthropic/claude-assistant.ossa.json +5 -4
  136. package/examples/autogen/multi-agent.ossa.json +6 -4
  137. package/examples/claude-code/code-reviewer.ossa.yaml +78 -0
  138. package/examples/claude-code/ossa-validator.ossa.yaml +80 -0
  139. package/examples/common_npm/agent-router.ossa.yaml +1 -0
  140. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  141. package/examples/crewai/research-team.ossa.json +14 -5
  142. package/examples/cursor/code-review-agent.ossa.json +21 -6
  143. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -0
  144. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  145. package/examples/extensions/drupal-v1.yml +1 -1
  146. package/examples/extensions/kagent-v1.yml +1 -1
  147. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  148. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  149. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  150. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  151. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  152. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -0
  153. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  154. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  155. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  156. package/examples/langchain/chain-agent.ossa.json +21 -5
  157. package/examples/langflow/workflow-agent.ossa.json +2 -3
  158. package/examples/langgraph/state-machine-agent.ossa.json +2 -3
  159. package/examples/llamaindex/rag-agent.ossa.json +2 -3
  160. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  161. package/examples/multi-agent/README.md +74 -0
  162. package/examples/multi-agent/conditional-router.ossa.yaml +42 -0
  163. package/examples/multi-agent/parallel-execution.ossa.yaml +54 -0
  164. package/examples/multi-agent/sequential-pipeline.ossa.yaml +45 -0
  165. package/examples/openai/basic-agent.ossa.yaml +1 -1
  166. package/examples/openai/multi-tool-agent.ossa.json +33 -10
  167. package/examples/openai/swarm-agent.ossa.json +18 -5
  168. package/examples/production/document-analyzer-openai.yml +1 -1
  169. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  170. package/examples/spec-examples/audit-agent.yml +1 -1
  171. package/examples/spec-examples/chat-agent.yml +1 -1
  172. package/examples/spec-examples/compliance-agent.yml +1 -1
  173. package/examples/spec-examples/monitoring-agent.yml +1 -1
  174. package/examples/spec-examples/workflow-agent.yml +1 -1
  175. package/examples/templates/ossa-compliance.yaml +1 -1
  176. package/examples/vercel/edge-agent.ossa.json +5 -4
  177. package/gl-code-quality-report.json +62 -0
  178. package/llms-ctx-full.txt +39 -0
  179. package/llms-ctx.txt +39 -0
  180. package/llms.txt +47 -0
  181. package/openapi/github-sync.yaml +115 -0
  182. package/package.json +26 -4
  183. package/scripts/README.md +103 -0
  184. package/scripts/auto-rebase-mrs.ts +106 -0
  185. package/scripts/batch-dependabot.sh +57 -0
  186. package/scripts/configure-gitlab-branch-protection.ts +95 -0
  187. package/scripts/create-issue-helper.ts +238 -0
  188. package/scripts/create-milestone-issue.ts +73 -0
  189. package/scripts/eslint-to-codequality.cjs +34 -0
  190. package/scripts/fix-schema-formats.js +82 -0
  191. package/scripts/generate-agents-catalog.ts +77 -0
  192. package/scripts/generate-api-docs.ts +218 -0
  193. package/scripts/generate-cli-docs.ts +410 -0
  194. package/scripts/generate-config-docs.ts +109 -0
  195. package/scripts/generate-errors-docs.ts +76 -0
  196. package/scripts/generate-examples-docs.ts +99 -0
  197. package/scripts/generate-llms-ctx.sh +17 -0
  198. package/scripts/generate-schema-docs.ts +317 -0
  199. package/scripts/generate-types-docs.ts +48 -0
  200. package/scripts/lowercase-docs.ts +43 -0
  201. package/scripts/manage-milestone-mrs.ts +279 -0
  202. package/scripts/rebase-all-mrs.sh +75 -0
  203. package/scripts/sync-github-pr.sh +48 -0
  204. package/scripts/sync-version.js +32 -0
  205. package/scripts/sync-wiki.sh +50 -0
  206. package/scripts/validate-all.js +127 -0
  207. package/scripts/validate-schema.ts +2 -1
  208. package/spec/v0.2.4/ossa-0.2.4.schema.json +85 -208
  209. package/spec/v0.2.6/CHANGELOG.md +401 -0
  210. package/spec/v0.2.6/README.md +72 -0
  211. package/spec/v0.2.6/migrations/v0.2.3-to-v0.2.4.md +599 -0
  212. package/spec/v0.2.6/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  213. package/spec/{v0.2.4/ossa-0.2.4-dev.schema.json → v0.2.6/ossa-0.2.6.schema.json} +128 -38
  214. package/spec/v0.2.6/ossa-0.2.6.yaml +581 -0
  215. package/spec/v0.2.6-dev/CHANGELOG.md +164 -0
  216. package/spec/v0.2.6-dev/README.md +75 -0
  217. package/spec/v0.2.6-dev/migrations/v0.2.2-to-v0.2.3.md +343 -0
  218. package/spec/v0.2.6-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  219. package/spec/v0.2.6-dev/ossa-0.2.5.yaml +581 -0
  220. package/spec/v0.2.6-dev/ossa-0.2.6-dev.yaml +448 -0
  221. package/spec/v0.2.7/core/agentgraph.md +324 -0
  222. package/spec/v0.2.7/resources/agentgraph.yaml +135 -0
  223. package/spec/v0.2.8/CHANGELOG.md +401 -0
  224. package/spec/v0.2.8/README.md +72 -0
  225. package/spec/v0.2.8/migrations/v0.2.3-to-v0.2.4.md +599 -0
  226. package/spec/v0.2.8/migrations/v0.2.5-RC-to-v0.2.6.md +65 -0
  227. package/spec/v0.2.8/migrations/v0.2.6-to-v0.2.8.md +81 -0
  228. package/spec/v0.2.8/ossa-0.2.8.schema.json +3153 -0
  229. package/spec/v0.2.8/ossa-0.2.8.yaml +581 -0
  230. package/test-results/junit.xml +299 -0
  231. package/.kiro/specs/agent-buildkit-templates/design.md +0 -495
  232. package/.kiro/specs/agent-buildkit-templates/requirements.md +0 -165
  233. package/.kiro/specs/kiro-ide-supercharger/README.md +0 -202
  234. package/.kiro/specs/kiro-ide-supercharger/design.md +0 -1005
  235. package/.kiro/specs/kiro-ide-supercharger/requirements.md +0 -141
  236. package/.kiro/specs/kiro-ide-supercharger/tasks.md +0 -507
  237. package/bin/validate-ossa-0.2.5-RC.ts +0 -244
  238. package/docs/issue-19-completion-summary.md +0 -648
  239. package/docs/issue-19-validation.md +0 -351
  240. package/scripts/lib/exec.ts +0 -37
  241. package/scripts/lib/file-ops.ts +0 -58
  242. package/scripts/lib/version.ts +0 -83
  243. package/website/.lighthouserc.ts +0 -24
  244. package/website/.prettierrc +0 -10
  245. package/website/Dockerfile +0 -30
  246. package/website/app/about/page.tsx +0 -295
  247. package/website/app/blog/[slug]/page.tsx +0 -208
  248. package/website/app/blog/page.tsx +0 -249
  249. package/website/app/design-guide/page.tsx +0 -511
  250. package/website/app/docs/[[...slug]]/page.tsx +0 -847
  251. package/website/app/docs/core-concepts/project-structure/page.tsx +0 -349
  252. package/website/app/ecosystem/page.tsx +0 -375
  253. package/website/app/examples/page.tsx +0 -133
  254. package/website/app/globals.scss +0 -135
  255. package/website/app/layout.tsx +0 -106
  256. package/website/app/license/page.tsx +0 -183
  257. package/website/app/not-found.tsx +0 -18
  258. package/website/app/page.tsx +0 -474
  259. package/website/app/playground/page.tsx +0 -487
  260. package/website/app/robots.ts +0 -19
  261. package/website/app/rss.xml/route.ts +0 -74
  262. package/website/app/schema/page.tsx +0 -1001
  263. package/website/app/sitemap.ts +0 -56
  264. package/website/app/specification/page.tsx +0 -287
  265. package/website/components/InstallCommand.tsx +0 -96
  266. package/website/components/Logo.tsx +0 -97
  267. package/website/components/StructuredData.tsx +0 -65
  268. package/website/components/docs/DocsSearch.tsx +0 -104
  269. package/website/components/docs/DocsSidebar.tsx +0 -155
  270. package/website/components/docs/MarkdownContent.tsx +0 -401
  271. package/website/components/docs/VersionSelector.tsx +0 -105
  272. package/website/components/examples/ExamplesViewer.tsx +0 -293
  273. package/website/components/layout/Footer.tsx +0 -116
  274. package/website/components/layout/Header.tsx +0 -168
  275. package/website/components/schema/SchemaComponentsAccordion.tsx +0 -84
  276. package/website/components/schema/SchemaExplorer.tsx +0 -213
  277. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +0 -285
  278. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +0 -198
  279. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +0 -286
  280. package/website/content/blog/introducing-ossa-framework.md +0 -328
  281. package/website/content/blog/ossa-production-results.md +0 -279
  282. package/website/content/blog/welcome-to-ossa.md +0 -43
  283. package/website/content/blog/why-ai-agents-need-open-standard.md +0 -98
  284. package/website/content/docs/00-HOME.md +0 -153
  285. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  286. package/website/content/docs/Examples.md +0 -71
  287. package/website/content/docs/OpenAPI-Extensions.md +0 -934
  288. package/website/content/docs/adapters/openai-adapter.md +0 -693
  289. package/website/content/docs/architecture/execution-flow.md +0 -335
  290. package/website/content/docs/architecture/multi-agent-systems.md +0 -737
  291. package/website/content/docs/architecture/overview.md +0 -121
  292. package/website/content/docs/architecture/stack-integration.md +0 -461
  293. package/website/content/docs/changelog.md +0 -246
  294. package/website/content/docs/contributing.md +0 -599
  295. package/website/content/docs/core-concepts/Project-Structure.md +0 -348
  296. package/website/content/docs/ecosystem/framework-support.md +0 -819
  297. package/website/content/docs/ecosystem/overview.md +0 -366
  298. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +0 -107
  299. package/website/content/docs/examples/Migration-Guides.md +0 -214
  300. package/website/content/docs/for-audiences/Architects.md +0 -224
  301. package/website/content/docs/for-audiences/Developers.md +0 -220
  302. package/website/content/docs/for-audiences/Enterprises.md +0 -256
  303. package/website/content/docs/for-audiences/Students-Researchers.md +0 -122
  304. package/website/content/docs/getting-started/5-Minute-Overview.md +0 -85
  305. package/website/content/docs/getting-started/First-Agent.md +0 -196
  306. package/website/content/docs/getting-started/Hello-World.md +0 -184
  307. package/website/content/docs/getting-started/Installation.md +0 -155
  308. package/website/content/docs/getting-started/index.md +0 -92
  309. package/website/content/docs/getting-started/running-agents.md +0 -309
  310. package/website/content/docs/getting-started.md +0 -91
  311. package/website/content/docs/integrations/aiflow.md +0 -104
  312. package/website/content/docs/integrations/drupal.md +0 -105
  313. package/website/content/docs/migration-guides/00-INDEX.md +0 -76
  314. package/website/content/docs/migration-guides/README.md +0 -133
  315. package/website/content/docs/migration-guides/agent-schema-comparison.md +0 -232
  316. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +0 -1750
  317. package/website/content/docs/migration-guides/crewai-to-ossa.md +0 -274
  318. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +0 -2017
  319. package/website/content/docs/migration-guides/general-agent-schema.yml +0 -247
  320. package/website/content/docs/migration-guides/index.md +0 -133
  321. package/website/content/docs/migration-guides/langchain-to-ossa.md +0 -1714
  322. package/website/content/docs/migration-guides/langflow-to-ossa.md +0 -2075
  323. package/website/content/docs/migration-guides/migration-manifest.json +0 -64
  324. package/website/content/docs/migration-guides/openai-to-ossa.md +0 -1202
  325. package/website/content/docs/openapi-extensions/examples.md +0 -550
  326. package/website/content/docs/openapi-extensions/index.md +0 -551
  327. package/website/content/docs/openapi-extensions/operation-extensions.md +0 -457
  328. package/website/content/docs/openapi-extensions/root-extensions.md +0 -410
  329. package/website/content/docs/ossa-compliant-badge.md +0 -251
  330. package/website/content/docs/pre-release/index.md +0 -175
  331. package/website/content/docs/quick-reference.md +0 -17
  332. package/website/content/docs/readme.md +0 -35
  333. package/website/content/docs/schema-reference/agent-spec.md +0 -406
  334. package/website/content/docs/schema-reference/autonomy.md +0 -568
  335. package/website/content/docs/schema-reference/constraints.md +0 -543
  336. package/website/content/docs/schema-reference/index.md +0 -176
  337. package/website/content/docs/schema-reference/llm-config.md +0 -445
  338. package/website/content/docs/schema-reference/observability.md +0 -654
  339. package/website/content/docs/schema-reference/ossa-manifest.md +0 -309
  340. package/website/content/docs/schema-reference/taxonomy.md +0 -509
  341. package/website/content/docs/schema-reference/tools.md +0 -628
  342. package/website/content/docs/templates/blog-post.md +0 -43
  343. package/website/content/docs/use-cases/00-index.md +0 -395
  344. package/website/content/docs/use-cases/cicd-code-review.md +0 -1236
  345. package/website/content/docs/use-cases/customer-support.md +0 -1234
  346. package/website/content/docs/use-cases/enterprise-compliance.md +0 -1208
  347. package/website/content/docs/use-cases/research-multi-agent.md +0 -1161
  348. package/website/content/docs/versioning.md +0 -288
  349. package/website/lib/version.ts +0 -35
  350. package/website/lib/versions.json +0 -78
  351. package/website/next.config.ts +0 -18
  352. package/website/nginx.conf +0 -32
  353. package/website/package-lock.json +0 -9679
  354. package/website/package.json +0 -59
  355. package/website/postcss.config.mjs +0 -9
  356. package/website/scripts/fetch-versions.js +0 -166
  357. package/website/scripts/generate-examples-index.js +0 -163
  358. package/website/scripts/merge-docs-to-wiki.ts +0 -207
  359. package/website/scripts/sync-version.js +0 -72
  360. package/website/scripts/sync-wiki.ts +0 -322
  361. package/website/scripts/upload-wiki.ts +0 -199
  362. package/website/styles/_variables.scss +0 -36
  363. package/website/tailwind.config.ts +0 -136
  364. /package/dist/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
  365. /package/spec/v0.2.4/{ossa-0.2.4-dev.yaml → ossa-0.2.4.yaml} +0 -0
@@ -0,0 +1,3153 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://openstandardagents.org/schemas/v0.2.8/agent.json",
4
+ "title": "OSSA v0.2.8 Agent Manifest Schema",
5
+ "description": "Open Standard for Scalable AI Agents (OSSA) - The OpenAPI for AI Agents. Specification for declarative agent definition with framework-agnostic portability.",
6
+ "type": "object",
7
+ "required": [
8
+ "apiVersion",
9
+ "kind",
10
+ "metadata",
11
+ "spec"
12
+ ],
13
+ "properties": {
14
+ "apiVersion": {
15
+ "type": "string",
16
+ "pattern": "^ossa/v(0\\.2\\.[2-8](-dev)?|1)(\\.[0-9]+)?(-[a-zA-Z0-9]+)?$",
17
+ "description": "OSSA API version (supports ossa/v0.2.2 through ossa/v0.2.8, or ossa/v1 for compatibility)",
18
+ "examples": [
19
+ "ossa/v1",
20
+ "ossa/v0.2.8",
21
+ "ossa/v0.2.6",
22
+ "ossa/v0.2.5",
23
+ "ossa/v0.2.3",
24
+ "ossa/v0.2.2",
25
+ "ossa/v1.0"
26
+ ]
27
+ },
28
+ "kind": {
29
+ "type": "string",
30
+ "enum": [
31
+ "Agent"
32
+ ],
33
+ "description": "Resource type - currently only 'Agent' is supported"
34
+ },
35
+ "metadata": {
36
+ "$ref": "#/definitions/Metadata"
37
+ },
38
+ "spec": {
39
+ "$ref": "#/definitions/AgentSpec"
40
+ },
41
+ "extensions": {
42
+ "type": "object",
43
+ "description": "Framework-specific extensions for integration with kagent, buildkit, drupal, librechat, mcp, langchain, crewai, openai_agents, cursor, langflow, autogen, vercel_ai, llamaindex, langgraph, anthropic, and other frameworks",
44
+ "properties": {
45
+ "kagent": {
46
+ "$ref": "#/definitions/KAgentExtension"
47
+ },
48
+ "buildkit": {
49
+ "$ref": "#/definitions/BuildKitExtension"
50
+ },
51
+ "drupal": {
52
+ "$ref": "#/definitions/DrupalExtension"
53
+ },
54
+ "librechat": {
55
+ "$ref": "#/definitions/LibreChatExtension"
56
+ },
57
+ "mcp": {
58
+ "$ref": "#/definitions/MCPExtension"
59
+ },
60
+ "langchain": {
61
+ "$ref": "#/definitions/LangChainExtension"
62
+ },
63
+ "crewai": {
64
+ "$ref": "#/definitions/CrewAIExtension"
65
+ },
66
+ "openai_agents": {
67
+ "$ref": "#/definitions/OpenAIAgentsExtension"
68
+ },
69
+ "cursor": {
70
+ "$ref": "#/definitions/CursorExtension"
71
+ },
72
+ "langflow": {
73
+ "$ref": "#/definitions/LangflowExtension"
74
+ },
75
+ "autogen": {
76
+ "$ref": "#/definitions/AutoGenExtension"
77
+ },
78
+ "vercel_ai": {
79
+ "$ref": "#/definitions/VercelAIExtension"
80
+ },
81
+ "llamaindex": {
82
+ "$ref": "#/definitions/LlamaIndexExtension"
83
+ },
84
+ "langgraph": {
85
+ "$ref": "#/definitions/LangGraphExtension"
86
+ },
87
+ "anthropic": {
88
+ "$ref": "#/definitions/AnthropicExtension"
89
+ },
90
+ "google_adk": {
91
+ "$ref": "#/definitions/GoogleADKExtension"
92
+ },
93
+ "a2a": {
94
+ "$ref": "#/definitions/A2AExtension"
95
+ }
96
+ },
97
+ "additionalProperties": true
98
+ }
99
+ },
100
+ "additionalProperties": false,
101
+ "definitions": {
102
+ "Metadata": {
103
+ "type": "object",
104
+ "required": [
105
+ "name"
106
+ ],
107
+ "properties": {
108
+ "name": {
109
+ "type": "string",
110
+ "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
111
+ "maxLength": 253,
112
+ "description": "Agent identifier (DNS-1123 subdomain format for Kubernetes compatibility)"
113
+ },
114
+ "version": {
115
+ "type": "string",
116
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
117
+ "description": "Semantic version (semver 2.0.0)"
118
+ },
119
+ "description": {
120
+ "type": "string",
121
+ "maxLength": 2000,
122
+ "description": "Human-readable description of agent purpose and capabilities"
123
+ },
124
+ "labels": {
125
+ "type": "object",
126
+ "additionalProperties": {
127
+ "type": "string",
128
+ "maxLength": 63
129
+ },
130
+ "description": "Key-value labels for organization and filtering"
131
+ },
132
+ "annotations": {
133
+ "type": "object",
134
+ "additionalProperties": {
135
+ "type": "string"
136
+ },
137
+ "description": "Arbitrary metadata for tooling (not used for filtering)"
138
+ }
139
+ },
140
+ "additionalProperties": false
141
+ },
142
+ "AgentSpec": {
143
+ "type": "object",
144
+ "required": [
145
+ "role"
146
+ ],
147
+ "properties": {
148
+ "taxonomy": {
149
+ "$ref": "#/definitions/Taxonomy"
150
+ },
151
+ "role": {
152
+ "type": "string",
153
+ "minLength": 1,
154
+ "description": "Agent role/system prompt describing behavior and capabilities"
155
+ },
156
+ "llm": {
157
+ "$ref": "#/definitions/LLMConfig"
158
+ },
159
+ "tools": {
160
+ "type": "array",
161
+ "items": {
162
+ "$ref": "#/definitions/Tool"
163
+ },
164
+ "description": "Available tools/capabilities for the agent"
165
+ },
166
+ "autonomy": {
167
+ "$ref": "#/definitions/Autonomy"
168
+ },
169
+ "constraints": {
170
+ "$ref": "#/definitions/Constraints"
171
+ },
172
+ "observability": {
173
+ "$ref": "#/definitions/Observability"
174
+ },
175
+ "state": {
176
+ "$ref": "#/definitions/State"
177
+ },
178
+ "security": {
179
+ "$ref": "#/definitions/Security"
180
+ },
181
+ "reliability": {
182
+ "$ref": "#/definitions/Reliability"
183
+ },
184
+ "collaboration": {
185
+ "$ref": "#/definitions/Collaboration"
186
+ },
187
+ "safety": {
188
+ "$ref": "#/definitions/Safety"
189
+ },
190
+ "deployment": {
191
+ "$ref": "#/definitions/Deployment"
192
+ }
193
+ },
194
+ "additionalProperties": true
195
+ },
196
+ "Taxonomy": {
197
+ "type": "object",
198
+ "required": [
199
+ "domain"
200
+ ],
201
+ "properties": {
202
+ "domain": {
203
+ "type": "string",
204
+ "description": "Primary domain classification",
205
+ "examples": [
206
+ "infrastructure",
207
+ "security",
208
+ "compliance",
209
+ "documentation"
210
+ ]
211
+ },
212
+ "subdomain": {
213
+ "type": "string",
214
+ "description": "Secondary classification within domain",
215
+ "examples": [
216
+ "kubernetes",
217
+ "vulnerability",
218
+ "generation"
219
+ ]
220
+ },
221
+ "capability": {
222
+ "type": "string",
223
+ "description": "Specific capability or function",
224
+ "examples": [
225
+ "troubleshooting",
226
+ "scanning",
227
+ "optimization"
228
+ ]
229
+ }
230
+ },
231
+ "additionalProperties": false
232
+ },
233
+ "LLMConfig": {
234
+ "type": "object",
235
+ "required": [
236
+ "provider",
237
+ "model"
238
+ ],
239
+ "properties": {
240
+ "provider": {
241
+ "type": "string",
242
+ "enum": [
243
+ "openai",
244
+ "anthropic",
245
+ "google",
246
+ "azure",
247
+ "ollama",
248
+ "custom"
249
+ ],
250
+ "description": "LLM provider"
251
+ },
252
+ "model": {
253
+ "type": "string",
254
+ "description": "Model identifier",
255
+ "examples": [
256
+ "gpt-4",
257
+ "claude-3-sonnet-20240229",
258
+ "gemini-pro"
259
+ ]
260
+ },
261
+ "temperature": {
262
+ "type": "number",
263
+ "minimum": 0,
264
+ "maximum": 2,
265
+ "description": "Sampling temperature for response generation"
266
+ },
267
+ "maxTokens": {
268
+ "type": "integer",
269
+ "minimum": 1,
270
+ "description": "Maximum tokens per request"
271
+ },
272
+ "topP": {
273
+ "type": "number",
274
+ "minimum": 0,
275
+ "maximum": 1,
276
+ "description": "Nucleus sampling parameter"
277
+ },
278
+ "frequencyPenalty": {
279
+ "type": "number",
280
+ "minimum": -2,
281
+ "maximum": 2,
282
+ "description": "Frequency penalty for token generation"
283
+ },
284
+ "presencePenalty": {
285
+ "type": "number",
286
+ "minimum": -2,
287
+ "maximum": 2,
288
+ "description": "Presence penalty for token generation"
289
+ },
290
+ "fallback_models": {
291
+ "type": "array",
292
+ "description": "Fallback models to use if primary model fails",
293
+ "items": {
294
+ "type": "object",
295
+ "properties": {
296
+ "provider": {
297
+ "type": "string",
298
+ "enum": ["openai", "anthropic", "google", "azure", "ollama", "custom"]
299
+ },
300
+ "model": {
301
+ "type": "string"
302
+ }
303
+ },
304
+ "required": ["provider", "model"]
305
+ }
306
+ },
307
+ "retry_config": {
308
+ "type": "object",
309
+ "description": "Retry configuration for LLM calls",
310
+ "properties": {
311
+ "max_attempts": {
312
+ "type": "integer",
313
+ "minimum": 1,
314
+ "maximum": 5,
315
+ "default": 3
316
+ },
317
+ "backoff_strategy": {
318
+ "type": "string",
319
+ "enum": ["fixed", "exponential"],
320
+ "default": "exponential"
321
+ }
322
+ }
323
+ },
324
+ "cost_tracking": {
325
+ "type": "object",
326
+ "description": "Cost tracking and budgeting",
327
+ "properties": {
328
+ "enabled": {
329
+ "type": "boolean",
330
+ "default": false
331
+ },
332
+ "budget_alert_threshold": {
333
+ "type": "number",
334
+ "minimum": 0,
335
+ "description": "Alert when cost exceeds this threshold"
336
+ },
337
+ "cost_allocation_tags": {
338
+ "type": "object",
339
+ "additionalProperties": {
340
+ "type": "string"
341
+ },
342
+ "description": "Tags for cost allocation"
343
+ }
344
+ }
345
+ }
346
+ },
347
+ "additionalProperties": false
348
+ },
349
+ "Tool": {
350
+ "type": "object",
351
+ "required": [
352
+ "type"
353
+ ],
354
+ "properties": {
355
+ "type": {
356
+ "type": "string",
357
+ "enum": [
358
+ "mcp",
359
+ "kubernetes",
360
+ "http",
361
+ "grpc",
362
+ "function",
363
+ "a2a",
364
+ "custom"
365
+ ],
366
+ "description": "Tool integration type"
367
+ },
368
+ "name": {
369
+ "type": "string",
370
+ "description": "Tool name/identifier"
371
+ },
372
+ "server": {
373
+ "type": "string",
374
+ "description": "MCP server name (for type=mcp)"
375
+ },
376
+ "namespace": {
377
+ "type": "string",
378
+ "description": "Kubernetes namespace (for type=kubernetes or mcp)"
379
+ },
380
+ "endpoint": {
381
+ "type": "string",
382
+ "description": "HTTP/gRPC endpoint (for type=http/grpc)"
383
+ },
384
+ "capabilities": {
385
+ "type": "array",
386
+ "items": {
387
+ "$ref": "#/definitions/Capability"
388
+ },
389
+ "description": "Specific capabilities/operations from this tool"
390
+ },
391
+ "config": {
392
+ "type": "object",
393
+ "description": "Tool-specific configuration",
394
+ "additionalProperties": true
395
+ },
396
+ "auth": {
397
+ "type": "object",
398
+ "properties": {
399
+ "type": {
400
+ "type": "string",
401
+ "enum": [
402
+ "bearer",
403
+ "oauth2",
404
+ "mtls",
405
+ "apikey",
406
+ "none"
407
+ ]
408
+ },
409
+ "credentials": {
410
+ "type": "string",
411
+ "description": "Reference to secret/credential (not the actual secret)"
412
+ },
413
+ "scopes": {
414
+ "type": "array",
415
+ "items": {
416
+ "type": "string"
417
+ },
418
+ "description": "OAuth2 scopes or permission scopes required"
419
+ }
420
+ }
421
+ },
422
+ "transport": {
423
+ "$ref": "#/definitions/Transport"
424
+ },
425
+ "compliance_tags": {
426
+ "type": "array",
427
+ "items": {
428
+ "type": "string"
429
+ },
430
+ "description": "Compliance framework tags (e.g., 'pii', 'hipaa', 'gdpr', 'fedramp')"
431
+ },
432
+ "health_check": {
433
+ "type": "object",
434
+ "description": "Health check configuration for this tool",
435
+ "properties": {
436
+ "enabled": {
437
+ "type": "boolean",
438
+ "default": false
439
+ },
440
+ "endpoint": {
441
+ "type": "string",
442
+ "description": "Health check endpoint"
443
+ },
444
+ "interval_seconds": {
445
+ "type": "integer",
446
+ "minimum": 1,
447
+ "default": 30
448
+ },
449
+ "timeout_seconds": {
450
+ "type": "integer",
451
+ "minimum": 1,
452
+ "default": 5
453
+ }
454
+ }
455
+ },
456
+ "circuit_breaker": {
457
+ "type": "object",
458
+ "description": "Circuit breaker configuration for this tool",
459
+ "properties": {
460
+ "enabled": {
461
+ "type": "boolean",
462
+ "default": false
463
+ },
464
+ "failure_threshold": {
465
+ "type": "integer",
466
+ "minimum": 1,
467
+ "default": 5
468
+ },
469
+ "timeout_seconds": {
470
+ "type": "number",
471
+ "minimum": 0,
472
+ "default": 60
473
+ }
474
+ }
475
+ }
476
+ },
477
+ "additionalProperties": false
478
+ },
479
+ "Capability": {
480
+ "type": "object",
481
+ "required": ["name"],
482
+ "properties": {
483
+ "name": {
484
+ "type": "string",
485
+ "description": "Capability name/identifier"
486
+ },
487
+ "description": {
488
+ "type": "string",
489
+ "description": "Human-readable description of the capability"
490
+ },
491
+ "version": {
492
+ "type": "string",
493
+ "pattern": "^[0-9]+\\.[0-9]+$",
494
+ "description": "Capability version (major.minor format)"
495
+ },
496
+ "deprecated": {
497
+ "type": "boolean",
498
+ "default": false,
499
+ "description": "Whether this capability is deprecated"
500
+ },
501
+ "deprecation_message": {
502
+ "type": "string",
503
+ "description": "Message explaining deprecation and migration path"
504
+ },
505
+ "input_schema": {
506
+ "type": "object",
507
+ "description": "JSON Schema for capability input"
508
+ },
509
+ "output_schema": {
510
+ "type": "object",
511
+ "description": "JSON Schema for capability output"
512
+ },
513
+ "examples": {
514
+ "type": "array",
515
+ "description": "Example invocations of this capability",
516
+ "items": {
517
+ "type": "object",
518
+ "properties": {
519
+ "name": {
520
+ "type": "string",
521
+ "description": "Example name"
522
+ },
523
+ "description": {
524
+ "type": "string",
525
+ "description": "Example description"
526
+ },
527
+ "input": {
528
+ "type": "object",
529
+ "description": "Example input"
530
+ },
531
+ "output": {
532
+ "type": "object",
533
+ "description": "Expected output"
534
+ }
535
+ }
536
+ }
537
+ },
538
+ "transport": {
539
+ "$ref": "#/definitions/Transport"
540
+ },
541
+ "scopes": {
542
+ "type": "array",
543
+ "items": {
544
+ "type": "string"
545
+ },
546
+ "description": "Required permission scopes for this capability"
547
+ },
548
+ "compliance_tags": {
549
+ "type": "array",
550
+ "items": {
551
+ "type": "string"
552
+ },
553
+ "description": "Compliance framework tags for this capability"
554
+ },
555
+ "timeout": {
556
+ "type": "object",
557
+ "description": "Timeout configuration for capability execution",
558
+ "properties": {
559
+ "execution_seconds": {
560
+ "type": "number",
561
+ "minimum": 0,
562
+ "description": "Maximum execution time in seconds"
563
+ },
564
+ "connection_seconds": {
565
+ "type": "number",
566
+ "minimum": 0,
567
+ "description": "Connection timeout in seconds"
568
+ }
569
+ }
570
+ },
571
+ "retry_policy": {
572
+ "type": "object",
573
+ "description": "Retry policy for failed capability invocations",
574
+ "properties": {
575
+ "max_attempts": {
576
+ "type": "integer",
577
+ "minimum": 1,
578
+ "maximum": 10,
579
+ "default": 3,
580
+ "description": "Maximum retry attempts"
581
+ },
582
+ "backoff_strategy": {
583
+ "type": "string",
584
+ "enum": ["fixed", "exponential", "linear"],
585
+ "default": "exponential",
586
+ "description": "Backoff strategy between retries"
587
+ },
588
+ "initial_delay_ms": {
589
+ "type": "integer",
590
+ "minimum": 0,
591
+ "default": 1000,
592
+ "description": "Initial delay in milliseconds"
593
+ },
594
+ "max_delay_ms": {
595
+ "type": "integer",
596
+ "minimum": 0,
597
+ "default": 30000,
598
+ "description": "Maximum delay in milliseconds"
599
+ },
600
+ "retryable_errors": {
601
+ "type": "array",
602
+ "items": {
603
+ "type": "string"
604
+ },
605
+ "description": "Error codes/types that should trigger retry"
606
+ }
607
+ }
608
+ },
609
+ "error_handling": {
610
+ "type": "object",
611
+ "description": "Error handling configuration",
612
+ "properties": {
613
+ "fallback_capability": {
614
+ "type": "string",
615
+ "description": "Fallback capability to use on failure"
616
+ },
617
+ "error_mapping": {
618
+ "type": "object",
619
+ "description": "Map internal errors to standard error codes",
620
+ "additionalProperties": {
621
+ "type": "string"
622
+ }
623
+ },
624
+ "on_error": {
625
+ "type": "string",
626
+ "enum": ["fail", "fallback", "ignore", "retry"],
627
+ "default": "fail",
628
+ "description": "Action to take on error"
629
+ }
630
+ }
631
+ },
632
+ "caching": {
633
+ "type": "object",
634
+ "description": "Caching configuration for capability results",
635
+ "properties": {
636
+ "enabled": {
637
+ "type": "boolean",
638
+ "default": false,
639
+ "description": "Enable result caching"
640
+ },
641
+ "ttl_seconds": {
642
+ "type": "integer",
643
+ "minimum": 0,
644
+ "description": "Cache TTL in seconds"
645
+ },
646
+ "cache_key_fields": {
647
+ "type": "array",
648
+ "items": {
649
+ "type": "string"
650
+ },
651
+ "description": "Input fields to use for cache key generation"
652
+ },
653
+ "invalidation_strategy": {
654
+ "type": "string",
655
+ "enum": ["ttl", "manual", "event_driven"],
656
+ "default": "ttl"
657
+ }
658
+ }
659
+ },
660
+ "idempotency": {
661
+ "type": "object",
662
+ "description": "Idempotency configuration",
663
+ "properties": {
664
+ "enabled": {
665
+ "type": "boolean",
666
+ "default": false,
667
+ "description": "Whether this capability is idempotent"
668
+ },
669
+ "key_fields": {
670
+ "type": "array",
671
+ "items": {
672
+ "type": "string"
673
+ },
674
+ "description": "Fields used to determine idempotency"
675
+ },
676
+ "ttl_seconds": {
677
+ "type": "integer",
678
+ "minimum": 0,
679
+ "description": "How long to track idempotency keys"
680
+ }
681
+ }
682
+ }
683
+ },
684
+ "additionalProperties": false
685
+ },
686
+ "Transport": {
687
+ "type": "object",
688
+ "description": "Transport metadata for protocol-specific configuration (v0.2.5)",
689
+ "properties": {
690
+ "protocol": {
691
+ "type": "string",
692
+ "enum": [
693
+ "http",
694
+ "grpc",
695
+ "a2a",
696
+ "mcp",
697
+ "websocket",
698
+ "custom"
699
+ ],
700
+ "description": "Transport protocol"
701
+ },
702
+ "streaming": {
703
+ "type": "string",
704
+ "enum": [
705
+ "none",
706
+ "request",
707
+ "response",
708
+ "bidirectional"
709
+ ],
710
+ "default": "none",
711
+ "description": "Streaming mode for the transport"
712
+ },
713
+ "binding": {
714
+ "type": "string",
715
+ "description": "Path or endpoint binding (e.g., '/api/v1/chat', 'myservice.MyMethod')"
716
+ },
717
+ "content_type": {
718
+ "type": "string",
719
+ "description": "Content type for HTTP transports",
720
+ "examples": [
721
+ "application/json",
722
+ "application/x-ndjson",
723
+ "text/event-stream"
724
+ ]
725
+ },
726
+ "rateLimit": {
727
+ "type": "object",
728
+ "description": "Rate limiting configuration for this transport",
729
+ "properties": {
730
+ "requestsPerMinute": {
731
+ "type": "integer",
732
+ "minimum": 1,
733
+ "description": "Maximum requests per minute"
734
+ },
735
+ "requestsPerHour": {
736
+ "type": "integer",
737
+ "minimum": 1,
738
+ "description": "Maximum requests per hour"
739
+ },
740
+ "burstLimit": {
741
+ "type": "integer",
742
+ "minimum": 1,
743
+ "description": "Maximum burst of concurrent requests"
744
+ },
745
+ "strategy": {
746
+ "type": "string",
747
+ "enum": ["fixed_window", "sliding_window", "token_bucket", "leaky_bucket"],
748
+ "default": "sliding_window",
749
+ "description": "Rate limiting algorithm"
750
+ },
751
+ "onExceeded": {
752
+ "type": "string",
753
+ "enum": ["reject", "queue", "throttle"],
754
+ "default": "reject",
755
+ "description": "Behavior when rate limit is exceeded"
756
+ }
757
+ }
758
+ }
759
+ },
760
+ "additionalProperties": false
761
+ },
762
+ "State": {
763
+ "type": "object",
764
+ "description": "Agent state and memory configuration (v0.2.5)",
765
+ "properties": {
766
+ "mode": {
767
+ "type": "string",
768
+ "enum": [
769
+ "stateless",
770
+ "session",
771
+ "long_running"
772
+ ],
773
+ "default": "stateless",
774
+ "description": "State management mode"
775
+ },
776
+ "storage": {
777
+ "type": "object",
778
+ "properties": {
779
+ "type": {
780
+ "type": "string",
781
+ "enum": [
782
+ "memory",
783
+ "vector-db",
784
+ "kv",
785
+ "rdbms",
786
+ "custom"
787
+ ],
788
+ "default": "memory",
789
+ "description": "Storage backend type"
790
+ },
791
+ "retention": {
792
+ "type": "string",
793
+ "description": "Retention period (e.g., '30d', '1y', 'forever')",
794
+ "examples": [
795
+ "24h",
796
+ "7d",
797
+ "30d",
798
+ "1y",
799
+ "forever"
800
+ ]
801
+ },
802
+ "config": {
803
+ "type": "object",
804
+ "description": "Storage-specific configuration",
805
+ "additionalProperties": true
806
+ },
807
+ "encryption": {
808
+ "type": "object",
809
+ "description": "Encryption configuration for stored state data",
810
+ "properties": {
811
+ "enabled": {
812
+ "type": "boolean",
813
+ "default": false,
814
+ "description": "Enable encryption for state storage"
815
+ },
816
+ "algorithm": {
817
+ "type": "string",
818
+ "enum": ["aes-256-gcm", "aes-256-cbc", "chacha20-poly1305"],
819
+ "default": "aes-256-gcm",
820
+ "description": "Encryption algorithm"
821
+ },
822
+ "keyRef": {
823
+ "type": "string",
824
+ "description": "Secret reference for encryption key (e.g., 'vault:secret/data/agent-keys')"
825
+ },
826
+ "keyRotation": {
827
+ "type": "object",
828
+ "properties": {
829
+ "enabled": {
830
+ "type": "boolean",
831
+ "default": false
832
+ },
833
+ "interval": {
834
+ "type": "string",
835
+ "description": "Key rotation interval (e.g., '30d', '90d')"
836
+ }
837
+ }
838
+ }
839
+ }
840
+ }
841
+ },
842
+ "additionalProperties": false
843
+ },
844
+ "context_window": {
845
+ "type": "object",
846
+ "properties": {
847
+ "max_messages": {
848
+ "type": "integer",
849
+ "minimum": 1,
850
+ "description": "Maximum messages to retain in context"
851
+ },
852
+ "max_tokens": {
853
+ "type": "integer",
854
+ "minimum": 1,
855
+ "description": "Maximum tokens to retain in context"
856
+ },
857
+ "strategy": {
858
+ "type": "string",
859
+ "enum": [
860
+ "sliding_window",
861
+ "summarization",
862
+ "importance_weighted"
863
+ ],
864
+ "default": "sliding_window",
865
+ "description": "Context management strategy"
866
+ }
867
+ },
868
+ "additionalProperties": false
869
+ }
870
+ },
871
+ "additionalProperties": false
872
+ },
873
+ "Autonomy": {
874
+ "type": "object",
875
+ "properties": {
876
+ "level": {
877
+ "type": "string",
878
+ "enum": [
879
+ "supervised",
880
+ "autonomous",
881
+ "fully_autonomous"
882
+ ],
883
+ "description": "Level of autonomy for agent decision-making"
884
+ },
885
+ "approval_required": {
886
+ "type": "boolean",
887
+ "description": "Whether human approval is required for actions"
888
+ },
889
+ "allowed_actions": {
890
+ "type": "array",
891
+ "items": {
892
+ "type": "string"
893
+ },
894
+ "description": "Whitelist of permitted actions"
895
+ },
896
+ "blocked_actions": {
897
+ "type": "array",
898
+ "items": {
899
+ "type": "string"
900
+ },
901
+ "description": "Blacklist of forbidden actions"
902
+ },
903
+ "escalation_policy": {
904
+ "type": "object",
905
+ "description": "Rules for escalating to human oversight"
906
+ }
907
+ },
908
+ "additionalProperties": false
909
+ },
910
+ "Constraints": {
911
+ "type": "object",
912
+ "properties": {
913
+ "cost": {
914
+ "type": "object",
915
+ "properties": {
916
+ "maxTokensPerDay": {
917
+ "type": "integer",
918
+ "minimum": 0
919
+ },
920
+ "maxTokensPerRequest": {
921
+ "type": "integer",
922
+ "minimum": 0
923
+ },
924
+ "maxCostPerDay": {
925
+ "type": "number",
926
+ "minimum": 0
927
+ },
928
+ "currency": {
929
+ "type": "string",
930
+ "pattern": "^[A-Z]{3}$",
931
+ "default": "USD"
932
+ }
933
+ }
934
+ },
935
+ "performance": {
936
+ "type": "object",
937
+ "properties": {
938
+ "maxLatencySeconds": {
939
+ "type": "number",
940
+ "minimum": 0
941
+ },
942
+ "maxConcurrentRequests": {
943
+ "type": "integer",
944
+ "minimum": 1
945
+ },
946
+ "timeoutSeconds": {
947
+ "type": "number",
948
+ "minimum": 0
949
+ }
950
+ }
951
+ },
952
+ "resources": {
953
+ "type": "object",
954
+ "properties": {
955
+ "cpu": {
956
+ "type": "string",
957
+ "description": "CPU limit (Kubernetes format: 100m, 1, 2.5)"
958
+ },
959
+ "memory": {
960
+ "type": "string",
961
+ "description": "Memory limit (Kubernetes format: 128Mi, 1Gi)"
962
+ },
963
+ "gpu": {
964
+ "type": "string",
965
+ "description": "GPU requirement"
966
+ }
967
+ }
968
+ }
969
+ },
970
+ "additionalProperties": false
971
+ },
972
+ "Observability": {
973
+ "type": "object",
974
+ "properties": {
975
+ "tracing": {
976
+ "type": "object",
977
+ "properties": {
978
+ "enabled": {
979
+ "type": "boolean",
980
+ "default": true
981
+ },
982
+ "exporter": {
983
+ "type": "string",
984
+ "enum": [
985
+ "otlp",
986
+ "jaeger",
987
+ "zipkin",
988
+ "custom"
989
+ ]
990
+ },
991
+ "endpoint": {
992
+ "type": "string"
993
+ }
994
+ }
995
+ },
996
+ "metrics": {
997
+ "type": "object",
998
+ "properties": {
999
+ "enabled": {
1000
+ "type": "boolean",
1001
+ "default": true
1002
+ },
1003
+ "exporter": {
1004
+ "type": "string",
1005
+ "enum": [
1006
+ "prometheus",
1007
+ "otlp",
1008
+ "custom"
1009
+ ]
1010
+ },
1011
+ "endpoint": {
1012
+ "type": "string"
1013
+ }
1014
+ }
1015
+ },
1016
+ "logging": {
1017
+ "type": "object",
1018
+ "properties": {
1019
+ "level": {
1020
+ "type": "string",
1021
+ "enum": [
1022
+ "debug",
1023
+ "info",
1024
+ "warn",
1025
+ "error"
1026
+ ],
1027
+ "default": "info"
1028
+ },
1029
+ "format": {
1030
+ "type": "string",
1031
+ "enum": [
1032
+ "json",
1033
+ "text"
1034
+ ],
1035
+ "default": "json"
1036
+ }
1037
+ }
1038
+ },
1039
+ "alerting": {
1040
+ "type": "object",
1041
+ "description": "Alerting configuration",
1042
+ "properties": {
1043
+ "enabled": {
1044
+ "type": "boolean",
1045
+ "default": false
1046
+ },
1047
+ "channels": {
1048
+ "type": "array",
1049
+ "items": {
1050
+ "type": "string",
1051
+ "enum": ["email", "slack", "pagerduty", "webhook", "sns"]
1052
+ },
1053
+ "description": "Alert notification channels"
1054
+ },
1055
+ "rules": {
1056
+ "type": "array",
1057
+ "items": {
1058
+ "type": "object",
1059
+ "properties": {
1060
+ "name": {
1061
+ "type": "string"
1062
+ },
1063
+ "condition": {
1064
+ "type": "string",
1065
+ "description": "Alert condition (e.g., 'error_rate > 5%')"
1066
+ },
1067
+ "severity": {
1068
+ "type": "string",
1069
+ "enum": ["critical", "warning", "info"]
1070
+ }
1071
+ }
1072
+ }
1073
+ }
1074
+ }
1075
+ },
1076
+ "slo": {
1077
+ "type": "object",
1078
+ "description": "Service Level Objectives",
1079
+ "properties": {
1080
+ "availability": {
1081
+ "type": "number",
1082
+ "minimum": 0,
1083
+ "maximum": 100,
1084
+ "description": "Target availability percentage"
1085
+ },
1086
+ "latency_p95_ms": {
1087
+ "type": "number",
1088
+ "minimum": 0,
1089
+ "description": "P95 latency target in milliseconds"
1090
+ },
1091
+ "error_budget": {
1092
+ "type": "number",
1093
+ "minimum": 0,
1094
+ "maximum": 100,
1095
+ "description": "Allowed error budget percentage"
1096
+ }
1097
+ }
1098
+ }
1099
+ },
1100
+ "additionalProperties": false
1101
+ },
1102
+ "KAgentExtension": {
1103
+ "type": "object",
1104
+ "description": "kagent.dev Kubernetes-native agent deployment extension",
1105
+ "properties": {
1106
+ "kubernetes": {
1107
+ "type": "object",
1108
+ "properties": {
1109
+ "namespace": {
1110
+ "type": "string",
1111
+ "default": "default",
1112
+ "description": "Target Kubernetes namespace"
1113
+ },
1114
+ "labels": {
1115
+ "type": "object",
1116
+ "additionalProperties": {
1117
+ "type": "string"
1118
+ },
1119
+ "description": "Kubernetes labels for agent CRD"
1120
+ },
1121
+ "annotations": {
1122
+ "type": "object",
1123
+ "additionalProperties": {
1124
+ "type": "string"
1125
+ },
1126
+ "description": "Kubernetes annotations"
1127
+ }
1128
+ }
1129
+ },
1130
+ "deployment": {
1131
+ "type": "object",
1132
+ "properties": {
1133
+ "replicas": {
1134
+ "type": "integer",
1135
+ "minimum": 1,
1136
+ "default": 1
1137
+ },
1138
+ "strategy": {
1139
+ "type": "string",
1140
+ "enum": [
1141
+ "rolling-update",
1142
+ "recreate"
1143
+ ],
1144
+ "default": "rolling-update"
1145
+ }
1146
+ }
1147
+ },
1148
+ "api_version": {
1149
+ "type": "string",
1150
+ "description": "kagent.dev API version (e.g., kagent.dev/v1alpha2)",
1151
+ "default": "kagent.dev/v1alpha2"
1152
+ }
1153
+ },
1154
+ "additionalProperties": true
1155
+ },
1156
+ "BuildKitExtension": {
1157
+ "type": "object",
1158
+ "description": "Agent BuildKit deployment and orchestration extension",
1159
+ "properties": {
1160
+ "deployment": {
1161
+ "type": "object",
1162
+ "properties": {
1163
+ "replicas": {
1164
+ "type": "object",
1165
+ "properties": {
1166
+ "min": {
1167
+ "type": "integer",
1168
+ "default": 1
1169
+ },
1170
+ "max": {
1171
+ "type": "integer",
1172
+ "default": 4
1173
+ }
1174
+ }
1175
+ }
1176
+ }
1177
+ },
1178
+ "container": {
1179
+ "type": "object",
1180
+ "properties": {
1181
+ "image": {
1182
+ "type": "string",
1183
+ "description": "Container image"
1184
+ },
1185
+ "runtime": {
1186
+ "type": "string",
1187
+ "enum": [
1188
+ "docker",
1189
+ "podman",
1190
+ "containerd"
1191
+ ],
1192
+ "default": "docker"
1193
+ },
1194
+ "resources": {
1195
+ "type": "object",
1196
+ "description": "Container resource limits"
1197
+ }
1198
+ }
1199
+ }
1200
+ },
1201
+ "additionalProperties": true
1202
+ },
1203
+ "DrupalExtension": {
1204
+ "type": "object",
1205
+ "description": "Drupal LLM Platform integration extension",
1206
+ "properties": {
1207
+ "module": {
1208
+ "type": "string",
1209
+ "pattern": "^[a-z][a-z0-9_]*$",
1210
+ "description": "Drupal module that owns this agent"
1211
+ },
1212
+ "service": {
1213
+ "type": "string",
1214
+ "pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$",
1215
+ "description": "Drupal service ID (module.service format)"
1216
+ },
1217
+ "dependencies": {
1218
+ "type": "array",
1219
+ "items": {
1220
+ "type": "string",
1221
+ "pattern": "^[a-z][a-z0-9_]*$"
1222
+ },
1223
+ "description": "Required Drupal modules"
1224
+ },
1225
+ "database": {
1226
+ "type": "object",
1227
+ "properties": {
1228
+ "tables": {
1229
+ "type": "array",
1230
+ "items": {
1231
+ "type": "string"
1232
+ }
1233
+ },
1234
+ "migrations": {
1235
+ "type": "array",
1236
+ "items": {
1237
+ "type": "string"
1238
+ }
1239
+ }
1240
+ }
1241
+ }
1242
+ },
1243
+ "additionalProperties": true
1244
+ },
1245
+ "LibreChatExtension": {
1246
+ "type": "object",
1247
+ "description": "LibreChat integration extension",
1248
+ "properties": {
1249
+ "enabled": {
1250
+ "type": "boolean",
1251
+ "default": true
1252
+ },
1253
+ "agent_id": {
1254
+ "type": "string",
1255
+ "description": "LibreChat agent identifier"
1256
+ },
1257
+ "endpoint": {
1258
+ "type": "string",
1259
+ "description": "LibreChat API endpoint"
1260
+ },
1261
+ "authentication": {
1262
+ "type": "object",
1263
+ "description": "LibreChat authentication configuration"
1264
+ }
1265
+ },
1266
+ "additionalProperties": true
1267
+ },
1268
+ "MCPExtension": {
1269
+ "type": "object",
1270
+ "description": "Model Context Protocol (MCP) extension",
1271
+ "properties": {
1272
+ "enabled": {
1273
+ "type": "boolean",
1274
+ "default": true
1275
+ },
1276
+ "server_type": {
1277
+ "type": "string",
1278
+ "enum": [
1279
+ "stdio",
1280
+ "sse",
1281
+ "websocket"
1282
+ ],
1283
+ "default": "stdio"
1284
+ },
1285
+ "server_name": {
1286
+ "type": "string",
1287
+ "description": "MCP server name"
1288
+ },
1289
+ "config": {
1290
+ "type": "object",
1291
+ "description": "MCP server configuration"
1292
+ },
1293
+ "resources": {
1294
+ "type": "array",
1295
+ "description": "MCP resources exposed by this agent",
1296
+ "items": {
1297
+ "type": "object",
1298
+ "required": ["uri", "name"],
1299
+ "properties": {
1300
+ "uri": {
1301
+ "type": "string",
1302
+ "description": "Resource URI (e.g., file://, http://, custom://)"
1303
+ },
1304
+ "name": {
1305
+ "type": "string",
1306
+ "description": "Resource display name"
1307
+ },
1308
+ "description": {
1309
+ "type": "string",
1310
+ "description": "Resource description"
1311
+ },
1312
+ "mimeType": {
1313
+ "type": "string",
1314
+ "description": "Resource MIME type"
1315
+ }
1316
+ }
1317
+ }
1318
+ },
1319
+ "prompts": {
1320
+ "type": "array",
1321
+ "description": "MCP prompts exposed by this agent",
1322
+ "items": {
1323
+ "type": "object",
1324
+ "required": ["name"],
1325
+ "properties": {
1326
+ "name": {
1327
+ "type": "string",
1328
+ "description": "Prompt identifier"
1329
+ },
1330
+ "description": {
1331
+ "type": "string",
1332
+ "description": "Prompt description"
1333
+ },
1334
+ "arguments": {
1335
+ "type": "array",
1336
+ "description": "Prompt arguments",
1337
+ "items": {
1338
+ "type": "object",
1339
+ "required": ["name"],
1340
+ "properties": {
1341
+ "name": {
1342
+ "type": "string"
1343
+ },
1344
+ "description": {
1345
+ "type": "string"
1346
+ },
1347
+ "required": {
1348
+ "type": "boolean",
1349
+ "default": false
1350
+ }
1351
+ }
1352
+ }
1353
+ }
1354
+ }
1355
+ }
1356
+ },
1357
+ "tools": {
1358
+ "type": "array",
1359
+ "description": "MCP tools configuration",
1360
+ "items": {
1361
+ "type": "object",
1362
+ "required": ["name"],
1363
+ "properties": {
1364
+ "name": {
1365
+ "type": "string",
1366
+ "description": "Tool name"
1367
+ },
1368
+ "description": {
1369
+ "type": "string",
1370
+ "description": "Tool description"
1371
+ },
1372
+ "inputSchema": {
1373
+ "type": "object",
1374
+ "description": "JSON Schema for tool input"
1375
+ }
1376
+ }
1377
+ }
1378
+ }
1379
+ },
1380
+ "additionalProperties": true
1381
+ },
1382
+ "LangChainExtension": {
1383
+ "type": "object",
1384
+ "description": "LangChain framework integration extension",
1385
+ "properties": {
1386
+ "enabled": {
1387
+ "type": "boolean",
1388
+ "default": false
1389
+ },
1390
+ "tool_class": {
1391
+ "type": "string",
1392
+ "description": "LangChain tool class name"
1393
+ },
1394
+ "chain_type": {
1395
+ "type": "string",
1396
+ "enum": [
1397
+ "llm",
1398
+ "retrieval",
1399
+ "agent",
1400
+ "sequential",
1401
+ "custom"
1402
+ ]
1403
+ },
1404
+ "memory": {
1405
+ "type": "object",
1406
+ "properties": {
1407
+ "type": {
1408
+ "type": "string",
1409
+ "enum": [
1410
+ "buffer",
1411
+ "summary",
1412
+ "conversation",
1413
+ "vector"
1414
+ ]
1415
+ },
1416
+ "max_tokens": {
1417
+ "type": "integer"
1418
+ }
1419
+ }
1420
+ }
1421
+ },
1422
+ "additionalProperties": true
1423
+ },
1424
+ "CrewAIExtension": {
1425
+ "type": "object",
1426
+ "description": "CrewAI framework integration extension",
1427
+ "properties": {
1428
+ "enabled": {
1429
+ "type": "boolean",
1430
+ "default": false
1431
+ },
1432
+ "agent_type": {
1433
+ "type": "string",
1434
+ "enum": [
1435
+ "worker",
1436
+ "manager",
1437
+ "researcher",
1438
+ "analyst",
1439
+ "custom"
1440
+ ]
1441
+ },
1442
+ "role": {
1443
+ "type": "string",
1444
+ "description": "CrewAI agent role"
1445
+ },
1446
+ "goal": {
1447
+ "type": "string",
1448
+ "description": "CrewAI agent goal"
1449
+ },
1450
+ "backstory": {
1451
+ "type": "string",
1452
+ "description": "CrewAI agent backstory"
1453
+ },
1454
+ "tools": {
1455
+ "type": "array",
1456
+ "items": {
1457
+ "type": "string"
1458
+ },
1459
+ "description": "CrewAI tool names"
1460
+ }
1461
+ },
1462
+ "additionalProperties": true
1463
+ },
1464
+ "OpenAIAgentsExtension": {
1465
+ "type": "object",
1466
+ "description": "OpenAI Agents SDK integration extension",
1467
+ "properties": {
1468
+ "enabled": {
1469
+ "type": "boolean",
1470
+ "default": false,
1471
+ "description": "Enable OpenAI Agents SDK bridge"
1472
+ },
1473
+ "agent_id": {
1474
+ "type": "string",
1475
+ "description": "OpenAI agent ID (optional, auto-generated if not provided)"
1476
+ },
1477
+ "instructions": {
1478
+ "type": "string",
1479
+ "description": "Agent instructions/prompt (overrides spec.role if provided)"
1480
+ },
1481
+ "model": {
1482
+ "type": "string",
1483
+ "enum": [
1484
+ "gpt-4o",
1485
+ "gpt-4o-mini",
1486
+ "gpt-4-turbo",
1487
+ "gpt-3.5-turbo"
1488
+ ],
1489
+ "default": "gpt-4o-mini",
1490
+ "description": "OpenAI model to use for the agent"
1491
+ },
1492
+ "tools_mapping": {
1493
+ "type": "array",
1494
+ "description": "Map OSSA capabilities to OpenAI tools",
1495
+ "items": {
1496
+ "type": "object",
1497
+ "required": [
1498
+ "ossa_capability"
1499
+ ],
1500
+ "properties": {
1501
+ "ossa_capability": {
1502
+ "type": "string",
1503
+ "description": "OSSA capability name to map"
1504
+ },
1505
+ "openai_tool_name": {
1506
+ "type": "string",
1507
+ "description": "OpenAI tool name (defaults to ossa_capability if not provided)"
1508
+ },
1509
+ "description": {
1510
+ "type": "string",
1511
+ "description": "Tool description (defaults to OSSA capability description)"
1512
+ },
1513
+ "parameters": {
1514
+ "type": "object",
1515
+ "description": "OpenAI tool parameter schema (auto-generated from OSSA input_schema if not provided)"
1516
+ }
1517
+ },
1518
+ "additionalProperties": false
1519
+ }
1520
+ },
1521
+ "sub_agents": {
1522
+ "type": "array",
1523
+ "description": "Sub-agent handoffs configuration",
1524
+ "items": {
1525
+ "type": "object",
1526
+ "required": [
1527
+ "agent_id",
1528
+ "ossa_agent_ref"
1529
+ ],
1530
+ "properties": {
1531
+ "agent_id": {
1532
+ "type": "string",
1533
+ "description": "OpenAI sub-agent identifier"
1534
+ },
1535
+ "ossa_agent_ref": {
1536
+ "type": "string",
1537
+ "description": "Reference to OSSA agent (metadata.name or agent ID)"
1538
+ },
1539
+ "handoff_conditions": {
1540
+ "type": "array",
1541
+ "items": {
1542
+ "type": "string"
1543
+ },
1544
+ "description": "Conditions that trigger handoff to this sub-agent"
1545
+ },
1546
+ "instructions": {
1547
+ "type": "string",
1548
+ "description": "Sub-agent specific instructions"
1549
+ }
1550
+ },
1551
+ "additionalProperties": false
1552
+ }
1553
+ },
1554
+ "guardrails": {
1555
+ "type": "object",
1556
+ "description": "Safety guardrails configuration",
1557
+ "properties": {
1558
+ "enabled": {
1559
+ "type": "boolean",
1560
+ "default": true
1561
+ },
1562
+ "policies": {
1563
+ "type": "array",
1564
+ "items": {
1565
+ "type": "string"
1566
+ },
1567
+ "description": "Guardrail policy names (maps to OSSA compliance frameworks)"
1568
+ },
1569
+ "max_tool_calls": {
1570
+ "type": "integer",
1571
+ "minimum": 1,
1572
+ "description": "Maximum tool calls per agent execution"
1573
+ },
1574
+ "timeout_seconds": {
1575
+ "type": "integer",
1576
+ "minimum": 1,
1577
+ "description": "Maximum execution time in seconds"
1578
+ }
1579
+ },
1580
+ "additionalProperties": false
1581
+ },
1582
+ "memory": {
1583
+ "type": "object",
1584
+ "description": "Session memory configuration",
1585
+ "properties": {
1586
+ "enabled": {
1587
+ "type": "boolean",
1588
+ "default": false
1589
+ },
1590
+ "type": {
1591
+ "type": "string",
1592
+ "enum": [
1593
+ "session",
1594
+ "persistent"
1595
+ ],
1596
+ "default": "session",
1597
+ "description": "Memory storage type"
1598
+ },
1599
+ "max_messages": {
1600
+ "type": "integer",
1601
+ "minimum": 1,
1602
+ "description": "Maximum messages to retain in memory"
1603
+ }
1604
+ },
1605
+ "additionalProperties": false
1606
+ },
1607
+ "tracing": {
1608
+ "type": "object",
1609
+ "description": "Observability and tracing configuration",
1610
+ "properties": {
1611
+ "enabled": {
1612
+ "type": "boolean",
1613
+ "default": true
1614
+ },
1615
+ "provider": {
1616
+ "type": "string",
1617
+ "enum": [
1618
+ "langfuse",
1619
+ "langsmith",
1620
+ "custom"
1621
+ ],
1622
+ "default": "langfuse",
1623
+ "description": "Tracing provider"
1624
+ },
1625
+ "endpoint": {
1626
+ "type": "string",
1627
+ "description": "Custom tracing endpoint (for provider=custom)"
1628
+ }
1629
+ },
1630
+ "additionalProperties": false
1631
+ }
1632
+ },
1633
+ "additionalProperties": true
1634
+ },
1635
+ "CursorExtension": {
1636
+ "type": "object",
1637
+ "description": "Cursor IDE agent integration extension",
1638
+ "properties": {
1639
+ "enabled": {
1640
+ "type": "boolean",
1641
+ "default": true,
1642
+ "description": "Enable Cursor IDE integration"
1643
+ },
1644
+ "agent_type": {
1645
+ "type": "string",
1646
+ "enum": [
1647
+ "composer",
1648
+ "chat",
1649
+ "background",
1650
+ "cloud"
1651
+ ],
1652
+ "default": "composer",
1653
+ "description": "Cursor agent type (composer, chat, background, or cloud)"
1654
+ },
1655
+ "workspace_config": {
1656
+ "type": "object",
1657
+ "properties": {
1658
+ "rules_file": {
1659
+ "type": "string",
1660
+ "description": "Path to .cursorrules file (default: .cursor/.cursorrules)"
1661
+ },
1662
+ "context_files": {
1663
+ "type": "array",
1664
+ "items": {
1665
+ "type": "string"
1666
+ },
1667
+ "description": "Files to include in agent context"
1668
+ },
1669
+ "ignore_patterns": {
1670
+ "type": "array",
1671
+ "items": {
1672
+ "type": "string"
1673
+ },
1674
+ "description": "Glob patterns to exclude from context"
1675
+ }
1676
+ }
1677
+ },
1678
+ "capabilities": {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "code_generation": {
1682
+ "type": "boolean",
1683
+ "default": true
1684
+ },
1685
+ "code_review": {
1686
+ "type": "boolean",
1687
+ "default": false
1688
+ },
1689
+ "refactoring": {
1690
+ "type": "boolean",
1691
+ "default": false
1692
+ },
1693
+ "testing": {
1694
+ "type": "boolean",
1695
+ "default": false
1696
+ }
1697
+ }
1698
+ },
1699
+ "model": {
1700
+ "type": "object",
1701
+ "properties": {
1702
+ "provider": {
1703
+ "type": "string",
1704
+ "enum": [
1705
+ "openai",
1706
+ "anthropic",
1707
+ "custom"
1708
+ ],
1709
+ "default": "openai"
1710
+ },
1711
+ "name": {
1712
+ "type": "string",
1713
+ "description": "Model name (e.g., gpt-4, claude-3-opus)"
1714
+ }
1715
+ }
1716
+ }
1717
+ },
1718
+ "additionalProperties": true
1719
+ },
1720
+ "LangflowExtension": {
1721
+ "type": "object",
1722
+ "description": "Langflow workflow orchestration extension",
1723
+ "properties": {
1724
+ "enabled": {
1725
+ "type": "boolean",
1726
+ "default": false,
1727
+ "description": "Enable Langflow integration"
1728
+ },
1729
+ "flow_id": {
1730
+ "type": "string",
1731
+ "description": "Langflow flow identifier"
1732
+ },
1733
+ "flow_name": {
1734
+ "type": "string",
1735
+ "description": "Human-readable flow name"
1736
+ },
1737
+ "endpoint": {
1738
+ "type": "string",
1739
+ "description": "Langflow API endpoint"
1740
+ },
1741
+ "api_key": {
1742
+ "type": "string",
1743
+ "description": "Langflow API key (reference to secret)"
1744
+ },
1745
+ "components": {
1746
+ "type": "array",
1747
+ "description": "Langflow components used in this agent",
1748
+ "items": {
1749
+ "type": "object",
1750
+ "properties": {
1751
+ "id": {
1752
+ "type": "string"
1753
+ },
1754
+ "type": {
1755
+ "type": "string"
1756
+ },
1757
+ "name": {
1758
+ "type": "string"
1759
+ }
1760
+ }
1761
+ }
1762
+ },
1763
+ "dataflow": {
1764
+ "type": "object",
1765
+ "description": "Data flow configuration between components"
1766
+ }
1767
+ },
1768
+ "additionalProperties": true
1769
+ },
1770
+ "AutoGenExtension": {
1771
+ "type": "object",
1772
+ "description": "AutoGen multi-agent framework extension",
1773
+ "properties": {
1774
+ "enabled": {
1775
+ "type": "boolean",
1776
+ "default": false,
1777
+ "description": "Enable AutoGen integration"
1778
+ },
1779
+ "agent_type": {
1780
+ "type": "string",
1781
+ "enum": [
1782
+ "assistant",
1783
+ "user_proxy",
1784
+ "groupchat",
1785
+ "custom"
1786
+ ],
1787
+ "description": "AutoGen agent type"
1788
+ },
1789
+ "system_message": {
1790
+ "type": "string",
1791
+ "description": "System message for AutoGen agent (overrides spec.role if provided)"
1792
+ },
1793
+ "human_input_mode": {
1794
+ "type": "string",
1795
+ "enum": [
1796
+ "ALWAYS",
1797
+ "NEVER",
1798
+ "TERMINATE"
1799
+ ],
1800
+ "default": "NEVER",
1801
+ "description": "When to request human input"
1802
+ },
1803
+ "code_execution": {
1804
+ "type": "object",
1805
+ "properties": {
1806
+ "enabled": {
1807
+ "type": "boolean",
1808
+ "default": false
1809
+ },
1810
+ "work_dir": {
1811
+ "type": "string",
1812
+ "description": "Working directory for code execution"
1813
+ },
1814
+ "use_docker": {
1815
+ "type": "boolean",
1816
+ "default": false,
1817
+ "description": "Execute code in Docker container"
1818
+ }
1819
+ }
1820
+ },
1821
+ "max_consecutive_auto_reply": {
1822
+ "type": "integer",
1823
+ "minimum": 1,
1824
+ "default": 10,
1825
+ "description": "Maximum consecutive auto-replies before human input"
1826
+ },
1827
+ "groupchat": {
1828
+ "type": "object",
1829
+ "description": "Group chat configuration (for agent_type=groupchat)",
1830
+ "properties": {
1831
+ "agents": {
1832
+ "type": "array",
1833
+ "items": {
1834
+ "type": "string"
1835
+ },
1836
+ "description": "Other agent IDs in the group"
1837
+ },
1838
+ "max_round": {
1839
+ "type": "integer",
1840
+ "minimum": 1,
1841
+ "description": "Maximum rounds in group chat"
1842
+ }
1843
+ }
1844
+ }
1845
+ },
1846
+ "additionalProperties": true
1847
+ },
1848
+ "VercelAIExtension": {
1849
+ "type": "object",
1850
+ "description": "Vercel AI SDK integration extension",
1851
+ "properties": {
1852
+ "enabled": {
1853
+ "type": "boolean",
1854
+ "default": false,
1855
+ "description": "Enable Vercel AI SDK integration"
1856
+ },
1857
+ "runtime": {
1858
+ "type": "string",
1859
+ "enum": [
1860
+ "edge",
1861
+ "nodejs"
1862
+ ],
1863
+ "default": "edge",
1864
+ "description": "Runtime environment (edge or nodejs)"
1865
+ },
1866
+ "stream": {
1867
+ "type": "boolean",
1868
+ "default": true,
1869
+ "description": "Enable streaming responses"
1870
+ },
1871
+ "route": {
1872
+ "type": "string",
1873
+ "description": "API route path (e.g., /api/chat)"
1874
+ },
1875
+ "tools": {
1876
+ "type": "array",
1877
+ "description": "Vercel AI SDK tools configuration",
1878
+ "items": {
1879
+ "type": "object",
1880
+ "properties": {
1881
+ "name": {
1882
+ "type": "string"
1883
+ },
1884
+ "description": {
1885
+ "type": "string"
1886
+ },
1887
+ "parameters": {
1888
+ "type": "object",
1889
+ "description": "Tool parameters schema (JSON Schema)"
1890
+ }
1891
+ }
1892
+ }
1893
+ },
1894
+ "experimental": {
1895
+ "type": "object",
1896
+ "description": "Experimental Vercel AI SDK features",
1897
+ "additionalProperties": true
1898
+ }
1899
+ },
1900
+ "additionalProperties": true
1901
+ },
1902
+ "LlamaIndexExtension": {
1903
+ "type": "object",
1904
+ "description": "LlamaIndex framework integration extension",
1905
+ "properties": {
1906
+ "enabled": {
1907
+ "type": "boolean",
1908
+ "default": false,
1909
+ "description": "Enable LlamaIndex integration"
1910
+ },
1911
+ "agent_type": {
1912
+ "type": "string",
1913
+ "enum": [
1914
+ "query_engine",
1915
+ "chat_engine",
1916
+ "retriever",
1917
+ "custom"
1918
+ ],
1919
+ "description": "LlamaIndex agent/engine type"
1920
+ },
1921
+ "llm": {
1922
+ "type": "object",
1923
+ "properties": {
1924
+ "provider": {
1925
+ "type": "string",
1926
+ "enum": [
1927
+ "openai",
1928
+ "anthropic",
1929
+ "local",
1930
+ "custom"
1931
+ ]
1932
+ },
1933
+ "model": {
1934
+ "type": "string"
1935
+ },
1936
+ "temperature": {
1937
+ "type": "number",
1938
+ "minimum": 0,
1939
+ "maximum": 2
1940
+ }
1941
+ }
1942
+ },
1943
+ "vector_store": {
1944
+ "type": "object",
1945
+ "description": "Vector store configuration for RAG",
1946
+ "properties": {
1947
+ "type": {
1948
+ "type": "string",
1949
+ "enum": [
1950
+ "pinecone",
1951
+ "weaviate",
1952
+ "chroma",
1953
+ "qdrant",
1954
+ "milvus",
1955
+ "custom"
1956
+ ]
1957
+ },
1958
+ "config": {
1959
+ "type": "object",
1960
+ "additionalProperties": true
1961
+ }
1962
+ }
1963
+ },
1964
+ "retrieval": {
1965
+ "type": "object",
1966
+ "description": "Retrieval configuration",
1967
+ "properties": {
1968
+ "top_k": {
1969
+ "type": "integer",
1970
+ "minimum": 1,
1971
+ "default": 5,
1972
+ "description": "Number of documents to retrieve"
1973
+ },
1974
+ "similarity_top_k": {
1975
+ "type": "integer",
1976
+ "minimum": 1
1977
+ }
1978
+ }
1979
+ },
1980
+ "tools": {
1981
+ "type": "array",
1982
+ "description": "LlamaIndex tools/query modules",
1983
+ "items": {
1984
+ "type": "object",
1985
+ "properties": {
1986
+ "name": {
1987
+ "type": "string"
1988
+ },
1989
+ "type": {
1990
+ "type": "string"
1991
+ }
1992
+ }
1993
+ }
1994
+ }
1995
+ },
1996
+ "additionalProperties": true
1997
+ },
1998
+ "LangGraphExtension": {
1999
+ "type": "object",
2000
+ "description": "LangGraph state machine agent extension",
2001
+ "properties": {
2002
+ "enabled": {
2003
+ "type": "boolean",
2004
+ "default": false,
2005
+ "description": "Enable LangGraph integration"
2006
+ },
2007
+ "graph_name": {
2008
+ "type": "string",
2009
+ "description": "LangGraph graph/state machine name"
2010
+ },
2011
+ "state_schema": {
2012
+ "type": "object",
2013
+ "description": "State schema definition (TypedDict structure)"
2014
+ },
2015
+ "nodes": {
2016
+ "type": "array",
2017
+ "description": "Graph nodes configuration",
2018
+ "items": {
2019
+ "type": "object",
2020
+ "properties": {
2021
+ "name": {
2022
+ "type": "string"
2023
+ },
2024
+ "function": {
2025
+ "type": "string",
2026
+ "description": "Node function name"
2027
+ }
2028
+ }
2029
+ }
2030
+ },
2031
+ "edges": {
2032
+ "type": "array",
2033
+ "description": "Graph edges/transitions",
2034
+ "items": {
2035
+ "type": "object",
2036
+ "properties": {
2037
+ "from": {
2038
+ "type": "string"
2039
+ },
2040
+ "to": {
2041
+ "type": "string"
2042
+ },
2043
+ "condition": {
2044
+ "type": "string",
2045
+ "description": "Condition function name (optional)"
2046
+ }
2047
+ }
2048
+ }
2049
+ },
2050
+ "checkpoint": {
2051
+ "type": "object",
2052
+ "description": "Checkpoint configuration for state persistence",
2053
+ "properties": {
2054
+ "enabled": {
2055
+ "type": "boolean",
2056
+ "default": false
2057
+ },
2058
+ "type": {
2059
+ "type": "string",
2060
+ "enum": [
2061
+ "memory",
2062
+ "sqlite",
2063
+ "postgres",
2064
+ "custom"
2065
+ ]
2066
+ }
2067
+ }
2068
+ }
2069
+ },
2070
+ "additionalProperties": true
2071
+ },
2072
+ "AnthropicExtension": {
2073
+ "type": "object",
2074
+ "description": "Anthropic Claude API integration extension",
2075
+ "properties": {
2076
+ "enabled": {
2077
+ "type": "boolean",
2078
+ "default": false,
2079
+ "description": "Enable Anthropic Claude integration"
2080
+ },
2081
+ "model": {
2082
+ "type": "string",
2083
+ "enum": [
2084
+ "claude-opus-4-5-20251101",
2085
+ "claude-sonnet-4-5-20250929",
2086
+ "claude-haiku-4-5-20251001",
2087
+ "claude-3-5-sonnet-20241022",
2088
+ "claude-3-5-haiku-20241022",
2089
+ "claude-3-opus-20240229",
2090
+ "claude-3-sonnet-20240229",
2091
+ "claude-3-haiku-20240307"
2092
+ ],
2093
+ "default": "claude-sonnet-4-5-20250929",
2094
+ "description": "Claude model version"
2095
+ },
2096
+ "system": {
2097
+ "type": "string",
2098
+ "description": "System prompt (overrides spec.role if provided)"
2099
+ },
2100
+ "max_tokens": {
2101
+ "type": "integer",
2102
+ "minimum": 1,
2103
+ "maximum": 32000,
2104
+ "default": 4096,
2105
+ "description": "Maximum tokens in response (Claude 4.5 supports up to 32K output tokens)"
2106
+ },
2107
+ "temperature": {
2108
+ "type": "number",
2109
+ "minimum": 0,
2110
+ "maximum": 1,
2111
+ "default": 1,
2112
+ "description": "Sampling temperature"
2113
+ },
2114
+ "tools": {
2115
+ "type": "array",
2116
+ "description": "Claude tools/capabilities",
2117
+ "items": {
2118
+ "type": "object",
2119
+ "properties": {
2120
+ "name": {
2121
+ "type": "string"
2122
+ },
2123
+ "description": {
2124
+ "type": "string"
2125
+ },
2126
+ "input_schema": {
2127
+ "type": "object",
2128
+ "description": "Tool input schema (JSON Schema)"
2129
+ }
2130
+ },
2131
+ "required": [
2132
+ "name",
2133
+ "description",
2134
+ "input_schema"
2135
+ ]
2136
+ }
2137
+ },
2138
+ "streaming": {
2139
+ "type": "boolean",
2140
+ "default": false,
2141
+ "description": "Enable streaming responses"
2142
+ },
2143
+ "stop_sequences": {
2144
+ "type": "array",
2145
+ "items": {
2146
+ "type": "string"
2147
+ },
2148
+ "description": "Stop sequences for response generation"
2149
+ }
2150
+ },
2151
+ "additionalProperties": true
2152
+ },
2153
+ "GoogleADKExtension": {
2154
+ "type": "object",
2155
+ "description": "Google Agent Development Kit (ADK) integration extension (v0.2.5)",
2156
+ "properties": {
2157
+ "enabled": {
2158
+ "type": "boolean",
2159
+ "default": false,
2160
+ "description": "Enable Google ADK integration"
2161
+ },
2162
+ "agent_type": {
2163
+ "type": "string",
2164
+ "enum": [
2165
+ "llm_agent",
2166
+ "sequential_agent",
2167
+ "parallel_agent",
2168
+ "loop_agent",
2169
+ "conditional_agent",
2170
+ "custom"
2171
+ ],
2172
+ "default": "llm_agent",
2173
+ "description": "ADK agent type"
2174
+ },
2175
+ "model": {
2176
+ "type": "string",
2177
+ "description": "Gemini model to use",
2178
+ "examples": [
2179
+ "gemini-2.0-flash-exp",
2180
+ "gemini-1.5-pro"
2181
+ ]
2182
+ },
2183
+ "instruction": {
2184
+ "type": "string",
2185
+ "description": "Agent instruction (overrides spec.role if provided)"
2186
+ },
2187
+ "tools": {
2188
+ "type": "array",
2189
+ "description": "ADK tools configuration",
2190
+ "items": {
2191
+ "type": "object",
2192
+ "properties": {
2193
+ "name": {
2194
+ "type": "string"
2195
+ },
2196
+ "type": {
2197
+ "type": "string",
2198
+ "enum": [
2199
+ "function",
2200
+ "agent",
2201
+ "mcp_server"
2202
+ ]
2203
+ },
2204
+ "config": {
2205
+ "type": "object",
2206
+ "additionalProperties": true
2207
+ }
2208
+ }
2209
+ }
2210
+ },
2211
+ "sub_agents": {
2212
+ "type": "array",
2213
+ "description": "Sub-agent references for orchestration",
2214
+ "items": {
2215
+ "type": "string"
2216
+ }
2217
+ },
2218
+ "session": {
2219
+ "type": "object",
2220
+ "description": "Session management configuration",
2221
+ "properties": {
2222
+ "service": {
2223
+ "type": "string",
2224
+ "enum": [
2225
+ "in_memory",
2226
+ "database",
2227
+ "vertex_ai"
2228
+ ],
2229
+ "default": "in_memory"
2230
+ },
2231
+ "state_schema": {
2232
+ "type": "object",
2233
+ "description": "Session state schema"
2234
+ }
2235
+ }
2236
+ },
2237
+ "memory": {
2238
+ "type": "object",
2239
+ "description": "Memory service configuration",
2240
+ "properties": {
2241
+ "enabled": {
2242
+ "type": "boolean",
2243
+ "default": false
2244
+ },
2245
+ "service": {
2246
+ "type": "string",
2247
+ "enum": [
2248
+ "in_memory",
2249
+ "vertex_ai_rag"
2250
+ ]
2251
+ }
2252
+ }
2253
+ },
2254
+ "callbacks": {
2255
+ "type": "object",
2256
+ "description": "Lifecycle callbacks",
2257
+ "properties": {
2258
+ "before_agent_callback": {
2259
+ "type": "string"
2260
+ },
2261
+ "after_agent_callback": {
2262
+ "type": "string"
2263
+ },
2264
+ "before_model_callback": {
2265
+ "type": "string"
2266
+ },
2267
+ "after_model_callback": {
2268
+ "type": "string"
2269
+ }
2270
+ }
2271
+ }
2272
+ },
2273
+ "additionalProperties": true
2274
+ },
2275
+ "A2AExtension": {
2276
+ "type": "object",
2277
+ "description": "Agent-to-Agent (A2A) protocol extension for inter-agent communication",
2278
+ "properties": {
2279
+ "enabled": {
2280
+ "type": "boolean",
2281
+ "default": false,
2282
+ "description": "Enable A2A protocol support"
2283
+ },
2284
+ "agent_card": {
2285
+ "type": "object",
2286
+ "description": "A2A Agent Card configuration for discovery",
2287
+ "properties": {
2288
+ "name": {
2289
+ "type": "string",
2290
+ "description": "Agent display name"
2291
+ },
2292
+ "description": {
2293
+ "type": "string",
2294
+ "description": "Agent description for discovery"
2295
+ },
2296
+ "url": {
2297
+ "type": "string",
2298
+ "format": "uri",
2299
+ "description": "Agent endpoint URL"
2300
+ },
2301
+ "version": {
2302
+ "type": "string",
2303
+ "description": "Agent version"
2304
+ },
2305
+ "capabilities": {
2306
+ "type": "array",
2307
+ "items": {
2308
+ "type": "string"
2309
+ },
2310
+ "description": "List of capabilities the agent exposes"
2311
+ },
2312
+ "authentication": {
2313
+ "type": "object",
2314
+ "properties": {
2315
+ "schemes": {
2316
+ "type": "array",
2317
+ "items": {
2318
+ "type": "string",
2319
+ "enum": ["bearer", "oauth2", "mtls", "apikey", "none"]
2320
+ },
2321
+ "description": "Supported authentication schemes"
2322
+ }
2323
+ }
2324
+ },
2325
+ "provider": {
2326
+ "type": "object",
2327
+ "properties": {
2328
+ "organization": {
2329
+ "type": "string"
2330
+ },
2331
+ "url": {
2332
+ "type": "string",
2333
+ "format": "uri"
2334
+ }
2335
+ }
2336
+ }
2337
+ }
2338
+ },
2339
+ "supported_content_types": {
2340
+ "type": "array",
2341
+ "items": {
2342
+ "type": "string"
2343
+ },
2344
+ "default": ["application/json"],
2345
+ "description": "Content types the agent can process",
2346
+ "examples": [
2347
+ ["application/json", "text/plain", "application/x-ndjson"]
2348
+ ]
2349
+ },
2350
+ "skills": {
2351
+ "type": "array",
2352
+ "description": "Skills exposed via A2A protocol",
2353
+ "items": {
2354
+ "type": "object",
2355
+ "properties": {
2356
+ "id": {
2357
+ "type": "string",
2358
+ "description": "Skill identifier"
2359
+ },
2360
+ "name": {
2361
+ "type": "string",
2362
+ "description": "Skill display name"
2363
+ },
2364
+ "description": {
2365
+ "type": "string",
2366
+ "description": "Skill description"
2367
+ },
2368
+ "input_modes": {
2369
+ "type": "array",
2370
+ "items": {
2371
+ "type": "string",
2372
+ "enum": ["text", "file", "data"]
2373
+ }
2374
+ },
2375
+ "output_modes": {
2376
+ "type": "array",
2377
+ "items": {
2378
+ "type": "string",
2379
+ "enum": ["text", "file", "data"]
2380
+ }
2381
+ }
2382
+ }
2383
+ }
2384
+ },
2385
+ "streaming": {
2386
+ "type": "string",
2387
+ "enum": ["none", "response"],
2388
+ "default": "none",
2389
+ "description": "A2A streaming mode"
2390
+ },
2391
+ "push_notifications": {
2392
+ "type": "object",
2393
+ "description": "Push notification configuration",
2394
+ "properties": {
2395
+ "enabled": {
2396
+ "type": "boolean",
2397
+ "default": false
2398
+ },
2399
+ "webhook_url": {
2400
+ "type": "string",
2401
+ "format": "uri",
2402
+ "description": "Webhook URL for push notifications"
2403
+ }
2404
+ }
2405
+ }
2406
+ },
2407
+ "additionalProperties": true
2408
+ },
2409
+ "Security": {
2410
+ "type": "object",
2411
+ "description": "Security configuration for agent operations",
2412
+ "properties": {
2413
+ "authentication": {
2414
+ "type": "object",
2415
+ "properties": {
2416
+ "required": {
2417
+ "type": "boolean",
2418
+ "default": true,
2419
+ "description": "Whether authentication is required"
2420
+ },
2421
+ "methods": {
2422
+ "type": "array",
2423
+ "items": {
2424
+ "type": "string",
2425
+ "enum": ["bearer", "oauth2", "mtls", "apikey", "jwt", "saml"]
2426
+ },
2427
+ "description": "Supported authentication methods"
2428
+ },
2429
+ "mfa_required": {
2430
+ "type": "boolean",
2431
+ "default": false,
2432
+ "description": "Require multi-factor authentication"
2433
+ }
2434
+ }
2435
+ },
2436
+ "authorization": {
2437
+ "type": "object",
2438
+ "properties": {
2439
+ "model": {
2440
+ "type": "string",
2441
+ "enum": ["rbac", "abac", "acl", "custom"],
2442
+ "default": "rbac",
2443
+ "description": "Authorization model"
2444
+ },
2445
+ "roles": {
2446
+ "type": "array",
2447
+ "items": {
2448
+ "type": "string"
2449
+ },
2450
+ "description": "Required roles for agent access"
2451
+ },
2452
+ "permissions": {
2453
+ "type": "array",
2454
+ "items": {
2455
+ "type": "string"
2456
+ },
2457
+ "description": "Required permissions"
2458
+ }
2459
+ }
2460
+ },
2461
+ "encryption": {
2462
+ "type": "object",
2463
+ "properties": {
2464
+ "in_transit": {
2465
+ "type": "object",
2466
+ "properties": {
2467
+ "enabled": {
2468
+ "type": "boolean",
2469
+ "default": true
2470
+ },
2471
+ "tls_version": {
2472
+ "type": "string",
2473
+ "enum": ["1.2", "1.3"],
2474
+ "default": "1.3"
2475
+ },
2476
+ "cipher_suites": {
2477
+ "type": "array",
2478
+ "items": {
2479
+ "type": "string"
2480
+ }
2481
+ }
2482
+ }
2483
+ },
2484
+ "at_rest": {
2485
+ "type": "object",
2486
+ "properties": {
2487
+ "enabled": {
2488
+ "type": "boolean",
2489
+ "default": false
2490
+ },
2491
+ "algorithm": {
2492
+ "type": "string",
2493
+ "enum": ["aes-256-gcm", "aes-256-cbc", "chacha20-poly1305"],
2494
+ "default": "aes-256-gcm"
2495
+ },
2496
+ "key_management": {
2497
+ "type": "string",
2498
+ "enum": ["kms", "vault", "hsm", "manual"],
2499
+ "description": "Key management system"
2500
+ }
2501
+ }
2502
+ }
2503
+ }
2504
+ },
2505
+ "secrets": {
2506
+ "type": "object",
2507
+ "properties": {
2508
+ "provider": {
2509
+ "type": "string",
2510
+ "enum": ["vault", "aws_secrets_manager", "azure_key_vault", "gcp_secret_manager", "kubernetes"],
2511
+ "description": "Secret management provider"
2512
+ },
2513
+ "rotation": {
2514
+ "type": "object",
2515
+ "properties": {
2516
+ "enabled": {
2517
+ "type": "boolean",
2518
+ "default": false
2519
+ },
2520
+ "interval_days": {
2521
+ "type": "integer",
2522
+ "minimum": 1,
2523
+ "description": "Secret rotation interval in days"
2524
+ }
2525
+ }
2526
+ }
2527
+ }
2528
+ },
2529
+ "audit": {
2530
+ "type": "object",
2531
+ "properties": {
2532
+ "enabled": {
2533
+ "type": "boolean",
2534
+ "default": true
2535
+ },
2536
+ "log_level": {
2537
+ "type": "string",
2538
+ "enum": ["minimal", "standard", "detailed"],
2539
+ "default": "standard"
2540
+ },
2541
+ "retention_days": {
2542
+ "type": "integer",
2543
+ "minimum": 1,
2544
+ "description": "Audit log retention period"
2545
+ },
2546
+ "pii_redaction": {
2547
+ "type": "boolean",
2548
+ "default": true,
2549
+ "description": "Redact PII from audit logs"
2550
+ }
2551
+ }
2552
+ },
2553
+ "compliance": {
2554
+ "type": "object",
2555
+ "properties": {
2556
+ "frameworks": {
2557
+ "type": "array",
2558
+ "items": {
2559
+ "type": "string",
2560
+ "enum": ["soc2", "hipaa", "gdpr", "fedramp", "pci-dss", "iso27001"]
2561
+ },
2562
+ "description": "Compliance frameworks this agent adheres to"
2563
+ },
2564
+ "data_residency": {
2565
+ "type": "array",
2566
+ "items": {
2567
+ "type": "string"
2568
+ },
2569
+ "description": "Allowed data residency regions (ISO 3166-1 alpha-2)"
2570
+ }
2571
+ }
2572
+ }
2573
+ },
2574
+ "additionalProperties": false
2575
+ },
2576
+ "Reliability": {
2577
+ "type": "object",
2578
+ "description": "Reliability and resilience configuration",
2579
+ "properties": {
2580
+ "sla": {
2581
+ "type": "object",
2582
+ "properties": {
2583
+ "availability_percent": {
2584
+ "type": "number",
2585
+ "minimum": 0,
2586
+ "maximum": 100,
2587
+ "description": "Target availability percentage (e.g., 99.9)"
2588
+ },
2589
+ "latency_p50_ms": {
2590
+ "type": "number",
2591
+ "minimum": 0,
2592
+ "description": "P50 latency target in milliseconds"
2593
+ },
2594
+ "latency_p95_ms": {
2595
+ "type": "number",
2596
+ "minimum": 0,
2597
+ "description": "P95 latency target in milliseconds"
2598
+ },
2599
+ "latency_p99_ms": {
2600
+ "type": "number",
2601
+ "minimum": 0,
2602
+ "description": "P99 latency target in milliseconds"
2603
+ },
2604
+ "error_rate_percent": {
2605
+ "type": "number",
2606
+ "minimum": 0,
2607
+ "maximum": 100,
2608
+ "description": "Maximum acceptable error rate percentage"
2609
+ }
2610
+ }
2611
+ },
2612
+ "circuit_breaker": {
2613
+ "type": "object",
2614
+ "properties": {
2615
+ "enabled": {
2616
+ "type": "boolean",
2617
+ "default": true
2618
+ },
2619
+ "failure_threshold": {
2620
+ "type": "integer",
2621
+ "minimum": 1,
2622
+ "default": 5,
2623
+ "description": "Number of failures before opening circuit"
2624
+ },
2625
+ "timeout_seconds": {
2626
+ "type": "number",
2627
+ "minimum": 0,
2628
+ "default": 60,
2629
+ "description": "Time to wait before attempting to close circuit"
2630
+ },
2631
+ "half_open_requests": {
2632
+ "type": "integer",
2633
+ "minimum": 1,
2634
+ "default": 3,
2635
+ "description": "Number of test requests in half-open state"
2636
+ }
2637
+ }
2638
+ },
2639
+ "health_check": {
2640
+ "type": "object",
2641
+ "properties": {
2642
+ "enabled": {
2643
+ "type": "boolean",
2644
+ "default": true
2645
+ },
2646
+ "endpoint": {
2647
+ "type": "string",
2648
+ "description": "Health check endpoint path"
2649
+ },
2650
+ "interval_seconds": {
2651
+ "type": "integer",
2652
+ "minimum": 1,
2653
+ "default": 30,
2654
+ "description": "Health check interval"
2655
+ },
2656
+ "timeout_seconds": {
2657
+ "type": "integer",
2658
+ "minimum": 1,
2659
+ "default": 5
2660
+ },
2661
+ "unhealthy_threshold": {
2662
+ "type": "integer",
2663
+ "minimum": 1,
2664
+ "default": 3,
2665
+ "description": "Consecutive failures before marking unhealthy"
2666
+ },
2667
+ "healthy_threshold": {
2668
+ "type": "integer",
2669
+ "minimum": 1,
2670
+ "default": 2,
2671
+ "description": "Consecutive successes before marking healthy"
2672
+ }
2673
+ }
2674
+ },
2675
+ "failover": {
2676
+ "type": "object",
2677
+ "properties": {
2678
+ "enabled": {
2679
+ "type": "boolean",
2680
+ "default": false
2681
+ },
2682
+ "strategy": {
2683
+ "type": "string",
2684
+ "enum": ["active-passive", "active-active", "round-robin"],
2685
+ "default": "active-passive"
2686
+ },
2687
+ "fallback_agents": {
2688
+ "type": "array",
2689
+ "items": {
2690
+ "type": "string"
2691
+ },
2692
+ "description": "List of fallback agent IDs"
2693
+ }
2694
+ }
2695
+ },
2696
+ "disaster_recovery": {
2697
+ "type": "object",
2698
+ "properties": {
2699
+ "enabled": {
2700
+ "type": "boolean",
2701
+ "default": false
2702
+ },
2703
+ "rpo_minutes": {
2704
+ "type": "integer",
2705
+ "minimum": 0,
2706
+ "description": "Recovery Point Objective in minutes"
2707
+ },
2708
+ "rto_minutes": {
2709
+ "type": "integer",
2710
+ "minimum": 0,
2711
+ "description": "Recovery Time Objective in minutes"
2712
+ },
2713
+ "backup_regions": {
2714
+ "type": "array",
2715
+ "items": {
2716
+ "type": "string"
2717
+ },
2718
+ "description": "Backup deployment regions"
2719
+ }
2720
+ }
2721
+ }
2722
+ },
2723
+ "additionalProperties": false
2724
+ },
2725
+ "Collaboration": {
2726
+ "type": "object",
2727
+ "description": "Multi-agent collaboration and orchestration",
2728
+ "properties": {
2729
+ "mode": {
2730
+ "type": "string",
2731
+ "enum": ["standalone", "collaborative", "orchestrated"],
2732
+ "default": "standalone",
2733
+ "description": "Agent collaboration mode"
2734
+ },
2735
+ "handoffs": {
2736
+ "type": "array",
2737
+ "description": "Agent handoff configuration",
2738
+ "items": {
2739
+ "type": "object",
2740
+ "properties": {
2741
+ "target_agent": {
2742
+ "type": "string",
2743
+ "description": "Target agent ID for handoff"
2744
+ },
2745
+ "conditions": {
2746
+ "type": "array",
2747
+ "items": {
2748
+ "type": "string"
2749
+ },
2750
+ "description": "Conditions that trigger handoff"
2751
+ },
2752
+ "context_transfer": {
2753
+ "type": "string",
2754
+ "enum": ["full", "partial", "minimal"],
2755
+ "default": "partial",
2756
+ "description": "How much context to transfer"
2757
+ }
2758
+ }
2759
+ }
2760
+ },
2761
+ "delegation": {
2762
+ "type": "object",
2763
+ "properties": {
2764
+ "enabled": {
2765
+ "type": "boolean",
2766
+ "default": false
2767
+ },
2768
+ "allowed_agents": {
2769
+ "type": "array",
2770
+ "items": {
2771
+ "type": "string"
2772
+ },
2773
+ "description": "Agents this agent can delegate to"
2774
+ },
2775
+ "max_depth": {
2776
+ "type": "integer",
2777
+ "minimum": 1,
2778
+ "default": 3,
2779
+ "description": "Maximum delegation depth"
2780
+ }
2781
+ }
2782
+ },
2783
+ "communication": {
2784
+ "type": "object",
2785
+ "properties": {
2786
+ "protocols": {
2787
+ "type": "array",
2788
+ "items": {
2789
+ "type": "string",
2790
+ "enum": ["a2a", "mcp", "http", "grpc", "websocket"]
2791
+ },
2792
+ "description": "Supported inter-agent communication protocols"
2793
+ },
2794
+ "message_format": {
2795
+ "type": "string",
2796
+ "enum": ["json", "protobuf", "msgpack"],
2797
+ "default": "json"
2798
+ }
2799
+ }
2800
+ },
2801
+ "orchestration": {
2802
+ "type": "object",
2803
+ "properties": {
2804
+ "role": {
2805
+ "type": "string",
2806
+ "enum": ["orchestrator", "worker", "both"],
2807
+ "description": "Agent's role in orchestration"
2808
+ },
2809
+ "workflow_engine": {
2810
+ "type": "string",
2811
+ "enum": ["langgraph", "autogen", "crewai", "custom"],
2812
+ "description": "Workflow orchestration engine"
2813
+ }
2814
+ }
2815
+ }
2816
+ },
2817
+ "additionalProperties": false
2818
+ },
2819
+ "Safety": {
2820
+ "type": "object",
2821
+ "description": "Safety and content moderation configuration",
2822
+ "properties": {
2823
+ "content_filtering": {
2824
+ "type": "object",
2825
+ "properties": {
2826
+ "enabled": {
2827
+ "type": "boolean",
2828
+ "default": true
2829
+ },
2830
+ "categories": {
2831
+ "type": "array",
2832
+ "items": {
2833
+ "type": "string",
2834
+ "enum": ["hate", "violence", "sexual", "self-harm", "profanity", "pii"]
2835
+ },
2836
+ "description": "Content categories to filter"
2837
+ },
2838
+ "threshold": {
2839
+ "type": "string",
2840
+ "enum": ["low", "medium", "high"],
2841
+ "default": "medium",
2842
+ "description": "Filtering sensitivity threshold"
2843
+ },
2844
+ "action": {
2845
+ "type": "string",
2846
+ "enum": ["block", "warn", "log"],
2847
+ "default": "block",
2848
+ "description": "Action when harmful content detected"
2849
+ }
2850
+ }
2851
+ },
2852
+ "pii_detection": {
2853
+ "type": "object",
2854
+ "properties": {
2855
+ "enabled": {
2856
+ "type": "boolean",
2857
+ "default": true
2858
+ },
2859
+ "types": {
2860
+ "type": "array",
2861
+ "items": {
2862
+ "type": "string",
2863
+ "enum": ["email", "phone", "ssn", "credit_card", "ip_address", "name", "address"]
2864
+ },
2865
+ "description": "PII types to detect"
2866
+ },
2867
+ "action": {
2868
+ "type": "string",
2869
+ "enum": ["redact", "block", "warn", "log"],
2870
+ "default": "redact",
2871
+ "description": "Action when PII detected"
2872
+ }
2873
+ }
2874
+ },
2875
+ "rate_limiting": {
2876
+ "type": "object",
2877
+ "properties": {
2878
+ "enabled": {
2879
+ "type": "boolean",
2880
+ "default": true
2881
+ },
2882
+ "requests_per_minute": {
2883
+ "type": "integer",
2884
+ "minimum": 1,
2885
+ "description": "Maximum requests per minute per user"
2886
+ },
2887
+ "requests_per_hour": {
2888
+ "type": "integer",
2889
+ "minimum": 1,
2890
+ "description": "Maximum requests per hour per user"
2891
+ },
2892
+ "burst_limit": {
2893
+ "type": "integer",
2894
+ "minimum": 1,
2895
+ "description": "Maximum burst requests"
2896
+ }
2897
+ }
2898
+ },
2899
+ "guardrails": {
2900
+ "type": "object",
2901
+ "properties": {
2902
+ "enabled": {
2903
+ "type": "boolean",
2904
+ "default": true
2905
+ },
2906
+ "policies": {
2907
+ "type": "array",
2908
+ "items": {
2909
+ "type": "object",
2910
+ "properties": {
2911
+ "name": {
2912
+ "type": "string"
2913
+ },
2914
+ "type": {
2915
+ "type": "string",
2916
+ "enum": ["input", "output", "both"]
2917
+ },
2918
+ "rules": {
2919
+ "type": "array",
2920
+ "items": {
2921
+ "type": "string"
2922
+ }
2923
+ }
2924
+ }
2925
+ },
2926
+ "description": "Safety guardrail policies"
2927
+ },
2928
+ "max_tool_calls": {
2929
+ "type": "integer",
2930
+ "minimum": 1,
2931
+ "description": "Maximum tool calls per execution"
2932
+ },
2933
+ "max_execution_time_seconds": {
2934
+ "type": "integer",
2935
+ "minimum": 1,
2936
+ "description": "Maximum execution time"
2937
+ }
2938
+ }
2939
+ },
2940
+ "human_in_loop": {
2941
+ "type": "object",
2942
+ "properties": {
2943
+ "enabled": {
2944
+ "type": "boolean",
2945
+ "default": false
2946
+ },
2947
+ "triggers": {
2948
+ "type": "array",
2949
+ "items": {
2950
+ "type": "string",
2951
+ "enum": ["high_risk_action", "low_confidence", "policy_violation", "user_request"]
2952
+ },
2953
+ "description": "Conditions that trigger human review"
2954
+ },
2955
+ "timeout_seconds": {
2956
+ "type": "integer",
2957
+ "minimum": 1,
2958
+ "description": "Timeout waiting for human response"
2959
+ }
2960
+ }
2961
+ }
2962
+ },
2963
+ "additionalProperties": false
2964
+ },
2965
+ "Deployment": {
2966
+ "type": "object",
2967
+ "description": "Deployment and lifecycle management configuration",
2968
+ "properties": {
2969
+ "strategy": {
2970
+ "type": "string",
2971
+ "enum": ["rolling", "blue-green", "canary", "recreate"],
2972
+ "default": "rolling",
2973
+ "description": "Deployment strategy"
2974
+ },
2975
+ "canary": {
2976
+ "type": "object",
2977
+ "properties": {
2978
+ "enabled": {
2979
+ "type": "boolean",
2980
+ "default": false
2981
+ },
2982
+ "initial_traffic_percent": {
2983
+ "type": "number",
2984
+ "minimum": 0,
2985
+ "maximum": 100,
2986
+ "default": 10,
2987
+ "description": "Initial traffic percentage for canary"
2988
+ },
2989
+ "increment_percent": {
2990
+ "type": "number",
2991
+ "minimum": 0,
2992
+ "maximum": 100,
2993
+ "default": 10,
2994
+ "description": "Traffic increment per step"
2995
+ },
2996
+ "interval_minutes": {
2997
+ "type": "integer",
2998
+ "minimum": 1,
2999
+ "default": 5,
3000
+ "description": "Time between traffic increments"
3001
+ },
3002
+ "success_criteria": {
3003
+ "type": "object",
3004
+ "properties": {
3005
+ "error_rate_threshold": {
3006
+ "type": "number",
3007
+ "minimum": 0,
3008
+ "maximum": 100
3009
+ },
3010
+ "latency_p95_threshold_ms": {
3011
+ "type": "number",
3012
+ "minimum": 0
3013
+ }
3014
+ }
3015
+ }
3016
+ }
3017
+ },
3018
+ "rollback": {
3019
+ "type": "object",
3020
+ "properties": {
3021
+ "enabled": {
3022
+ "type": "boolean",
3023
+ "default": true
3024
+ },
3025
+ "automatic": {
3026
+ "type": "boolean",
3027
+ "default": false,
3028
+ "description": "Automatically rollback on failure"
3029
+ },
3030
+ "triggers": {
3031
+ "type": "array",
3032
+ "items": {
3033
+ "type": "string",
3034
+ "enum": ["error_rate", "latency", "health_check", "manual"]
3035
+ },
3036
+ "description": "Conditions that trigger rollback"
3037
+ }
3038
+ }
3039
+ },
3040
+ "versioning": {
3041
+ "type": "object",
3042
+ "properties": {
3043
+ "scheme": {
3044
+ "type": "string",
3045
+ "enum": ["semver", "timestamp", "git_sha"],
3046
+ "default": "semver"
3047
+ },
3048
+ "compatibility": {
3049
+ "type": "string",
3050
+ "enum": ["backward", "forward", "both", "none"],
3051
+ "default": "backward",
3052
+ "description": "Version compatibility mode"
3053
+ }
3054
+ }
3055
+ },
3056
+ "testing": {
3057
+ "type": "object",
3058
+ "properties": {
3059
+ "dry_run": {
3060
+ "type": "boolean",
3061
+ "default": false,
3062
+ "description": "Enable dry-run mode for testing"
3063
+ },
3064
+ "shadow_mode": {
3065
+ "type": "boolean",
3066
+ "default": false,
3067
+ "description": "Run in shadow mode (process but don't act)"
3068
+ },
3069
+ "test_traffic_percent": {
3070
+ "type": "number",
3071
+ "minimum": 0,
3072
+ "maximum": 100,
3073
+ "description": "Percentage of traffic to use for testing"
3074
+ }
3075
+ }
3076
+ },
3077
+ "lifecycle": {
3078
+ "type": "object",
3079
+ "properties": {
3080
+ "startup_probe": {
3081
+ "type": "object",
3082
+ "properties": {
3083
+ "enabled": {
3084
+ "type": "boolean",
3085
+ "default": true
3086
+ },
3087
+ "initial_delay_seconds": {
3088
+ "type": "integer",
3089
+ "minimum": 0,
3090
+ "default": 0
3091
+ },
3092
+ "period_seconds": {
3093
+ "type": "integer",
3094
+ "minimum": 1,
3095
+ "default": 10
3096
+ },
3097
+ "failure_threshold": {
3098
+ "type": "integer",
3099
+ "minimum": 1,
3100
+ "default": 3
3101
+ }
3102
+ }
3103
+ },
3104
+ "readiness_probe": {
3105
+ "type": "object",
3106
+ "properties": {
3107
+ "enabled": {
3108
+ "type": "boolean",
3109
+ "default": true
3110
+ },
3111
+ "period_seconds": {
3112
+ "type": "integer",
3113
+ "minimum": 1,
3114
+ "default": 10
3115
+ }
3116
+ }
3117
+ },
3118
+ "liveness_probe": {
3119
+ "type": "object",
3120
+ "properties": {
3121
+ "enabled": {
3122
+ "type": "boolean",
3123
+ "default": true
3124
+ },
3125
+ "period_seconds": {
3126
+ "type": "integer",
3127
+ "minimum": 1,
3128
+ "default": 30
3129
+ }
3130
+ }
3131
+ },
3132
+ "graceful_shutdown": {
3133
+ "type": "object",
3134
+ "properties": {
3135
+ "enabled": {
3136
+ "type": "boolean",
3137
+ "default": true
3138
+ },
3139
+ "timeout_seconds": {
3140
+ "type": "integer",
3141
+ "minimum": 0,
3142
+ "default": 30,
3143
+ "description": "Time to wait for graceful shutdown"
3144
+ }
3145
+ }
3146
+ }
3147
+ }
3148
+ }
3149
+ },
3150
+ "additionalProperties": false
3151
+ }
3152
+ }
3153
+ }