qtype 0.1.11__py3-none-any.whl → 0.1.12__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 (215) hide show
  1. docs/Concepts/mental-model-and-philosophy.md +363 -0
  2. docs/Contributing/index.md +276 -0
  3. docs/Contributing/roadmap.md +81 -0
  4. docs/Decisions/ADR-001-Chat-vs-Completion-Endpoint-Features.md +56 -0
  5. docs/Gallery/dataflow_pipelines.md +80 -0
  6. docs/Gallery/dataflow_pipelines.mermaid +45 -0
  7. docs/Gallery/research_assistant.md +98 -0
  8. docs/Gallery/research_assistant.mermaid +42 -0
  9. docs/Gallery/simple_chatbot.md +36 -0
  10. docs/Gallery/simple_chatbot.mermaid +35 -0
  11. docs/How To/Authentication/configure_aws_authentication.md +60 -0
  12. docs/How To/Authentication/use_api_key_authentication.md +40 -0
  13. docs/How To/Command Line Usage/load_multiple_inputs_from_files.md +62 -0
  14. docs/How To/Command Line Usage/pass_inputs_on_the_cli.md +52 -0
  15. docs/How To/Command Line Usage/serve_with_auto_reload.md +26 -0
  16. docs/How To/Data Processing/adjust_concurrency.md +41 -0
  17. docs/How To/Data Processing/cache_step_results.md +71 -0
  18. docs/How To/Data Processing/decode_json_xml.md +24 -0
  19. docs/How To/Data Processing/explode_collections.md +40 -0
  20. docs/How To/Data Processing/gather_results.md +68 -0
  21. docs/How To/Data Processing/read_data_from_files.md +35 -0
  22. docs/How To/Data Processing/read_sql_databases.md +47 -0
  23. docs/How To/Data Processing/write_data_to_file.md +40 -0
  24. docs/How To/Invoke Models/call_large_language_models.md +51 -0
  25. docs/How To/Invoke Models/create_embeddings.md +49 -0
  26. docs/How To/Invoke Models/reuse_prompts_with_templates.md +39 -0
  27. docs/How To/Language Features/include_qtype_yaml.md +45 -0
  28. docs/How To/Language Features/include_raw_text_from_other_files.md +47 -0
  29. docs/How To/Language Features/reference_entities_by_id.md +51 -0
  30. docs/How To/Language Features/use_environment_variables.md +47 -0
  31. docs/How To/Language Features/use_qtype_mcp.md +59 -0
  32. docs/How To/Observability & Debugging/trace_calls_with_open_telemetry.md +49 -0
  33. docs/How To/Observability & Debugging/validate_qtype_yaml.md +35 -0
  34. docs/How To/Observability & Debugging/visualize_application_architecture.md +61 -0
  35. docs/How To/Observability & Debugging/visualize_example.mermaid +35 -0
  36. docs/How To/Qtype Server/flow_as_ui.png +0 -0
  37. docs/How To/Qtype Server/serve_flows_as_apis.md +40 -0
  38. docs/How To/Qtype Server/serve_flows_as_ui.md +42 -0
  39. docs/How To/Qtype Server/use_conversational_interfaces.md +59 -0
  40. docs/How To/Qtype Server/use_variables_with_ui_hints.md +47 -0
  41. docs/How To/Tools & Integration/bind_tool_inputs_and_outputs.md +48 -0
  42. docs/How To/Tools & Integration/create_tools_from_openapi_specifications.md +89 -0
  43. docs/How To/Tools & Integration/create_tools_from_python_modules.md +90 -0
  44. docs/Reference/cli.md +338 -0
  45. docs/Reference/plugins.md +95 -0
  46. docs/Reference/semantic-validation-rules.md +179 -0
  47. docs/Tutorials/01-first-qtype-application.md +248 -0
  48. docs/Tutorials/02-conversational-chatbot.md +327 -0
  49. docs/Tutorials/03-structured-data.md +481 -0
  50. docs/Tutorials/04-tools-and-function-calling.md +483 -0
  51. docs/Tutorials/example_chat.png +0 -0
  52. docs/Tutorials/index.md +92 -0
  53. docs/components/APIKeyAuthProvider.md +7 -0
  54. docs/components/APITool.md +10 -0
  55. docs/components/AWSAuthProvider.md +13 -0
  56. docs/components/AWSSecretManager.md +5 -0
  57. docs/components/Agent.md +6 -0
  58. docs/components/Aggregate.md +8 -0
  59. docs/components/AggregateStats.md +7 -0
  60. docs/components/Application.md +22 -0
  61. docs/components/AuthorizationProvider.md +6 -0
  62. docs/components/AuthorizationProviderList.md +5 -0
  63. docs/components/BearerTokenAuthProvider.md +6 -0
  64. docs/components/BedrockReranker.md +8 -0
  65. docs/components/ChatContent.md +7 -0
  66. docs/components/ChatMessage.md +6 -0
  67. docs/components/ConstantPath.md +5 -0
  68. docs/components/CustomType.md +7 -0
  69. docs/components/Decoder.md +8 -0
  70. docs/components/DecoderFormat.md +8 -0
  71. docs/components/DocToTextConverter.md +7 -0
  72. docs/components/Document.md +7 -0
  73. docs/components/DocumentEmbedder.md +7 -0
  74. docs/components/DocumentIndex.md +7 -0
  75. docs/components/DocumentSearch.md +7 -0
  76. docs/components/DocumentSource.md +12 -0
  77. docs/components/DocumentSplitter.md +10 -0
  78. docs/components/Echo.md +8 -0
  79. docs/components/Embedding.md +7 -0
  80. docs/components/EmbeddingModel.md +6 -0
  81. docs/components/FieldExtractor.md +20 -0
  82. docs/components/FileSource.md +6 -0
  83. docs/components/FileWriter.md +7 -0
  84. docs/components/Flow.md +14 -0
  85. docs/components/FlowInterface.md +7 -0
  86. docs/components/Index.md +8 -0
  87. docs/components/IndexUpsert.md +6 -0
  88. docs/components/InvokeEmbedding.md +7 -0
  89. docs/components/InvokeFlow.md +8 -0
  90. docs/components/InvokeTool.md +8 -0
  91. docs/components/LLMInference.md +9 -0
  92. docs/components/ListType.md +5 -0
  93. docs/components/Memory.md +8 -0
  94. docs/components/MessageRole.md +14 -0
  95. docs/components/Model.md +10 -0
  96. docs/components/ModelList.md +5 -0
  97. docs/components/OAuth2AuthProvider.md +9 -0
  98. docs/components/PrimitiveTypeEnum.md +21 -0
  99. docs/components/PromptTemplate.md +7 -0
  100. docs/components/PythonFunctionTool.md +7 -0
  101. docs/components/RAGChunk.md +7 -0
  102. docs/components/RAGDocument.md +10 -0
  103. docs/components/RAGSearchResult.md +8 -0
  104. docs/components/Reranker.md +5 -0
  105. docs/components/SQLSource.md +8 -0
  106. docs/components/Search.md +7 -0
  107. docs/components/SearchResult.md +7 -0
  108. docs/components/SecretManager.md +7 -0
  109. docs/components/SecretReference.md +7 -0
  110. docs/components/Source.md +6 -0
  111. docs/components/Step.md +9 -0
  112. docs/components/TelemetrySink.md +9 -0
  113. docs/components/Tool.md +9 -0
  114. docs/components/ToolList.md +5 -0
  115. docs/components/ToolParameter.md +6 -0
  116. docs/components/TypeList.md +5 -0
  117. docs/components/Variable.md +6 -0
  118. docs/components/VariableList.md +5 -0
  119. docs/components/VectorIndex.md +7 -0
  120. docs/components/VectorSearch.md +6 -0
  121. docs/components/VertexAuthProvider.md +9 -0
  122. docs/components/Writer.md +5 -0
  123. docs/example_ui.png +0 -0
  124. docs/index.md +81 -0
  125. docs/legacy_how_tos/Configuration/modular-yaml.md +366 -0
  126. docs/legacy_how_tos/Configuration/phoenix_projects.png +0 -0
  127. docs/legacy_how_tos/Configuration/phoenix_traces.png +0 -0
  128. docs/legacy_how_tos/Configuration/reference-by-id.md +251 -0
  129. docs/legacy_how_tos/Configuration/telemetry-setup.md +259 -0
  130. docs/legacy_how_tos/Data Types/custom-types.md +52 -0
  131. docs/legacy_how_tos/Data Types/domain-types.md +113 -0
  132. docs/legacy_how_tos/Debugging/visualize-apps.md +147 -0
  133. docs/legacy_how_tos/Tools/api-tools.md +29 -0
  134. docs/legacy_how_tos/Tools/python-tools.md +299 -0
  135. examples/authentication/aws_authentication.qtype.yaml +63 -0
  136. examples/conversational_ai/hello_world_chat.qtype.yaml +43 -0
  137. examples/conversational_ai/simple_chatbot.qtype.yaml +40 -0
  138. examples/data_processing/batch_processing.qtype.yaml +54 -0
  139. examples/data_processing/cache_step_results.qtype.yaml +78 -0
  140. examples/data_processing/collect_results.qtype.yaml +55 -0
  141. examples/data_processing/dataflow_pipelines.qtype.yaml +108 -0
  142. examples/data_processing/decode_json.qtype.yaml +23 -0
  143. examples/data_processing/explode_items.qtype.yaml +25 -0
  144. examples/data_processing/read_file.qtype.yaml +60 -0
  145. examples/invoke_models/create_embeddings.qtype.yaml +28 -0
  146. examples/invoke_models/simple_llm_call.qtype.yaml +32 -0
  147. examples/language_features/include_raw.qtype.yaml +27 -0
  148. examples/language_features/ui_hints.qtype.yaml +52 -0
  149. examples/legacy/bedrock/data_analysis_with_telemetry.qtype.yaml +169 -0
  150. examples/legacy/bedrock/hello_world.qtype.yaml +39 -0
  151. examples/legacy/bedrock/hello_world_chat.qtype.yaml +37 -0
  152. examples/legacy/bedrock/hello_world_chat_with_telemetry.qtype.yaml +40 -0
  153. examples/legacy/bedrock/hello_world_chat_with_thinking.qtype.yaml +40 -0
  154. examples/legacy/bedrock/hello_world_completion.qtype.yaml +41 -0
  155. examples/legacy/bedrock/hello_world_completion_with_auth.qtype.yaml +44 -0
  156. examples/legacy/bedrock/simple_agent_chat.qtype.yaml +46 -0
  157. examples/legacy/chat_with_langfuse.qtype.yaml +50 -0
  158. examples/legacy/data_processor.qtype.yaml +48 -0
  159. examples/legacy/echo/debug_example.qtype.yaml +59 -0
  160. examples/legacy/echo/prompt.qtype.yaml +22 -0
  161. examples/legacy/echo/test.qtype.yaml +26 -0
  162. examples/legacy/echo/video.qtype.yaml +20 -0
  163. examples/legacy/field_extractor_example.qtype.yaml +137 -0
  164. examples/legacy/multi_flow_example.qtype.yaml +125 -0
  165. examples/legacy/openai/hello_world_chat.qtype.yaml +43 -0
  166. examples/legacy/openai/hello_world_chat_with_telemetry.qtype.yaml +46 -0
  167. examples/legacy/rag.qtype.yaml +207 -0
  168. examples/legacy/time_utilities.qtype.yaml +64 -0
  169. examples/legacy/vertex/hello_world_chat.qtype.yaml +36 -0
  170. examples/legacy/vertex/hello_world_completion.qtype.yaml +40 -0
  171. examples/legacy/vertex/hello_world_completion_with_auth.qtype.yaml +45 -0
  172. examples/observability_debugging/trace_with_opentelemetry.qtype.yaml +40 -0
  173. examples/research_assistant/research_assistant.qtype.yaml +94 -0
  174. examples/research_assistant/tavily.oas.yaml +722 -0
  175. examples/research_assistant/tavily.qtype.yaml +289 -0
  176. examples/tutorials/01_hello_world.qtype.yaml +48 -0
  177. examples/tutorials/02_conversational_chat.qtype.yaml +37 -0
  178. examples/tutorials/03_structured_data.qtype.yaml +130 -0
  179. examples/tutorials/04_tools_and_function_calling.qtype.yaml +89 -0
  180. qtype/application/converters/tools_from_api.py +39 -35
  181. qtype/base/types.py +6 -1
  182. qtype/commands/convert.py +3 -6
  183. qtype/commands/generate.py +7 -3
  184. qtype/commands/mcp.py +68 -0
  185. qtype/commands/validate.py +4 -4
  186. qtype/dsl/custom_types.py +2 -1
  187. qtype/dsl/linker.py +15 -7
  188. qtype/dsl/loader.py +3 -3
  189. qtype/dsl/model.py +24 -3
  190. qtype/interpreter/api.py +4 -1
  191. qtype/interpreter/base/base_step_executor.py +3 -1
  192. qtype/interpreter/conversions.py +7 -3
  193. qtype/interpreter/executors/construct_executor.py +1 -1
  194. qtype/interpreter/executors/file_source_executor.py +3 -3
  195. qtype/interpreter/executors/file_writer_executor.py +4 -4
  196. qtype/interpreter/executors/index_upsert_executor.py +1 -1
  197. qtype/interpreter/executors/sql_source_executor.py +1 -1
  198. qtype/interpreter/resource_cache.py +3 -1
  199. qtype/interpreter/rich_progress.py +6 -3
  200. qtype/interpreter/stream/chat/converter.py +25 -17
  201. qtype/interpreter/stream/chat/ui_request_to_domain_type.py +2 -2
  202. qtype/interpreter/typing.py +5 -7
  203. qtype/mcp/__init__.py +0 -0
  204. qtype/mcp/server.py +467 -0
  205. qtype/semantic/checker.py +1 -1
  206. qtype/semantic/generate.py +3 -3
  207. qtype/semantic/visualize.py +38 -51
  208. {qtype-0.1.11.dist-info → qtype-0.1.12.dist-info}/METADATA +21 -1
  209. qtype-0.1.12.dist-info/RECORD +325 -0
  210. {qtype-0.1.11.dist-info → qtype-0.1.12.dist-info}/WHEEL +1 -1
  211. schema/qtype.schema.json +4018 -0
  212. qtype-0.1.11.dist-info/RECORD +0 -142
  213. {qtype-0.1.11.dist-info → qtype-0.1.12.dist-info}/entry_points.txt +0 -0
  214. {qtype-0.1.11.dist-info → qtype-0.1.12.dist-info}/licenses/LICENSE +0 -0
  215. {qtype-0.1.11.dist-info → qtype-0.1.12.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,7 @@
1
+ ### ChatContent
2
+
3
+ No documentation available.
4
+
5
+ - **type** (`PrimitiveTypeEnum`): The type of content, such as 'text', 'image', etc.
6
+ - **content** (`Any`): The actual content, which can be a string, image data, etc.
7
+ - **mime_type** (`str | None`): The MIME type of the content, if known.
@@ -0,0 +1,6 @@
1
+ ### ChatMessage
2
+
3
+ A standard, built-in representation of a chat message.
4
+
5
+ - **role** (`MessageRole`): The role of the message sender (e.g., 'user', 'assistant').
6
+ - **blocks** (`list[ChatContent]`): The content blocks of the chat message, which can include text, images, or other media.
@@ -0,0 +1,5 @@
1
+ ### ConstantPath
2
+
3
+ No documentation available.
4
+
5
+ - **uri** (`str`): A constant Fsspec URI.
@@ -0,0 +1,7 @@
1
+ ### CustomType
2
+
3
+ A simple declaration of a custom data type by the user.
4
+
5
+ - **id** (`str`): (No documentation available.)
6
+ - **description** (`str | None`): (No documentation available.)
7
+ - **properties** (`dict[str, str]`): (No documentation available.)
@@ -0,0 +1,8 @@
1
+ ### Decoder
2
+
3
+ Defines a step that decodes string data into structured outputs.
4
+ If parsing fails, the step will raise an error and halt execution.
5
+ Use conditional logic in your flow to handle potential parsing errors.
6
+
7
+ - **type** (`Literal`): (No documentation available.)
8
+ - **format** (`DecoderFormat`): Format in which the decoder processes data. Defaults to JSON.
@@ -0,0 +1,8 @@
1
+ ### DecoderFormat
2
+
3
+ Defines the format in which the decoder step processes data.
4
+
5
+ - **json**: Defines the format in which the decoder step processes data.
6
+ - **name**: The name of the Enum member.
7
+ - **value**: The value of the Enum member.
8
+ - **xml**: Defines the format in which the decoder step processes data.
@@ -0,0 +1,7 @@
1
+ ### DocToTextConverter
2
+
3
+ Defines a step to convert raw documents (e.g., PDF, DOCX) loaded by a DocumentSource into plain text
4
+ using an external tool like Docling or LlamaParse for pre-processing before chunking.
5
+ The input and output are both RAGDocument, but the output after processing with have content of type markdown.
6
+
7
+ - **type** (`Literal`): (No documentation available.)
@@ -0,0 +1,7 @@
1
+ ### Document
2
+
3
+ Schema for any valid QType document structure.
4
+ This allows validation of standalone lists of components, individual components,
5
+ or full QType application specs. Supports modular composition and reuse.
6
+
7
+ - **root** (`Application | AuthorizationProviderList | ModelList | ToolList | TypeList | VariableList`): (No documentation available.)
@@ -0,0 +1,7 @@
1
+ ### DocumentEmbedder
2
+
3
+ Embeds document chunks using a specified embedding model.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **cardinality** (`Literal`): Consumes one chunk and emits one embedded chunk.
7
+ - **model** (`Reference[EmbeddingModel] | str`): Embedding model to use for vectorization.
@@ -0,0 +1,7 @@
1
+ ### DocumentIndex
2
+
3
+ Document search index for text-based search (e.g., Elasticsearch, OpenSearch).
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **endpoint** (`str`): URL endpoint for the search cluster (e.g., https://my-cluster.es.amazonaws.com).
7
+ - **id_field** (`str | None`): 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.
@@ -0,0 +1,7 @@
1
+ ### DocumentSearch
2
+
3
+ Performs document search against a document index.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **index** (`Reference[DocumentIndex] | str`): Index to search against (object or ID reference).
7
+ - **query_args** (`dict[str, Any]`): The arguments (other than 'query') to specify to the query shape (see https://docs.opensearch.org/latest/query-dsl/full-text/multi-match/).
@@ -0,0 +1,12 @@
1
+ ### DocumentSource
2
+
3
+ A source of documents that will be used in retrieval augmented generation.
4
+ It uses LlamaIndex readers to load one or more raw Documents
5
+ from a specified path or system (e.g., Google Drive, web page).
6
+ See https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/readers
7
+
8
+ - **type** (`Literal`): (No documentation available.)
9
+ - **reader_module** (`str`): Module path of the LlamaIndex Reader).
10
+ - **args** (`dict[str, Any]`): Reader-specific arguments to pass to the Reader constructor.
11
+ - **loader_args** (`dict[str, Any]`): Loader-specific arguments to pass to the load_data method.
12
+ - **auth** (`Reference[AuthProviderType] | str | None`): AuthorizationProvider for accessing the source.
@@ -0,0 +1,10 @@
1
+ ### DocumentSplitter
2
+
3
+ Configuration for chunking/splitting documents into embeddable nodes/chunks.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **cardinality** (`Literal`): Consumes one document and emits 0...N nodes/chunks.
7
+ - **splitter_name** (`str`): Name of the LlamaIndex TextSplitter class.
8
+ - **chunk_size** (`int`): Size of each chunk.
9
+ - **chunk_overlap** (`int`): Overlap between consecutive chunks.
10
+ - **args** (`dict[str, Any]`): Additional arguments specific to the chosen splitter class.
@@ -0,0 +1,8 @@
1
+ ### Echo
2
+
3
+ Defines a step that echoes its inputs as outputs.
4
+ Useful for debugging flows by inspecting variable values at a specific
5
+ point in the execution pipeline. The step simply passes through all input
6
+ variables as outputs without modification.
7
+
8
+ - **type** (`Literal`): (No documentation available.)
@@ -0,0 +1,7 @@
1
+ ### Embedding
2
+
3
+ A standard, built-in representation of a vector embedding.
4
+
5
+ - **vector** (`list[float]`): The vector representation of the embedding.
6
+ - **content** (`Any | None`): The original content that was embedded.
7
+ - **metadata** (`dict[str, Any]`): Metadata associated with the embedding.
@@ -0,0 +1,6 @@
1
+ ### EmbeddingModel
2
+
3
+ Describes an embedding model configuration, extending the base Model class.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **dimensions** (`int`): Dimensionality of the embedding vectors produced by this model.
@@ -0,0 +1,20 @@
1
+ ### FieldExtractor
2
+
3
+ Extracts specific fields from input data using JSONPath expressions.
4
+ This step uses JSONPath syntax to extract data from structured inputs
5
+ (Pydantic models, dicts, lists). The input is first converted to a dict
6
+ using model_dump() if it's a Pydantic model, then the JSONPath expression
7
+ is evaluated.
8
+ If the JSONPath matches multiple values, the step yields multiple output
9
+ messages (1-to-many cardinality). If it matches a single value, it yields
10
+ one output message. If it matches nothing, it raises an error.
11
+ The extracted data is used to construct the output variable by passing it
12
+ as keyword arguments to the output type's constructor.
13
+ Example JSONPath expressions:
14
+ - `$.field_name` - Extract a single field
15
+ - `$.items[*]` - Extract all items from a list
16
+ - `$.items[?(@.price > 10)]` - Filter items by condition
17
+
18
+ - **type** (`Literal`): (No documentation available.)
19
+ - **json_path** (`str`): JSONPath expression to extract data from the input. Uses jsonpath-ng syntax.
20
+ - **fail_on_missing** (`bool`): Whether to raise an error if the JSONPath matches no data. If False, returns None.
@@ -0,0 +1,6 @@
1
+ ### FileSource
2
+
3
+ File source that reads data from a file using fsspec-compatible URIs.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **path** (`ConstantPath | Reference[Variable] | str`): Reference to a variable with an fsspec-compatible URI to read from, or the uri itself.
@@ -0,0 +1,7 @@
1
+ ### FileWriter
2
+
3
+ File writer that writes data to a file using fsspec-compatible URIs.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **path** (`ConstantPath | Reference[Variable] | str`): Reference to a variable with an fsspec-compatible URI to read from, or the uri itself.
7
+ - **batch_config** (`BatchConfig`): Configuration for processing the input stream in batches. If omitted, the step processes items one by one.
@@ -0,0 +1,14 @@
1
+ ### Flow
2
+
3
+ Defines a flow of steps that can be executed in sequence or parallel.
4
+ If input or output variables are not specified, they are inferred from
5
+ the first and last step, respectively.
6
+
7
+ - **id** (`str`): Unique ID of the flow.
8
+ - **type** (`Literal`): (No documentation available.)
9
+ - **description** (`str | None`): Optional description of the flow.
10
+ - **steps** (`list[StepType | Reference[StepType]]`): List of steps or references to steps
11
+ - **interface** (`FlowInterface | None`): (No documentation available.)
12
+ - **variables** (`list[Variable]`): List of variables available at the application scope.
13
+ - **inputs** (`list[Reference[Variable] | str]`): Input variables required by this step.
14
+ - **outputs** (`list[Reference[Variable] | str]`): Resulting variables
@@ -0,0 +1,7 @@
1
+ ### FlowInterface
2
+
3
+ Defines the public-facing contract for a Flow, guiding the UI
4
+ and session management.
5
+
6
+ - **type** (`Literal`): (No documentation available.)
7
+ - **session_inputs** (`list[Reference[Variable] | str]`): A list of input variable IDs that are set once and then persisted across a session.
@@ -0,0 +1,8 @@
1
+ ### Index
2
+
3
+ Base class for searchable indexes that can be queried by search steps.
4
+
5
+ - **id** (`str`): Unique ID of the index.
6
+ - **args** (`dict[str, Any]`): Index-specific configuration and connection parameters.
7
+ - **auth** (`Reference[AuthProviderType] | str | None`): AuthorizationProvider for accessing the index.
8
+ - **name** (`str`): Name of the index/collection/table.
@@ -0,0 +1,6 @@
1
+ ### IndexUpsert
2
+
3
+ No documentation available.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **index** (`Reference[IndexType] | str`): Index to upsert into (object or ID reference).
@@ -0,0 +1,7 @@
1
+ ### InvokeEmbedding
2
+
3
+ Defines a step that generates embeddings using an embedding model.
4
+ It takes input variables and produces output variables containing the embeddings.
5
+
6
+ - **type** (`Literal`): (No documentation available.)
7
+ - **model** (`Reference[EmbeddingModel] | str`): The embedding model to use.
@@ -0,0 +1,8 @@
1
+ ### InvokeFlow
2
+
3
+ Invokes a flow with input and output bindings.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **flow** (`Reference[Flow] | str`): Flow to invoke.
7
+ - **input_bindings** (`dict[Reference[Variable], str]`): Mapping from variable references to flow input variable IDs.
8
+ - **output_bindings** (`dict[Reference[Variable], str]`): Mapping from variable references to flow output variable IDs.
@@ -0,0 +1,8 @@
1
+ ### InvokeTool
2
+
3
+ Invokes a tool with input and output bindings.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **tool** (`Reference[ToolType] | str`): Tool to invoke.
7
+ - **input_bindings** (`dict[str, str]`): Mapping from variable references to tool input parameter names.
8
+ - **output_bindings** (`dict[str, str]`): Mapping from variable references to tool output parameter names.
@@ -0,0 +1,9 @@
1
+ ### LLMInference
2
+
3
+ Defines a step that performs inference using a language model.
4
+ It can take input variables and produce output variables based on the model's response.
5
+
6
+ - **type** (`Literal`): (No documentation available.)
7
+ - **memory** (`Reference[Memory] | str | None`): A reference to a Memory object to retain context across interactions.
8
+ - **model** (`Reference[Model] | str`): The model to use for inference.
9
+ - **system_message** (`str | None`): Optional system message to set the context for the model.
@@ -0,0 +1,5 @@
1
+ ### ListType
2
+
3
+ Represents a list type with a specific element type.
4
+
5
+ - **element_type** (`PrimitiveTypeEnum | str`): Type of elements in the list (primitive type or custom type reference)
@@ -0,0 +1,8 @@
1
+ ### Memory
2
+
3
+ Session or persistent memory used to store relevant conversation or state data across steps or turns.
4
+
5
+ - **id** (`str`): Unique ID of the memory block.
6
+ - **token_limit** (`int`): Maximum number of tokens to store in memory.
7
+ - **chat_history_token_ratio** (`float`): Ratio of chat history tokens to total memory tokens.
8
+ - **token_flush_size** (`int`): Size of memory to flush when it exceeds the token limit.
@@ -0,0 +1,14 @@
1
+ ### MessageRole
2
+
3
+ An enumeration.
4
+
5
+ - **assistant**: An enumeration.
6
+ - **chatbot**: An enumeration.
7
+ - **developer**: An enumeration.
8
+ - **function**: An enumeration.
9
+ - **model**: An enumeration.
10
+ - **name**: The name of the Enum member.
11
+ - **system**: An enumeration.
12
+ - **tool**: An enumeration.
13
+ - **user**: An enumeration.
14
+ - **value**: The value of the Enum member.
@@ -0,0 +1,10 @@
1
+ ### Model
2
+
3
+ Describes a generative model configuration, including provider and model ID.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **id** (`str`): Unique ID for the model.
7
+ - **auth** (`Reference[AuthProviderType] | str | None`): AuthorizationProvider used for model access.
8
+ - **inference_params** (`dict[str, Any]`): Optional inference parameters like temperature or max_tokens.
9
+ - **model_id** (`str | None`): The specific model name or ID for the provider. If None, id is used
10
+ - **provider** (`Literal`): Name of the provider, e.g., openai or anthropic.
@@ -0,0 +1,5 @@
1
+ ### ModelList
2
+
3
+ Schema for a standalone list of models.
4
+
5
+ - **root** (`list[Annotated]`): (No documentation available.)
@@ -0,0 +1,9 @@
1
+ ### OAuth2AuthProvider
2
+
3
+ OAuth2 authentication provider.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **client_id** (`str`): OAuth2 client ID.
7
+ - **client_secret** (`str | SecretReference`): OAuth2 client secret.
8
+ - **token_url** (`str`): Token endpoint URL.
9
+ - **scopes** (`list[str]`): OAuth2 scopes required.
@@ -0,0 +1,21 @@
1
+ ### PrimitiveTypeEnum
2
+
3
+ Represents the type of data a user or system input can accept within the DSL.
4
+
5
+ - **audio**: Represents the type of data a user or system input can accept within the DSL.
6
+ - **boolean**: Represents the type of data a user or system input can accept within the DSL.
7
+ - **bytes**: Represents the type of data a user or system input can accept within the DSL.
8
+ - **citation_document**: Represents the type of data a user or system input can accept within the DSL.
9
+ - **citation_url**: Represents the type of data a user or system input can accept within the DSL.
10
+ - **date**: Represents the type of data a user or system input can accept within the DSL.
11
+ - **datetime**: Represents the type of data a user or system input can accept within the DSL.
12
+ - **file**: Represents the type of data a user or system input can accept within the DSL.
13
+ - **float**: Represents the type of data a user or system input can accept within the DSL.
14
+ - **image**: Represents the type of data a user or system input can accept within the DSL.
15
+ - **int**: Represents the type of data a user or system input can accept within the DSL.
16
+ - **name**: The name of the Enum member.
17
+ - **text**: Represents the type of data a user or system input can accept within the DSL.
18
+ - **thinking**: Represents the type of data a user or system input can accept within the DSL.
19
+ - **time**: Represents the type of data a user or system input can accept within the DSL.
20
+ - **value**: The value of the Enum member.
21
+ - **video**: Represents the type of data a user or system input can accept within the DSL.
@@ -0,0 +1,7 @@
1
+ ### PromptTemplate
2
+
3
+ Defines a prompt template with a string format and variable bindings.
4
+ This is used to generate prompts dynamically based on input variables.
5
+
6
+ - **type** (`Literal`): (No documentation available.)
7
+ - **template** (`str`): String template for the prompt with variable placeholders.
@@ -0,0 +1,7 @@
1
+ ### PythonFunctionTool
2
+
3
+ Tool that calls a Python function.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **function_name** (`str`): Name of the Python function to call.
7
+ - **module_path** (`str`): Optional module path where the function is defined.
@@ -0,0 +1,7 @@
1
+ ### RAGChunk
2
+
3
+ A standard, built-in representation of a chunk of a document used in Retrieval-Augmented Generation (RAG).
4
+
5
+ - **chunk_id** (`str`): An unique identifier for the chunk.
6
+ - **document_id** (`str`): The identifier of the parent document.
7
+ - **vector** (`list[float] | None`): Optional vector embedding for the chunk.
@@ -0,0 +1,10 @@
1
+ ### RAGDocument
2
+
3
+ A standard, built-in representation of a document used in Retrieval-Augmented Generation (RAG).
4
+
5
+ - **content** (`Any`): The main content of the document.
6
+ - **file_id** (`str`): An unique identifier for the file.
7
+ - **file_name** (`str`): The name of the file.
8
+ - **uri** (`str | None`): The URI where the document can be found.
9
+ - **metadata** (`dict[str, Any]`): Metadata associated with the document.
10
+ - **type** (`PrimitiveTypeEnum`): The type of the document content (e.g., 'text', 'image').
@@ -0,0 +1,8 @@
1
+ ### RAGSearchResult
2
+
3
+ A standard, built-in representation of a search result from a RAG vector search.
4
+ Note: doc_id is duplicated from content.document_id for convenience.
5
+
6
+ - **content** (`RAGChunk`): The RAG chunk returned as a search result.
7
+ - **doc_id** (`str`): The document ID (duplicated from content.document_id).
8
+ - **score** (`float`): The similarity score of the chunk with respect to the query.
@@ -0,0 +1,5 @@
1
+ ### Reranker
2
+
3
+ Reranks a list of documents based on relevance to a query using an LLM.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
@@ -0,0 +1,8 @@
1
+ ### SQLSource
2
+
3
+ SQL database source that executes queries and emits rows.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **query** (`str`): SQL query to execute. Inputs are injected as params.
7
+ - **connection** (`str | SecretReference`): Database connection string or reference to auth provider. Typically in SQLAlchemy format.
8
+ - **auth** (`Reference[AuthProviderType] | str | None`): Optional AuthorizationProvider for database authentication.
@@ -0,0 +1,7 @@
1
+ ### Search
2
+
3
+ Base class for search operations against indexes.
4
+
5
+ - **filters** (`dict[str, Any]`): Optional filters to apply during search.
6
+ - **index** (`Reference[IndexType] | str`): Index to search against (object or ID reference).
7
+ - **default_top_k** (`int | None`): Number of top results to retrieve if not provided in the inputs.
@@ -0,0 +1,7 @@
1
+ ### SearchResult
2
+
3
+ A standard, built-in representation of a search result.
4
+
5
+ - **content** (`Any`): The content of the search result.
6
+ - **doc_id** (`str`): The identifier of the document from which the result was retrieved.
7
+ - **score** (`float`): The relevance score of the search result with respect to the query.
@@ -0,0 +1,7 @@
1
+ ### SecretManager
2
+
3
+ Base class for secret manager configurations.
4
+
5
+ - **id** (`str`): Unique ID for this secret manager configuration.
6
+ - **type** (`str`): The type of secret manager.
7
+ - **auth** (`Reference[AuthProviderType] | str`): AuthorizationProvider used to access this secret manager.
@@ -0,0 +1,7 @@
1
+ ### SecretReference
2
+
3
+ A reference to a secret in the application's configured SecretManager.
4
+ This value is resolved at runtime by the interpreter.
5
+
6
+ - **secret_name** (`str`): The name, ID, or ARN of the secret to fetch (e.g., 'my-project/db-password').
7
+ - **key** (`str | None`): Optional key if the secret is a JSON blob or map (e.g., a specific key in a K8s secret).
@@ -0,0 +1,6 @@
1
+ ### Source
2
+
3
+ Base class for data sources
4
+
5
+ - **id** (`str`): Unique ID of the data source.
6
+ - **cardinality** (`Literal`): Sources always emit 0...N instances of the outputs.
@@ -0,0 +1,9 @@
1
+ ### Step
2
+
3
+ Base class for components that take inputs and produce outputs.
4
+
5
+ - **id** (`str`): Unique ID of this component.
6
+ - **type** (`str`): Type of the step component.
7
+ - **cardinality** (`StepCardinality`): Does this step emit 1 (one) or 0...N (many) instances of the outputs?
8
+ - **inputs** (`list[Reference[Variable] | str]`): References to the variables required by this step.
9
+ - **outputs** (`list[Reference[Variable] | str]`): References to the variables where output is stored.
@@ -0,0 +1,9 @@
1
+ ### TelemetrySink
2
+
3
+ Defines an observability endpoint for collecting telemetry data from the QType runtime.
4
+
5
+ - **id** (`str`): Unique ID of the telemetry sink configuration.
6
+ - **provider** (`Literal`): (No documentation available.)
7
+ - **auth** (`Reference[AuthProviderType] | str | None`): AuthorizationProvider used to authenticate telemetry data transmission.
8
+ - **endpoint** (`str | SecretReference`): URL endpoint where telemetry data will be sent.
9
+ - **args** (`dict[str, Any]`): Additional configuration arguments specific to the telemetry sink type.
@@ -0,0 +1,9 @@
1
+ ### Tool
2
+
3
+ Base class for callable functions or external operations available to the model or as a step in a flow.
4
+
5
+ - **id** (`str`): Unique ID of this component.
6
+ - **name** (`str`): Name of the tool function.
7
+ - **description** (`str`): Description of what the tool does.
8
+ - **inputs** (`dict[str, ToolParameter]`): Input parameters required by this tool.
9
+ - **outputs** (`dict[str, ToolParameter]`): Output parameters produced by this tool.
@@ -0,0 +1,5 @@
1
+ ### ToolList
2
+
3
+ Schema for a standalone list of tools.
4
+
5
+ - **root** (`list[Annotated]`): (No documentation available.)
@@ -0,0 +1,6 @@
1
+ ### ToolParameter
2
+
3
+ Defines a tool input or output parameter with type and optional flag.
4
+
5
+ - **type** (`VariableType | str`): (No documentation available.)
6
+ - **optional** (`bool`): Whether this parameter is optional
@@ -0,0 +1,5 @@
1
+ ### TypeList
2
+
3
+ Schema for a standalone list of type definitions.
4
+
5
+ - **root** (`list[CustomType]`): (No documentation available.)
@@ -0,0 +1,6 @@
1
+ ### Variable
2
+
3
+ Schema for a variable that can serve as input, output, or parameter within the DSL.
4
+
5
+ - **id** (`str`): Unique ID of the variable. Referenced in prompts or steps.
6
+ - **type** (`VariableType | str`): Type of data expected or produced. Either a CustomType or domain specific type.
@@ -0,0 +1,5 @@
1
+ ### VariableList
2
+
3
+ Schema for a standalone list of variables.
4
+
5
+ - **root** (`list[Variable]`): (No documentation available.)
@@ -0,0 +1,7 @@
1
+ ### VectorIndex
2
+
3
+ Vector database index for similarity search using embeddings.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **module** (`str`): Python module path for the vector store implementation (e.g., 'llama_index.vector_stores.qdrant.QdrantVectorStore').
7
+ - **embedding_model** (`Reference[EmbeddingModel] | str`): Embedding model used to vectorize queries and documents.
@@ -0,0 +1,6 @@
1
+ ### VectorSearch
2
+
3
+ Performs vector similarity search against a vector index.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **index** (`Reference[VectorIndex] | str`): Index to search against (object or ID reference).
@@ -0,0 +1,9 @@
1
+ ### VertexAuthProvider
2
+
3
+ Google Vertex authentication provider supporting gcloud profile or service account.
4
+
5
+ - **type** (`Literal`): (No documentation available.)
6
+ - **profile_name** (`str | None`): Local gcloud profile name (if using existing CLI credentials).
7
+ - **project_id** (`str | None`): Explicit GCP project ID override (if different from profile).
8
+ - **service_account_file** (`str | None`): Path to a service account JSON key file.
9
+ - **region** (`str | None`): Vertex region (e.g., us-central1).
@@ -0,0 +1,5 @@
1
+ ### Writer
2
+
3
+ Base class for things that write data in batches.
4
+
5
+ - **id** (`str`): Unique ID of the data writer.
docs/example_ui.png ADDED
Binary file