|
59 | 59 | }, |
60 | 60 | "rag": { |
61 | 61 | "type": "object", |
62 | | - "description": "Map of RAG (Retrieval-Augmented Generation) configurations", |
| 62 | + "description": "Map of reusable RAG source definitions. Define RAG sources here and reference them by name from agent toolsets to avoid duplication.", |
63 | 63 | "additionalProperties": { |
64 | | - "$ref": "#/definitions/RAGConfig" |
| 64 | + "$ref": "#/definitions/RAGToolset" |
65 | 65 | } |
66 | 66 | }, |
67 | 67 | "metadata": { |
|
299 | 299 | ], |
300 | 300 | "additionalProperties": false |
301 | 301 | }, |
302 | | - "rag": { |
303 | | - "type": "array", |
304 | | - "description": "List of RAG sources to use for this agent", |
305 | | - "items": { |
306 | | - "type": "string" |
307 | | - } |
308 | | - }, |
309 | 302 | "add_description_parameter": { |
310 | 303 | "type": "boolean", |
311 | 304 | "description": "Whether to add a 'description' parameter to tool calls, allowing the LLM to provide context about why it is calling a tool" |
|
807 | 800 | ], |
808 | 801 | "additionalProperties": false |
809 | 802 | }, |
| 803 | + "RAGToolset": { |
| 804 | + "type": "object", |
| 805 | + "description": "Reusable RAG source definition. Define once at the top level and reference by name from agent toolsets. RAG config fields (tool, docs, strategies, results, respect_vcs) are specified directly alongside toolset fields.", |
| 806 | + "allOf": [ |
| 807 | + { |
| 808 | + "$ref": "#/definitions/RAGConfig" |
| 809 | + }, |
| 810 | + { |
| 811 | + "type": "object", |
| 812 | + "properties": { |
| 813 | + "instruction": { |
| 814 | + "type": "string", |
| 815 | + "description": "Custom instruction for this RAG source" |
| 816 | + }, |
| 817 | + "tools": { |
| 818 | + "type": "array", |
| 819 | + "description": "Optional list of tools to expose", |
| 820 | + "items": { |
| 821 | + "type": "string" |
| 822 | + } |
| 823 | + }, |
| 824 | + "name": { |
| 825 | + "type": "string", |
| 826 | + "description": "Optional display name override for the RAG tool" |
| 827 | + }, |
| 828 | + "defer": { |
| 829 | + "description": "Deferred loading configuration", |
| 830 | + "oneOf": [ |
| 831 | + { |
| 832 | + "type": "boolean", |
| 833 | + "description": "Set to true to defer all tools" |
| 834 | + }, |
| 835 | + { |
| 836 | + "type": "array", |
| 837 | + "description": "Array of tool names to defer", |
| 838 | + "items": { |
| 839 | + "type": "string" |
| 840 | + } |
| 841 | + } |
| 842 | + ] |
| 843 | + } |
| 844 | + } |
| 845 | + } |
| 846 | + ] |
| 847 | + }, |
810 | 848 | "Toolset": { |
811 | 849 | "type": "object", |
812 | 850 | "description": "Tool configuration", |
|
830 | 868 | "user_prompt", |
831 | 869 | "openapi", |
832 | 870 | "model_picker", |
833 | | - "background_agents" |
| 871 | + "background_agents", |
| 872 | + "rag" |
834 | 873 | ] |
835 | 874 | }, |
836 | 875 | "instruction": { |
|
910 | 949 | "$ref": "#/definitions/ApiConfig", |
911 | 950 | "description": "API tool configuration" |
912 | 951 | }, |
| 952 | + "rag_config": { |
| 953 | + "$ref": "#/definitions/RAGConfig", |
| 954 | + "description": "RAG configuration for type: rag toolsets" |
| 955 | + }, |
913 | 956 | "ignore_vcs": { |
914 | 957 | "type": "boolean", |
915 | 958 | "description": "Whether to ignore VCS files (.git directories and .gitignore patterns) in filesystem operations. Default: true", |
|
1119 | 1162 | "const": "background_agents" |
1120 | 1163 | } |
1121 | 1164 | } |
| 1165 | + }, |
| 1166 | + { |
| 1167 | + "properties": { |
| 1168 | + "type": { |
| 1169 | + "const": "rag" |
| 1170 | + } |
| 1171 | + } |
1122 | 1172 | } |
1123 | 1173 | ] |
1124 | 1174 | }, |
|
0 commit comments