@bluefly/openstandardagents 0.2.7 → 0.2.9

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