qtype 0.1.11__py3-none-any.whl → 0.1.13__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. qtype/` +0 -0
  2. qtype/application/__init__.py +0 -2
  3. qtype/application/converters/tools_from_api.py +67 -57
  4. qtype/application/converters/tools_from_module.py +66 -32
  5. qtype/base/types.py +6 -1
  6. qtype/commands/convert.py +3 -6
  7. qtype/commands/generate.py +97 -10
  8. qtype/commands/mcp.py +68 -0
  9. qtype/commands/run.py +116 -44
  10. qtype/commands/validate.py +4 -4
  11. qtype/docs/.pages +8 -0
  12. qtype/docs/Concepts/mental-model-and-philosophy.md +363 -0
  13. qtype/docs/Contributing/.pages +4 -0
  14. qtype/docs/Contributing/index.md +283 -0
  15. qtype/docs/Contributing/roadmap.md +81 -0
  16. qtype/docs/Decisions/ADR-001-Chat-vs-Completion-Endpoint-Features.md +56 -0
  17. qtype/docs/Gallery/dataflow_pipelines.md +81 -0
  18. qtype/docs/Gallery/dataflow_pipelines.mermaid +45 -0
  19. qtype/docs/Gallery/research_assistant.md +97 -0
  20. qtype/docs/Gallery/research_assistant.mermaid +42 -0
  21. qtype/docs/Gallery/simple_chatbot.md +38 -0
  22. qtype/docs/Gallery/simple_chatbot.mermaid +35 -0
  23. qtype/docs/How To/Authentication/configure_aws_authentication.md +60 -0
  24. qtype/docs/How To/Authentication/use_api_key_authentication.md +40 -0
  25. qtype/docs/How To/Command Line Usage/load_multiple_inputs_from_files.md +77 -0
  26. qtype/docs/How To/Command Line Usage/pass_inputs_on_the_cli.md +52 -0
  27. qtype/docs/How To/Command Line Usage/serve_with_auto_reload.md +27 -0
  28. qtype/docs/How To/Data Processing/adjust_concurrency.md +40 -0
  29. qtype/docs/How To/Data Processing/cache_step_results.md +71 -0
  30. qtype/docs/How To/Data Processing/decode_json_xml.md +24 -0
  31. qtype/docs/How To/Data Processing/explode_collections.md +40 -0
  32. qtype/docs/How To/Data Processing/gather_results.md +68 -0
  33. qtype/docs/How To/Data Processing/invoke_other_flows.md +71 -0
  34. qtype/docs/How To/Data Processing/load_data_from_athena.md +49 -0
  35. qtype/docs/How To/Data Processing/read_data_from_files.md +61 -0
  36. qtype/docs/How To/Data Processing/read_sql_databases.md +46 -0
  37. qtype/docs/How To/Data Processing/write_data_to_file.md +39 -0
  38. qtype/docs/How To/Invoke Models/call_large_language_models.md +51 -0
  39. qtype/docs/How To/Invoke Models/create_embeddings.md +49 -0
  40. qtype/docs/How To/Invoke Models/reuse_prompts_with_templates.md +38 -0
  41. qtype/docs/How To/Language Features/include_qtype_yaml.md +45 -0
  42. qtype/docs/How To/Language Features/include_raw_text_from_other_files.md +48 -0
  43. qtype/docs/How To/Language Features/reference_entities_by_id.md +51 -0
  44. qtype/docs/How To/Language Features/use_agent_skills.md +29 -0
  45. qtype/docs/How To/Language Features/use_environment_variables.md +48 -0
  46. qtype/docs/How To/Language Features/use_optional_variables.md +42 -0
  47. qtype/docs/How To/Language Features/use_qtype_mcp.md +59 -0
  48. qtype/docs/How To/Observability & Debugging/trace_calls_with_open_telemetry.md +49 -0
  49. qtype/docs/How To/Observability & Debugging/validate_qtype_yaml.md +36 -0
  50. qtype/docs/How To/Observability & Debugging/visualize_application_architecture.md +61 -0
  51. qtype/docs/How To/Observability & Debugging/visualize_example.mermaid +35 -0
  52. qtype/docs/How To/Qtype Server/flow_as_ui.png +0 -0
  53. qtype/docs/How To/Qtype Server/serve_flows_as_apis.md +40 -0
  54. qtype/docs/How To/Qtype Server/serve_flows_as_ui.md +41 -0
  55. qtype/docs/How To/Qtype Server/use_conversational_interfaces.md +56 -0
  56. qtype/docs/How To/Qtype Server/use_variables_with_ui_hints.md +48 -0
  57. qtype/docs/How To/Tools & Integration/bind_tool_inputs_and_outputs.md +47 -0
  58. qtype/docs/How To/Tools & Integration/create_tools_from_openapi_specifications.md +85 -0
  59. qtype/docs/How To/Tools & Integration/create_tools_from_python_modules.md +87 -0
  60. qtype/docs/Reference/cli.md +336 -0
  61. qtype/docs/Reference/plugins.md +99 -0
  62. qtype/docs/Reference/semantic-validation-rules.md +184 -0
  63. qtype/docs/Tutorials/.pages +1 -0
  64. qtype/docs/Tutorials/01-first-qtype-application.md +249 -0
  65. qtype/docs/Tutorials/02-conversational-chatbot.md +327 -0
  66. qtype/docs/Tutorials/03-structured-data.md +480 -0
  67. qtype/docs/Tutorials/04-tools-and-function-calling.md +476 -0
  68. qtype/docs/Tutorials/example_chat.png +0 -0
  69. qtype/docs/Tutorials/index.md +92 -0
  70. qtype/docs/components/APIKeyAuthProvider.md +7 -0
  71. qtype/docs/components/APITool.md +10 -0
  72. qtype/docs/components/AWSAuthProvider.md +13 -0
  73. qtype/docs/components/AWSSecretManager.md +5 -0
  74. qtype/docs/components/Agent.md +6 -0
  75. qtype/docs/components/Aggregate.md +7 -0
  76. qtype/docs/components/AggregateStats.md +7 -0
  77. qtype/docs/components/Application.md +22 -0
  78. qtype/docs/components/AuthorizationProvider.md +6 -0
  79. qtype/docs/components/AuthorizationProviderList.md +5 -0
  80. qtype/docs/components/BearerTokenAuthProvider.md +6 -0
  81. qtype/docs/components/BedrockReranker.md +8 -0
  82. qtype/docs/components/ChatContent.md +7 -0
  83. qtype/docs/components/ChatMessage.md +6 -0
  84. qtype/docs/components/Collect.md +6 -0
  85. qtype/docs/components/ConstantPath.md +5 -0
  86. qtype/docs/components/Construct.md +6 -0
  87. qtype/docs/components/CustomType.md +7 -0
  88. qtype/docs/components/Decoder.md +8 -0
  89. qtype/docs/components/DecoderFormat.md +8 -0
  90. qtype/docs/components/DocToTextConverter.md +7 -0
  91. qtype/docs/components/Document.md +7 -0
  92. qtype/docs/components/DocumentEmbedder.md +6 -0
  93. qtype/docs/components/DocumentIndex.md +7 -0
  94. qtype/docs/components/DocumentSearch.md +7 -0
  95. qtype/docs/components/DocumentSource.md +12 -0
  96. qtype/docs/components/DocumentSplitter.md +9 -0
  97. qtype/docs/components/Echo.md +8 -0
  98. qtype/docs/components/Embedding.md +7 -0
  99. qtype/docs/components/EmbeddingModel.md +6 -0
  100. qtype/docs/components/Explode.md +5 -0
  101. qtype/docs/components/FieldExtractor.md +21 -0
  102. qtype/docs/components/FileSource.md +6 -0
  103. qtype/docs/components/FileWriter.md +7 -0
  104. qtype/docs/components/Flow.md +14 -0
  105. qtype/docs/components/FlowInterface.md +7 -0
  106. qtype/docs/components/Index.md +8 -0
  107. qtype/docs/components/IndexUpsert.md +6 -0
  108. qtype/docs/components/InvokeEmbedding.md +7 -0
  109. qtype/docs/components/InvokeFlow.md +8 -0
  110. qtype/docs/components/InvokeTool.md +8 -0
  111. qtype/docs/components/LLMInference.md +9 -0
  112. qtype/docs/components/ListType.md +5 -0
  113. qtype/docs/components/Memory.md +8 -0
  114. qtype/docs/components/MessageRole.md +14 -0
  115. qtype/docs/components/Model.md +10 -0
  116. qtype/docs/components/ModelList.md +5 -0
  117. qtype/docs/components/OAuth2AuthProvider.md +9 -0
  118. qtype/docs/components/PrimitiveTypeEnum.md +20 -0
  119. qtype/docs/components/PromptTemplate.md +7 -0
  120. qtype/docs/components/PythonFunctionTool.md +7 -0
  121. qtype/docs/components/RAGChunk.md +7 -0
  122. qtype/docs/components/RAGDocument.md +10 -0
  123. qtype/docs/components/RAGSearchResult.md +8 -0
  124. qtype/docs/components/Reranker.md +5 -0
  125. qtype/docs/components/SQLSource.md +8 -0
  126. qtype/docs/components/Search.md +7 -0
  127. qtype/docs/components/SearchResult.md +7 -0
  128. qtype/docs/components/SecretManager.md +7 -0
  129. qtype/docs/components/SecretReference.md +7 -0
  130. qtype/docs/components/Source.md +5 -0
  131. qtype/docs/components/Step.md +8 -0
  132. qtype/docs/components/TelemetrySink.md +9 -0
  133. qtype/docs/components/Tool.md +9 -0
  134. qtype/docs/components/ToolList.md +5 -0
  135. qtype/docs/components/TypeList.md +5 -0
  136. qtype/docs/components/Variable.md +8 -0
  137. qtype/docs/components/VariableList.md +5 -0
  138. qtype/docs/components/VectorIndex.md +7 -0
  139. qtype/docs/components/VectorSearch.md +6 -0
  140. qtype/docs/components/VertexAuthProvider.md +9 -0
  141. qtype/docs/components/Writer.md +5 -0
  142. qtype/docs/example_ui.png +0 -0
  143. qtype/docs/index.md +81 -0
  144. qtype/docs/legacy_how_tos/.pages +6 -0
  145. qtype/docs/legacy_how_tos/Configuration/modular-yaml.md +366 -0
  146. qtype/docs/legacy_how_tos/Configuration/phoenix_projects.png +0 -0
  147. qtype/docs/legacy_how_tos/Configuration/phoenix_traces.png +0 -0
  148. qtype/docs/legacy_how_tos/Configuration/reference-by-id.md +251 -0
  149. qtype/docs/legacy_how_tos/Configuration/telemetry-setup.md +259 -0
  150. qtype/docs/legacy_how_tos/Data Types/custom-types.md +52 -0
  151. qtype/docs/legacy_how_tos/Data Types/domain-types.md +113 -0
  152. qtype/docs/legacy_how_tos/Debugging/visualize-apps.md +147 -0
  153. qtype/docs/legacy_how_tos/Tools/api-tools.md +29 -0
  154. qtype/docs/legacy_how_tos/Tools/python-tools.md +299 -0
  155. qtype/docs/skills/architect/SKILL.md +188 -0
  156. qtype/docs/skills/architect/references/cheatsheet.md +198 -0
  157. qtype/docs/skills/architect/references/patterns.md +29 -0
  158. qtype/docs/stylesheets/extra.css +27 -0
  159. qtype/dsl/custom_types.py +2 -1
  160. qtype/dsl/linker.py +23 -7
  161. qtype/dsl/loader.py +3 -3
  162. qtype/dsl/model.py +181 -67
  163. qtype/examples/authentication/aws_authentication.qtype.yaml +63 -0
  164. qtype/examples/conversational_ai/hello_world_chat.qtype.yaml +43 -0
  165. qtype/examples/conversational_ai/simple_chatbot.qtype.yaml +40 -0
  166. qtype/examples/data_processing/athena_query.qtype.yaml +56 -0
  167. qtype/examples/data_processing/batch_inputs.csv +5 -0
  168. qtype/examples/data_processing/batch_processing.qtype.yaml +54 -0
  169. qtype/examples/data_processing/cache_step_results.qtype.yaml +78 -0
  170. qtype/examples/data_processing/collect_results.qtype.yaml +55 -0
  171. qtype/examples/data_processing/create_sample_db.py +129 -0
  172. qtype/examples/data_processing/dataflow_pipelines.qtype.yaml +108 -0
  173. qtype/examples/data_processing/decode_json.qtype.yaml +23 -0
  174. qtype/examples/data_processing/explode_items.qtype.yaml +25 -0
  175. qtype/examples/data_processing/invoke_other_flows.qtype.yaml +98 -0
  176. qtype/examples/data_processing/read_file.qtype.yaml +60 -0
  177. qtype/examples/data_processing/reviews.db +0 -0
  178. qtype/examples/data_processing/sample_article.txt +1 -0
  179. qtype/examples/data_processing/sample_documents.jsonl +5 -0
  180. qtype/examples/invoke_models/create_embeddings.qtype.yaml +28 -0
  181. qtype/examples/invoke_models/simple_llm_call.qtype.yaml +32 -0
  182. qtype/examples/language_features/include_raw.qtype.yaml +27 -0
  183. qtype/examples/language_features/optional_variables.qtype.yaml +32 -0
  184. qtype/examples/language_features/story_prompt.txt +6 -0
  185. qtype/examples/language_features/ui_hints.qtype.yaml +52 -0
  186. qtype/examples/legacy/bedrock/data_analysis_with_telemetry.qtype.yaml +169 -0
  187. qtype/examples/legacy/bedrock/hello_world.qtype.yaml +39 -0
  188. qtype/examples/legacy/bedrock/hello_world_chat.qtype.yaml +37 -0
  189. qtype/examples/legacy/bedrock/hello_world_chat_with_telemetry.qtype.yaml +40 -0
  190. qtype/examples/legacy/bedrock/hello_world_chat_with_thinking.qtype.yaml +40 -0
  191. qtype/examples/legacy/bedrock/hello_world_completion.qtype.yaml +41 -0
  192. qtype/examples/legacy/bedrock/hello_world_completion_with_auth.qtype.yaml +44 -0
  193. qtype/examples/legacy/bedrock/simple_agent_chat.qtype.yaml +46 -0
  194. qtype/examples/legacy/chat_with_langfuse.qtype.yaml +50 -0
  195. qtype/examples/legacy/data/customers.csv +6 -0
  196. qtype/examples/legacy/data_processor.qtype.yaml +48 -0
  197. qtype/examples/legacy/echo/debug_example.qtype.yaml +59 -0
  198. qtype/examples/legacy/echo/prompt.qtype.yaml +22 -0
  199. qtype/examples/legacy/echo/readme.md +29 -0
  200. qtype/examples/legacy/echo/test.qtype.yaml +26 -0
  201. qtype/examples/legacy/echo/video.qtype.yaml +20 -0
  202. qtype/examples/legacy/field_extractor_example.qtype.yaml +137 -0
  203. qtype/examples/legacy/multi_flow_example.qtype.yaml +125 -0
  204. qtype/examples/legacy/openai/hello_world_chat.qtype.yaml +43 -0
  205. qtype/examples/legacy/openai/hello_world_chat_with_telemetry.qtype.yaml +46 -0
  206. qtype/examples/legacy/qtype_plugin_example.py +51 -0
  207. qtype/examples/legacy/rag.qtype.yaml +207 -0
  208. qtype/examples/legacy/sample_data.txt +43 -0
  209. qtype/examples/legacy/time_utilities.qtype.yaml +64 -0
  210. qtype/examples/legacy/vertex/README.md +11 -0
  211. qtype/examples/legacy/vertex/hello_world_chat.qtype.yaml +36 -0
  212. qtype/examples/legacy/vertex/hello_world_completion.qtype.yaml +40 -0
  213. qtype/examples/legacy/vertex/hello_world_completion_with_auth.qtype.yaml +45 -0
  214. qtype/examples/observability_debugging/trace_with_opentelemetry.qtype.yaml +40 -0
  215. qtype/examples/research_assistant/research_assistant.qtype.yaml +94 -0
  216. qtype/examples/research_assistant/tavily.oas.yaml +722 -0
  217. qtype/examples/research_assistant/tavily.qtype.yaml +216 -0
  218. qtype/examples/tutorials/01_hello_world.qtype.yaml +48 -0
  219. qtype/examples/tutorials/02_conversational_chat.qtype.yaml +37 -0
  220. qtype/examples/tutorials/03_structured_data.qtype.yaml +130 -0
  221. qtype/examples/tutorials/04_tools_and_function_calling.qtype.yaml +89 -0
  222. qtype/interpreter/api.py +4 -1
  223. qtype/interpreter/base/base_step_executor.py +3 -1
  224. qtype/interpreter/base/stream_emitter.py +19 -13
  225. qtype/interpreter/conversions.py +7 -3
  226. qtype/interpreter/converters.py +142 -26
  227. qtype/interpreter/executors/agent_executor.py +2 -3
  228. qtype/interpreter/executors/aggregate_executor.py +3 -4
  229. qtype/interpreter/executors/construct_executor.py +15 -15
  230. qtype/interpreter/executors/doc_to_text_executor.py +1 -3
  231. qtype/interpreter/executors/field_extractor_executor.py +13 -12
  232. qtype/interpreter/executors/file_source_executor.py +21 -34
  233. qtype/interpreter/executors/file_writer_executor.py +4 -4
  234. qtype/interpreter/executors/index_upsert_executor.py +1 -1
  235. qtype/interpreter/executors/invoke_embedding_executor.py +1 -4
  236. qtype/interpreter/executors/invoke_flow_executor.py +2 -2
  237. qtype/interpreter/executors/invoke_tool_executor.py +19 -18
  238. qtype/interpreter/executors/llm_inference_executor.py +16 -18
  239. qtype/interpreter/executors/prompt_template_executor.py +1 -3
  240. qtype/interpreter/executors/sql_source_executor.py +1 -1
  241. qtype/interpreter/resource_cache.py +3 -1
  242. qtype/interpreter/rich_progress.py +6 -3
  243. qtype/interpreter/stream/chat/converter.py +25 -17
  244. qtype/interpreter/stream/chat/ui_request_to_domain_type.py +2 -2
  245. qtype/interpreter/tools/function_tool_helper.py +11 -10
  246. qtype/interpreter/types.py +89 -4
  247. qtype/interpreter/typing.py +35 -38
  248. qtype/mcp/__init__.py +0 -0
  249. qtype/mcp/server.py +722 -0
  250. qtype/schema/qtype.schema.json +4016 -0
  251. qtype/semantic/checker.py +20 -1
  252. qtype/semantic/generate.py +6 -9
  253. qtype/semantic/model.py +26 -33
  254. qtype/semantic/resolver.py +7 -0
  255. qtype/semantic/visualize.py +45 -53
  256. {qtype-0.1.11.dist-info → qtype-0.1.13.dist-info}/METADATA +65 -44
  257. qtype-0.1.13.dist-info/RECORD +352 -0
  258. {qtype-0.1.11.dist-info → qtype-0.1.13.dist-info}/WHEEL +1 -2
  259. qtype/application/facade.py +0 -177
  260. qtype-0.1.11.dist-info/RECORD +0 -142
  261. qtype-0.1.11.dist-info/top_level.txt +0 -1
  262. {qtype-0.1.11.dist-info → qtype-0.1.13.dist-info}/entry_points.txt +0 -0
  263. {qtype-0.1.11.dist-info → qtype-0.1.13.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,4016 @@
1
+ {
2
+ "$defs": {
3
+ "APIKeyAuthProvider": {
4
+ "additionalProperties": false,
5
+ "description": "API key-based authentication provider.",
6
+ "properties": {
7
+ "id": {
8
+ "description": "Unique ID of the authorization configuration.",
9
+ "title": "Id",
10
+ "type": "string"
11
+ },
12
+ "type": {
13
+ "const": "api_key",
14
+ "default": "api_key",
15
+ "title": "Type",
16
+ "type": "string"
17
+ },
18
+ "api_key": {
19
+ "anyOf": [
20
+ {
21
+ "type": "string"
22
+ },
23
+ {
24
+ "$ref": "#/$defs/SecretReference"
25
+ }
26
+ ],
27
+ "description": "API key for authentication.",
28
+ "title": "Api Key"
29
+ },
30
+ "host": {
31
+ "anyOf": [
32
+ {
33
+ "type": "string"
34
+ },
35
+ {
36
+ "type": "null"
37
+ }
38
+ ],
39
+ "default": null,
40
+ "description": "Base URL or domain of the provider.",
41
+ "title": "Host"
42
+ }
43
+ },
44
+ "required": [
45
+ "id",
46
+ "api_key"
47
+ ],
48
+ "title": "APIKeyAuthProvider",
49
+ "type": "object"
50
+ },
51
+ "APITool": {
52
+ "additionalProperties": false,
53
+ "description": "Tool that invokes an API endpoint.",
54
+ "properties": {
55
+ "id": {
56
+ "description": "Unique ID of this component.",
57
+ "title": "Id",
58
+ "type": "string"
59
+ },
60
+ "name": {
61
+ "description": "Name of the tool function.",
62
+ "title": "Name",
63
+ "type": "string"
64
+ },
65
+ "description": {
66
+ "description": "Description of what the tool does.",
67
+ "title": "Description",
68
+ "type": "string"
69
+ },
70
+ "inputs": {
71
+ "description": "Input parameters required by this tool.",
72
+ "items": {
73
+ "$ref": "#/$defs/Variable"
74
+ },
75
+ "title": "Inputs",
76
+ "type": "array"
77
+ },
78
+ "outputs": {
79
+ "description": "Output parameters produced by this tool.",
80
+ "items": {
81
+ "$ref": "#/$defs/Variable"
82
+ },
83
+ "title": "Outputs",
84
+ "type": "array"
85
+ },
86
+ "type": {
87
+ "const": "APITool",
88
+ "default": "APITool",
89
+ "title": "Type",
90
+ "type": "string"
91
+ },
92
+ "endpoint": {
93
+ "description": "API endpoint URL to call.",
94
+ "title": "Endpoint",
95
+ "type": "string"
96
+ },
97
+ "method": {
98
+ "default": "GET",
99
+ "description": "HTTP method to use (GET, POST, PUT, DELETE, etc.).",
100
+ "title": "Method",
101
+ "type": "string"
102
+ },
103
+ "auth": {
104
+ "anyOf": [
105
+ {
106
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
107
+ },
108
+ {
109
+ "type": "string"
110
+ },
111
+ {
112
+ "type": "null"
113
+ }
114
+ ],
115
+ "default": null,
116
+ "description": "Optional AuthorizationProvider for API authentication.",
117
+ "title": "Auth"
118
+ },
119
+ "headers": {
120
+ "additionalProperties": {
121
+ "type": "string"
122
+ },
123
+ "description": "Optional HTTP headers to include in the request.",
124
+ "title": "Headers",
125
+ "type": "object"
126
+ },
127
+ "parameters": {
128
+ "description": "Path and query parameters for the API call.",
129
+ "items": {
130
+ "$ref": "#/$defs/Variable"
131
+ },
132
+ "title": "Parameters",
133
+ "type": "array"
134
+ }
135
+ },
136
+ "required": [
137
+ "id",
138
+ "name",
139
+ "description",
140
+ "endpoint"
141
+ ],
142
+ "title": "APITool",
143
+ "type": "object"
144
+ },
145
+ "AWSAuthProvider": {
146
+ "additionalProperties": false,
147
+ "description": "AWS authentication provider supporting multiple credential methods.",
148
+ "properties": {
149
+ "id": {
150
+ "description": "Unique ID of the authorization configuration.",
151
+ "title": "Id",
152
+ "type": "string"
153
+ },
154
+ "type": {
155
+ "const": "aws",
156
+ "default": "aws",
157
+ "title": "Type",
158
+ "type": "string"
159
+ },
160
+ "access_key_id": {
161
+ "anyOf": [
162
+ {
163
+ "type": "string"
164
+ },
165
+ {
166
+ "$ref": "#/$defs/SecretReference"
167
+ },
168
+ {
169
+ "type": "null"
170
+ }
171
+ ],
172
+ "default": null,
173
+ "description": "AWS access key ID.",
174
+ "title": "Access Key Id"
175
+ },
176
+ "secret_access_key": {
177
+ "anyOf": [
178
+ {
179
+ "type": "string"
180
+ },
181
+ {
182
+ "$ref": "#/$defs/SecretReference"
183
+ },
184
+ {
185
+ "type": "null"
186
+ }
187
+ ],
188
+ "default": null,
189
+ "description": "AWS secret access key.",
190
+ "title": "Secret Access Key"
191
+ },
192
+ "session_token": {
193
+ "anyOf": [
194
+ {
195
+ "type": "string"
196
+ },
197
+ {
198
+ "$ref": "#/$defs/SecretReference"
199
+ },
200
+ {
201
+ "type": "null"
202
+ }
203
+ ],
204
+ "default": null,
205
+ "description": "AWS session token for temporary credentials.",
206
+ "title": "Session Token"
207
+ },
208
+ "profile_name": {
209
+ "anyOf": [
210
+ {
211
+ "type": "string"
212
+ },
213
+ {
214
+ "type": "null"
215
+ }
216
+ ],
217
+ "default": null,
218
+ "description": "AWS profile name from credentials file.",
219
+ "title": "Profile Name"
220
+ },
221
+ "role_arn": {
222
+ "anyOf": [
223
+ {
224
+ "type": "string"
225
+ },
226
+ {
227
+ "type": "null"
228
+ }
229
+ ],
230
+ "default": null,
231
+ "description": "ARN of the role to assume.",
232
+ "title": "Role Arn"
233
+ },
234
+ "role_session_name": {
235
+ "anyOf": [
236
+ {
237
+ "type": "string"
238
+ },
239
+ {
240
+ "type": "null"
241
+ }
242
+ ],
243
+ "default": null,
244
+ "description": "Session name for role assumption.",
245
+ "title": "Role Session Name"
246
+ },
247
+ "external_id": {
248
+ "anyOf": [
249
+ {
250
+ "type": "string"
251
+ },
252
+ {
253
+ "type": "null"
254
+ }
255
+ ],
256
+ "default": null,
257
+ "description": "External ID for role assumption.",
258
+ "title": "External Id"
259
+ },
260
+ "region": {
261
+ "anyOf": [
262
+ {
263
+ "type": "string"
264
+ },
265
+ {
266
+ "type": "null"
267
+ }
268
+ ],
269
+ "default": null,
270
+ "description": "AWS region.",
271
+ "title": "Region"
272
+ }
273
+ },
274
+ "required": [
275
+ "id"
276
+ ],
277
+ "title": "AWSAuthProvider",
278
+ "type": "object"
279
+ },
280
+ "AWSSecretManager": {
281
+ "additionalProperties": false,
282
+ "description": "Configuration for AWS Secrets Manager.",
283
+ "properties": {
284
+ "id": {
285
+ "description": "Unique ID for this secret manager configuration.",
286
+ "title": "Id",
287
+ "type": "string"
288
+ },
289
+ "type": {
290
+ "const": "aws_secret_manager",
291
+ "default": "aws_secret_manager",
292
+ "title": "Type",
293
+ "type": "string"
294
+ },
295
+ "auth": {
296
+ "anyOf": [
297
+ {
298
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
299
+ },
300
+ {
301
+ "type": "string"
302
+ }
303
+ ],
304
+ "description": "AuthorizationProvider used to access this secret manager.",
305
+ "title": "Auth"
306
+ }
307
+ },
308
+ "required": [
309
+ "id",
310
+ "auth"
311
+ ],
312
+ "title": "AWSSecretManager",
313
+ "type": "object"
314
+ },
315
+ "Agent": {
316
+ "additionalProperties": false,
317
+ "description": "Defines an agent that can perform tasks and make decisions based on user input and context.",
318
+ "properties": {
319
+ "concurrency_config": {
320
+ "$ref": "#/$defs/ConcurrencyConfig",
321
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
322
+ },
323
+ "cache_config": {
324
+ "anyOf": [
325
+ {
326
+ "$ref": "#/$defs/CacheConfig"
327
+ },
328
+ {
329
+ "type": "null"
330
+ }
331
+ ],
332
+ "default": null,
333
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
334
+ },
335
+ "id": {
336
+ "description": "Unique ID of this component.",
337
+ "title": "Id",
338
+ "type": "string"
339
+ },
340
+ "type": {
341
+ "const": "Agent",
342
+ "default": "Agent",
343
+ "title": "Type",
344
+ "type": "string"
345
+ },
346
+ "inputs": {
347
+ "description": "References to the variables required by this step.",
348
+ "items": {
349
+ "anyOf": [
350
+ {
351
+ "$ref": "#/$defs/Reference_Variable_"
352
+ },
353
+ {
354
+ "type": "string"
355
+ }
356
+ ]
357
+ },
358
+ "title": "Inputs",
359
+ "type": "array"
360
+ },
361
+ "outputs": {
362
+ "description": "References to the variables where output is stored.",
363
+ "items": {
364
+ "anyOf": [
365
+ {
366
+ "$ref": "#/$defs/Reference_Variable_"
367
+ },
368
+ {
369
+ "type": "string"
370
+ }
371
+ ]
372
+ },
373
+ "title": "Outputs",
374
+ "type": "array"
375
+ },
376
+ "memory": {
377
+ "anyOf": [
378
+ {
379
+ "$ref": "#/$defs/Reference_Memory_"
380
+ },
381
+ {
382
+ "type": "string"
383
+ },
384
+ {
385
+ "type": "null"
386
+ }
387
+ ],
388
+ "default": null,
389
+ "description": "A reference to a Memory object to retain context across interactions.",
390
+ "title": "Memory"
391
+ },
392
+ "model": {
393
+ "anyOf": [
394
+ {
395
+ "$ref": "#/$defs/Reference_Model_"
396
+ },
397
+ {
398
+ "type": "string"
399
+ }
400
+ ],
401
+ "description": "The model to use for inference.",
402
+ "title": "Model"
403
+ },
404
+ "system_message": {
405
+ "anyOf": [
406
+ {
407
+ "type": "string"
408
+ },
409
+ {
410
+ "type": "null"
411
+ }
412
+ ],
413
+ "default": null,
414
+ "description": "Optional system message to set the context for the model.",
415
+ "title": "System Message"
416
+ },
417
+ "tools": {
418
+ "description": "List of tools available to the agent.",
419
+ "items": {
420
+ "anyOf": [
421
+ {
422
+ "$ref": "#/$defs/Reference_Annotated_Union_APITool__PythonFunctionTool___FieldInfo_annotation_NoneType__required_True__discriminator__type____"
423
+ },
424
+ {
425
+ "type": "string"
426
+ }
427
+ ]
428
+ },
429
+ "title": "Tools",
430
+ "type": "array"
431
+ }
432
+ },
433
+ "required": [
434
+ "id",
435
+ "model"
436
+ ],
437
+ "title": "Agent",
438
+ "type": "object"
439
+ },
440
+ "Aggregate": {
441
+ "additionalProperties": false,
442
+ "description": "A step that, after all messages have been processed,\nreturns a single message containing the counts of successful and failed\nmessages. Other messages are passed through unchanged.",
443
+ "properties": {
444
+ "cache_config": {
445
+ "anyOf": [
446
+ {
447
+ "$ref": "#/$defs/CacheConfig"
448
+ },
449
+ {
450
+ "type": "null"
451
+ }
452
+ ],
453
+ "default": null,
454
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
455
+ },
456
+ "id": {
457
+ "description": "Unique ID of this component.",
458
+ "title": "Id",
459
+ "type": "string"
460
+ },
461
+ "type": {
462
+ "const": "Aggregate",
463
+ "default": "Aggregate",
464
+ "title": "Type",
465
+ "type": "string"
466
+ },
467
+ "inputs": {
468
+ "description": "References to the variables required by this step.",
469
+ "items": {
470
+ "anyOf": [
471
+ {
472
+ "$ref": "#/$defs/Reference_Variable_"
473
+ },
474
+ {
475
+ "type": "string"
476
+ }
477
+ ]
478
+ },
479
+ "title": "Inputs",
480
+ "type": "array"
481
+ },
482
+ "outputs": {
483
+ "description": "References to the variables where output is stored.",
484
+ "items": {
485
+ "anyOf": [
486
+ {
487
+ "$ref": "#/$defs/Reference_Variable_"
488
+ },
489
+ {
490
+ "type": "string"
491
+ }
492
+ ]
493
+ },
494
+ "title": "Outputs",
495
+ "type": "array"
496
+ }
497
+ },
498
+ "required": [
499
+ "id"
500
+ ],
501
+ "title": "Aggregate",
502
+ "type": "object"
503
+ },
504
+ "Application": {
505
+ "additionalProperties": false,
506
+ "description": "Defines a complete QType application specification.\n\nAn Application is the top-level container of the entire\nprogram in a QType YAML file. It serves as the blueprint for your\nAI-powered application, containing all the models, flows, tools, data sources,\nand configuration needed to run your program. Think of it as the main entry\npoint that ties together all components into a cohesive,\nexecutable system.",
507
+ "properties": {
508
+ "id": {
509
+ "description": "Unique ID of the application.",
510
+ "title": "Id",
511
+ "type": "string"
512
+ },
513
+ "description": {
514
+ "anyOf": [
515
+ {
516
+ "type": "string"
517
+ },
518
+ {
519
+ "type": "null"
520
+ }
521
+ ],
522
+ "default": null,
523
+ "description": "Optional description of the application.",
524
+ "title": "Description"
525
+ },
526
+ "memories": {
527
+ "description": "List of memory definitions used in this application.",
528
+ "items": {
529
+ "$ref": "#/$defs/Memory"
530
+ },
531
+ "title": "Memories",
532
+ "type": "array"
533
+ },
534
+ "models": {
535
+ "description": "List of models used in this application.",
536
+ "items": {
537
+ "discriminator": {
538
+ "mapping": {
539
+ "EmbeddingModel": "#/$defs/EmbeddingModel",
540
+ "Model": "#/$defs/Model"
541
+ },
542
+ "propertyName": "type"
543
+ },
544
+ "oneOf": [
545
+ {
546
+ "$ref": "#/$defs/EmbeddingModel"
547
+ },
548
+ {
549
+ "$ref": "#/$defs/Model"
550
+ }
551
+ ]
552
+ },
553
+ "title": "Models",
554
+ "type": "array"
555
+ },
556
+ "types": {
557
+ "description": "List of custom types defined in this application.",
558
+ "items": {
559
+ "$ref": "#/$defs/CustomType"
560
+ },
561
+ "title": "Types",
562
+ "type": "array"
563
+ },
564
+ "flows": {
565
+ "description": "List of flows defined in this application.",
566
+ "items": {
567
+ "$ref": "#/$defs/Flow"
568
+ },
569
+ "title": "Flows",
570
+ "type": "array"
571
+ },
572
+ "auths": {
573
+ "description": "List of authorization providers used for API access.",
574
+ "items": {
575
+ "anyOf": [
576
+ {
577
+ "$ref": "#/$defs/APIKeyAuthProvider"
578
+ },
579
+ {
580
+ "$ref": "#/$defs/BearerTokenAuthProvider"
581
+ },
582
+ {
583
+ "$ref": "#/$defs/AWSAuthProvider"
584
+ },
585
+ {
586
+ "$ref": "#/$defs/OAuth2AuthProvider"
587
+ },
588
+ {
589
+ "$ref": "#/$defs/VertexAuthProvider"
590
+ }
591
+ ]
592
+ },
593
+ "title": "Auths",
594
+ "type": "array"
595
+ },
596
+ "tools": {
597
+ "description": "List of tools available in this application.",
598
+ "items": {
599
+ "discriminator": {
600
+ "mapping": {
601
+ "APITool": "#/$defs/APITool",
602
+ "PythonFunctionTool": "#/$defs/PythonFunctionTool"
603
+ },
604
+ "propertyName": "type"
605
+ },
606
+ "oneOf": [
607
+ {
608
+ "$ref": "#/$defs/APITool"
609
+ },
610
+ {
611
+ "$ref": "#/$defs/PythonFunctionTool"
612
+ }
613
+ ]
614
+ },
615
+ "title": "Tools",
616
+ "type": "array"
617
+ },
618
+ "indexes": {
619
+ "description": "List of indexes available for search operations.",
620
+ "items": {
621
+ "discriminator": {
622
+ "mapping": {
623
+ "DocumentIndex": "#/$defs/DocumentIndex",
624
+ "VectorIndex": "#/$defs/VectorIndex"
625
+ },
626
+ "propertyName": "type"
627
+ },
628
+ "oneOf": [
629
+ {
630
+ "$ref": "#/$defs/DocumentIndex"
631
+ },
632
+ {
633
+ "$ref": "#/$defs/VectorIndex"
634
+ }
635
+ ]
636
+ },
637
+ "title": "Indexes",
638
+ "type": "array"
639
+ },
640
+ "secret_manager": {
641
+ "anyOf": [
642
+ {
643
+ "discriminator": {
644
+ "mapping": {
645
+ "aws_secret_manager": "#/$defs/AWSSecretManager"
646
+ },
647
+ "propertyName": "type"
648
+ },
649
+ "oneOf": [
650
+ {
651
+ "$ref": "#/$defs/AWSSecretManager"
652
+ }
653
+ ]
654
+ },
655
+ {
656
+ "type": "null"
657
+ }
658
+ ],
659
+ "default": null,
660
+ "description": "Optional secret manager configuration for the application.",
661
+ "title": "Secret Manager"
662
+ },
663
+ "telemetry": {
664
+ "anyOf": [
665
+ {
666
+ "$ref": "#/$defs/TelemetrySink"
667
+ },
668
+ {
669
+ "type": "null"
670
+ }
671
+ ],
672
+ "default": null,
673
+ "description": "Optional telemetry sink for observability."
674
+ },
675
+ "references": {
676
+ "description": "List of other q-type documents you may use. This allows modular composition and reuse of components across applications.",
677
+ "items": {
678
+ "$ref": "#/$defs/Document"
679
+ },
680
+ "title": "References",
681
+ "type": "array"
682
+ }
683
+ },
684
+ "required": [
685
+ "id"
686
+ ],
687
+ "title": "Application",
688
+ "type": "object"
689
+ },
690
+ "AuthorizationProviderList": {
691
+ "description": "Schema for a standalone list of authorization providers.",
692
+ "items": {
693
+ "anyOf": [
694
+ {
695
+ "$ref": "#/$defs/APIKeyAuthProvider"
696
+ },
697
+ {
698
+ "$ref": "#/$defs/BearerTokenAuthProvider"
699
+ },
700
+ {
701
+ "$ref": "#/$defs/AWSAuthProvider"
702
+ },
703
+ {
704
+ "$ref": "#/$defs/OAuth2AuthProvider"
705
+ },
706
+ {
707
+ "$ref": "#/$defs/VertexAuthProvider"
708
+ }
709
+ ]
710
+ },
711
+ "title": "AuthorizationProviderList",
712
+ "type": "array"
713
+ },
714
+ "BatchConfig": {
715
+ "description": "Configuration for batch execution.\n\nAttributes:\n num_workers: Number of async workers for batch operations.",
716
+ "properties": {
717
+ "batch_size": {
718
+ "default": 25,
719
+ "description": "Max number of rows to send to a step at a time",
720
+ "exclusiveMinimum": 0,
721
+ "title": "Batch Size",
722
+ "type": "integer"
723
+ }
724
+ },
725
+ "title": "BatchConfig",
726
+ "type": "object"
727
+ },
728
+ "BearerTokenAuthProvider": {
729
+ "additionalProperties": false,
730
+ "description": "Bearer token authentication provider.",
731
+ "properties": {
732
+ "id": {
733
+ "description": "Unique ID of the authorization configuration.",
734
+ "title": "Id",
735
+ "type": "string"
736
+ },
737
+ "type": {
738
+ "const": "bearer_token",
739
+ "default": "bearer_token",
740
+ "title": "Type",
741
+ "type": "string"
742
+ },
743
+ "token": {
744
+ "anyOf": [
745
+ {
746
+ "type": "string"
747
+ },
748
+ {
749
+ "$ref": "#/$defs/SecretReference"
750
+ }
751
+ ],
752
+ "description": "Bearer token for authentication.",
753
+ "title": "Token"
754
+ }
755
+ },
756
+ "required": [
757
+ "id",
758
+ "token"
759
+ ],
760
+ "title": "BearerTokenAuthProvider",
761
+ "type": "object"
762
+ },
763
+ "BedrockReranker": {
764
+ "additionalProperties": false,
765
+ "description": "Reranks documents using an AWS Bedrock model.",
766
+ "properties": {
767
+ "concurrency_config": {
768
+ "$ref": "#/$defs/ConcurrencyConfig",
769
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
770
+ },
771
+ "cache_config": {
772
+ "anyOf": [
773
+ {
774
+ "$ref": "#/$defs/CacheConfig"
775
+ },
776
+ {
777
+ "type": "null"
778
+ }
779
+ ],
780
+ "default": null,
781
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
782
+ },
783
+ "id": {
784
+ "description": "Unique ID of this component.",
785
+ "title": "Id",
786
+ "type": "string"
787
+ },
788
+ "type": {
789
+ "const": "BedrockReranker",
790
+ "default": "BedrockReranker",
791
+ "title": "Type",
792
+ "type": "string"
793
+ },
794
+ "inputs": {
795
+ "description": "References to the variables required by this step.",
796
+ "items": {
797
+ "anyOf": [
798
+ {
799
+ "$ref": "#/$defs/Reference_Variable_"
800
+ },
801
+ {
802
+ "type": "string"
803
+ }
804
+ ]
805
+ },
806
+ "title": "Inputs",
807
+ "type": "array"
808
+ },
809
+ "outputs": {
810
+ "description": "References to the variables where output is stored.",
811
+ "items": {
812
+ "anyOf": [
813
+ {
814
+ "$ref": "#/$defs/Reference_Variable_"
815
+ },
816
+ {
817
+ "type": "string"
818
+ }
819
+ ]
820
+ },
821
+ "title": "Outputs",
822
+ "type": "array"
823
+ },
824
+ "auth": {
825
+ "anyOf": [
826
+ {
827
+ "$ref": "#/$defs/Reference_AWSAuthProvider_"
828
+ },
829
+ {
830
+ "type": "string"
831
+ },
832
+ {
833
+ "type": "null"
834
+ }
835
+ ],
836
+ "default": null,
837
+ "description": "AWS authorization provider for Bedrock access.",
838
+ "title": "Auth"
839
+ },
840
+ "model_id": {
841
+ "description": "Bedrock model ID to use for reranking. See https://docs.aws.amazon.com/bedrock/latest/userguide/rerank-supported.html",
842
+ "title": "Model Id",
843
+ "type": "string"
844
+ },
845
+ "num_results": {
846
+ "anyOf": [
847
+ {
848
+ "type": "integer"
849
+ },
850
+ {
851
+ "type": "null"
852
+ }
853
+ ],
854
+ "default": null,
855
+ "description": "Return this many results.",
856
+ "title": "Num Results"
857
+ }
858
+ },
859
+ "required": [
860
+ "id",
861
+ "model_id"
862
+ ],
863
+ "title": "BedrockReranker",
864
+ "type": "object"
865
+ },
866
+ "CacheConfig": {
867
+ "properties": {
868
+ "directory": {
869
+ "anyOf": [
870
+ {
871
+ "type": "string"
872
+ },
873
+ {
874
+ "format": "path",
875
+ "type": "string"
876
+ }
877
+ ],
878
+ "default": ".qtype-cache",
879
+ "description": "Base cache directory.",
880
+ "title": "Directory"
881
+ },
882
+ "namespace": {
883
+ "anyOf": [
884
+ {
885
+ "type": "string"
886
+ },
887
+ {
888
+ "type": "null"
889
+ }
890
+ ],
891
+ "default": null,
892
+ "description": "Logical namespace for cache keys.",
893
+ "title": "Namespace"
894
+ },
895
+ "on_error": {
896
+ "default": "Drop",
897
+ "enum": [
898
+ "Cache",
899
+ "Drop"
900
+ ],
901
+ "title": "On Error",
902
+ "type": "string"
903
+ },
904
+ "version": {
905
+ "default": "1.0",
906
+ "description": "Bump to invalidate old cache.",
907
+ "title": "Version",
908
+ "type": "string"
909
+ },
910
+ "compress": {
911
+ "default": false,
912
+ "description": "Compress stored data.",
913
+ "title": "Compress",
914
+ "type": "boolean"
915
+ },
916
+ "ttl": {
917
+ "anyOf": [
918
+ {
919
+ "type": "integer"
920
+ },
921
+ {
922
+ "type": "null"
923
+ }
924
+ ],
925
+ "default": null,
926
+ "description": "Optional time-to-live in seconds.",
927
+ "title": "Ttl"
928
+ }
929
+ },
930
+ "title": "CacheConfig",
931
+ "type": "object"
932
+ },
933
+ "Collect": {
934
+ "additionalProperties": false,
935
+ "description": "A step that collects all inputs and creates a single list to return.",
936
+ "properties": {
937
+ "batch_config": {
938
+ "$ref": "#/$defs/BatchConfig",
939
+ "description": "Configuration for processing the input stream in batches. If omitted, the step processes items one by one."
940
+ },
941
+ "cache_config": {
942
+ "anyOf": [
943
+ {
944
+ "$ref": "#/$defs/CacheConfig"
945
+ },
946
+ {
947
+ "type": "null"
948
+ }
949
+ ],
950
+ "default": null,
951
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
952
+ },
953
+ "id": {
954
+ "description": "Unique ID of this component.",
955
+ "title": "Id",
956
+ "type": "string"
957
+ },
958
+ "type": {
959
+ "const": "Collect",
960
+ "default": "Collect",
961
+ "title": "Type",
962
+ "type": "string"
963
+ },
964
+ "inputs": {
965
+ "description": "References to the variables required by this step.",
966
+ "items": {
967
+ "anyOf": [
968
+ {
969
+ "$ref": "#/$defs/Reference_Variable_"
970
+ },
971
+ {
972
+ "type": "string"
973
+ }
974
+ ]
975
+ },
976
+ "title": "Inputs",
977
+ "type": "array"
978
+ },
979
+ "outputs": {
980
+ "description": "References to the variables where output is stored.",
981
+ "items": {
982
+ "anyOf": [
983
+ {
984
+ "$ref": "#/$defs/Reference_Variable_"
985
+ },
986
+ {
987
+ "type": "string"
988
+ }
989
+ ]
990
+ },
991
+ "title": "Outputs",
992
+ "type": "array"
993
+ }
994
+ },
995
+ "required": [
996
+ "id"
997
+ ],
998
+ "title": "Collect",
999
+ "type": "object"
1000
+ },
1001
+ "ConcurrencyConfig": {
1002
+ "description": "Configuration for concurrent processing.\n\nAttributes:\n num_workers: Number of async workers for batch operations.",
1003
+ "properties": {
1004
+ "num_workers": {
1005
+ "default": 1,
1006
+ "description": "Number of async workers for batch operations",
1007
+ "exclusiveMinimum": 0,
1008
+ "title": "Num Workers",
1009
+ "type": "integer"
1010
+ }
1011
+ },
1012
+ "title": "ConcurrencyConfig",
1013
+ "type": "object"
1014
+ },
1015
+ "ConstantPath": {
1016
+ "additionalProperties": false,
1017
+ "properties": {
1018
+ "uri": {
1019
+ "description": "A constant Fsspec URI.",
1020
+ "title": "Uri",
1021
+ "type": "string"
1022
+ }
1023
+ },
1024
+ "required": [
1025
+ "uri"
1026
+ ],
1027
+ "title": "ConstantPath",
1028
+ "type": "object"
1029
+ },
1030
+ "Construct": {
1031
+ "additionalProperties": false,
1032
+ "description": "A step that converts variables into an instance of a Custom or Domain Type",
1033
+ "properties": {
1034
+ "cache_config": {
1035
+ "anyOf": [
1036
+ {
1037
+ "$ref": "#/$defs/CacheConfig"
1038
+ },
1039
+ {
1040
+ "type": "null"
1041
+ }
1042
+ ],
1043
+ "default": null,
1044
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1045
+ },
1046
+ "id": {
1047
+ "description": "Unique ID of this component.",
1048
+ "title": "Id",
1049
+ "type": "string"
1050
+ },
1051
+ "type": {
1052
+ "const": "Construct",
1053
+ "default": "Construct",
1054
+ "title": "Type",
1055
+ "type": "string"
1056
+ },
1057
+ "inputs": {
1058
+ "description": "References to the variables required by this step.",
1059
+ "items": {
1060
+ "anyOf": [
1061
+ {
1062
+ "$ref": "#/$defs/Reference_Variable_"
1063
+ },
1064
+ {
1065
+ "type": "string"
1066
+ }
1067
+ ]
1068
+ },
1069
+ "title": "Inputs",
1070
+ "type": "array"
1071
+ },
1072
+ "outputs": {
1073
+ "description": "References to the variables where output is stored.",
1074
+ "items": {
1075
+ "anyOf": [
1076
+ {
1077
+ "$ref": "#/$defs/Reference_Variable_"
1078
+ },
1079
+ {
1080
+ "type": "string"
1081
+ }
1082
+ ]
1083
+ },
1084
+ "title": "Outputs",
1085
+ "type": "array"
1086
+ },
1087
+ "field_bindings": {
1088
+ "additionalProperties": {
1089
+ "anyOf": [
1090
+ {
1091
+ "$ref": "#/$defs/Reference_Variable_"
1092
+ },
1093
+ {
1094
+ "type": "string"
1095
+ }
1096
+ ]
1097
+ },
1098
+ "description": "Mapping from type field names to flow variable names.",
1099
+ "title": "Field Bindings",
1100
+ "type": "object"
1101
+ }
1102
+ },
1103
+ "required": [
1104
+ "id",
1105
+ "field_bindings"
1106
+ ],
1107
+ "title": "Construct",
1108
+ "type": "object"
1109
+ },
1110
+ "CustomType": {
1111
+ "additionalProperties": false,
1112
+ "description": "A simple declaration of a custom data type by the user.",
1113
+ "properties": {
1114
+ "id": {
1115
+ "title": "Id",
1116
+ "type": "string"
1117
+ },
1118
+ "description": {
1119
+ "anyOf": [
1120
+ {
1121
+ "type": "string"
1122
+ },
1123
+ {
1124
+ "type": "null"
1125
+ }
1126
+ ],
1127
+ "default": null,
1128
+ "title": "Description"
1129
+ },
1130
+ "properties": {
1131
+ "type": "object",
1132
+ "additionalProperties": {
1133
+ "type": "string"
1134
+ },
1135
+ "title": "Properties"
1136
+ }
1137
+ },
1138
+ "required": [
1139
+ "id",
1140
+ "properties"
1141
+ ],
1142
+ "title": "CustomType",
1143
+ "type": "object"
1144
+ },
1145
+ "Decoder": {
1146
+ "additionalProperties": false,
1147
+ "description": "Defines a step that decodes string data into structured outputs.\n\nIf parsing fails, the step will raise an error and halt execution.\nUse conditional logic in your flow to handle potential parsing errors.",
1148
+ "properties": {
1149
+ "cache_config": {
1150
+ "anyOf": [
1151
+ {
1152
+ "$ref": "#/$defs/CacheConfig"
1153
+ },
1154
+ {
1155
+ "type": "null"
1156
+ }
1157
+ ],
1158
+ "default": null,
1159
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1160
+ },
1161
+ "id": {
1162
+ "description": "Unique ID of this component.",
1163
+ "title": "Id",
1164
+ "type": "string"
1165
+ },
1166
+ "type": {
1167
+ "const": "Decoder",
1168
+ "default": "Decoder",
1169
+ "title": "Type",
1170
+ "type": "string"
1171
+ },
1172
+ "inputs": {
1173
+ "description": "References to the variables required by this step.",
1174
+ "items": {
1175
+ "anyOf": [
1176
+ {
1177
+ "$ref": "#/$defs/Reference_Variable_"
1178
+ },
1179
+ {
1180
+ "type": "string"
1181
+ }
1182
+ ]
1183
+ },
1184
+ "title": "Inputs",
1185
+ "type": "array"
1186
+ },
1187
+ "outputs": {
1188
+ "description": "References to the variables where output is stored.",
1189
+ "items": {
1190
+ "anyOf": [
1191
+ {
1192
+ "$ref": "#/$defs/Reference_Variable_"
1193
+ },
1194
+ {
1195
+ "type": "string"
1196
+ }
1197
+ ]
1198
+ },
1199
+ "title": "Outputs",
1200
+ "type": "array"
1201
+ },
1202
+ "format": {
1203
+ "$ref": "#/$defs/DecoderFormat",
1204
+ "default": "json",
1205
+ "description": "Format in which the decoder processes data. Defaults to JSON."
1206
+ }
1207
+ },
1208
+ "required": [
1209
+ "id"
1210
+ ],
1211
+ "title": "Decoder",
1212
+ "type": "object"
1213
+ },
1214
+ "DecoderFormat": {
1215
+ "description": "Defines the format in which the decoder step processes data.",
1216
+ "enum": [
1217
+ "json",
1218
+ "xml"
1219
+ ],
1220
+ "title": "DecoderFormat",
1221
+ "type": "string"
1222
+ },
1223
+ "DocToTextConverter": {
1224
+ "additionalProperties": false,
1225
+ "description": "Defines a step to convert raw documents (e.g., PDF, DOCX) loaded by a DocumentSource into plain text\nusing an external tool like Docling or LlamaParse for pre-processing before chunking.\nThe input and output are both RAGDocument, but the output after processing with have content of type markdown.",
1226
+ "properties": {
1227
+ "concurrency_config": {
1228
+ "$ref": "#/$defs/ConcurrencyConfig",
1229
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
1230
+ },
1231
+ "cache_config": {
1232
+ "anyOf": [
1233
+ {
1234
+ "$ref": "#/$defs/CacheConfig"
1235
+ },
1236
+ {
1237
+ "type": "null"
1238
+ }
1239
+ ],
1240
+ "default": null,
1241
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1242
+ },
1243
+ "id": {
1244
+ "description": "Unique ID of this component.",
1245
+ "title": "Id",
1246
+ "type": "string"
1247
+ },
1248
+ "type": {
1249
+ "const": "DocToTextConverter",
1250
+ "default": "DocToTextConverter",
1251
+ "title": "Type",
1252
+ "type": "string"
1253
+ },
1254
+ "inputs": {
1255
+ "description": "References to the variables required by this step.",
1256
+ "items": {
1257
+ "anyOf": [
1258
+ {
1259
+ "$ref": "#/$defs/Reference_Variable_"
1260
+ },
1261
+ {
1262
+ "type": "string"
1263
+ }
1264
+ ]
1265
+ },
1266
+ "title": "Inputs",
1267
+ "type": "array"
1268
+ },
1269
+ "outputs": {
1270
+ "description": "References to the variables where output is stored.",
1271
+ "items": {
1272
+ "anyOf": [
1273
+ {
1274
+ "$ref": "#/$defs/Reference_Variable_"
1275
+ },
1276
+ {
1277
+ "type": "string"
1278
+ }
1279
+ ]
1280
+ },
1281
+ "title": "Outputs",
1282
+ "type": "array"
1283
+ }
1284
+ },
1285
+ "required": [
1286
+ "id"
1287
+ ],
1288
+ "title": "DocToTextConverter",
1289
+ "type": "object"
1290
+ },
1291
+ "Document": {
1292
+ "anyOf": [
1293
+ {
1294
+ "$ref": "#/$defs/Application"
1295
+ },
1296
+ {
1297
+ "$ref": "#/$defs/AuthorizationProviderList"
1298
+ },
1299
+ {
1300
+ "$ref": "#/$defs/ModelList"
1301
+ },
1302
+ {
1303
+ "$ref": "#/$defs/ToolList"
1304
+ },
1305
+ {
1306
+ "$ref": "#/$defs/TypeList"
1307
+ },
1308
+ {
1309
+ "$ref": "#/$defs/VariableList"
1310
+ }
1311
+ ],
1312
+ "description": "Schema for any valid QType document structure.\n\nThis allows validation of standalone lists of components, individual components,\nor full QType application specs. Supports modular composition and reuse.",
1313
+ "title": "Document"
1314
+ },
1315
+ "DocumentEmbedder": {
1316
+ "additionalProperties": false,
1317
+ "description": "Embeds document chunks using a specified embedding model.",
1318
+ "properties": {
1319
+ "concurrency_config": {
1320
+ "$ref": "#/$defs/ConcurrencyConfig",
1321
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
1322
+ },
1323
+ "cache_config": {
1324
+ "anyOf": [
1325
+ {
1326
+ "$ref": "#/$defs/CacheConfig"
1327
+ },
1328
+ {
1329
+ "type": "null"
1330
+ }
1331
+ ],
1332
+ "default": null,
1333
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1334
+ },
1335
+ "id": {
1336
+ "description": "Unique ID of this component.",
1337
+ "title": "Id",
1338
+ "type": "string"
1339
+ },
1340
+ "type": {
1341
+ "const": "DocumentEmbedder",
1342
+ "default": "DocumentEmbedder",
1343
+ "title": "Type",
1344
+ "type": "string"
1345
+ },
1346
+ "inputs": {
1347
+ "description": "References to the variables required by this step.",
1348
+ "items": {
1349
+ "anyOf": [
1350
+ {
1351
+ "$ref": "#/$defs/Reference_Variable_"
1352
+ },
1353
+ {
1354
+ "type": "string"
1355
+ }
1356
+ ]
1357
+ },
1358
+ "title": "Inputs",
1359
+ "type": "array"
1360
+ },
1361
+ "outputs": {
1362
+ "description": "References to the variables where output is stored.",
1363
+ "items": {
1364
+ "anyOf": [
1365
+ {
1366
+ "$ref": "#/$defs/Reference_Variable_"
1367
+ },
1368
+ {
1369
+ "type": "string"
1370
+ }
1371
+ ]
1372
+ },
1373
+ "title": "Outputs",
1374
+ "type": "array"
1375
+ },
1376
+ "model": {
1377
+ "anyOf": [
1378
+ {
1379
+ "$ref": "#/$defs/Reference_EmbeddingModel_"
1380
+ },
1381
+ {
1382
+ "type": "string"
1383
+ }
1384
+ ],
1385
+ "description": "Embedding model to use for vectorization.",
1386
+ "title": "Model"
1387
+ }
1388
+ },
1389
+ "required": [
1390
+ "id",
1391
+ "model"
1392
+ ],
1393
+ "title": "DocumentEmbedder",
1394
+ "type": "object"
1395
+ },
1396
+ "DocumentIndex": {
1397
+ "additionalProperties": false,
1398
+ "description": "Document search index for text-based search (e.g., Elasticsearch, OpenSearch).",
1399
+ "properties": {
1400
+ "id": {
1401
+ "description": "Unique ID of the index.",
1402
+ "title": "Id",
1403
+ "type": "string"
1404
+ },
1405
+ "args": {
1406
+ "additionalProperties": true,
1407
+ "description": "Index-specific configuration and connection parameters.",
1408
+ "title": "Args",
1409
+ "type": "object"
1410
+ },
1411
+ "auth": {
1412
+ "anyOf": [
1413
+ {
1414
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
1415
+ },
1416
+ {
1417
+ "type": "string"
1418
+ },
1419
+ {
1420
+ "type": "null"
1421
+ }
1422
+ ],
1423
+ "default": null,
1424
+ "description": "AuthorizationProvider for accessing the index.",
1425
+ "title": "Auth"
1426
+ },
1427
+ "name": {
1428
+ "description": "Name of the index/collection/table.",
1429
+ "title": "Name",
1430
+ "type": "string"
1431
+ },
1432
+ "type": {
1433
+ "const": "DocumentIndex",
1434
+ "default": "DocumentIndex",
1435
+ "title": "Type",
1436
+ "type": "string"
1437
+ },
1438
+ "endpoint": {
1439
+ "description": "URL endpoint for the search cluster (e.g., https://my-cluster.es.amazonaws.com).",
1440
+ "title": "Endpoint",
1441
+ "type": "string"
1442
+ },
1443
+ "id_field": {
1444
+ "anyOf": [
1445
+ {
1446
+ "type": "string"
1447
+ },
1448
+ {
1449
+ "type": "null"
1450
+ }
1451
+ ],
1452
+ "default": null,
1453
+ "description": "Field name to use as document ID. If not specified, auto-detects from: _id, id, doc_id, document_id, or uuid. If all are missing, a UUID is generated.",
1454
+ "title": "Id Field"
1455
+ }
1456
+ },
1457
+ "required": [
1458
+ "id",
1459
+ "name",
1460
+ "endpoint"
1461
+ ],
1462
+ "title": "DocumentIndex",
1463
+ "type": "object"
1464
+ },
1465
+ "DocumentSearch": {
1466
+ "additionalProperties": false,
1467
+ "description": "Performs document search against a document index.",
1468
+ "properties": {
1469
+ "concurrency_config": {
1470
+ "$ref": "#/$defs/ConcurrencyConfig",
1471
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
1472
+ },
1473
+ "cache_config": {
1474
+ "anyOf": [
1475
+ {
1476
+ "$ref": "#/$defs/CacheConfig"
1477
+ },
1478
+ {
1479
+ "type": "null"
1480
+ }
1481
+ ],
1482
+ "default": null,
1483
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1484
+ },
1485
+ "id": {
1486
+ "description": "Unique ID of this component.",
1487
+ "title": "Id",
1488
+ "type": "string"
1489
+ },
1490
+ "type": {
1491
+ "const": "DocumentSearch",
1492
+ "default": "DocumentSearch",
1493
+ "title": "Type",
1494
+ "type": "string"
1495
+ },
1496
+ "inputs": {
1497
+ "description": "References to the variables required by this step.",
1498
+ "items": {
1499
+ "anyOf": [
1500
+ {
1501
+ "$ref": "#/$defs/Reference_Variable_"
1502
+ },
1503
+ {
1504
+ "type": "string"
1505
+ }
1506
+ ]
1507
+ },
1508
+ "title": "Inputs",
1509
+ "type": "array"
1510
+ },
1511
+ "outputs": {
1512
+ "description": "References to the variables where output is stored.",
1513
+ "items": {
1514
+ "anyOf": [
1515
+ {
1516
+ "$ref": "#/$defs/Reference_Variable_"
1517
+ },
1518
+ {
1519
+ "type": "string"
1520
+ }
1521
+ ]
1522
+ },
1523
+ "title": "Outputs",
1524
+ "type": "array"
1525
+ },
1526
+ "filters": {
1527
+ "additionalProperties": true,
1528
+ "description": "Optional filters to apply during search.",
1529
+ "title": "Filters",
1530
+ "type": "object"
1531
+ },
1532
+ "index": {
1533
+ "anyOf": [
1534
+ {
1535
+ "$ref": "#/$defs/Reference_DocumentIndex_"
1536
+ },
1537
+ {
1538
+ "type": "string"
1539
+ }
1540
+ ],
1541
+ "description": "Index to search against (object or ID reference).",
1542
+ "title": "Index"
1543
+ },
1544
+ "default_top_k": {
1545
+ "anyOf": [
1546
+ {
1547
+ "type": "integer"
1548
+ },
1549
+ {
1550
+ "type": "null"
1551
+ }
1552
+ ],
1553
+ "default": 10,
1554
+ "description": "Number of top results to retrieve if not provided in the inputs.",
1555
+ "title": "Default Top K"
1556
+ },
1557
+ "query_args": {
1558
+ "additionalProperties": true,
1559
+ "default": {
1560
+ "type": "best_fields",
1561
+ "fields": [
1562
+ "*"
1563
+ ]
1564
+ },
1565
+ "description": "The arguments (other than 'query') to specify to the query shape (see https://docs.opensearch.org/latest/query-dsl/full-text/multi-match/).",
1566
+ "title": "Query Args",
1567
+ "type": "object"
1568
+ }
1569
+ },
1570
+ "required": [
1571
+ "id",
1572
+ "index"
1573
+ ],
1574
+ "title": "DocumentSearch",
1575
+ "type": "object"
1576
+ },
1577
+ "DocumentSource": {
1578
+ "additionalProperties": false,
1579
+ "description": "A source of documents that will be used in retrieval augmented generation.\nIt uses LlamaIndex readers to load one or more raw Documents\nfrom a specified path or system (e.g., Google Drive, web page).\nSee https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/readers",
1580
+ "properties": {
1581
+ "cache_config": {
1582
+ "anyOf": [
1583
+ {
1584
+ "$ref": "#/$defs/CacheConfig"
1585
+ },
1586
+ {
1587
+ "type": "null"
1588
+ }
1589
+ ],
1590
+ "default": null,
1591
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1592
+ },
1593
+ "id": {
1594
+ "description": "Unique ID of the data source.",
1595
+ "title": "Id",
1596
+ "type": "string"
1597
+ },
1598
+ "type": {
1599
+ "const": "DocumentSource",
1600
+ "default": "DocumentSource",
1601
+ "title": "Type",
1602
+ "type": "string"
1603
+ },
1604
+ "inputs": {
1605
+ "description": "References to the variables required by this step.",
1606
+ "items": {
1607
+ "anyOf": [
1608
+ {
1609
+ "$ref": "#/$defs/Reference_Variable_"
1610
+ },
1611
+ {
1612
+ "type": "string"
1613
+ }
1614
+ ]
1615
+ },
1616
+ "title": "Inputs",
1617
+ "type": "array"
1618
+ },
1619
+ "outputs": {
1620
+ "description": "References to the variables where output is stored.",
1621
+ "items": {
1622
+ "anyOf": [
1623
+ {
1624
+ "$ref": "#/$defs/Reference_Variable_"
1625
+ },
1626
+ {
1627
+ "type": "string"
1628
+ }
1629
+ ]
1630
+ },
1631
+ "title": "Outputs",
1632
+ "type": "array"
1633
+ },
1634
+ "reader_module": {
1635
+ "description": "Module path of the LlamaIndex Reader).",
1636
+ "title": "Reader Module",
1637
+ "type": "string"
1638
+ },
1639
+ "args": {
1640
+ "additionalProperties": true,
1641
+ "description": "Reader-specific arguments to pass to the Reader constructor.",
1642
+ "title": "Args",
1643
+ "type": "object"
1644
+ },
1645
+ "loader_args": {
1646
+ "additionalProperties": true,
1647
+ "description": "Loader-specific arguments to pass to the load_data method.",
1648
+ "title": "Loader Args",
1649
+ "type": "object"
1650
+ },
1651
+ "auth": {
1652
+ "anyOf": [
1653
+ {
1654
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
1655
+ },
1656
+ {
1657
+ "type": "string"
1658
+ },
1659
+ {
1660
+ "type": "null"
1661
+ }
1662
+ ],
1663
+ "default": null,
1664
+ "description": "AuthorizationProvider for accessing the source.",
1665
+ "title": "Auth"
1666
+ }
1667
+ },
1668
+ "required": [
1669
+ "id",
1670
+ "reader_module"
1671
+ ],
1672
+ "title": "DocumentSource",
1673
+ "type": "object"
1674
+ },
1675
+ "DocumentSplitter": {
1676
+ "additionalProperties": false,
1677
+ "description": "Configuration for chunking/splitting documents into embeddable nodes/chunks.",
1678
+ "properties": {
1679
+ "concurrency_config": {
1680
+ "$ref": "#/$defs/ConcurrencyConfig",
1681
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
1682
+ },
1683
+ "cache_config": {
1684
+ "anyOf": [
1685
+ {
1686
+ "$ref": "#/$defs/CacheConfig"
1687
+ },
1688
+ {
1689
+ "type": "null"
1690
+ }
1691
+ ],
1692
+ "default": null,
1693
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1694
+ },
1695
+ "id": {
1696
+ "description": "Unique ID of this component.",
1697
+ "title": "Id",
1698
+ "type": "string"
1699
+ },
1700
+ "type": {
1701
+ "const": "DocumentSplitter",
1702
+ "default": "DocumentSplitter",
1703
+ "title": "Type",
1704
+ "type": "string"
1705
+ },
1706
+ "inputs": {
1707
+ "description": "References to the variables required by this step.",
1708
+ "items": {
1709
+ "anyOf": [
1710
+ {
1711
+ "$ref": "#/$defs/Reference_Variable_"
1712
+ },
1713
+ {
1714
+ "type": "string"
1715
+ }
1716
+ ]
1717
+ },
1718
+ "title": "Inputs",
1719
+ "type": "array"
1720
+ },
1721
+ "outputs": {
1722
+ "description": "References to the variables where output is stored.",
1723
+ "items": {
1724
+ "anyOf": [
1725
+ {
1726
+ "$ref": "#/$defs/Reference_Variable_"
1727
+ },
1728
+ {
1729
+ "type": "string"
1730
+ }
1731
+ ]
1732
+ },
1733
+ "title": "Outputs",
1734
+ "type": "array"
1735
+ },
1736
+ "splitter_name": {
1737
+ "default": "SentenceSplitter",
1738
+ "description": "Name of the LlamaIndex TextSplitter class.",
1739
+ "title": "Splitter Name",
1740
+ "type": "string"
1741
+ },
1742
+ "chunk_size": {
1743
+ "default": 1024,
1744
+ "description": "Size of each chunk.",
1745
+ "title": "Chunk Size",
1746
+ "type": "integer"
1747
+ },
1748
+ "chunk_overlap": {
1749
+ "default": 20,
1750
+ "description": "Overlap between consecutive chunks.",
1751
+ "title": "Chunk Overlap",
1752
+ "type": "integer"
1753
+ },
1754
+ "args": {
1755
+ "additionalProperties": true,
1756
+ "description": "Additional arguments specific to the chosen splitter class.",
1757
+ "title": "Args",
1758
+ "type": "object"
1759
+ }
1760
+ },
1761
+ "required": [
1762
+ "id"
1763
+ ],
1764
+ "title": "DocumentSplitter",
1765
+ "type": "object"
1766
+ },
1767
+ "Echo": {
1768
+ "additionalProperties": false,
1769
+ "description": "Defines a step that echoes its inputs as outputs.\n\nUseful for debugging flows by inspecting variable values at a specific\npoint in the execution pipeline. The step simply passes through all input\nvariables as outputs without modification.",
1770
+ "properties": {
1771
+ "cache_config": {
1772
+ "anyOf": [
1773
+ {
1774
+ "$ref": "#/$defs/CacheConfig"
1775
+ },
1776
+ {
1777
+ "type": "null"
1778
+ }
1779
+ ],
1780
+ "default": null,
1781
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1782
+ },
1783
+ "id": {
1784
+ "description": "Unique ID of this component.",
1785
+ "title": "Id",
1786
+ "type": "string"
1787
+ },
1788
+ "type": {
1789
+ "const": "Echo",
1790
+ "default": "Echo",
1791
+ "title": "Type",
1792
+ "type": "string"
1793
+ },
1794
+ "inputs": {
1795
+ "description": "References to the variables required by this step.",
1796
+ "items": {
1797
+ "anyOf": [
1798
+ {
1799
+ "$ref": "#/$defs/Reference_Variable_"
1800
+ },
1801
+ {
1802
+ "type": "string"
1803
+ }
1804
+ ]
1805
+ },
1806
+ "title": "Inputs",
1807
+ "type": "array"
1808
+ },
1809
+ "outputs": {
1810
+ "description": "References to the variables where output is stored.",
1811
+ "items": {
1812
+ "anyOf": [
1813
+ {
1814
+ "$ref": "#/$defs/Reference_Variable_"
1815
+ },
1816
+ {
1817
+ "type": "string"
1818
+ }
1819
+ ]
1820
+ },
1821
+ "title": "Outputs",
1822
+ "type": "array"
1823
+ }
1824
+ },
1825
+ "required": [
1826
+ "id"
1827
+ ],
1828
+ "title": "Echo",
1829
+ "type": "object"
1830
+ },
1831
+ "EmbeddingModel": {
1832
+ "additionalProperties": false,
1833
+ "description": "Describes an embedding model configuration, extending the base Model class.",
1834
+ "properties": {
1835
+ "type": {
1836
+ "const": "EmbeddingModel",
1837
+ "default": "EmbeddingModel",
1838
+ "title": "Type",
1839
+ "type": "string"
1840
+ },
1841
+ "id": {
1842
+ "description": "Unique ID for the model.",
1843
+ "title": "Id",
1844
+ "type": "string"
1845
+ },
1846
+ "auth": {
1847
+ "anyOf": [
1848
+ {
1849
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
1850
+ },
1851
+ {
1852
+ "type": "string"
1853
+ },
1854
+ {
1855
+ "type": "null"
1856
+ }
1857
+ ],
1858
+ "default": null,
1859
+ "description": "AuthorizationProvider used for model access.",
1860
+ "title": "Auth"
1861
+ },
1862
+ "inference_params": {
1863
+ "additionalProperties": true,
1864
+ "description": "Optional inference parameters like temperature or max_tokens.",
1865
+ "title": "Inference Params",
1866
+ "type": "object"
1867
+ },
1868
+ "model_id": {
1869
+ "anyOf": [
1870
+ {
1871
+ "type": "string"
1872
+ },
1873
+ {
1874
+ "type": "null"
1875
+ }
1876
+ ],
1877
+ "default": null,
1878
+ "description": "The specific model name or ID for the provider. If None, id is used",
1879
+ "title": "Model Id"
1880
+ },
1881
+ "provider": {
1882
+ "description": "Name of the provider, e.g., openai or anthropic.",
1883
+ "enum": [
1884
+ "openai",
1885
+ "anthropic",
1886
+ "aws-bedrock",
1887
+ "gcp-vertex"
1888
+ ],
1889
+ "title": "Provider",
1890
+ "type": "string"
1891
+ },
1892
+ "dimensions": {
1893
+ "description": "Dimensionality of the embedding vectors produced by this model.",
1894
+ "title": "Dimensions",
1895
+ "type": "integer"
1896
+ }
1897
+ },
1898
+ "required": [
1899
+ "id",
1900
+ "provider",
1901
+ "dimensions"
1902
+ ],
1903
+ "title": "EmbeddingModel",
1904
+ "type": "object"
1905
+ },
1906
+ "Explode": {
1907
+ "additionalProperties": false,
1908
+ "description": "A step that takes a list input and produces multiple outputs, one per item in the list.",
1909
+ "properties": {
1910
+ "cache_config": {
1911
+ "anyOf": [
1912
+ {
1913
+ "$ref": "#/$defs/CacheConfig"
1914
+ },
1915
+ {
1916
+ "type": "null"
1917
+ }
1918
+ ],
1919
+ "default": null,
1920
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1921
+ },
1922
+ "id": {
1923
+ "description": "Unique ID of this component.",
1924
+ "title": "Id",
1925
+ "type": "string"
1926
+ },
1927
+ "type": {
1928
+ "const": "Explode",
1929
+ "default": "Explode",
1930
+ "title": "Type",
1931
+ "type": "string"
1932
+ },
1933
+ "inputs": {
1934
+ "description": "References to the variables required by this step.",
1935
+ "items": {
1936
+ "anyOf": [
1937
+ {
1938
+ "$ref": "#/$defs/Reference_Variable_"
1939
+ },
1940
+ {
1941
+ "type": "string"
1942
+ }
1943
+ ]
1944
+ },
1945
+ "title": "Inputs",
1946
+ "type": "array"
1947
+ },
1948
+ "outputs": {
1949
+ "description": "References to the variables where output is stored.",
1950
+ "items": {
1951
+ "anyOf": [
1952
+ {
1953
+ "$ref": "#/$defs/Reference_Variable_"
1954
+ },
1955
+ {
1956
+ "type": "string"
1957
+ }
1958
+ ]
1959
+ },
1960
+ "title": "Outputs",
1961
+ "type": "array"
1962
+ }
1963
+ },
1964
+ "required": [
1965
+ "id"
1966
+ ],
1967
+ "title": "Explode",
1968
+ "type": "object"
1969
+ },
1970
+ "FieldExtractor": {
1971
+ "additionalProperties": false,
1972
+ "description": "Extracts specific fields from input data using JSONPath expressions.\n\nThis step uses JSONPath syntax to extract data from structured inputs\n(Pydantic models, dicts, lists). The input is first converted to a dict\nusing model_dump() if it's a Pydantic model, then the JSONPath expression\nis evaluated.\n\nIf the JSONPath matches multiple values, the step yields multiple output\nmessages (1-to-many cardinality). If it matches a single value, it yields\none output message. If it matches nothing, it raises an error.\n\nThe extracted data is used to construct the output variable by passing it\nas keyword arguments to the output type's constructor.\n\nIf there is no match and the output variable is optional, it is set to None.\nIf there is no match and the output variable is required, an error is raised.\n\nExample JSONPath expressions:\n- `$.field_name` - Extract a single field\n- `$.items[*]` - Extract all items from a list\n- `$.items[?(@.price > 10)]` - Filter items by condition",
1973
+ "properties": {
1974
+ "cache_config": {
1975
+ "anyOf": [
1976
+ {
1977
+ "$ref": "#/$defs/CacheConfig"
1978
+ },
1979
+ {
1980
+ "type": "null"
1981
+ }
1982
+ ],
1983
+ "default": null,
1984
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
1985
+ },
1986
+ "id": {
1987
+ "description": "Unique ID of this component.",
1988
+ "title": "Id",
1989
+ "type": "string"
1990
+ },
1991
+ "type": {
1992
+ "const": "FieldExtractor",
1993
+ "default": "FieldExtractor",
1994
+ "title": "Type",
1995
+ "type": "string"
1996
+ },
1997
+ "inputs": {
1998
+ "description": "References to the variables required by this step.",
1999
+ "items": {
2000
+ "anyOf": [
2001
+ {
2002
+ "$ref": "#/$defs/Reference_Variable_"
2003
+ },
2004
+ {
2005
+ "type": "string"
2006
+ }
2007
+ ]
2008
+ },
2009
+ "title": "Inputs",
2010
+ "type": "array"
2011
+ },
2012
+ "outputs": {
2013
+ "description": "References to the variables where output is stored.",
2014
+ "items": {
2015
+ "anyOf": [
2016
+ {
2017
+ "$ref": "#/$defs/Reference_Variable_"
2018
+ },
2019
+ {
2020
+ "type": "string"
2021
+ }
2022
+ ]
2023
+ },
2024
+ "title": "Outputs",
2025
+ "type": "array"
2026
+ },
2027
+ "json_path": {
2028
+ "description": "JSONPath expression to extract data from the input. Uses jsonpath-ng syntax.",
2029
+ "title": "Json Path",
2030
+ "type": "string"
2031
+ }
2032
+ },
2033
+ "required": [
2034
+ "id",
2035
+ "json_path"
2036
+ ],
2037
+ "title": "FieldExtractor",
2038
+ "type": "object"
2039
+ },
2040
+ "FileSource": {
2041
+ "additionalProperties": false,
2042
+ "description": "File source that reads data from a file using fsspec-compatible URIs.",
2043
+ "properties": {
2044
+ "cache_config": {
2045
+ "anyOf": [
2046
+ {
2047
+ "$ref": "#/$defs/CacheConfig"
2048
+ },
2049
+ {
2050
+ "type": "null"
2051
+ }
2052
+ ],
2053
+ "default": null,
2054
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
2055
+ },
2056
+ "id": {
2057
+ "description": "Unique ID of the data source.",
2058
+ "title": "Id",
2059
+ "type": "string"
2060
+ },
2061
+ "type": {
2062
+ "const": "FileSource",
2063
+ "default": "FileSource",
2064
+ "title": "Type",
2065
+ "type": "string"
2066
+ },
2067
+ "inputs": {
2068
+ "description": "References to the variables required by this step.",
2069
+ "items": {
2070
+ "anyOf": [
2071
+ {
2072
+ "$ref": "#/$defs/Reference_Variable_"
2073
+ },
2074
+ {
2075
+ "type": "string"
2076
+ }
2077
+ ]
2078
+ },
2079
+ "title": "Inputs",
2080
+ "type": "array"
2081
+ },
2082
+ "outputs": {
2083
+ "description": "References to the variables where output is stored.",
2084
+ "items": {
2085
+ "anyOf": [
2086
+ {
2087
+ "$ref": "#/$defs/Reference_Variable_"
2088
+ },
2089
+ {
2090
+ "type": "string"
2091
+ }
2092
+ ]
2093
+ },
2094
+ "title": "Outputs",
2095
+ "type": "array"
2096
+ },
2097
+ "path": {
2098
+ "anyOf": [
2099
+ {
2100
+ "$ref": "#/$defs/ConstantPath"
2101
+ },
2102
+ {
2103
+ "$ref": "#/$defs/Reference_Variable_"
2104
+ },
2105
+ {
2106
+ "type": "string"
2107
+ }
2108
+ ],
2109
+ "description": "Reference to a variable with an fsspec-compatible URI to read from, or the uri itself.",
2110
+ "title": "Path"
2111
+ }
2112
+ },
2113
+ "required": [
2114
+ "id",
2115
+ "path"
2116
+ ],
2117
+ "title": "FileSource",
2118
+ "type": "object"
2119
+ },
2120
+ "FileUploadUI": {
2121
+ "additionalProperties": false,
2122
+ "properties": {
2123
+ "accept": {
2124
+ "default": "*/*",
2125
+ "description": "The mime type(s) to accept in the file upload.",
2126
+ "title": "Accept",
2127
+ "type": "string"
2128
+ }
2129
+ },
2130
+ "title": "FileUploadUI",
2131
+ "type": "object"
2132
+ },
2133
+ "FileWriter": {
2134
+ "additionalProperties": false,
2135
+ "description": "File writer that writes data to a file using fsspec-compatible URIs.",
2136
+ "properties": {
2137
+ "batch_config": {
2138
+ "$ref": "#/$defs/BatchConfig",
2139
+ "description": "Configuration for processing the input stream in batches. If omitted, the step processes items one by one."
2140
+ },
2141
+ "cache_config": {
2142
+ "anyOf": [
2143
+ {
2144
+ "$ref": "#/$defs/CacheConfig"
2145
+ },
2146
+ {
2147
+ "type": "null"
2148
+ }
2149
+ ],
2150
+ "default": null,
2151
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
2152
+ },
2153
+ "id": {
2154
+ "description": "Unique ID of the data writer.",
2155
+ "title": "Id",
2156
+ "type": "string"
2157
+ },
2158
+ "type": {
2159
+ "const": "FileWriter",
2160
+ "default": "FileWriter",
2161
+ "title": "Type",
2162
+ "type": "string"
2163
+ },
2164
+ "inputs": {
2165
+ "description": "References to the variables required by this step.",
2166
+ "items": {
2167
+ "anyOf": [
2168
+ {
2169
+ "$ref": "#/$defs/Reference_Variable_"
2170
+ },
2171
+ {
2172
+ "type": "string"
2173
+ }
2174
+ ]
2175
+ },
2176
+ "title": "Inputs",
2177
+ "type": "array"
2178
+ },
2179
+ "outputs": {
2180
+ "description": "References to the variables where output is stored.",
2181
+ "items": {
2182
+ "anyOf": [
2183
+ {
2184
+ "$ref": "#/$defs/Reference_Variable_"
2185
+ },
2186
+ {
2187
+ "type": "string"
2188
+ }
2189
+ ]
2190
+ },
2191
+ "title": "Outputs",
2192
+ "type": "array"
2193
+ },
2194
+ "path": {
2195
+ "anyOf": [
2196
+ {
2197
+ "$ref": "#/$defs/ConstantPath"
2198
+ },
2199
+ {
2200
+ "$ref": "#/$defs/Reference_Variable_"
2201
+ },
2202
+ {
2203
+ "type": "string"
2204
+ }
2205
+ ],
2206
+ "description": "Reference to a variable with an fsspec-compatible URI to read from, or the uri itself.",
2207
+ "title": "Path"
2208
+ }
2209
+ },
2210
+ "required": [
2211
+ "id",
2212
+ "path"
2213
+ ],
2214
+ "title": "FileWriter",
2215
+ "type": "object"
2216
+ },
2217
+ "Flow": {
2218
+ "additionalProperties": false,
2219
+ "description": "Defines a flow of steps that can be executed in sequence or parallel.\nIf input or output variables are not specified, they are inferred from\nthe first and last step, respectively.",
2220
+ "properties": {
2221
+ "id": {
2222
+ "description": "Unique ID of the flow.",
2223
+ "title": "Id",
2224
+ "type": "string"
2225
+ },
2226
+ "type": {
2227
+ "const": "Flow",
2228
+ "default": "Flow",
2229
+ "title": "Type",
2230
+ "type": "string"
2231
+ },
2232
+ "description": {
2233
+ "anyOf": [
2234
+ {
2235
+ "type": "string"
2236
+ },
2237
+ {
2238
+ "type": "null"
2239
+ }
2240
+ ],
2241
+ "default": null,
2242
+ "description": "Optional description of the flow.",
2243
+ "title": "Description"
2244
+ },
2245
+ "steps": {
2246
+ "description": "List of steps or references to steps",
2247
+ "items": {
2248
+ "anyOf": [
2249
+ {
2250
+ "discriminator": {
2251
+ "mapping": {
2252
+ "Agent": "#/$defs/Agent",
2253
+ "Aggregate": "#/$defs/Aggregate",
2254
+ "BedrockReranker": "#/$defs/BedrockReranker",
2255
+ "Collect": "#/$defs/Collect",
2256
+ "Construct": "#/$defs/Construct",
2257
+ "Decoder": "#/$defs/Decoder",
2258
+ "DocToTextConverter": "#/$defs/DocToTextConverter",
2259
+ "DocumentEmbedder": "#/$defs/DocumentEmbedder",
2260
+ "DocumentSearch": "#/$defs/DocumentSearch",
2261
+ "DocumentSource": "#/$defs/DocumentSource",
2262
+ "DocumentSplitter": "#/$defs/DocumentSplitter",
2263
+ "Echo": "#/$defs/Echo",
2264
+ "Explode": "#/$defs/Explode",
2265
+ "FieldExtractor": "#/$defs/FieldExtractor",
2266
+ "FileSource": "#/$defs/FileSource",
2267
+ "FileWriter": "#/$defs/FileWriter",
2268
+ "IndexUpsert": "#/$defs/IndexUpsert",
2269
+ "InvokeEmbedding": "#/$defs/InvokeEmbedding",
2270
+ "InvokeFlow": "#/$defs/InvokeFlow",
2271
+ "InvokeTool": "#/$defs/InvokeTool",
2272
+ "LLMInference": "#/$defs/LLMInference",
2273
+ "PromptTemplate": "#/$defs/PromptTemplate",
2274
+ "SQLSource": "#/$defs/SQLSource",
2275
+ "VectorSearch": "#/$defs/VectorSearch"
2276
+ },
2277
+ "propertyName": "type"
2278
+ },
2279
+ "oneOf": [
2280
+ {
2281
+ "$ref": "#/$defs/Agent"
2282
+ },
2283
+ {
2284
+ "$ref": "#/$defs/Aggregate"
2285
+ },
2286
+ {
2287
+ "$ref": "#/$defs/BedrockReranker"
2288
+ },
2289
+ {
2290
+ "$ref": "#/$defs/Collect"
2291
+ },
2292
+ {
2293
+ "$ref": "#/$defs/Construct"
2294
+ },
2295
+ {
2296
+ "$ref": "#/$defs/Decoder"
2297
+ },
2298
+ {
2299
+ "$ref": "#/$defs/DocToTextConverter"
2300
+ },
2301
+ {
2302
+ "$ref": "#/$defs/DocumentEmbedder"
2303
+ },
2304
+ {
2305
+ "$ref": "#/$defs/DocumentSearch"
2306
+ },
2307
+ {
2308
+ "$ref": "#/$defs/DocumentSplitter"
2309
+ },
2310
+ {
2311
+ "$ref": "#/$defs/DocumentSource"
2312
+ },
2313
+ {
2314
+ "$ref": "#/$defs/Echo"
2315
+ },
2316
+ {
2317
+ "$ref": "#/$defs/Explode"
2318
+ },
2319
+ {
2320
+ "$ref": "#/$defs/FieldExtractor"
2321
+ },
2322
+ {
2323
+ "$ref": "#/$defs/FileSource"
2324
+ },
2325
+ {
2326
+ "$ref": "#/$defs/FileWriter"
2327
+ },
2328
+ {
2329
+ "$ref": "#/$defs/IndexUpsert"
2330
+ },
2331
+ {
2332
+ "$ref": "#/$defs/InvokeEmbedding"
2333
+ },
2334
+ {
2335
+ "$ref": "#/$defs/InvokeFlow"
2336
+ },
2337
+ {
2338
+ "$ref": "#/$defs/InvokeTool"
2339
+ },
2340
+ {
2341
+ "$ref": "#/$defs/LLMInference"
2342
+ },
2343
+ {
2344
+ "$ref": "#/$defs/PromptTemplate"
2345
+ },
2346
+ {
2347
+ "$ref": "#/$defs/SQLSource"
2348
+ },
2349
+ {
2350
+ "$ref": "#/$defs/VectorSearch"
2351
+ }
2352
+ ]
2353
+ },
2354
+ {
2355
+ "$ref": "#/$defs/Reference_Annotated_Union_Agent__Aggregate__BedrockReranker__Collect__Construct__Decoder__DocToTextConverter__DocumentEmbedder__DocumentSearch__DocumentSplitter__DocumentSource__Echo__Explode__FieldExtractor__FileSource__FileWriter__IndexUpsert__InvokeEmbedding__InvokeFlow__InvokeTool__LLMInference__PromptTemplate__SQLSource__VectorSearch___FieldInfo_annotation_NoneType__required_True__discriminator__type____"
2356
+ }
2357
+ ]
2358
+ },
2359
+ "title": "Steps",
2360
+ "type": "array"
2361
+ },
2362
+ "interface": {
2363
+ "anyOf": [
2364
+ {
2365
+ "$ref": "#/$defs/FlowInterface"
2366
+ },
2367
+ {
2368
+ "type": "null"
2369
+ }
2370
+ ],
2371
+ "default": null
2372
+ },
2373
+ "variables": {
2374
+ "description": "List of variables available at the application scope.",
2375
+ "items": {
2376
+ "$ref": "#/$defs/Variable"
2377
+ },
2378
+ "title": "Variables",
2379
+ "type": "array"
2380
+ },
2381
+ "inputs": {
2382
+ "description": "Input variables required by this step.",
2383
+ "items": {
2384
+ "anyOf": [
2385
+ {
2386
+ "$ref": "#/$defs/Reference_Variable_"
2387
+ },
2388
+ {
2389
+ "type": "string"
2390
+ }
2391
+ ]
2392
+ },
2393
+ "title": "Inputs",
2394
+ "type": "array"
2395
+ },
2396
+ "outputs": {
2397
+ "description": "Resulting variables",
2398
+ "items": {
2399
+ "anyOf": [
2400
+ {
2401
+ "$ref": "#/$defs/Reference_Variable_"
2402
+ },
2403
+ {
2404
+ "type": "string"
2405
+ }
2406
+ ]
2407
+ },
2408
+ "title": "Outputs",
2409
+ "type": "array"
2410
+ }
2411
+ },
2412
+ "required": [
2413
+ "id"
2414
+ ],
2415
+ "title": "Flow",
2416
+ "type": "object"
2417
+ },
2418
+ "FlowInterface": {
2419
+ "additionalProperties": false,
2420
+ "description": "Defines the public-facing contract for a Flow, guiding the UI\nand session management.",
2421
+ "properties": {
2422
+ "type": {
2423
+ "default": "Complete",
2424
+ "enum": [
2425
+ "Complete",
2426
+ "Conversational"
2427
+ ],
2428
+ "title": "Type",
2429
+ "type": "string"
2430
+ },
2431
+ "session_inputs": {
2432
+ "description": "A list of input variable IDs that are set once and then persisted across a session.",
2433
+ "items": {
2434
+ "anyOf": [
2435
+ {
2436
+ "$ref": "#/$defs/Reference_Variable_"
2437
+ },
2438
+ {
2439
+ "type": "string"
2440
+ }
2441
+ ]
2442
+ },
2443
+ "title": "Session Inputs",
2444
+ "type": "array"
2445
+ }
2446
+ },
2447
+ "title": "FlowInterface",
2448
+ "type": "object"
2449
+ },
2450
+ "IndexUpsert": {
2451
+ "additionalProperties": false,
2452
+ "properties": {
2453
+ "batch_config": {
2454
+ "$ref": "#/$defs/BatchConfig",
2455
+ "description": "Configuration for processing the input stream in batches. If omitted, the step processes items one by one."
2456
+ },
2457
+ "cache_config": {
2458
+ "anyOf": [
2459
+ {
2460
+ "$ref": "#/$defs/CacheConfig"
2461
+ },
2462
+ {
2463
+ "type": "null"
2464
+ }
2465
+ ],
2466
+ "default": null,
2467
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
2468
+ },
2469
+ "id": {
2470
+ "description": "Unique ID of the data writer.",
2471
+ "title": "Id",
2472
+ "type": "string"
2473
+ },
2474
+ "type": {
2475
+ "const": "IndexUpsert",
2476
+ "default": "IndexUpsert",
2477
+ "title": "Type",
2478
+ "type": "string"
2479
+ },
2480
+ "inputs": {
2481
+ "description": "References to the variables required by this step.",
2482
+ "items": {
2483
+ "anyOf": [
2484
+ {
2485
+ "$ref": "#/$defs/Reference_Variable_"
2486
+ },
2487
+ {
2488
+ "type": "string"
2489
+ }
2490
+ ]
2491
+ },
2492
+ "title": "Inputs",
2493
+ "type": "array"
2494
+ },
2495
+ "outputs": {
2496
+ "description": "References to the variables where output is stored.",
2497
+ "items": {
2498
+ "anyOf": [
2499
+ {
2500
+ "$ref": "#/$defs/Reference_Variable_"
2501
+ },
2502
+ {
2503
+ "type": "string"
2504
+ }
2505
+ ]
2506
+ },
2507
+ "title": "Outputs",
2508
+ "type": "array"
2509
+ },
2510
+ "index": {
2511
+ "anyOf": [
2512
+ {
2513
+ "$ref": "#/$defs/Reference_Annotated_Union_DocumentIndex__VectorIndex___FieldInfo_annotation_NoneType__required_True__discriminator__type____"
2514
+ },
2515
+ {
2516
+ "type": "string"
2517
+ }
2518
+ ],
2519
+ "description": "Index to upsert into (object or ID reference).",
2520
+ "title": "Index"
2521
+ }
2522
+ },
2523
+ "required": [
2524
+ "id",
2525
+ "index"
2526
+ ],
2527
+ "title": "IndexUpsert",
2528
+ "type": "object"
2529
+ },
2530
+ "InvokeEmbedding": {
2531
+ "additionalProperties": false,
2532
+ "description": "Defines a step that generates embeddings using an embedding model.\nIt takes input variables and produces output variables containing the embeddings.",
2533
+ "properties": {
2534
+ "concurrency_config": {
2535
+ "$ref": "#/$defs/ConcurrencyConfig",
2536
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
2537
+ },
2538
+ "cache_config": {
2539
+ "anyOf": [
2540
+ {
2541
+ "$ref": "#/$defs/CacheConfig"
2542
+ },
2543
+ {
2544
+ "type": "null"
2545
+ }
2546
+ ],
2547
+ "default": null,
2548
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
2549
+ },
2550
+ "id": {
2551
+ "description": "Unique ID of this component.",
2552
+ "title": "Id",
2553
+ "type": "string"
2554
+ },
2555
+ "type": {
2556
+ "const": "InvokeEmbedding",
2557
+ "default": "InvokeEmbedding",
2558
+ "title": "Type",
2559
+ "type": "string"
2560
+ },
2561
+ "inputs": {
2562
+ "description": "References to the variables required by this step.",
2563
+ "items": {
2564
+ "anyOf": [
2565
+ {
2566
+ "$ref": "#/$defs/Reference_Variable_"
2567
+ },
2568
+ {
2569
+ "type": "string"
2570
+ }
2571
+ ]
2572
+ },
2573
+ "title": "Inputs",
2574
+ "type": "array"
2575
+ },
2576
+ "outputs": {
2577
+ "description": "References to the variables where output is stored.",
2578
+ "items": {
2579
+ "anyOf": [
2580
+ {
2581
+ "$ref": "#/$defs/Reference_Variable_"
2582
+ },
2583
+ {
2584
+ "type": "string"
2585
+ }
2586
+ ]
2587
+ },
2588
+ "title": "Outputs",
2589
+ "type": "array"
2590
+ },
2591
+ "model": {
2592
+ "anyOf": [
2593
+ {
2594
+ "$ref": "#/$defs/Reference_EmbeddingModel_"
2595
+ },
2596
+ {
2597
+ "type": "string"
2598
+ }
2599
+ ],
2600
+ "description": "The embedding model to use.",
2601
+ "title": "Model"
2602
+ }
2603
+ },
2604
+ "required": [
2605
+ "id",
2606
+ "model"
2607
+ ],
2608
+ "title": "InvokeEmbedding",
2609
+ "type": "object"
2610
+ },
2611
+ "InvokeFlow": {
2612
+ "additionalProperties": false,
2613
+ "description": "Invokes a flow with input and output bindings.",
2614
+ "properties": {
2615
+ "cache_config": {
2616
+ "anyOf": [
2617
+ {
2618
+ "$ref": "#/$defs/CacheConfig"
2619
+ },
2620
+ {
2621
+ "type": "null"
2622
+ }
2623
+ ],
2624
+ "default": null,
2625
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
2626
+ },
2627
+ "id": {
2628
+ "description": "Unique ID of this component.",
2629
+ "title": "Id",
2630
+ "type": "string"
2631
+ },
2632
+ "type": {
2633
+ "const": "InvokeFlow",
2634
+ "default": "InvokeFlow",
2635
+ "title": "Type",
2636
+ "type": "string"
2637
+ },
2638
+ "inputs": {
2639
+ "description": "References to the variables required by this step.",
2640
+ "items": {
2641
+ "anyOf": [
2642
+ {
2643
+ "$ref": "#/$defs/Reference_Variable_"
2644
+ },
2645
+ {
2646
+ "type": "string"
2647
+ }
2648
+ ]
2649
+ },
2650
+ "title": "Inputs",
2651
+ "type": "array"
2652
+ },
2653
+ "outputs": {
2654
+ "description": "References to the variables where output is stored.",
2655
+ "items": {
2656
+ "anyOf": [
2657
+ {
2658
+ "$ref": "#/$defs/Reference_Variable_"
2659
+ },
2660
+ {
2661
+ "type": "string"
2662
+ }
2663
+ ]
2664
+ },
2665
+ "title": "Outputs",
2666
+ "type": "array"
2667
+ },
2668
+ "flow": {
2669
+ "anyOf": [
2670
+ {
2671
+ "$ref": "#/$defs/Reference_Flow_"
2672
+ },
2673
+ {
2674
+ "type": "string"
2675
+ }
2676
+ ],
2677
+ "description": "Flow to invoke.",
2678
+ "title": "Flow"
2679
+ },
2680
+ "input_bindings": {
2681
+ "additionalProperties": {
2682
+ "anyOf": [
2683
+ {
2684
+ "$ref": "#/$defs/Reference_Variable_"
2685
+ },
2686
+ {
2687
+ "type": "string"
2688
+ }
2689
+ ]
2690
+ },
2691
+ "description": "Mapping from flow input variable IDs to step variable names.",
2692
+ "title": "Input Bindings",
2693
+ "type": "object"
2694
+ },
2695
+ "output_bindings": {
2696
+ "additionalProperties": {
2697
+ "anyOf": [
2698
+ {
2699
+ "$ref": "#/$defs/Reference_Variable_"
2700
+ },
2701
+ {
2702
+ "type": "string"
2703
+ }
2704
+ ]
2705
+ },
2706
+ "description": "Mapping from flow output variable IDs to step variable names.",
2707
+ "title": "Output Bindings",
2708
+ "type": "object"
2709
+ }
2710
+ },
2711
+ "required": [
2712
+ "id",
2713
+ "flow",
2714
+ "input_bindings",
2715
+ "output_bindings"
2716
+ ],
2717
+ "title": "InvokeFlow",
2718
+ "type": "object"
2719
+ },
2720
+ "InvokeTool": {
2721
+ "additionalProperties": false,
2722
+ "description": "Invokes a tool with input and output bindings.",
2723
+ "properties": {
2724
+ "concurrency_config": {
2725
+ "$ref": "#/$defs/ConcurrencyConfig",
2726
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
2727
+ },
2728
+ "cache_config": {
2729
+ "anyOf": [
2730
+ {
2731
+ "$ref": "#/$defs/CacheConfig"
2732
+ },
2733
+ {
2734
+ "type": "null"
2735
+ }
2736
+ ],
2737
+ "default": null,
2738
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
2739
+ },
2740
+ "id": {
2741
+ "description": "Unique ID of this component.",
2742
+ "title": "Id",
2743
+ "type": "string"
2744
+ },
2745
+ "type": {
2746
+ "const": "InvokeTool",
2747
+ "default": "InvokeTool",
2748
+ "title": "Type",
2749
+ "type": "string"
2750
+ },
2751
+ "inputs": {
2752
+ "description": "References to the variables required by this step.",
2753
+ "items": {
2754
+ "anyOf": [
2755
+ {
2756
+ "$ref": "#/$defs/Reference_Variable_"
2757
+ },
2758
+ {
2759
+ "type": "string"
2760
+ }
2761
+ ]
2762
+ },
2763
+ "title": "Inputs",
2764
+ "type": "array"
2765
+ },
2766
+ "outputs": {
2767
+ "description": "References to the variables where output is stored.",
2768
+ "items": {
2769
+ "anyOf": [
2770
+ {
2771
+ "$ref": "#/$defs/Reference_Variable_"
2772
+ },
2773
+ {
2774
+ "type": "string"
2775
+ }
2776
+ ]
2777
+ },
2778
+ "title": "Outputs",
2779
+ "type": "array"
2780
+ },
2781
+ "tool": {
2782
+ "anyOf": [
2783
+ {
2784
+ "$ref": "#/$defs/Reference_Annotated_Union_APITool__PythonFunctionTool___FieldInfo_annotation_NoneType__required_True__discriminator__type____"
2785
+ },
2786
+ {
2787
+ "type": "string"
2788
+ }
2789
+ ],
2790
+ "description": "Tool to invoke.",
2791
+ "title": "Tool"
2792
+ },
2793
+ "input_bindings": {
2794
+ "additionalProperties": {
2795
+ "anyOf": [
2796
+ {
2797
+ "$ref": "#/$defs/Reference_Variable_"
2798
+ },
2799
+ {
2800
+ "type": "string"
2801
+ }
2802
+ ]
2803
+ },
2804
+ "description": "Mapping from tool parameter names to flow variable names.",
2805
+ "title": "Input Bindings",
2806
+ "type": "object"
2807
+ },
2808
+ "output_bindings": {
2809
+ "additionalProperties": {
2810
+ "anyOf": [
2811
+ {
2812
+ "$ref": "#/$defs/Reference_Variable_"
2813
+ },
2814
+ {
2815
+ "type": "string"
2816
+ }
2817
+ ]
2818
+ },
2819
+ "description": "Mapping from tool output names to flow variable names.",
2820
+ "title": "Output Bindings",
2821
+ "type": "object"
2822
+ }
2823
+ },
2824
+ "required": [
2825
+ "id",
2826
+ "tool",
2827
+ "input_bindings",
2828
+ "output_bindings"
2829
+ ],
2830
+ "title": "InvokeTool",
2831
+ "type": "object"
2832
+ },
2833
+ "LLMInference": {
2834
+ "additionalProperties": false,
2835
+ "description": "Defines a step that performs inference using a language model.\nIt can take input variables and produce output variables based on the model's response.",
2836
+ "properties": {
2837
+ "concurrency_config": {
2838
+ "$ref": "#/$defs/ConcurrencyConfig",
2839
+ "description": "Configuration for processing the input stream concurrently. If omitted, the step processes items sequentially."
2840
+ },
2841
+ "cache_config": {
2842
+ "anyOf": [
2843
+ {
2844
+ "$ref": "#/$defs/CacheConfig"
2845
+ },
2846
+ {
2847
+ "type": "null"
2848
+ }
2849
+ ],
2850
+ "default": null,
2851
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
2852
+ },
2853
+ "id": {
2854
+ "description": "Unique ID of this component.",
2855
+ "title": "Id",
2856
+ "type": "string"
2857
+ },
2858
+ "type": {
2859
+ "const": "LLMInference",
2860
+ "default": "LLMInference",
2861
+ "title": "Type",
2862
+ "type": "string"
2863
+ },
2864
+ "inputs": {
2865
+ "description": "References to the variables required by this step.",
2866
+ "items": {
2867
+ "anyOf": [
2868
+ {
2869
+ "$ref": "#/$defs/Reference_Variable_"
2870
+ },
2871
+ {
2872
+ "type": "string"
2873
+ }
2874
+ ]
2875
+ },
2876
+ "title": "Inputs",
2877
+ "type": "array"
2878
+ },
2879
+ "outputs": {
2880
+ "description": "References to the variables where output is stored.",
2881
+ "items": {
2882
+ "anyOf": [
2883
+ {
2884
+ "$ref": "#/$defs/Reference_Variable_"
2885
+ },
2886
+ {
2887
+ "type": "string"
2888
+ }
2889
+ ]
2890
+ },
2891
+ "title": "Outputs",
2892
+ "type": "array"
2893
+ },
2894
+ "memory": {
2895
+ "anyOf": [
2896
+ {
2897
+ "$ref": "#/$defs/Reference_Memory_"
2898
+ },
2899
+ {
2900
+ "type": "string"
2901
+ },
2902
+ {
2903
+ "type": "null"
2904
+ }
2905
+ ],
2906
+ "default": null,
2907
+ "description": "A reference to a Memory object to retain context across interactions.",
2908
+ "title": "Memory"
2909
+ },
2910
+ "model": {
2911
+ "anyOf": [
2912
+ {
2913
+ "$ref": "#/$defs/Reference_Model_"
2914
+ },
2915
+ {
2916
+ "type": "string"
2917
+ }
2918
+ ],
2919
+ "description": "The model to use for inference.",
2920
+ "title": "Model"
2921
+ },
2922
+ "system_message": {
2923
+ "anyOf": [
2924
+ {
2925
+ "type": "string"
2926
+ },
2927
+ {
2928
+ "type": "null"
2929
+ }
2930
+ ],
2931
+ "default": null,
2932
+ "description": "Optional system message to set the context for the model.",
2933
+ "title": "System Message"
2934
+ }
2935
+ },
2936
+ "required": [
2937
+ "id",
2938
+ "model"
2939
+ ],
2940
+ "title": "LLMInference",
2941
+ "type": "object"
2942
+ },
2943
+ "ListType": {
2944
+ "description": "Represents a list type with a specific element type.",
2945
+ "properties": {
2946
+ "element_type": {
2947
+ "anyOf": [
2948
+ {
2949
+ "$ref": "#/$defs/PrimitiveTypeEnum"
2950
+ },
2951
+ {
2952
+ "type": "string"
2953
+ }
2954
+ ],
2955
+ "description": "Type of elements in the list (primitive type or custom type reference)",
2956
+ "title": "Element Type"
2957
+ }
2958
+ },
2959
+ "required": [
2960
+ "element_type"
2961
+ ],
2962
+ "title": "ListType",
2963
+ "type": "object"
2964
+ },
2965
+ "Memory": {
2966
+ "additionalProperties": false,
2967
+ "description": "Session or persistent memory used to store relevant conversation or state data across steps or turns.",
2968
+ "properties": {
2969
+ "id": {
2970
+ "description": "Unique ID of the memory block.",
2971
+ "title": "Id",
2972
+ "type": "string"
2973
+ },
2974
+ "token_limit": {
2975
+ "default": 100000,
2976
+ "description": "Maximum number of tokens to store in memory.",
2977
+ "title": "Token Limit",
2978
+ "type": "integer"
2979
+ },
2980
+ "chat_history_token_ratio": {
2981
+ "default": 0.7,
2982
+ "description": "Ratio of chat history tokens to total memory tokens.",
2983
+ "title": "Chat History Token Ratio",
2984
+ "type": "number"
2985
+ },
2986
+ "token_flush_size": {
2987
+ "default": 3000,
2988
+ "description": "Size of memory to flush when it exceeds the token limit.",
2989
+ "title": "Token Flush Size",
2990
+ "type": "integer"
2991
+ }
2992
+ },
2993
+ "required": [
2994
+ "id"
2995
+ ],
2996
+ "title": "Memory",
2997
+ "type": "object"
2998
+ },
2999
+ "Model": {
3000
+ "additionalProperties": false,
3001
+ "description": "Describes a generative model configuration, including provider and model ID.",
3002
+ "properties": {
3003
+ "type": {
3004
+ "const": "Model",
3005
+ "default": "Model",
3006
+ "title": "Type",
3007
+ "type": "string"
3008
+ },
3009
+ "id": {
3010
+ "description": "Unique ID for the model.",
3011
+ "title": "Id",
3012
+ "type": "string"
3013
+ },
3014
+ "auth": {
3015
+ "anyOf": [
3016
+ {
3017
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
3018
+ },
3019
+ {
3020
+ "type": "string"
3021
+ },
3022
+ {
3023
+ "type": "null"
3024
+ }
3025
+ ],
3026
+ "default": null,
3027
+ "description": "AuthorizationProvider used for model access.",
3028
+ "title": "Auth"
3029
+ },
3030
+ "inference_params": {
3031
+ "additionalProperties": true,
3032
+ "description": "Optional inference parameters like temperature or max_tokens.",
3033
+ "title": "Inference Params",
3034
+ "type": "object"
3035
+ },
3036
+ "model_id": {
3037
+ "anyOf": [
3038
+ {
3039
+ "type": "string"
3040
+ },
3041
+ {
3042
+ "type": "null"
3043
+ }
3044
+ ],
3045
+ "default": null,
3046
+ "description": "The specific model name or ID for the provider. If None, id is used",
3047
+ "title": "Model Id"
3048
+ },
3049
+ "provider": {
3050
+ "description": "Name of the provider, e.g., openai or anthropic.",
3051
+ "enum": [
3052
+ "openai",
3053
+ "anthropic",
3054
+ "aws-bedrock",
3055
+ "gcp-vertex"
3056
+ ],
3057
+ "title": "Provider",
3058
+ "type": "string"
3059
+ }
3060
+ },
3061
+ "required": [
3062
+ "id",
3063
+ "provider"
3064
+ ],
3065
+ "title": "Model",
3066
+ "type": "object"
3067
+ },
3068
+ "ModelList": {
3069
+ "description": "Schema for a standalone list of models.",
3070
+ "items": {
3071
+ "discriminator": {
3072
+ "mapping": {
3073
+ "EmbeddingModel": "#/$defs/EmbeddingModel",
3074
+ "Model": "#/$defs/Model"
3075
+ },
3076
+ "propertyName": "type"
3077
+ },
3078
+ "oneOf": [
3079
+ {
3080
+ "$ref": "#/$defs/EmbeddingModel"
3081
+ },
3082
+ {
3083
+ "$ref": "#/$defs/Model"
3084
+ }
3085
+ ]
3086
+ },
3087
+ "title": "ModelList",
3088
+ "type": "array"
3089
+ },
3090
+ "OAuth2AuthProvider": {
3091
+ "additionalProperties": false,
3092
+ "description": "OAuth2 authentication provider.",
3093
+ "properties": {
3094
+ "id": {
3095
+ "description": "Unique ID of the authorization configuration.",
3096
+ "title": "Id",
3097
+ "type": "string"
3098
+ },
3099
+ "type": {
3100
+ "const": "oauth2",
3101
+ "default": "oauth2",
3102
+ "title": "Type",
3103
+ "type": "string"
3104
+ },
3105
+ "client_id": {
3106
+ "description": "OAuth2 client ID.",
3107
+ "title": "Client Id",
3108
+ "type": "string"
3109
+ },
3110
+ "client_secret": {
3111
+ "anyOf": [
3112
+ {
3113
+ "type": "string"
3114
+ },
3115
+ {
3116
+ "$ref": "#/$defs/SecretReference"
3117
+ }
3118
+ ],
3119
+ "description": "OAuth2 client secret.",
3120
+ "title": "Client Secret"
3121
+ },
3122
+ "token_url": {
3123
+ "description": "Token endpoint URL.",
3124
+ "title": "Token Url",
3125
+ "type": "string"
3126
+ },
3127
+ "scopes": {
3128
+ "description": "OAuth2 scopes required.",
3129
+ "items": {
3130
+ "type": "string"
3131
+ },
3132
+ "title": "Scopes",
3133
+ "type": "array"
3134
+ }
3135
+ },
3136
+ "required": [
3137
+ "id",
3138
+ "client_id",
3139
+ "client_secret",
3140
+ "token_url"
3141
+ ],
3142
+ "title": "OAuth2AuthProvider",
3143
+ "type": "object"
3144
+ },
3145
+ "PrimitiveTypeEnum": {
3146
+ "description": "Represents the type of data a user or system input can accept within the DSL.",
3147
+ "enum": [
3148
+ "audio",
3149
+ "boolean",
3150
+ "bytes",
3151
+ "citation_document",
3152
+ "citation_url",
3153
+ "date",
3154
+ "datetime",
3155
+ "file",
3156
+ "float",
3157
+ "image",
3158
+ "int",
3159
+ "text",
3160
+ "time",
3161
+ "video"
3162
+ ],
3163
+ "title": "PrimitiveTypeEnum",
3164
+ "type": "string"
3165
+ },
3166
+ "PromptTemplate": {
3167
+ "additionalProperties": false,
3168
+ "description": "Defines a prompt template with a string format and variable bindings.\nThis is used to generate prompts dynamically based on input variables.",
3169
+ "properties": {
3170
+ "cache_config": {
3171
+ "anyOf": [
3172
+ {
3173
+ "$ref": "#/$defs/CacheConfig"
3174
+ },
3175
+ {
3176
+ "type": "null"
3177
+ }
3178
+ ],
3179
+ "default": null,
3180
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
3181
+ },
3182
+ "id": {
3183
+ "description": "Unique ID of this component.",
3184
+ "title": "Id",
3185
+ "type": "string"
3186
+ },
3187
+ "type": {
3188
+ "const": "PromptTemplate",
3189
+ "default": "PromptTemplate",
3190
+ "title": "Type",
3191
+ "type": "string"
3192
+ },
3193
+ "inputs": {
3194
+ "description": "References to the variables required by this step.",
3195
+ "items": {
3196
+ "anyOf": [
3197
+ {
3198
+ "$ref": "#/$defs/Reference_Variable_"
3199
+ },
3200
+ {
3201
+ "type": "string"
3202
+ }
3203
+ ]
3204
+ },
3205
+ "title": "Inputs",
3206
+ "type": "array"
3207
+ },
3208
+ "outputs": {
3209
+ "description": "References to the variables where output is stored.",
3210
+ "items": {
3211
+ "anyOf": [
3212
+ {
3213
+ "$ref": "#/$defs/Reference_Variable_"
3214
+ },
3215
+ {
3216
+ "type": "string"
3217
+ }
3218
+ ]
3219
+ },
3220
+ "title": "Outputs",
3221
+ "type": "array"
3222
+ },
3223
+ "template": {
3224
+ "description": "String template for the prompt with variable placeholders.",
3225
+ "title": "Template",
3226
+ "type": "string"
3227
+ }
3228
+ },
3229
+ "required": [
3230
+ "id",
3231
+ "template"
3232
+ ],
3233
+ "title": "PromptTemplate",
3234
+ "type": "object"
3235
+ },
3236
+ "PythonFunctionTool": {
3237
+ "additionalProperties": false,
3238
+ "description": "Tool that calls a Python function.",
3239
+ "properties": {
3240
+ "id": {
3241
+ "description": "Unique ID of this component.",
3242
+ "title": "Id",
3243
+ "type": "string"
3244
+ },
3245
+ "name": {
3246
+ "description": "Name of the tool function.",
3247
+ "title": "Name",
3248
+ "type": "string"
3249
+ },
3250
+ "description": {
3251
+ "description": "Description of what the tool does.",
3252
+ "title": "Description",
3253
+ "type": "string"
3254
+ },
3255
+ "inputs": {
3256
+ "description": "Input parameters required by this tool.",
3257
+ "items": {
3258
+ "$ref": "#/$defs/Variable"
3259
+ },
3260
+ "title": "Inputs",
3261
+ "type": "array"
3262
+ },
3263
+ "outputs": {
3264
+ "description": "Output parameters produced by this tool.",
3265
+ "items": {
3266
+ "$ref": "#/$defs/Variable"
3267
+ },
3268
+ "title": "Outputs",
3269
+ "type": "array"
3270
+ },
3271
+ "type": {
3272
+ "const": "PythonFunctionTool",
3273
+ "default": "PythonFunctionTool",
3274
+ "title": "Type",
3275
+ "type": "string"
3276
+ },
3277
+ "function_name": {
3278
+ "description": "Name of the Python function to call.",
3279
+ "title": "Function Name",
3280
+ "type": "string"
3281
+ },
3282
+ "module_path": {
3283
+ "description": "Optional module path where the function is defined.",
3284
+ "title": "Module Path",
3285
+ "type": "string"
3286
+ }
3287
+ },
3288
+ "required": [
3289
+ "id",
3290
+ "name",
3291
+ "description",
3292
+ "function_name",
3293
+ "module_path"
3294
+ ],
3295
+ "title": "PythonFunctionTool",
3296
+ "type": "object"
3297
+ },
3298
+ "Reference_AWSAuthProvider_": {
3299
+ "properties": {
3300
+ "$ref": {
3301
+ "title": "$Ref",
3302
+ "type": "string"
3303
+ }
3304
+ },
3305
+ "required": [
3306
+ "$ref"
3307
+ ],
3308
+ "title": "Reference[AWSAuthProvider]",
3309
+ "type": "object"
3310
+ },
3311
+ "Reference_Annotated_Union_APITool__PythonFunctionTool___FieldInfo_annotation_NoneType__required_True__discriminator__type____": {
3312
+ "properties": {
3313
+ "$ref": {
3314
+ "title": "$Ref",
3315
+ "type": "string"
3316
+ }
3317
+ },
3318
+ "required": [
3319
+ "$ref"
3320
+ ],
3321
+ "title": "Reference[Annotated[Union[APITool, PythonFunctionTool], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",
3322
+ "type": "object"
3323
+ },
3324
+ "Reference_Annotated_Union_Agent__Aggregate__BedrockReranker__Collect__Construct__Decoder__DocToTextConverter__DocumentEmbedder__DocumentSearch__DocumentSplitter__DocumentSource__Echo__Explode__FieldExtractor__FileSource__FileWriter__IndexUpsert__InvokeEmbedding__InvokeFlow__InvokeTool__LLMInference__PromptTemplate__SQLSource__VectorSearch___FieldInfo_annotation_NoneType__required_True__discriminator__type____": {
3325
+ "properties": {
3326
+ "$ref": {
3327
+ "title": "$Ref",
3328
+ "type": "string"
3329
+ }
3330
+ },
3331
+ "required": [
3332
+ "$ref"
3333
+ ],
3334
+ "title": "Reference[Annotated[Union[Agent, Aggregate, BedrockReranker, Collect, Construct, Decoder, DocToTextConverter, DocumentEmbedder, DocumentSearch, DocumentSplitter, DocumentSource, Echo, Explode, FieldExtractor, FileSource, FileWriter, IndexUpsert, InvokeEmbedding, InvokeFlow, InvokeTool, LLMInference, PromptTemplate, SQLSource, VectorSearch], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",
3335
+ "type": "object"
3336
+ },
3337
+ "Reference_Annotated_Union_DocumentIndex__VectorIndex___FieldInfo_annotation_NoneType__required_True__discriminator__type____": {
3338
+ "properties": {
3339
+ "$ref": {
3340
+ "title": "$Ref",
3341
+ "type": "string"
3342
+ }
3343
+ },
3344
+ "required": [
3345
+ "$ref"
3346
+ ],
3347
+ "title": "Reference[Annotated[Union[DocumentIndex, VectorIndex], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]",
3348
+ "type": "object"
3349
+ },
3350
+ "Reference_DocumentIndex_": {
3351
+ "properties": {
3352
+ "$ref": {
3353
+ "title": "$Ref",
3354
+ "type": "string"
3355
+ }
3356
+ },
3357
+ "required": [
3358
+ "$ref"
3359
+ ],
3360
+ "title": "Reference[DocumentIndex]",
3361
+ "type": "object"
3362
+ },
3363
+ "Reference_EmbeddingModel_": {
3364
+ "properties": {
3365
+ "$ref": {
3366
+ "title": "$Ref",
3367
+ "type": "string"
3368
+ }
3369
+ },
3370
+ "required": [
3371
+ "$ref"
3372
+ ],
3373
+ "title": "Reference[EmbeddingModel]",
3374
+ "type": "object"
3375
+ },
3376
+ "Reference_Flow_": {
3377
+ "properties": {
3378
+ "$ref": {
3379
+ "title": "$Ref",
3380
+ "type": "string"
3381
+ }
3382
+ },
3383
+ "required": [
3384
+ "$ref"
3385
+ ],
3386
+ "title": "Reference[Flow]",
3387
+ "type": "object"
3388
+ },
3389
+ "Reference_Memory_": {
3390
+ "properties": {
3391
+ "$ref": {
3392
+ "title": "$Ref",
3393
+ "type": "string"
3394
+ }
3395
+ },
3396
+ "required": [
3397
+ "$ref"
3398
+ ],
3399
+ "title": "Reference[Memory]",
3400
+ "type": "object"
3401
+ },
3402
+ "Reference_Model_": {
3403
+ "properties": {
3404
+ "$ref": {
3405
+ "title": "$Ref",
3406
+ "type": "string"
3407
+ }
3408
+ },
3409
+ "required": [
3410
+ "$ref"
3411
+ ],
3412
+ "title": "Reference[Model]",
3413
+ "type": "object"
3414
+ },
3415
+ "Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__": {
3416
+ "properties": {
3417
+ "$ref": {
3418
+ "title": "$Ref",
3419
+ "type": "string"
3420
+ }
3421
+ },
3422
+ "required": [
3423
+ "$ref"
3424
+ ],
3425
+ "title": "Reference[Union[APIKeyAuthProvider, BearerTokenAuthProvider, AWSAuthProvider, OAuth2AuthProvider, VertexAuthProvider]]",
3426
+ "type": "object"
3427
+ },
3428
+ "Reference_Variable_": {
3429
+ "properties": {
3430
+ "$ref": {
3431
+ "title": "$Ref",
3432
+ "type": "string"
3433
+ }
3434
+ },
3435
+ "required": [
3436
+ "$ref"
3437
+ ],
3438
+ "title": "Reference[Variable]",
3439
+ "type": "object"
3440
+ },
3441
+ "Reference_VectorIndex_": {
3442
+ "properties": {
3443
+ "$ref": {
3444
+ "title": "$Ref",
3445
+ "type": "string"
3446
+ }
3447
+ },
3448
+ "required": [
3449
+ "$ref"
3450
+ ],
3451
+ "title": "Reference[VectorIndex]",
3452
+ "type": "object"
3453
+ },
3454
+ "SQLSource": {
3455
+ "additionalProperties": false,
3456
+ "description": "SQL database source that executes queries and emits rows.",
3457
+ "properties": {
3458
+ "cache_config": {
3459
+ "anyOf": [
3460
+ {
3461
+ "$ref": "#/$defs/CacheConfig"
3462
+ },
3463
+ {
3464
+ "type": "null"
3465
+ }
3466
+ ],
3467
+ "default": null,
3468
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
3469
+ },
3470
+ "id": {
3471
+ "description": "Unique ID of the data source.",
3472
+ "title": "Id",
3473
+ "type": "string"
3474
+ },
3475
+ "type": {
3476
+ "const": "SQLSource",
3477
+ "default": "SQLSource",
3478
+ "title": "Type",
3479
+ "type": "string"
3480
+ },
3481
+ "inputs": {
3482
+ "description": "References to the variables required by this step.",
3483
+ "items": {
3484
+ "anyOf": [
3485
+ {
3486
+ "$ref": "#/$defs/Reference_Variable_"
3487
+ },
3488
+ {
3489
+ "type": "string"
3490
+ }
3491
+ ]
3492
+ },
3493
+ "title": "Inputs",
3494
+ "type": "array"
3495
+ },
3496
+ "outputs": {
3497
+ "description": "References to the variables where output is stored.",
3498
+ "items": {
3499
+ "anyOf": [
3500
+ {
3501
+ "$ref": "#/$defs/Reference_Variable_"
3502
+ },
3503
+ {
3504
+ "type": "string"
3505
+ }
3506
+ ]
3507
+ },
3508
+ "title": "Outputs",
3509
+ "type": "array"
3510
+ },
3511
+ "query": {
3512
+ "description": "SQL query to execute. Inputs are injected as params.",
3513
+ "title": "Query",
3514
+ "type": "string"
3515
+ },
3516
+ "connection": {
3517
+ "anyOf": [
3518
+ {
3519
+ "type": "string"
3520
+ },
3521
+ {
3522
+ "$ref": "#/$defs/SecretReference"
3523
+ }
3524
+ ],
3525
+ "description": "Database connection string or reference to auth provider. Typically in SQLAlchemy format.",
3526
+ "title": "Connection"
3527
+ },
3528
+ "auth": {
3529
+ "anyOf": [
3530
+ {
3531
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
3532
+ },
3533
+ {
3534
+ "type": "string"
3535
+ },
3536
+ {
3537
+ "type": "null"
3538
+ }
3539
+ ],
3540
+ "default": null,
3541
+ "description": "Optional AuthorizationProvider for database authentication.",
3542
+ "title": "Auth"
3543
+ }
3544
+ },
3545
+ "required": [
3546
+ "id",
3547
+ "query",
3548
+ "connection"
3549
+ ],
3550
+ "title": "SQLSource",
3551
+ "type": "object"
3552
+ },
3553
+ "SecretReference": {
3554
+ "additionalProperties": false,
3555
+ "description": "A reference to a secret in the application's configured SecretManager.\nThis value is resolved at runtime by the interpreter.",
3556
+ "properties": {
3557
+ "secret_name": {
3558
+ "description": "The name, ID, or ARN of the secret to fetch (e.g., 'my-project/db-password').",
3559
+ "title": "Secret Name",
3560
+ "type": "string"
3561
+ },
3562
+ "key": {
3563
+ "anyOf": [
3564
+ {
3565
+ "type": "string"
3566
+ },
3567
+ {
3568
+ "type": "null"
3569
+ }
3570
+ ],
3571
+ "default": null,
3572
+ "description": "Optional key if the secret is a JSON blob or map (e.g., a specific key in a K8s secret).",
3573
+ "title": "Key"
3574
+ }
3575
+ },
3576
+ "required": [
3577
+ "secret_name"
3578
+ ],
3579
+ "title": "SecretReference",
3580
+ "type": "object"
3581
+ },
3582
+ "TelemetrySink": {
3583
+ "additionalProperties": false,
3584
+ "description": "Defines an observability endpoint for collecting telemetry data from the QType runtime.",
3585
+ "properties": {
3586
+ "id": {
3587
+ "description": "Unique ID of the telemetry sink configuration.",
3588
+ "title": "Id",
3589
+ "type": "string"
3590
+ },
3591
+ "provider": {
3592
+ "default": "Phoenix",
3593
+ "enum": [
3594
+ "Phoenix",
3595
+ "Langfuse"
3596
+ ],
3597
+ "title": "Provider",
3598
+ "type": "string"
3599
+ },
3600
+ "auth": {
3601
+ "anyOf": [
3602
+ {
3603
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
3604
+ },
3605
+ {
3606
+ "type": "string"
3607
+ },
3608
+ {
3609
+ "type": "null"
3610
+ }
3611
+ ],
3612
+ "default": null,
3613
+ "description": "AuthorizationProvider used to authenticate telemetry data transmission.",
3614
+ "title": "Auth"
3615
+ },
3616
+ "endpoint": {
3617
+ "anyOf": [
3618
+ {
3619
+ "type": "string"
3620
+ },
3621
+ {
3622
+ "$ref": "#/$defs/SecretReference"
3623
+ }
3624
+ ],
3625
+ "description": "URL endpoint where telemetry data will be sent.",
3626
+ "title": "Endpoint"
3627
+ },
3628
+ "args": {
3629
+ "additionalProperties": true,
3630
+ "description": "Additional configuration arguments specific to the telemetry sink type.",
3631
+ "title": "Args",
3632
+ "type": "object"
3633
+ }
3634
+ },
3635
+ "required": [
3636
+ "id",
3637
+ "endpoint"
3638
+ ],
3639
+ "title": "TelemetrySink",
3640
+ "type": "object"
3641
+ },
3642
+ "TextInputUI": {
3643
+ "additionalProperties": false,
3644
+ "properties": {
3645
+ "widget": {
3646
+ "$ref": "#/$defs/TextWidget",
3647
+ "default": "text",
3648
+ "description": "What kind of text ui to present"
3649
+ }
3650
+ },
3651
+ "title": "TextInputUI",
3652
+ "type": "object"
3653
+ },
3654
+ "TextWidget": {
3655
+ "enum": [
3656
+ "text",
3657
+ "textarea"
3658
+ ],
3659
+ "title": "TextWidget",
3660
+ "type": "string"
3661
+ },
3662
+ "ToolList": {
3663
+ "description": "Schema for a standalone list of tools.",
3664
+ "items": {
3665
+ "discriminator": {
3666
+ "mapping": {
3667
+ "APITool": "#/$defs/APITool",
3668
+ "PythonFunctionTool": "#/$defs/PythonFunctionTool"
3669
+ },
3670
+ "propertyName": "type"
3671
+ },
3672
+ "oneOf": [
3673
+ {
3674
+ "$ref": "#/$defs/APITool"
3675
+ },
3676
+ {
3677
+ "$ref": "#/$defs/PythonFunctionTool"
3678
+ }
3679
+ ]
3680
+ },
3681
+ "title": "ToolList",
3682
+ "type": "array"
3683
+ },
3684
+ "TypeList": {
3685
+ "description": "Schema for a standalone list of type definitions.",
3686
+ "items": {
3687
+ "$ref": "#/$defs/CustomType"
3688
+ },
3689
+ "title": "TypeList",
3690
+ "type": "array"
3691
+ },
3692
+ "Variable": {
3693
+ "additionalProperties": false,
3694
+ "description": "Schema for a variable that can serve as input, output, or parameter within the DSL.",
3695
+ "properties": {
3696
+ "id": {
3697
+ "description": "Unique ID of the variable. Referenced in prompts or steps.",
3698
+ "title": "Id",
3699
+ "type": "string"
3700
+ },
3701
+ "type": {
3702
+ "anyOf": [
3703
+ {
3704
+ "$ref": "#/$defs/PrimitiveTypeEnum"
3705
+ },
3706
+ {},
3707
+ {
3708
+ "$ref": "#/$defs/ListType"
3709
+ },
3710
+ {
3711
+ "type": "string"
3712
+ }
3713
+ ],
3714
+ "description": "Type of data expected or produced. Either a CustomType or domain specific type.",
3715
+ "title": "Type"
3716
+ },
3717
+ "optional": {
3718
+ "default": false,
3719
+ "description": "Whether this variable can be unset or None. Use '?' suffix in type string as shorthand (e.g., 'text?').",
3720
+ "title": "Optional",
3721
+ "type": "boolean"
3722
+ },
3723
+ "ui": {
3724
+ "anyOf": [
3725
+ {
3726
+ "$ref": "#/$defs/TextInputUI"
3727
+ },
3728
+ {
3729
+ "$ref": "#/$defs/FileUploadUI"
3730
+ },
3731
+ {
3732
+ "type": "null"
3733
+ }
3734
+ ],
3735
+ "default": null,
3736
+ "description": "Hints for the UI if needed.",
3737
+ "title": "Ui"
3738
+ }
3739
+ },
3740
+ "required": [
3741
+ "id",
3742
+ "type"
3743
+ ],
3744
+ "title": "Variable",
3745
+ "type": "object"
3746
+ },
3747
+ "VariableList": {
3748
+ "description": "Schema for a standalone list of variables.",
3749
+ "items": {
3750
+ "$ref": "#/$defs/Variable"
3751
+ },
3752
+ "title": "VariableList",
3753
+ "type": "array"
3754
+ },
3755
+ "VectorIndex": {
3756
+ "additionalProperties": false,
3757
+ "description": "Vector database index for similarity search using embeddings.",
3758
+ "properties": {
3759
+ "id": {
3760
+ "description": "Unique ID of the index.",
3761
+ "title": "Id",
3762
+ "type": "string"
3763
+ },
3764
+ "args": {
3765
+ "additionalProperties": true,
3766
+ "description": "Index-specific configuration and connection parameters.",
3767
+ "title": "Args",
3768
+ "type": "object"
3769
+ },
3770
+ "auth": {
3771
+ "anyOf": [
3772
+ {
3773
+ "$ref": "#/$defs/Reference_Union_APIKeyAuthProvider__BearerTokenAuthProvider__AWSAuthProvider__OAuth2AuthProvider__VertexAuthProvider__"
3774
+ },
3775
+ {
3776
+ "type": "string"
3777
+ },
3778
+ {
3779
+ "type": "null"
3780
+ }
3781
+ ],
3782
+ "default": null,
3783
+ "description": "AuthorizationProvider for accessing the index.",
3784
+ "title": "Auth"
3785
+ },
3786
+ "name": {
3787
+ "description": "Name of the index/collection/table.",
3788
+ "title": "Name",
3789
+ "type": "string"
3790
+ },
3791
+ "type": {
3792
+ "const": "VectorIndex",
3793
+ "default": "VectorIndex",
3794
+ "title": "Type",
3795
+ "type": "string"
3796
+ },
3797
+ "module": {
3798
+ "description": "Python module path for the vector store implementation (e.g., 'llama_index.vector_stores.qdrant.QdrantVectorStore').",
3799
+ "title": "Module",
3800
+ "type": "string"
3801
+ },
3802
+ "embedding_model": {
3803
+ "anyOf": [
3804
+ {
3805
+ "$ref": "#/$defs/Reference_EmbeddingModel_"
3806
+ },
3807
+ {
3808
+ "type": "string"
3809
+ }
3810
+ ],
3811
+ "description": "Embedding model used to vectorize queries and documents.",
3812
+ "title": "Embedding Model"
3813
+ }
3814
+ },
3815
+ "required": [
3816
+ "id",
3817
+ "name",
3818
+ "module",
3819
+ "embedding_model"
3820
+ ],
3821
+ "title": "VectorIndex",
3822
+ "type": "object"
3823
+ },
3824
+ "VectorSearch": {
3825
+ "additionalProperties": false,
3826
+ "description": "Performs vector similarity search against a vector index.",
3827
+ "properties": {
3828
+ "batch_config": {
3829
+ "$ref": "#/$defs/BatchConfig",
3830
+ "description": "Configuration for processing the input stream in batches. If omitted, the step processes items one by one."
3831
+ },
3832
+ "cache_config": {
3833
+ "anyOf": [
3834
+ {
3835
+ "$ref": "#/$defs/CacheConfig"
3836
+ },
3837
+ {
3838
+ "type": "null"
3839
+ }
3840
+ ],
3841
+ "default": null,
3842
+ "description": "Configuration for caching step outputs. If omitted, caching is disabled."
3843
+ },
3844
+ "id": {
3845
+ "description": "Unique ID of this component.",
3846
+ "title": "Id",
3847
+ "type": "string"
3848
+ },
3849
+ "type": {
3850
+ "const": "VectorSearch",
3851
+ "default": "VectorSearch",
3852
+ "title": "Type",
3853
+ "type": "string"
3854
+ },
3855
+ "inputs": {
3856
+ "description": "References to the variables required by this step.",
3857
+ "items": {
3858
+ "anyOf": [
3859
+ {
3860
+ "$ref": "#/$defs/Reference_Variable_"
3861
+ },
3862
+ {
3863
+ "type": "string"
3864
+ }
3865
+ ]
3866
+ },
3867
+ "title": "Inputs",
3868
+ "type": "array"
3869
+ },
3870
+ "outputs": {
3871
+ "description": "References to the variables where output is stored.",
3872
+ "items": {
3873
+ "anyOf": [
3874
+ {
3875
+ "$ref": "#/$defs/Reference_Variable_"
3876
+ },
3877
+ {
3878
+ "type": "string"
3879
+ }
3880
+ ]
3881
+ },
3882
+ "title": "Outputs",
3883
+ "type": "array"
3884
+ },
3885
+ "filters": {
3886
+ "additionalProperties": true,
3887
+ "description": "Optional filters to apply during search.",
3888
+ "title": "Filters",
3889
+ "type": "object"
3890
+ },
3891
+ "index": {
3892
+ "anyOf": [
3893
+ {
3894
+ "$ref": "#/$defs/Reference_VectorIndex_"
3895
+ },
3896
+ {
3897
+ "type": "string"
3898
+ }
3899
+ ],
3900
+ "description": "Index to search against (object or ID reference).",
3901
+ "title": "Index"
3902
+ },
3903
+ "default_top_k": {
3904
+ "anyOf": [
3905
+ {
3906
+ "type": "integer"
3907
+ },
3908
+ {
3909
+ "type": "null"
3910
+ }
3911
+ ],
3912
+ "default": 10,
3913
+ "description": "Number of top results to retrieve if not provided in the inputs.",
3914
+ "title": "Default Top K"
3915
+ }
3916
+ },
3917
+ "required": [
3918
+ "id",
3919
+ "index"
3920
+ ],
3921
+ "title": "VectorSearch",
3922
+ "type": "object"
3923
+ },
3924
+ "VertexAuthProvider": {
3925
+ "additionalProperties": false,
3926
+ "description": "Google Vertex authentication provider supporting gcloud profile or service account.",
3927
+ "properties": {
3928
+ "id": {
3929
+ "description": "Unique ID of the authorization configuration.",
3930
+ "title": "Id",
3931
+ "type": "string"
3932
+ },
3933
+ "type": {
3934
+ "const": "vertex",
3935
+ "default": "vertex",
3936
+ "title": "Type",
3937
+ "type": "string"
3938
+ },
3939
+ "profile_name": {
3940
+ "anyOf": [
3941
+ {
3942
+ "type": "string"
3943
+ },
3944
+ {
3945
+ "type": "null"
3946
+ }
3947
+ ],
3948
+ "default": null,
3949
+ "description": "Local gcloud profile name (if using existing CLI credentials).",
3950
+ "title": "Profile Name"
3951
+ },
3952
+ "project_id": {
3953
+ "anyOf": [
3954
+ {
3955
+ "type": "string"
3956
+ },
3957
+ {
3958
+ "type": "null"
3959
+ }
3960
+ ],
3961
+ "default": null,
3962
+ "description": "Explicit GCP project ID override (if different from profile).",
3963
+ "title": "Project Id"
3964
+ },
3965
+ "service_account_file": {
3966
+ "anyOf": [
3967
+ {
3968
+ "type": "string"
3969
+ },
3970
+ {
3971
+ "type": "null"
3972
+ }
3973
+ ],
3974
+ "default": null,
3975
+ "description": "Path to a service account JSON key file.",
3976
+ "title": "Service Account File"
3977
+ },
3978
+ "region": {
3979
+ "anyOf": [
3980
+ {
3981
+ "type": "string"
3982
+ },
3983
+ {
3984
+ "type": "null"
3985
+ }
3986
+ ],
3987
+ "default": null,
3988
+ "description": "Vertex region (e.g., us-central1).",
3989
+ "title": "Region"
3990
+ }
3991
+ },
3992
+ "required": [
3993
+ "id"
3994
+ ],
3995
+ "title": "VertexAuthProvider",
3996
+ "type": "object"
3997
+ },
3998
+ "qtype_include_tag": {
3999
+ "type": "string",
4000
+ "pattern": "^!include\\s+.+",
4001
+ "description": "Include external YAML file using QType's !include tag"
4002
+ },
4003
+ "qtype_include_raw_tag": {
4004
+ "type": "string",
4005
+ "pattern": "^!include_raw\\s+.+",
4006
+ "description": "Include raw text file using QType's !include_raw tag"
4007
+ },
4008
+ "qtype_env_var": {
4009
+ "type": "string",
4010
+ "pattern": "^.*\\$\\{[^}:]+(?::-[^}]*)?\\}.*$",
4011
+ "description": "String with environment variable substitution using ${VAR_NAME} or ${VAR_NAME:-default} syntax"
4012
+ }
4013
+ },
4014
+ "$ref": "#/$defs/Document",
4015
+ "$schema": "http://json-schema.org/draft-07/schema#"
4016
+ }