@bluefly/openstandardagents 0.2.4 → 0.2.5-RC

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 (355) hide show
  1. package/.cursorrules +84 -0
  2. package/.devfile.yaml +87 -0
  3. package/.env.example +25 -3
  4. package/.github/workflows/release.yml +1 -1
  5. package/.kiro/specs/agent-buildkit-templates/design.md +495 -0
  6. package/.kiro/specs/agent-buildkit-templates/requirements.md +165 -0
  7. package/.kiro/specs/kiro-ide-supercharger/README.md +202 -0
  8. package/.kiro/specs/kiro-ide-supercharger/design.md +1005 -0
  9. package/.kiro/specs/kiro-ide-supercharger/requirements.md +141 -0
  10. package/.kiro/specs/kiro-ide-supercharger/tasks.md +507 -0
  11. package/.kiro/specs/website-design-audit/design.md +679 -0
  12. package/.kiro/specs/website-design-audit/requirements.md +199 -0
  13. package/.releaserc.json +5 -4
  14. package/.version.json +6 -0
  15. package/CHANGELOG.md +140 -96
  16. package/CONTRIBUTING.md +23 -5
  17. package/README.md +121 -43
  18. package/bin/ossa +24 -3
  19. package/bin/ossa-validate-all +55 -0
  20. package/bin/ossa-version +23 -0
  21. package/bin/validate-ossa-0.2.4.ts +244 -0
  22. package/bin/validate-ossa-0.2.5-RC.ts +244 -0
  23. package/bin/validate-ossa.ts +273 -0
  24. package/dist/di-container.d.ts +1 -1
  25. package/dist/di-container.d.ts.map +1 -1
  26. package/dist/di-container.js.map +1 -1
  27. package/dist/repositories/schema.repository.d.ts +17 -2
  28. package/dist/repositories/schema.repository.d.ts.map +1 -1
  29. package/dist/repositories/schema.repository.js +96 -18
  30. package/dist/repositories/schema.repository.js.map +1 -1
  31. package/dist/services/generation.service.d.ts +7 -5
  32. package/dist/services/generation.service.d.ts.map +1 -1
  33. package/dist/services/generation.service.js +92 -44
  34. package/dist/services/generation.service.js.map +1 -1
  35. package/dist/services/gitlab-agent.service.d.ts +94 -0
  36. package/dist/services/gitlab-agent.service.d.ts.map +1 -0
  37. package/dist/services/gitlab-agent.service.js +162 -0
  38. package/dist/services/gitlab-agent.service.js.map +1 -0
  39. package/dist/services/migration.service.d.ts +3 -3
  40. package/dist/services/migration.service.d.ts.map +1 -1
  41. package/dist/services/migration.service.js +108 -61
  42. package/dist/services/migration.service.js.map +1 -1
  43. package/dist/services/release-automation/base-crud.service.d.ts +93 -0
  44. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
  45. package/dist/services/release-automation/base-crud.service.js +68 -0
  46. package/dist/services/release-automation/base-crud.service.js.map +1 -0
  47. package/dist/services/release-automation/index.d.ts +12 -0
  48. package/dist/services/release-automation/index.d.ts.map +1 -0
  49. package/dist/services/release-automation/index.js +12 -0
  50. package/dist/services/release-automation/index.js.map +1 -0
  51. package/dist/services/release-automation/merge-request.service.d.ts +119 -0
  52. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
  53. package/dist/services/release-automation/merge-request.service.js +212 -0
  54. package/dist/services/release-automation/merge-request.service.js.map +1 -0
  55. package/dist/services/release-automation/milestone.service.d.ts +104 -0
  56. package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
  57. package/dist/services/release-automation/milestone.service.js +207 -0
  58. package/dist/services/release-automation/milestone.service.js.map +1 -0
  59. package/dist/services/release-automation/release.service.d.ts +118 -0
  60. package/dist/services/release-automation/release.service.d.ts.map +1 -0
  61. package/dist/services/release-automation/release.service.js +207 -0
  62. package/dist/services/release-automation/release.service.js.map +1 -0
  63. package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
  64. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
  65. package/dist/services/release-automation/schemas/release.schema.js +269 -0
  66. package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
  67. package/dist/services/release-automation/tag.service.d.ts +99 -0
  68. package/dist/services/release-automation/tag.service.d.ts.map +1 -0
  69. package/dist/services/release-automation/tag.service.js +180 -0
  70. package/dist/services/release-automation/tag.service.js.map +1 -0
  71. package/dist/services/release-automation/webhook.service.d.ts +37 -0
  72. package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
  73. package/dist/services/release-automation/webhook.service.js +173 -0
  74. package/dist/services/release-automation/webhook.service.js.map +1 -0
  75. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  76. package/dist/services/runtime/openai.adapter.js.map +1 -1
  77. package/dist/services/validation.service.d.ts.map +1 -1
  78. package/dist/services/validation.service.js +24 -11
  79. package/dist/services/validation.service.js.map +1 -1
  80. package/dist/services/validators/anthropic.validator.d.ts +2 -2
  81. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  82. package/dist/services/validators/anthropic.validator.js +14 -9
  83. package/dist/services/validators/anthropic.validator.js.map +1 -1
  84. package/dist/services/validators/autogen.validator.d.ts +2 -2
  85. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  86. package/dist/services/validators/autogen.validator.js +18 -15
  87. package/dist/services/validators/autogen.validator.js.map +1 -1
  88. package/dist/services/validators/crewai.validator.d.ts +2 -2
  89. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  90. package/dist/services/validators/crewai.validator.js +18 -17
  91. package/dist/services/validators/crewai.validator.js.map +1 -1
  92. package/dist/services/validators/cursor.validator.d.ts +2 -2
  93. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  94. package/dist/services/validators/cursor.validator.js +15 -11
  95. package/dist/services/validators/cursor.validator.js.map +1 -1
  96. package/dist/services/validators/langchain.validator.d.ts +2 -2
  97. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  98. package/dist/services/validators/langchain.validator.js +14 -11
  99. package/dist/services/validators/langchain.validator.js.map +1 -1
  100. package/dist/services/validators/langflow.validator.d.ts +2 -2
  101. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  102. package/dist/services/validators/langflow.validator.js +14 -9
  103. package/dist/services/validators/langflow.validator.js.map +1 -1
  104. package/dist/services/validators/langgraph.validator.d.ts +2 -2
  105. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  106. package/dist/services/validators/langgraph.validator.js +23 -18
  107. package/dist/services/validators/langgraph.validator.js.map +1 -1
  108. package/dist/services/validators/llamaindex.validator.d.ts +2 -2
  109. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  110. package/dist/services/validators/llamaindex.validator.js +19 -16
  111. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  112. package/dist/services/validators/openai.validator.d.ts +2 -2
  113. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  114. package/dist/services/validators/openai.validator.js +20 -16
  115. package/dist/services/validators/openai.validator.js.map +1 -1
  116. package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
  117. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  118. package/dist/services/validators/vercel-ai.validator.js +16 -15
  119. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  120. package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  121. package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  122. package/dist/spec/v0.2.3/CHANGELOG.md +7 -7
  123. package/dist/spec/v0.2.3/README.md +9 -9
  124. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  125. package/{spec/v0.2.4-dev → dist/spec/v0.2.4}/CHANGELOG.md +8 -8
  126. package/dist/spec/{v0.2.4-dev → v0.2.4}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  127. package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
  128. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
  129. package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
  130. package/dist/spec/v0.2.5/README.md +72 -0
  131. package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  132. package/dist/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
  133. package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  134. package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  135. package/dist/spec/v0.2.5-RC/README.md +72 -0
  136. package/{spec/v0.2.4-dev → dist/spec/v0.2.5-RC}/migrations/v0.2.3-to-v0.2.4.md +10 -10
  137. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  138. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  139. package/dist/types/index.d.ts +6 -1
  140. package/dist/types/index.d.ts.map +1 -1
  141. package/docs/issue-19-completion-summary.md +648 -0
  142. package/docs/issue-19-validation.md +351 -0
  143. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  144. package/examples/autogen/multi-agent.ossa.json +1 -1
  145. package/examples/bridges/Dockerfile.production +1 -1
  146. package/examples/crewai/research-team.ossa.json +1 -1
  147. package/examples/cursor/code-review-agent.ossa.json +1 -1
  148. package/examples/enterprise/agent.yml +1 -1
  149. package/examples/getting-started/hello-world-complete.ossa.yaml +2 -2
  150. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  151. package/examples/langchain/chain-agent.ossa.json +1 -1
  152. package/examples/langflow/workflow-agent.ossa.json +1 -1
  153. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  154. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  155. package/examples/openai/basic-agent.ossa.yaml +61 -0
  156. package/examples/openai/multi-tool-agent.ossa.json +165 -0
  157. package/examples/openai/swarm-agent.ossa.json +1 -1
  158. package/examples/openapi-extensions/README.md +1 -1
  159. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  160. package/examples/vercel/edge-agent.ossa.json +1 -1
  161. package/infrastructure/gitlab-agent/rbac.yaml +126 -0
  162. package/infrastructure/gitlab-agent/values.yaml +150 -0
  163. package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
  164. package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
  165. package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
  166. package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
  167. package/infrastructure/k8s/monitoring/README.md +73 -0
  168. package/infrastructure/k8s/monitoring/deploy.sh +38 -0
  169. package/openapi/CHANGELOG.md +21 -0
  170. package/openapi/README.md +46 -0
  171. package/openapi/{ossa-core-api.openapi.yaml → core/ossa-core-api.openapi.yaml} +59 -4
  172. package/openapi/{ossa-registry.openapi.yaml → core/ossa-registry.openapi.yaml} +75 -2
  173. package/openapi/{unified-agent-gateway.openapi.yaml → core/unified-agent-gateway.openapi.yaml} +3 -3
  174. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
  175. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
  176. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
  177. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
  178. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
  179. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
  180. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
  181. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
  182. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
  183. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
  184. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
  185. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
  186. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
  187. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
  188. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
  189. package/openapi/{self-evolving-ecosystem.openapi.yaml → reference-implementations/self-evolving-ecosystem.openapi.yaml} +2 -2
  190. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
  191. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
  192. package/package.json +31 -21
  193. package/release.config.js +20 -5
  194. package/scripts/bump-version.ts +57 -0
  195. package/scripts/enhanced-version-manager.ts +257 -0
  196. package/scripts/gen-types.ts +51 -0
  197. package/scripts/gen-zod.ts +51 -0
  198. package/scripts/lib/exec.ts +37 -0
  199. package/scripts/lib/file-ops.ts +58 -0
  200. package/scripts/lib/version.ts +83 -0
  201. package/scripts/process-doc-templates.ts +37 -0
  202. package/scripts/schemas/package.schema.ts +75 -0
  203. package/scripts/setup-branch-protection.sh +33 -0
  204. package/scripts/sync-version.ts +39 -0
  205. package/scripts/sync-versions.ts +488 -0
  206. package/scripts/validate-schema.ts +49 -0
  207. package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  208. package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  209. package/spec/v0.2.3/CHANGELOG.md +7 -7
  210. package/spec/v0.2.3/README.md +9 -9
  211. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +18 -18
  212. package/{dist/spec/v0.2.4-dev → spec/v0.2.4}/CHANGELOG.md +8 -8
  213. package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
  214. package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +1 -1
  215. package/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
  216. package/spec/v0.2.5/CHANGELOG.md +401 -0
  217. package/spec/v0.2.5/README.md +72 -0
  218. package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  219. package/spec/{v0.2.5-dev/ossa-0.2.5-dev.schema.json → v0.2.5/ossa-0.2.5.schema.json} +323 -359
  220. package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  221. package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  222. package/spec/v0.2.5-RC/README.md +72 -0
  223. package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
  224. package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  225. package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  226. package/website/{.lighthouserc.js → .lighthouserc.ts} +5 -1
  227. package/website/Dockerfile +18 -5
  228. package/website/app/about/page.tsx +7 -7
  229. package/website/app/blog/[slug]/page.tsx +61 -20
  230. package/website/app/blog/page.tsx +120 -33
  231. package/website/app/design-guide/page.tsx +511 -0
  232. package/website/app/docs/[[...slug]]/page.tsx +641 -143
  233. package/website/app/examples/page.tsx +51 -41
  234. package/website/app/{globals.css → globals.scss} +50 -23
  235. package/website/app/layout.tsx +2 -2
  236. package/website/app/license/page.tsx +183 -0
  237. package/website/app/not-found.tsx +18 -0
  238. package/website/app/page.tsx +144 -79
  239. package/website/app/playground/page.tsx +25 -45
  240. package/website/app/schema/page.tsx +423 -392
  241. package/website/app/specification/page.tsx +245 -169
  242. package/website/components/Logo.tsx +75 -2
  243. package/website/components/docs/DocsSidebar.tsx +40 -3
  244. package/website/components/docs/MarkdownContent.tsx +265 -47
  245. package/website/components/docs/VersionSelector.tsx +64 -8
  246. package/website/components/examples/ExamplesViewer.tsx +2 -2
  247. package/website/components/layout/Footer.tsx +6 -1
  248. package/website/components/layout/Header.tsx +31 -33
  249. package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
  250. package/website/components/schema/SchemaExplorer.tsx +4 -4
  251. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +276 -276
  252. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +3 -14
  253. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
  254. package/website/content/blog/introducing-ossa-framework.md +1 -1
  255. package/website/content/blog/ossa-production-results.md +5 -5
  256. package/website/content/blog/welcome-to-ossa.md +2 -2
  257. package/website/content/blog/why-ai-agents-need-open-standard.md +5 -5
  258. package/website/content/docs/00-HOME.md +18 -25
  259. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +8 -8
  260. package/website/content/docs/OpenAPI-Extensions.md +576 -140
  261. package/website/content/docs/adapters/openai-adapter.md +693 -0
  262. package/website/content/docs/architecture/execution-flow.md +3 -3
  263. package/website/content/docs/architecture/multi-agent-systems.md +4 -4
  264. package/website/content/docs/architecture/overview.md +4 -4
  265. package/website/content/docs/architecture/stack-integration.md +4 -4
  266. package/website/content/docs/changelog.md +4 -4
  267. package/website/content/docs/contributing.md +2 -2
  268. package/website/content/docs/ecosystem/framework-support.md +0 -2
  269. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  270. package/website/content/docs/examples/Migration-Guides.md +2 -2
  271. package/website/content/docs/for-audiences/{architects.md → Architects.md} +1 -1
  272. package/website/content/docs/for-audiences/{developers.md → Developers.md} +3 -3
  273. package/website/content/docs/for-audiences/Enterprises.md +2 -2
  274. package/website/content/docs/for-audiences/Students-Researchers.md +1 -1
  275. package/website/content/docs/getting-started/{5-minute-overview.md → 5-Minute-Overview.md} +2 -2
  276. package/website/content/docs/getting-started/{first-agent.md → First-Agent.md} +1 -1
  277. package/website/content/docs/getting-started/Hello-World.md +3 -3
  278. package/website/content/docs/getting-started/{installation.md → Installation.md} +7 -7
  279. package/website/content/docs/getting-started/index.md +92 -0
  280. package/website/content/docs/getting-started/running-agents.md +215 -13
  281. package/{docs → website/content/docs}/getting-started.md +10 -6
  282. package/website/content/docs/integrations/aiflow.md +2 -2
  283. package/website/content/docs/integrations/drupal.md +2 -2
  284. package/website/content/docs/migration-guides/README.md +1 -1
  285. package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
  286. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +5 -5
  287. package/website/content/docs/migration-guides/crewai-to-ossa.md +3 -3
  288. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +11 -11
  289. package/{docs/migration → website/content/docs/migration-guides}/general-agent-schema.yml +1 -9
  290. package/website/content/docs/migration-guides/index.md +1 -1
  291. package/website/content/docs/migration-guides/langchain-to-ossa.md +17 -17
  292. package/website/content/docs/migration-guides/langflow-to-ossa.md +3 -3
  293. package/website/content/docs/migration-guides/openai-to-ossa.md +10 -10
  294. package/website/content/docs/openapi-extensions/examples.md +9 -9
  295. package/website/content/docs/openapi-extensions/index.md +59 -3
  296. package/website/content/docs/openapi-extensions/operation-extensions.md +61 -2
  297. package/website/content/docs/openapi-extensions/root-extensions.md +49 -3
  298. package/{docs/OSSA-COMPLIANT-BADGE.md → website/content/docs/ossa-compliant-badge.md} +18 -15
  299. package/website/content/docs/pre-release/index.md +10 -10
  300. package/website/content/docs/readme.md +35 -0
  301. package/website/content/docs/schema-reference/agent-spec.md +2 -2
  302. package/website/content/docs/schema-reference/autonomy.md +5 -5
  303. package/website/content/docs/schema-reference/constraints.md +5 -5
  304. package/website/content/docs/schema-reference/llm-config.md +1 -1
  305. package/website/content/docs/schema-reference/observability.md +5 -5
  306. package/website/content/docs/schema-reference/ossa-manifest.md +6 -6
  307. package/website/content/docs/schema-reference/taxonomy.md +3 -3
  308. package/website/content/docs/use-cases/00-index.md +1 -1
  309. package/{docs/VERSIONING.md → website/content/docs/versioning.md} +9 -5
  310. package/website/lib/version.ts +18 -1
  311. package/website/lib/versions.json +78 -0
  312. package/website/next.config.ts +3 -1
  313. package/website/package-lock.json +552 -18
  314. package/website/package.json +11 -5
  315. package/website/postcss.config.mjs +1 -1
  316. package/website/scripts/fetch-versions.js +166 -0
  317. package/website/scripts/generate-examples-index.js +163 -0
  318. package/website/scripts/merge-docs-to-wiki.ts +207 -0
  319. package/website/scripts/sync-version.js +28 -0
  320. package/website/scripts/sync-wiki.ts +64 -3
  321. package/website/scripts/upload-wiki.ts +199 -0
  322. package/website/styles/_variables.scss +36 -0
  323. package/website/tailwind.config.ts +93 -22
  324. package/.releaserc.json.disabled +0 -81
  325. package/dist/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  326. package/dist/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  327. package/dist/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  328. package/dist/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  329. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  330. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  331. package/docs/README.md +0 -31
  332. package/docs/agent-openapi-spec.yml +0 -942
  333. package/docs/openapi-extensions.md +0 -930
  334. package/docs/schemas/openapi-extensions.schema.json +0 -486
  335. package/openapi/gitlab-orchestrator.openapi.yaml +0 -330
  336. package/ossa-website-swarm-tasks.json +0 -105
  337. package/spec/v0.2.5-dev/CHANGELOG.md +0 -171
  338. package/spec/v0.2.5-dev/examples/customer-support-graph.ossa.yaml +0 -362
  339. package/spec/v0.2.5-dev/examples/parallel-processors.ossa.yaml +0 -464
  340. package/spec/v0.2.5-dev/examples/research-team.ossa.yaml +0 -440
  341. package/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  342. package/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  343. package/website/app/api/validate/route.ts +0 -88
  344. package/website/next.config.js +0 -17
  345. package/website/postcss.config.js +0 -7
  346. package/website/tailwind.config.js +0 -58
  347. /package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
  348. /package/openapi/{ossa-registry-api.openapi.yaml → core/ossa-registry-api.openapi.yaml} +0 -0
  349. /package/openapi/{drupal-agent-api.openapi.yaml → reference-implementations/drupal-agent-api.openapi.yaml} +0 -0
  350. /package/openapi/{helm-generator.openapi.yaml → reference-implementations/helm-generator.openapi.yaml} +0 -0
  351. /package/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.schema.json +0 -0
  352. /package/website/content/docs/{examples.md → Examples.md} +0 -0
  353. /package/website/content/docs/core-concepts/{project-structure.md → Project-Structure.md} +0 -0
  354. /package/website/content/docs/migration-guides/{00-index.md → 00-INDEX.md} +0 -0
  355. /package/{docs/migration → website/content/docs/migration-guides}/migration-manifest.json +0 -0
@@ -0,0 +1,1819 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://openstandardagents.org/schemas/v0.2.4/agent.json",
4
+ "title": "OssA v0.2.4 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. STABLE RELEASE - APIs may change.",
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\\.[0-9]+|0\\.2\\.x|0\\.2|0\\.[0-9]+\\.[0-9]+|0\\.[0-9]+\\.x|0\\.[0-9]+|0\\.x|0|1(\\.[0-9]+)?|1\\.x|1)(-dev)?|[0-9]+\\.[0-9]+\\.[0-9]+|[0-9]+\\.[0-9]+\\.x|[0-9]+\\.[0-9]+|[0-9]+\\.x|[0-9]+)(-[a-zA-Z0-9]+)?$",
17
+ "description": "OssA API version. Supports specific versions (ossa/v0.2.4), patch wildcards (ossa/v0.2.x or ossa/v0.2), minor wildcards (ossa/v0.x or ossa/v0), or major versions (ossa/v1, ossa/v1.x). Use wildcards to avoid updating manifests on every patch release. Wildcards resolve to the latest compatible version during validation.",
18
+ "examples": [
19
+ "ossa/v0.2.4",
20
+ "ossa/v0.2.x",
21
+ "ossa/v0.2",
22
+ "ossa/v0.2.4",
23
+ "ossa/v0.2.3",
24
+ "ossa/v0.2.2",
25
+ "ossa/v0.x",
26
+ "ossa/v0",
27
+ "ossa/v1",
28
+ "ossa/v1.x",
29
+ "ossa/v1.0"
30
+ ],
31
+ "x-version-resolution": {
32
+ "description": "How wildcard versions are resolved to specific versions during validation",
33
+ "rules": {
34
+ "ossa/v0.2.x": "Resolves to latest 0.2.x version (e.g., 0.2.4)",
35
+ "ossa/v0.2": "Same as ossa/v0.2.x",
36
+ "ossa/v0.x": "Resolves to latest 0.x.x version (e.g., 0.2.4)",
37
+ "ossa/v0": "Same as ossa/v0.x",
38
+ "ossa/v1.x": "Resolves to latest 1.x.x version",
39
+ "ossa/v1": "Resolves to latest 1.x.x version"
40
+ }
41
+ }
42
+ },
43
+ "kind": {
44
+ "type": "string",
45
+ "enum": [
46
+ "Agent"
47
+ ],
48
+ "description": "Resource type - currently only 'Agent' is supported"
49
+ },
50
+ "metadata": {
51
+ "$ref": "#/definitions/Metadata"
52
+ },
53
+ "spec": {
54
+ "$ref": "#/definitions/AgentSpec"
55
+ },
56
+ "extensions": {
57
+ "type": "object",
58
+ "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",
59
+ "properties": {
60
+ "kagent": {
61
+ "$ref": "#/definitions/KAgentExtension"
62
+ },
63
+ "buildkit": {
64
+ "$ref": "#/definitions/BuildKitExtension"
65
+ },
66
+ "drupal": {
67
+ "$ref": "#/definitions/DrupalExtension"
68
+ },
69
+ "librechat": {
70
+ "$ref": "#/definitions/LibreChatExtension"
71
+ },
72
+ "mcp": {
73
+ "$ref": "#/definitions/MCPExtension"
74
+ },
75
+ "langchain": {
76
+ "$ref": "#/definitions/LangChainExtension"
77
+ },
78
+ "crewai": {
79
+ "$ref": "#/definitions/CrewAIExtension"
80
+ },
81
+ "openai_agents": {
82
+ "$ref": "#/definitions/OpenAIAgentsExtension"
83
+ },
84
+ "cursor": {
85
+ "$ref": "#/definitions/CursorExtension"
86
+ },
87
+ "langflow": {
88
+ "$ref": "#/definitions/LangflowExtension"
89
+ },
90
+ "autogen": {
91
+ "$ref": "#/definitions/AutoGenExtension"
92
+ },
93
+ "vercel_ai": {
94
+ "$ref": "#/definitions/VercelAIExtension"
95
+ },
96
+ "llamaindex": {
97
+ "$ref": "#/definitions/LlamaIndexExtension"
98
+ },
99
+ "langgraph": {
100
+ "$ref": "#/definitions/LangGraphExtension"
101
+ },
102
+ "anthropic": {
103
+ "$ref": "#/definitions/AnthropicExtension"
104
+ },
105
+ "google_adk": {
106
+ "$ref": "#/definitions/GoogleADKExtension"
107
+ }
108
+ },
109
+ "additionalProperties": true
110
+ }
111
+ },
112
+ "additionalProperties": false,
113
+ "definitions": {
114
+ "Metadata": {
115
+ "type": "object",
116
+ "required": [
117
+ "name"
118
+ ],
119
+ "properties": {
120
+ "name": {
121
+ "type": "string",
122
+ "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?$",
123
+ "maxLength": 253,
124
+ "description": "Agent identifier (DNS-1123 subdomain format for Kubernetes compatibility)"
125
+ },
126
+ "version": {
127
+ "type": "string",
128
+ "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-]+)*))?$",
129
+ "description": "Semantic version (semver 2.0.0)"
130
+ },
131
+ "description": {
132
+ "type": "string",
133
+ "maxLength": 2000,
134
+ "description": "Human-readable description of agent purpose and capabilities"
135
+ },
136
+ "labels": {
137
+ "type": "object",
138
+ "additionalProperties": {
139
+ "type": "string",
140
+ "maxLength": 63
141
+ },
142
+ "description": "Key-value labels for organization and filtering"
143
+ },
144
+ "annotations": {
145
+ "type": "object",
146
+ "additionalProperties": {
147
+ "type": "string"
148
+ },
149
+ "description": "Arbitrary metadata for tooling (not used for filtering)"
150
+ }
151
+ },
152
+ "additionalProperties": false
153
+ },
154
+ "AgentSpec": {
155
+ "type": "object",
156
+ "required": [
157
+ "role"
158
+ ],
159
+ "properties": {
160
+ "taxonomy": {
161
+ "$ref": "#/definitions/Taxonomy"
162
+ },
163
+ "role": {
164
+ "type": "string",
165
+ "minLength": 1,
166
+ "description": "Agent role/system prompt describing behavior and capabilities"
167
+ },
168
+ "llm": {
169
+ "$ref": "#/definitions/LLMConfig"
170
+ },
171
+ "tools": {
172
+ "type": "array",
173
+ "items": {
174
+ "$ref": "#/definitions/Tool"
175
+ },
176
+ "description": "Available tools/capabilities for the agent"
177
+ },
178
+ "autonomy": {
179
+ "$ref": "#/definitions/Autonomy"
180
+ },
181
+ "constraints": {
182
+ "$ref": "#/definitions/Constraints"
183
+ },
184
+ "observability": {
185
+ "$ref": "#/definitions/Observability"
186
+ },
187
+ "state": {
188
+ "$ref": "#/definitions/State"
189
+ }
190
+ },
191
+ "additionalProperties": true
192
+ },
193
+ "Taxonomy": {
194
+ "type": "object",
195
+ "required": [
196
+ "domain"
197
+ ],
198
+ "properties": {
199
+ "domain": {
200
+ "type": "string",
201
+ "description": "Primary domain classification",
202
+ "examples": [
203
+ "infrastructure",
204
+ "security",
205
+ "compliance",
206
+ "documentation"
207
+ ]
208
+ },
209
+ "subdomain": {
210
+ "type": "string",
211
+ "description": "Secondary classification within domain",
212
+ "examples": [
213
+ "kubernetes",
214
+ "vulnerability",
215
+ "generation"
216
+ ]
217
+ },
218
+ "capability": {
219
+ "type": "string",
220
+ "description": "Specific capability or function",
221
+ "examples": [
222
+ "troubleshooting",
223
+ "scanning",
224
+ "optimization"
225
+ ]
226
+ }
227
+ },
228
+ "additionalProperties": false
229
+ },
230
+ "LLMConfig": {
231
+ "type": "object",
232
+ "required": [
233
+ "provider",
234
+ "model"
235
+ ],
236
+ "properties": {
237
+ "provider": {
238
+ "type": "string",
239
+ "enum": [
240
+ "openai",
241
+ "anthropic",
242
+ "google",
243
+ "azure",
244
+ "ollama",
245
+ "custom"
246
+ ],
247
+ "description": "LLM provider"
248
+ },
249
+ "model": {
250
+ "type": "string",
251
+ "description": "Model identifier",
252
+ "examples": [
253
+ "gpt-4",
254
+ "claude-3-sonnet-20240229",
255
+ "gemini-pro"
256
+ ]
257
+ },
258
+ "temperature": {
259
+ "type": "number",
260
+ "minimum": 0,
261
+ "maximum": 2,
262
+ "description": "Sampling temperature for response generation"
263
+ },
264
+ "maxTokens": {
265
+ "type": "integer",
266
+ "minimum": 1,
267
+ "description": "Maximum tokens per request"
268
+ },
269
+ "topP": {
270
+ "type": "number",
271
+ "minimum": 0,
272
+ "maximum": 1,
273
+ "description": "Nucleus sampling parameter"
274
+ },
275
+ "frequencyPenalty": {
276
+ "type": "number",
277
+ "minimum": -2,
278
+ "maximum": 2,
279
+ "description": "Frequency penalty for token generation"
280
+ },
281
+ "presencePenalty": {
282
+ "type": "number",
283
+ "minimum": -2,
284
+ "maximum": 2,
285
+ "description": "Presence penalty for token generation"
286
+ }
287
+ },
288
+ "additionalProperties": false
289
+ },
290
+ "Tool": {
291
+ "type": "object",
292
+ "required": [
293
+ "type"
294
+ ],
295
+ "properties": {
296
+ "type": {
297
+ "type": "string",
298
+ "enum": [
299
+ "mcp",
300
+ "kubernetes",
301
+ "http",
302
+ "grpc",
303
+ "function",
304
+ "a2a",
305
+ "custom"
306
+ ],
307
+ "description": "Tool integration type"
308
+ },
309
+ "name": {
310
+ "type": "string",
311
+ "description": "Tool name/identifier"
312
+ },
313
+ "description": {
314
+ "type": "string",
315
+ "description": "Human-readable description of what the tool does"
316
+ },
317
+ "server": {
318
+ "type": "string",
319
+ "description": "MCP server name (for type=mcp)"
320
+ },
321
+ "namespace": {
322
+ "type": "string",
323
+ "description": "Kubernetes namespace (for type=kubernetes or mcp)"
324
+ },
325
+ "endpoint": {
326
+ "type": "string",
327
+ "format": "uri",
328
+ "description": "HTTP/gRPC endpoint (for type=http/grpc)"
329
+ },
330
+ "capabilities": {
331
+ "type": "array",
332
+ "items": {
333
+ "$ref": "#/definitions/Capability"
334
+ },
335
+ "description": "Specific capabilities/operations from this tool"
336
+ },
337
+ "config": {
338
+ "type": "object",
339
+ "description": "Tool-specific configuration",
340
+ "additionalProperties": true
341
+ },
342
+ "auth": {
343
+ "type": "object",
344
+ "properties": {
345
+ "type": {
346
+ "type": "string",
347
+ "enum": [
348
+ "bearer",
349
+ "oauth2",
350
+ "mtls",
351
+ "apikey",
352
+ "none"
353
+ ]
354
+ },
355
+ "credentials": {
356
+ "type": "string",
357
+ "description": "Reference to secret/credential (not the actual secret)"
358
+ },
359
+ "scopes": {
360
+ "type": "array",
361
+ "items": {
362
+ "type": "string"
363
+ },
364
+ "description": "OAuth2 scopes or permission scopes required"
365
+ }
366
+ }
367
+ },
368
+ "transport": {
369
+ "$ref": "#/definitions/Transport"
370
+ },
371
+ "compliance_tags": {
372
+ "type": "array",
373
+ "items": {
374
+ "type": "string"
375
+ },
376
+ "description": "Compliance framework tags (e.g., 'pii', 'hipaa', 'gdpr', 'fedramp')"
377
+ }
378
+ },
379
+ "additionalProperties": false
380
+ },
381
+ "Capability": {
382
+ "oneOf": [
383
+ {
384
+ "type": "string"
385
+ },
386
+ {
387
+ "type": "object",
388
+ "properties": {
389
+ "name": {
390
+ "type": "string",
391
+ "description": "Capability name/identifier"
392
+ },
393
+ "description": {
394
+ "type": "string",
395
+ "description": "Human-readable description of the capability"
396
+ },
397
+ "version": {
398
+ "type": "string",
399
+ "pattern": "^[0-9]+\\.[0-9]+$",
400
+ "description": "Capability version (major.minor format)"
401
+ },
402
+ "deprecated": {
403
+ "type": "boolean",
404
+ "default": false,
405
+ "description": "Whether this capability is deprecated"
406
+ },
407
+ "deprecation_message": {
408
+ "type": "string",
409
+ "description": "Message explaining deprecation and migration path"
410
+ },
411
+ "input_schema": {
412
+ "type": "object",
413
+ "description": "JSON Schema for capability input"
414
+ },
415
+ "output_schema": {
416
+ "type": "object",
417
+ "description": "JSON Schema for capability output"
418
+ },
419
+ "transport": {
420
+ "$ref": "#/definitions/Transport"
421
+ },
422
+ "scopes": {
423
+ "type": "array",
424
+ "items": {
425
+ "type": "string"
426
+ },
427
+ "description": "Required permission scopes for this capability"
428
+ },
429
+ "compliance_tags": {
430
+ "type": "array",
431
+ "items": {
432
+ "type": "string"
433
+ },
434
+ "description": "Compliance framework tags for this capability"
435
+ }
436
+ },
437
+ "additionalProperties": false
438
+ }
439
+ ]
440
+ },
441
+ "Transport": {
442
+ "type": "object",
443
+ "description": "Transport metadata for protocol-specific configuration (v0.2.4)",
444
+ "properties": {
445
+ "protocol": {
446
+ "type": "string",
447
+ "enum": [
448
+ "http",
449
+ "grpc",
450
+ "a2a",
451
+ "mcp",
452
+ "websocket",
453
+ "custom"
454
+ ],
455
+ "description": "Transport protocol"
456
+ },
457
+ "streaming": {
458
+ "type": "string",
459
+ "enum": [
460
+ "none",
461
+ "request",
462
+ "response",
463
+ "bidirectional"
464
+ ],
465
+ "default": "none",
466
+ "description": "Streaming mode for the transport"
467
+ },
468
+ "binding": {
469
+ "type": "string",
470
+ "description": "Path or endpoint binding (e.g., '/api/v1/chat', 'myservice.MyMethod')"
471
+ },
472
+ "content_type": {
473
+ "type": "string",
474
+ "description": "Content type for HTTP transports",
475
+ "examples": [
476
+ "application/json",
477
+ "application/x-ndjson",
478
+ "text/event-stream"
479
+ ]
480
+ }
481
+ },
482
+ "additionalProperties": false
483
+ },
484
+ "State": {
485
+ "type": "object",
486
+ "description": "Agent state and memory configuration (v0.2.4)",
487
+ "properties": {
488
+ "mode": {
489
+ "type": "string",
490
+ "enum": [
491
+ "stateless",
492
+ "session",
493
+ "long_running"
494
+ ],
495
+ "default": "stateless",
496
+ "description": "State management mode"
497
+ },
498
+ "storage": {
499
+ "type": "object",
500
+ "properties": {
501
+ "type": {
502
+ "type": "string",
503
+ "enum": [
504
+ "memory",
505
+ "vector-db",
506
+ "kv",
507
+ "rdbms",
508
+ "custom"
509
+ ],
510
+ "default": "memory",
511
+ "description": "Storage backend type"
512
+ },
513
+ "retention": {
514
+ "type": "string",
515
+ "description": "Retention period (e.g., '30d', '1y', 'forever')",
516
+ "examples": [
517
+ "24h",
518
+ "7d",
519
+ "30d",
520
+ "1y",
521
+ "forever"
522
+ ]
523
+ },
524
+ "config": {
525
+ "type": "object",
526
+ "description": "Storage-specific configuration",
527
+ "additionalProperties": true
528
+ }
529
+ },
530
+ "additionalProperties": false
531
+ },
532
+ "context_window": {
533
+ "type": "object",
534
+ "properties": {
535
+ "max_messages": {
536
+ "type": "integer",
537
+ "minimum": 1,
538
+ "description": "Maximum messages to retain in context"
539
+ },
540
+ "max_tokens": {
541
+ "type": "integer",
542
+ "minimum": 1,
543
+ "description": "Maximum tokens to retain in context"
544
+ },
545
+ "strategy": {
546
+ "type": "string",
547
+ "enum": [
548
+ "sliding_window",
549
+ "summarization",
550
+ "importance_weighted"
551
+ ],
552
+ "default": "sliding_window",
553
+ "description": "Context management strategy"
554
+ }
555
+ },
556
+ "additionalProperties": false
557
+ }
558
+ },
559
+ "additionalProperties": false
560
+ },
561
+ "Autonomy": {
562
+ "type": "object",
563
+ "properties": {
564
+ "level": {
565
+ "type": "string",
566
+ "enum": [
567
+ "supervised",
568
+ "autonomous",
569
+ "fully_autonomous"
570
+ ],
571
+ "description": "Level of autonomy for agent decision-making"
572
+ },
573
+ "approval_required": {
574
+ "type": "boolean",
575
+ "description": "Whether human approval is required for actions"
576
+ },
577
+ "allowed_actions": {
578
+ "type": "array",
579
+ "items": {
580
+ "type": "string"
581
+ },
582
+ "description": "Whitelist of permitted actions"
583
+ },
584
+ "blocked_actions": {
585
+ "type": "array",
586
+ "items": {
587
+ "type": "string"
588
+ },
589
+ "description": "Blacklist of forbidden actions"
590
+ },
591
+ "escalation_policy": {
592
+ "type": "object",
593
+ "description": "Rules for escalating to human oversight"
594
+ }
595
+ },
596
+ "additionalProperties": false
597
+ },
598
+ "Constraints": {
599
+ "type": "object",
600
+ "properties": {
601
+ "cost": {
602
+ "type": "object",
603
+ "properties": {
604
+ "maxTokensPerDay": {
605
+ "type": "integer",
606
+ "minimum": 0
607
+ },
608
+ "maxTokensPerRequest": {
609
+ "type": "integer",
610
+ "minimum": 0
611
+ },
612
+ "maxCostPerDay": {
613
+ "type": "number",
614
+ "minimum": 0
615
+ },
616
+ "currency": {
617
+ "type": "string",
618
+ "pattern": "^[A-Z]{3}$",
619
+ "default": "USD"
620
+ }
621
+ }
622
+ },
623
+ "performance": {
624
+ "type": "object",
625
+ "properties": {
626
+ "maxLatencySeconds": {
627
+ "type": "number",
628
+ "minimum": 0
629
+ },
630
+ "maxConcurrentRequests": {
631
+ "type": "integer",
632
+ "minimum": 1
633
+ },
634
+ "timeoutSeconds": {
635
+ "type": "number",
636
+ "minimum": 0
637
+ }
638
+ }
639
+ },
640
+ "resources": {
641
+ "type": "object",
642
+ "properties": {
643
+ "cpu": {
644
+ "type": "string",
645
+ "description": "CPU limit (Kubernetes format: 100m, 1, 2.5)"
646
+ },
647
+ "memory": {
648
+ "type": "string",
649
+ "description": "Memory limit (Kubernetes format: 128Mi, 1Gi)"
650
+ },
651
+ "gpu": {
652
+ "type": "string",
653
+ "description": "GPU requirement"
654
+ }
655
+ }
656
+ }
657
+ },
658
+ "additionalProperties": false
659
+ },
660
+ "Observability": {
661
+ "type": "object",
662
+ "properties": {
663
+ "tracing": {
664
+ "type": "object",
665
+ "properties": {
666
+ "enabled": {
667
+ "type": "boolean",
668
+ "default": true
669
+ },
670
+ "exporter": {
671
+ "type": "string",
672
+ "enum": [
673
+ "otlp",
674
+ "jaeger",
675
+ "zipkin",
676
+ "custom"
677
+ ]
678
+ },
679
+ "endpoint": {
680
+ "type": "string",
681
+ "format": "uri"
682
+ }
683
+ }
684
+ },
685
+ "metrics": {
686
+ "type": "object",
687
+ "properties": {
688
+ "enabled": {
689
+ "type": "boolean",
690
+ "default": true
691
+ },
692
+ "exporter": {
693
+ "type": "string",
694
+ "enum": [
695
+ "prometheus",
696
+ "otlp",
697
+ "custom"
698
+ ]
699
+ },
700
+ "endpoint": {
701
+ "type": "string",
702
+ "format": "uri"
703
+ }
704
+ }
705
+ },
706
+ "logging": {
707
+ "type": "object",
708
+ "properties": {
709
+ "level": {
710
+ "type": "string",
711
+ "enum": [
712
+ "debug",
713
+ "info",
714
+ "warn",
715
+ "error"
716
+ ],
717
+ "default": "info"
718
+ },
719
+ "format": {
720
+ "type": "string",
721
+ "enum": [
722
+ "json",
723
+ "text"
724
+ ],
725
+ "default": "json"
726
+ }
727
+ }
728
+ }
729
+ },
730
+ "additionalProperties": false
731
+ },
732
+ "KAgentExtension": {
733
+ "type": "object",
734
+ "description": "kagent.dev Kubernetes-native agent deployment extension",
735
+ "properties": {
736
+ "kubernetes": {
737
+ "type": "object",
738
+ "properties": {
739
+ "namespace": {
740
+ "type": "string",
741
+ "default": "default",
742
+ "description": "Target Kubernetes namespace"
743
+ },
744
+ "labels": {
745
+ "type": "object",
746
+ "additionalProperties": {
747
+ "type": "string"
748
+ },
749
+ "description": "Kubernetes labels for agent CRD"
750
+ },
751
+ "annotations": {
752
+ "type": "object",
753
+ "additionalProperties": {
754
+ "type": "string"
755
+ },
756
+ "description": "Kubernetes annotations"
757
+ }
758
+ }
759
+ },
760
+ "deployment": {
761
+ "type": "object",
762
+ "properties": {
763
+ "replicas": {
764
+ "type": "integer",
765
+ "minimum": 1,
766
+ "default": 1
767
+ },
768
+ "strategy": {
769
+ "type": "string",
770
+ "enum": [
771
+ "rolling-update",
772
+ "recreate"
773
+ ],
774
+ "default": "rolling-update"
775
+ }
776
+ }
777
+ },
778
+ "api_version": {
779
+ "type": "string",
780
+ "description": "kagent.dev API version (e.g., kagent.dev/v1alpha2)",
781
+ "default": "kagent.dev/v1alpha2"
782
+ }
783
+ },
784
+ "additionalProperties": true
785
+ },
786
+ "BuildKitExtension": {
787
+ "type": "object",
788
+ "description": "Agent BuildKit deployment and orchestration extension",
789
+ "properties": {
790
+ "deployment": {
791
+ "type": "object",
792
+ "properties": {
793
+ "replicas": {
794
+ "type": "object",
795
+ "properties": {
796
+ "min": {
797
+ "type": "integer",
798
+ "default": 1
799
+ },
800
+ "max": {
801
+ "type": "integer",
802
+ "default": 4
803
+ }
804
+ }
805
+ }
806
+ }
807
+ },
808
+ "container": {
809
+ "type": "object",
810
+ "properties": {
811
+ "image": {
812
+ "type": "string",
813
+ "description": "Container image"
814
+ },
815
+ "runtime": {
816
+ "type": "string",
817
+ "enum": [
818
+ "docker",
819
+ "podman",
820
+ "containerd"
821
+ ],
822
+ "default": "docker"
823
+ },
824
+ "resources": {
825
+ "type": "object",
826
+ "description": "Container resource limits"
827
+ }
828
+ }
829
+ }
830
+ },
831
+ "additionalProperties": true
832
+ },
833
+ "DrupalExtension": {
834
+ "type": "object",
835
+ "description": "Drupal LLM Platform integration extension",
836
+ "properties": {
837
+ "module": {
838
+ "type": "string",
839
+ "pattern": "^[a-z][a-z0-9_]*$",
840
+ "description": "Drupal module that owns this agent"
841
+ },
842
+ "service": {
843
+ "type": "string",
844
+ "pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$",
845
+ "description": "Drupal service ID (module.service format)"
846
+ },
847
+ "dependencies": {
848
+ "type": "array",
849
+ "items": {
850
+ "type": "string",
851
+ "pattern": "^[a-z][a-z0-9_]*$"
852
+ },
853
+ "description": "Required Drupal modules"
854
+ },
855
+ "database": {
856
+ "type": "object",
857
+ "properties": {
858
+ "tables": {
859
+ "type": "array",
860
+ "items": {
861
+ "type": "string"
862
+ }
863
+ },
864
+ "migrations": {
865
+ "type": "array",
866
+ "items": {
867
+ "type": "string"
868
+ }
869
+ }
870
+ }
871
+ }
872
+ },
873
+ "additionalProperties": true
874
+ },
875
+ "LibreChatExtension": {
876
+ "type": "object",
877
+ "description": "LibreChat integration extension",
878
+ "properties": {
879
+ "enabled": {
880
+ "type": "boolean",
881
+ "default": true
882
+ },
883
+ "agent_id": {
884
+ "type": "string",
885
+ "description": "LibreChat agent identifier"
886
+ },
887
+ "endpoint": {
888
+ "type": "string",
889
+ "format": "uri",
890
+ "description": "LibreChat API endpoint"
891
+ },
892
+ "authentication": {
893
+ "type": "object",
894
+ "description": "LibreChat authentication configuration"
895
+ }
896
+ },
897
+ "additionalProperties": true
898
+ },
899
+ "MCPExtension": {
900
+ "type": "object",
901
+ "description": "Model Context Protocol (MCP) extension",
902
+ "properties": {
903
+ "enabled": {
904
+ "type": "boolean",
905
+ "default": true
906
+ },
907
+ "server_type": {
908
+ "type": "string",
909
+ "enum": [
910
+ "stdio",
911
+ "sse",
912
+ "websocket"
913
+ ],
914
+ "default": "stdio"
915
+ },
916
+ "server_name": {
917
+ "type": "string",
918
+ "description": "MCP server name"
919
+ },
920
+ "config": {
921
+ "type": "object",
922
+ "description": "MCP server configuration"
923
+ }
924
+ },
925
+ "additionalProperties": true
926
+ },
927
+ "LangChainExtension": {
928
+ "type": "object",
929
+ "description": "LangChain framework integration extension",
930
+ "properties": {
931
+ "enabled": {
932
+ "type": "boolean",
933
+ "default": false
934
+ },
935
+ "tool_class": {
936
+ "type": "string",
937
+ "description": "LangChain tool class name"
938
+ },
939
+ "chain_type": {
940
+ "type": "string",
941
+ "enum": [
942
+ "llm",
943
+ "retrieval",
944
+ "agent",
945
+ "sequential",
946
+ "custom"
947
+ ]
948
+ },
949
+ "memory": {
950
+ "type": "object",
951
+ "properties": {
952
+ "type": {
953
+ "type": "string",
954
+ "enum": [
955
+ "buffer",
956
+ "summary",
957
+ "conversation",
958
+ "vector"
959
+ ]
960
+ },
961
+ "max_tokens": {
962
+ "type": "integer"
963
+ }
964
+ }
965
+ }
966
+ },
967
+ "additionalProperties": true
968
+ },
969
+ "CrewAIExtension": {
970
+ "type": "object",
971
+ "description": "CrewAI framework integration extension",
972
+ "properties": {
973
+ "enabled": {
974
+ "type": "boolean",
975
+ "default": false
976
+ },
977
+ "agent_type": {
978
+ "type": "string",
979
+ "enum": [
980
+ "worker",
981
+ "manager",
982
+ "researcher",
983
+ "analyst",
984
+ "custom"
985
+ ]
986
+ },
987
+ "role": {
988
+ "type": "string",
989
+ "description": "CrewAI agent role"
990
+ },
991
+ "goal": {
992
+ "type": "string",
993
+ "description": "CrewAI agent goal"
994
+ },
995
+ "backstory": {
996
+ "type": "string",
997
+ "description": "CrewAI agent backstory"
998
+ },
999
+ "tools": {
1000
+ "type": "array",
1001
+ "items": {
1002
+ "type": "string"
1003
+ },
1004
+ "description": "CrewAI tool names"
1005
+ }
1006
+ },
1007
+ "additionalProperties": true
1008
+ },
1009
+ "OpenAIAgentsExtension": {
1010
+ "type": "object",
1011
+ "description": "OpenAI Agents SDK integration extension",
1012
+ "properties": {
1013
+ "enabled": {
1014
+ "type": "boolean",
1015
+ "default": false,
1016
+ "description": "Enable OpenAI Agents SDK bridge"
1017
+ },
1018
+ "agent_id": {
1019
+ "type": "string",
1020
+ "description": "OpenAI agent ID (optional, auto-generated if not provided)"
1021
+ },
1022
+ "instructions": {
1023
+ "type": "string",
1024
+ "description": "Agent instructions/prompt (overrides spec.role if provided)"
1025
+ },
1026
+ "model": {
1027
+ "type": "string",
1028
+ "enum": [
1029
+ "gpt-4o",
1030
+ "gpt-4o-mini",
1031
+ "gpt-4-turbo",
1032
+ "gpt-3.5-turbo"
1033
+ ],
1034
+ "default": "gpt-4o-mini",
1035
+ "description": "OpenAI model to use for the agent"
1036
+ },
1037
+ "tools_mapping": {
1038
+ "type": "array",
1039
+ "description": "Map OssA capabilities to OpenAI tools",
1040
+ "items": {
1041
+ "type": "object",
1042
+ "required": [
1043
+ "ossa_capability"
1044
+ ],
1045
+ "properties": {
1046
+ "ossa_capability": {
1047
+ "type": "string",
1048
+ "description": "OssA capability name to map"
1049
+ },
1050
+ "openai_tool_name": {
1051
+ "type": "string",
1052
+ "description": "OpenAI tool name (defaults to ossa_capability if not provided)"
1053
+ },
1054
+ "description": {
1055
+ "type": "string",
1056
+ "description": "Tool description (defaults to OssA capability description)"
1057
+ },
1058
+ "parameters": {
1059
+ "type": "object",
1060
+ "description": "OpenAI tool parameter schema (auto-generated from OssA input_schema if not provided)"
1061
+ }
1062
+ },
1063
+ "additionalProperties": false
1064
+ }
1065
+ },
1066
+ "sub_agents": {
1067
+ "type": "array",
1068
+ "description": "Sub-agent handoffs configuration",
1069
+ "items": {
1070
+ "type": "object",
1071
+ "required": [
1072
+ "agent_id",
1073
+ "ossa_agent_ref"
1074
+ ],
1075
+ "properties": {
1076
+ "agent_id": {
1077
+ "type": "string",
1078
+ "description": "OpenAI sub-agent identifier"
1079
+ },
1080
+ "ossa_agent_ref": {
1081
+ "type": "string",
1082
+ "description": "Reference to OssA agent (metadata.name or agent ID)"
1083
+ },
1084
+ "handoff_conditions": {
1085
+ "type": "array",
1086
+ "items": {
1087
+ "type": "string"
1088
+ },
1089
+ "description": "Conditions that trigger handoff to this sub-agent"
1090
+ },
1091
+ "instructions": {
1092
+ "type": "string",
1093
+ "description": "Sub-agent specific instructions"
1094
+ }
1095
+ },
1096
+ "additionalProperties": false
1097
+ }
1098
+ },
1099
+ "guardrails": {
1100
+ "type": "object",
1101
+ "description": "Safety guardrails configuration",
1102
+ "properties": {
1103
+ "enabled": {
1104
+ "type": "boolean",
1105
+ "default": true
1106
+ },
1107
+ "policies": {
1108
+ "type": "array",
1109
+ "items": {
1110
+ "type": "string"
1111
+ },
1112
+ "description": "Guardrail policy names (maps to OssA compliance frameworks)"
1113
+ },
1114
+ "max_tool_calls": {
1115
+ "type": "integer",
1116
+ "minimum": 1,
1117
+ "description": "Maximum tool calls per agent execution"
1118
+ },
1119
+ "timeout_seconds": {
1120
+ "type": "integer",
1121
+ "minimum": 1,
1122
+ "description": "Maximum execution time in seconds"
1123
+ }
1124
+ },
1125
+ "additionalProperties": false
1126
+ },
1127
+ "memory": {
1128
+ "type": "object",
1129
+ "description": "Session memory configuration",
1130
+ "properties": {
1131
+ "enabled": {
1132
+ "type": "boolean",
1133
+ "default": false
1134
+ },
1135
+ "type": {
1136
+ "type": "string",
1137
+ "enum": [
1138
+ "session",
1139
+ "persistent"
1140
+ ],
1141
+ "default": "session",
1142
+ "description": "Memory storage type"
1143
+ },
1144
+ "max_messages": {
1145
+ "type": "integer",
1146
+ "minimum": 1,
1147
+ "description": "Maximum messages to retain in memory"
1148
+ }
1149
+ },
1150
+ "additionalProperties": false
1151
+ },
1152
+ "tracing": {
1153
+ "type": "object",
1154
+ "description": "Observability and tracing configuration",
1155
+ "properties": {
1156
+ "enabled": {
1157
+ "type": "boolean",
1158
+ "default": true
1159
+ },
1160
+ "provider": {
1161
+ "type": "string",
1162
+ "enum": [
1163
+ "langfuse",
1164
+ "langsmith",
1165
+ "custom"
1166
+ ],
1167
+ "default": "langfuse",
1168
+ "description": "Tracing provider"
1169
+ },
1170
+ "endpoint": {
1171
+ "type": "string",
1172
+ "format": "uri",
1173
+ "description": "Custom tracing endpoint (for provider=custom)"
1174
+ }
1175
+ },
1176
+ "additionalProperties": false
1177
+ }
1178
+ },
1179
+ "additionalProperties": true
1180
+ },
1181
+ "CursorExtension": {
1182
+ "type": "object",
1183
+ "description": "Cursor IDE agent integration extension",
1184
+ "properties": {
1185
+ "enabled": {
1186
+ "type": "boolean",
1187
+ "default": true,
1188
+ "description": "Enable Cursor IDE integration"
1189
+ },
1190
+ "agent_type": {
1191
+ "type": "string",
1192
+ "enum": [
1193
+ "composer",
1194
+ "chat",
1195
+ "background",
1196
+ "cloud"
1197
+ ],
1198
+ "default": "composer",
1199
+ "description": "Cursor agent type (composer, chat, background, or cloud)"
1200
+ },
1201
+ "workspace_config": {
1202
+ "type": "object",
1203
+ "properties": {
1204
+ "rules_file": {
1205
+ "type": "string",
1206
+ "description": "Path to .cursorrules file (default: .cursor/.cursorrules)"
1207
+ },
1208
+ "context_files": {
1209
+ "type": "array",
1210
+ "items": {
1211
+ "type": "string"
1212
+ },
1213
+ "description": "Files to include in agent context"
1214
+ },
1215
+ "ignore_patterns": {
1216
+ "type": "array",
1217
+ "items": {
1218
+ "type": "string"
1219
+ },
1220
+ "description": "Glob patterns to exclude from context"
1221
+ }
1222
+ }
1223
+ },
1224
+ "capabilities": {
1225
+ "type": "object",
1226
+ "properties": {
1227
+ "code_generation": {
1228
+ "type": "boolean",
1229
+ "default": true
1230
+ },
1231
+ "code_review": {
1232
+ "type": "boolean",
1233
+ "default": false
1234
+ },
1235
+ "refactoring": {
1236
+ "type": "boolean",
1237
+ "default": false
1238
+ },
1239
+ "testing": {
1240
+ "type": "boolean",
1241
+ "default": false
1242
+ }
1243
+ }
1244
+ },
1245
+ "model": {
1246
+ "type": "object",
1247
+ "properties": {
1248
+ "provider": {
1249
+ "type": "string",
1250
+ "enum": [
1251
+ "openai",
1252
+ "anthropic",
1253
+ "custom"
1254
+ ],
1255
+ "default": "openai"
1256
+ },
1257
+ "name": {
1258
+ "type": "string",
1259
+ "description": "Model name (e.g., gpt-4, claude-3-opus)"
1260
+ }
1261
+ }
1262
+ }
1263
+ },
1264
+ "additionalProperties": true
1265
+ },
1266
+ "LangflowExtension": {
1267
+ "type": "object",
1268
+ "description": "Langflow workflow orchestration extension",
1269
+ "properties": {
1270
+ "enabled": {
1271
+ "type": "boolean",
1272
+ "default": false,
1273
+ "description": "Enable Langflow integration"
1274
+ },
1275
+ "flow_id": {
1276
+ "type": "string",
1277
+ "description": "Langflow flow identifier"
1278
+ },
1279
+ "flow_name": {
1280
+ "type": "string",
1281
+ "description": "Human-readable flow name"
1282
+ },
1283
+ "endpoint": {
1284
+ "type": "string",
1285
+ "format": "uri",
1286
+ "description": "Langflow API endpoint"
1287
+ },
1288
+ "api_key": {
1289
+ "type": "string",
1290
+ "description": "Langflow API key (reference to secret)"
1291
+ },
1292
+ "components": {
1293
+ "type": "array",
1294
+ "description": "Langflow components used in this agent",
1295
+ "items": {
1296
+ "type": "object",
1297
+ "properties": {
1298
+ "id": {
1299
+ "type": "string"
1300
+ },
1301
+ "type": {
1302
+ "type": "string"
1303
+ },
1304
+ "name": {
1305
+ "type": "string"
1306
+ }
1307
+ }
1308
+ }
1309
+ },
1310
+ "dataflow": {
1311
+ "type": "object",
1312
+ "description": "Data flow configuration between components"
1313
+ }
1314
+ },
1315
+ "additionalProperties": true
1316
+ },
1317
+ "AutoGenExtension": {
1318
+ "type": "object",
1319
+ "description": "AutoGen multi-agent framework extension",
1320
+ "properties": {
1321
+ "enabled": {
1322
+ "type": "boolean",
1323
+ "default": false,
1324
+ "description": "Enable AutoGen integration"
1325
+ },
1326
+ "agent_type": {
1327
+ "type": "string",
1328
+ "enum": [
1329
+ "assistant",
1330
+ "user_proxy",
1331
+ "groupchat",
1332
+ "custom"
1333
+ ],
1334
+ "description": "AutoGen agent type"
1335
+ },
1336
+ "system_message": {
1337
+ "type": "string",
1338
+ "description": "System message for AutoGen agent (overrides spec.role if provided)"
1339
+ },
1340
+ "human_input_mode": {
1341
+ "type": "string",
1342
+ "enum": [
1343
+ "ALWAYS",
1344
+ "NEVER",
1345
+ "TERMINATE"
1346
+ ],
1347
+ "default": "NEVER",
1348
+ "description": "When to request human input"
1349
+ },
1350
+ "code_execution": {
1351
+ "type": "object",
1352
+ "properties": {
1353
+ "enabled": {
1354
+ "type": "boolean",
1355
+ "default": false
1356
+ },
1357
+ "work_dir": {
1358
+ "type": "string",
1359
+ "description": "Working directory for code execution"
1360
+ },
1361
+ "use_docker": {
1362
+ "type": "boolean",
1363
+ "default": false,
1364
+ "description": "Execute code in Docker container"
1365
+ }
1366
+ }
1367
+ },
1368
+ "max_consecutive_auto_reply": {
1369
+ "type": "integer",
1370
+ "minimum": 1,
1371
+ "default": 10,
1372
+ "description": "Maximum consecutive auto-replies before human input"
1373
+ },
1374
+ "groupchat": {
1375
+ "type": "object",
1376
+ "description": "Group chat configuration (for agent_type=groupchat)",
1377
+ "properties": {
1378
+ "agents": {
1379
+ "type": "array",
1380
+ "items": {
1381
+ "type": "string"
1382
+ },
1383
+ "description": "Other agent IDs in the group"
1384
+ },
1385
+ "max_round": {
1386
+ "type": "integer",
1387
+ "minimum": 1,
1388
+ "description": "Maximum rounds in group chat"
1389
+ }
1390
+ }
1391
+ }
1392
+ },
1393
+ "additionalProperties": true
1394
+ },
1395
+ "VercelAIExtension": {
1396
+ "type": "object",
1397
+ "description": "Vercel AI SDK integration extension",
1398
+ "properties": {
1399
+ "enabled": {
1400
+ "type": "boolean",
1401
+ "default": false,
1402
+ "description": "Enable Vercel AI SDK integration"
1403
+ },
1404
+ "runtime": {
1405
+ "type": "string",
1406
+ "enum": [
1407
+ "edge",
1408
+ "nodejs"
1409
+ ],
1410
+ "default": "edge",
1411
+ "description": "Runtime environment (edge or nodejs)"
1412
+ },
1413
+ "stream": {
1414
+ "type": "boolean",
1415
+ "default": true,
1416
+ "description": "Enable streaming responses"
1417
+ },
1418
+ "route": {
1419
+ "type": "string",
1420
+ "description": "API route path (e.g., /api/chat)"
1421
+ },
1422
+ "tools": {
1423
+ "type": "array",
1424
+ "description": "Vercel AI SDK tools configuration",
1425
+ "items": {
1426
+ "type": "object",
1427
+ "properties": {
1428
+ "name": {
1429
+ "type": "string"
1430
+ },
1431
+ "description": {
1432
+ "type": "string"
1433
+ },
1434
+ "parameters": {
1435
+ "type": "object",
1436
+ "description": "Tool parameters schema (JSON Schema)"
1437
+ }
1438
+ }
1439
+ }
1440
+ },
1441
+ "experimental": {
1442
+ "type": "object",
1443
+ "description": "Experimental Vercel AI SDK features",
1444
+ "additionalProperties": true
1445
+ }
1446
+ },
1447
+ "additionalProperties": true
1448
+ },
1449
+ "LlamaIndexExtension": {
1450
+ "type": "object",
1451
+ "description": "LlamaIndex framework integration extension",
1452
+ "properties": {
1453
+ "enabled": {
1454
+ "type": "boolean",
1455
+ "default": false,
1456
+ "description": "Enable LlamaIndex integration"
1457
+ },
1458
+ "agent_type": {
1459
+ "type": "string",
1460
+ "enum": [
1461
+ "query_engine",
1462
+ "chat_engine",
1463
+ "retriever",
1464
+ "custom"
1465
+ ],
1466
+ "description": "LlamaIndex agent/engine type"
1467
+ },
1468
+ "llm": {
1469
+ "type": "object",
1470
+ "properties": {
1471
+ "provider": {
1472
+ "type": "string",
1473
+ "enum": [
1474
+ "openai",
1475
+ "anthropic",
1476
+ "local",
1477
+ "custom"
1478
+ ]
1479
+ },
1480
+ "model": {
1481
+ "type": "string"
1482
+ },
1483
+ "temperature": {
1484
+ "type": "number",
1485
+ "minimum": 0,
1486
+ "maximum": 2
1487
+ }
1488
+ }
1489
+ },
1490
+ "vector_store": {
1491
+ "type": "object",
1492
+ "description": "Vector store configuration for RAG",
1493
+ "properties": {
1494
+ "type": {
1495
+ "type": "string",
1496
+ "enum": [
1497
+ "pinecone",
1498
+ "weaviate",
1499
+ "chroma",
1500
+ "qdrant",
1501
+ "milvus",
1502
+ "custom"
1503
+ ]
1504
+ },
1505
+ "config": {
1506
+ "type": "object",
1507
+ "additionalProperties": true
1508
+ }
1509
+ }
1510
+ },
1511
+ "retrieval": {
1512
+ "type": "object",
1513
+ "description": "Retrieval configuration",
1514
+ "properties": {
1515
+ "top_k": {
1516
+ "type": "integer",
1517
+ "minimum": 1,
1518
+ "default": 5,
1519
+ "description": "Number of documents to retrieve"
1520
+ },
1521
+ "similarity_top_k": {
1522
+ "type": "integer",
1523
+ "minimum": 1
1524
+ }
1525
+ }
1526
+ },
1527
+ "tools": {
1528
+ "type": "array",
1529
+ "description": "LlamaIndex tools/query modules",
1530
+ "items": {
1531
+ "type": "object",
1532
+ "properties": {
1533
+ "name": {
1534
+ "type": "string"
1535
+ },
1536
+ "type": {
1537
+ "type": "string"
1538
+ }
1539
+ }
1540
+ }
1541
+ }
1542
+ },
1543
+ "additionalProperties": true
1544
+ },
1545
+ "LangGraphExtension": {
1546
+ "type": "object",
1547
+ "description": "LangGraph state machine agent extension",
1548
+ "properties": {
1549
+ "enabled": {
1550
+ "type": "boolean",
1551
+ "default": false,
1552
+ "description": "Enable LangGraph integration"
1553
+ },
1554
+ "graph_name": {
1555
+ "type": "string",
1556
+ "description": "LangGraph graph/state machine name"
1557
+ },
1558
+ "state_schema": {
1559
+ "type": "object",
1560
+ "description": "State schema definition (TypedDict structure)"
1561
+ },
1562
+ "nodes": {
1563
+ "type": "array",
1564
+ "description": "Graph nodes configuration",
1565
+ "items": {
1566
+ "type": "object",
1567
+ "properties": {
1568
+ "name": {
1569
+ "type": "string"
1570
+ },
1571
+ "function": {
1572
+ "type": "string",
1573
+ "description": "Node function name"
1574
+ }
1575
+ }
1576
+ }
1577
+ },
1578
+ "edges": {
1579
+ "type": "array",
1580
+ "description": "Graph edges/transitions",
1581
+ "items": {
1582
+ "type": "object",
1583
+ "properties": {
1584
+ "from": {
1585
+ "type": "string"
1586
+ },
1587
+ "to": {
1588
+ "type": "string"
1589
+ },
1590
+ "condition": {
1591
+ "type": "string",
1592
+ "description": "Condition function name (optional)"
1593
+ }
1594
+ }
1595
+ }
1596
+ },
1597
+ "checkpoint": {
1598
+ "type": "object",
1599
+ "description": "Checkpoint configuration for state persistence",
1600
+ "properties": {
1601
+ "enabled": {
1602
+ "type": "boolean",
1603
+ "default": false
1604
+ },
1605
+ "type": {
1606
+ "type": "string",
1607
+ "enum": [
1608
+ "memory",
1609
+ "sqlite",
1610
+ "postgres",
1611
+ "custom"
1612
+ ]
1613
+ }
1614
+ }
1615
+ }
1616
+ },
1617
+ "additionalProperties": true
1618
+ },
1619
+ "AnthropicExtension": {
1620
+ "type": "object",
1621
+ "description": "Anthropic Claude API integration extension",
1622
+ "properties": {
1623
+ "enabled": {
1624
+ "type": "boolean",
1625
+ "default": false,
1626
+ "description": "Enable Anthropic Claude integration"
1627
+ },
1628
+ "model": {
1629
+ "type": "string",
1630
+ "enum": [
1631
+ "claude-3-5-sonnet-20241022",
1632
+ "claude-3-5-haiku-20241022",
1633
+ "claude-3-opus-20240229",
1634
+ "claude-3-sonnet-20240229",
1635
+ "claude-3-haiku-20240307"
1636
+ ],
1637
+ "default": "claude-3-5-sonnet-20241022",
1638
+ "description": "Claude model version"
1639
+ },
1640
+ "system": {
1641
+ "type": "string",
1642
+ "description": "System prompt (overrides spec.role if provided)"
1643
+ },
1644
+ "max_tokens": {
1645
+ "type": "integer",
1646
+ "minimum": 1,
1647
+ "maximum": 4096,
1648
+ "default": 4096,
1649
+ "description": "Maximum tokens in response"
1650
+ },
1651
+ "temperature": {
1652
+ "type": "number",
1653
+ "minimum": 0,
1654
+ "maximum": 1,
1655
+ "default": 1,
1656
+ "description": "Sampling temperature"
1657
+ },
1658
+ "tools": {
1659
+ "type": "array",
1660
+ "description": "Claude tools/capabilities",
1661
+ "items": {
1662
+ "type": "object",
1663
+ "properties": {
1664
+ "name": {
1665
+ "type": "string"
1666
+ },
1667
+ "description": {
1668
+ "type": "string"
1669
+ },
1670
+ "input_schema": {
1671
+ "type": "object",
1672
+ "description": "Tool input schema (JSON Schema)"
1673
+ }
1674
+ },
1675
+ "required": [
1676
+ "name",
1677
+ "description",
1678
+ "input_schema"
1679
+ ]
1680
+ }
1681
+ },
1682
+ "streaming": {
1683
+ "type": "boolean",
1684
+ "default": false,
1685
+ "description": "Enable streaming responses"
1686
+ },
1687
+ "stop_sequences": {
1688
+ "type": "array",
1689
+ "items": {
1690
+ "type": "string"
1691
+ },
1692
+ "description": "Stop sequences for response generation"
1693
+ }
1694
+ },
1695
+ "additionalProperties": true
1696
+ },
1697
+ "GoogleADKExtension": {
1698
+ "type": "object",
1699
+ "description": "Google Agent Development Kit (ADK) integration extension (v0.2.4)",
1700
+ "properties": {
1701
+ "enabled": {
1702
+ "type": "boolean",
1703
+ "default": false,
1704
+ "description": "Enable Google ADK integration"
1705
+ },
1706
+ "agent_type": {
1707
+ "type": "string",
1708
+ "enum": [
1709
+ "llm_agent",
1710
+ "sequential_agent",
1711
+ "parallel_agent",
1712
+ "loop_agent",
1713
+ "custom"
1714
+ ],
1715
+ "default": "llm_agent",
1716
+ "description": "ADK agent type"
1717
+ },
1718
+ "model": {
1719
+ "type": "string",
1720
+ "description": "Gemini model to use",
1721
+ "examples": [
1722
+ "gemini-2.0-flash-exp",
1723
+ "gemini-1.5-pro"
1724
+ ]
1725
+ },
1726
+ "instruction": {
1727
+ "type": "string",
1728
+ "description": "Agent instruction (overrides spec.role if provided)"
1729
+ },
1730
+ "tools": {
1731
+ "type": "array",
1732
+ "description": "ADK tools configuration",
1733
+ "items": {
1734
+ "type": "object",
1735
+ "properties": {
1736
+ "name": {
1737
+ "type": "string"
1738
+ },
1739
+ "type": {
1740
+ "type": "string",
1741
+ "enum": [
1742
+ "function",
1743
+ "agent",
1744
+ "mcp_server"
1745
+ ]
1746
+ },
1747
+ "config": {
1748
+ "type": "object",
1749
+ "additionalProperties": true
1750
+ }
1751
+ }
1752
+ }
1753
+ },
1754
+ "sub_agents": {
1755
+ "type": "array",
1756
+ "description": "Sub-agent references for orchestration",
1757
+ "items": {
1758
+ "type": "string"
1759
+ }
1760
+ },
1761
+ "session": {
1762
+ "type": "object",
1763
+ "description": "Session management configuration",
1764
+ "properties": {
1765
+ "service": {
1766
+ "type": "string",
1767
+ "enum": [
1768
+ "in_memory",
1769
+ "database",
1770
+ "vertex_ai"
1771
+ ],
1772
+ "default": "in_memory"
1773
+ },
1774
+ "state_schema": {
1775
+ "type": "object",
1776
+ "description": "Session state schema"
1777
+ }
1778
+ }
1779
+ },
1780
+ "memory": {
1781
+ "type": "object",
1782
+ "description": "Memory service configuration",
1783
+ "properties": {
1784
+ "enabled": {
1785
+ "type": "boolean",
1786
+ "default": false
1787
+ },
1788
+ "service": {
1789
+ "type": "string",
1790
+ "enum": [
1791
+ "in_memory",
1792
+ "vertex_ai_rag"
1793
+ ]
1794
+ }
1795
+ }
1796
+ },
1797
+ "callbacks": {
1798
+ "type": "object",
1799
+ "description": "Lifecycle callbacks",
1800
+ "properties": {
1801
+ "before_agent_callback": {
1802
+ "type": "string"
1803
+ },
1804
+ "after_agent_callback": {
1805
+ "type": "string"
1806
+ },
1807
+ "before_model_callback": {
1808
+ "type": "string"
1809
+ },
1810
+ "after_model_callback": {
1811
+ "type": "string"
1812
+ }
1813
+ }
1814
+ }
1815
+ },
1816
+ "additionalProperties": true
1817
+ }
1818
+ }
1819
+ }