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