antfly-sdk 0.0.2.dev2__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 (640) hide show
  1. antfly/.gitignore +23 -0
  2. antfly/README.md +124 -0
  3. antfly/__init__.py +20 -0
  4. antfly/client.py +260 -0
  5. antfly/client_generated/__init__.py +8 -0
  6. antfly/client_generated/api/__init__.py +1 -0
  7. antfly/client_generated/api/api_key/__init__.py +1 -0
  8. antfly/client_generated/api/api_key/create_api_key.py +209 -0
  9. antfly/client_generated/api/api_key/delete_api_key.py +182 -0
  10. antfly/client_generated/api/api_key/list_api_keys.py +182 -0
  11. antfly/client_generated/api/cluster_management/__init__.py +1 -0
  12. antfly/client_generated/api/cluster_management/backup.py +259 -0
  13. antfly/client_generated/api/cluster_management/delete_secret.py +177 -0
  14. antfly/client_generated/api/cluster_management/get_cluster.py +147 -0
  15. antfly/client_generated/api/cluster_management/get_status.py +145 -0
  16. antfly/client_generated/api/cluster_management/list_backups.py +187 -0
  17. antfly/client_generated/api/cluster_management/list_secrets.py +147 -0
  18. antfly/client_generated/api/cluster_management/put_secret.py +200 -0
  19. antfly/client_generated/api/cluster_management/restore.py +215 -0
  20. antfly/client_generated/api/data_operations/__init__.py +1 -0
  21. antfly/client_generated/api/data_operations/abort_transaction_session.py +176 -0
  22. antfly/client_generated/api/data_operations/backup_table.py +192 -0
  23. antfly/client_generated/api/data_operations/batch_write.py +318 -0
  24. antfly/client_generated/api/data_operations/begin_transaction.py +172 -0
  25. antfly/client_generated/api/data_operations/cleanup_transaction_sessions.py +171 -0
  26. antfly/client_generated/api/data_operations/commit_transaction.py +289 -0
  27. antfly/client_generated/api/data_operations/commit_transaction_session.py +234 -0
  28. antfly/client_generated/api/data_operations/create_transaction_savepoint.py +176 -0
  29. antfly/client_generated/api/data_operations/get_transaction_session.py +176 -0
  30. antfly/client_generated/api/data_operations/linear_merge.py +338 -0
  31. antfly/client_generated/api/data_operations/list_transaction_sessions.py +134 -0
  32. antfly/client_generated/api/data_operations/lookup_key.py +206 -0
  33. antfly/client_generated/api/data_operations/multi_batch_write.py +248 -0
  34. antfly/client_generated/api/data_operations/restore_table.py +187 -0
  35. antfly/client_generated/api/data_operations/rollback_transaction_savepoint.py +190 -0
  36. antfly/client_generated/api/data_operations/stage_transaction_delete.py +197 -0
  37. antfly/client_generated/api/data_operations/stage_transaction_read.py +198 -0
  38. antfly/client_generated/api/data_operations/stage_transaction_session.py +233 -0
  39. antfly/client_generated/api/data_operations/stage_transaction_write.py +197 -0
  40. antfly/client_generated/api/default/__init__.py +1 -0
  41. antfly/client_generated/api/default/chat_completions.py +193 -0
  42. antfly/client_generated/api/default/chunk_text.py +243 -0
  43. antfly/client_generated/api/default/create_embedding.py +204 -0
  44. antfly/client_generated/api/default/extract.py +201 -0
  45. antfly/client_generated/api/default/generate_content.py +257 -0
  46. antfly/client_generated/api/default/generate_embeddings.py +204 -0
  47. antfly/client_generated/api/default/list_models.py +327 -0
  48. antfly/client_generated/api/default/read_images.py +281 -0
  49. antfly/client_generated/api/default/rerank_multimodal_prompts.py +204 -0
  50. antfly/client_generated/api/default/rerank_prompts.py +289 -0
  51. antfly/client_generated/api/default/rewrite_text.py +241 -0
  52. antfly/client_generated/api/default/transcribe_audio.py +329 -0
  53. antfly/client_generated/api/index_management/__init__.py +1 -0
  54. antfly/client_generated/api/index_management/create_index.py +209 -0
  55. antfly/client_generated/api/index_management/drop_index.py +174 -0
  56. antfly/client_generated/api/index_management/get_index.py +176 -0
  57. antfly/client_generated/api/index_management/list_indexes.py +171 -0
  58. antfly/client_generated/api/permission/__init__.py +1 -0
  59. antfly/client_generated/api/permission/add_permission_to_user.py +198 -0
  60. antfly/client_generated/api/permission/get_user_permissions.py +184 -0
  61. antfly/client_generated/api/permission/remove_permission_from_user.py +215 -0
  62. antfly/client_generated/api/query_operations/__init__.py +1 -0
  63. antfly/client_generated/api/query_operations/evaluate.py +211 -0
  64. antfly/client_generated/api/query_operations/query_builder_agent.py +202 -0
  65. antfly/client_generated/api/role/__init__.py +1 -0
  66. antfly/client_generated/api/role/add_role_to_user.py +198 -0
  67. antfly/client_generated/api/role/list_auth_subjects.py +147 -0
  68. antfly/client_generated/api/role/list_user_roles.py +169 -0
  69. antfly/client_generated/api/role/remove_role_from_user.py +194 -0
  70. antfly/client_generated/api/row_filter/__init__.py +1 -0
  71. antfly/client_generated/api/row_filter/get_row_filter.py +186 -0
  72. antfly/client_generated/api/row_filter/get_subject_row_filter.py +186 -0
  73. antfly/client_generated/api/row_filter/list_row_filters.py +179 -0
  74. antfly/client_generated/api/row_filter/list_subject_row_filters.py +174 -0
  75. antfly/client_generated/api/row_filter/remove_row_filter.py +182 -0
  76. antfly/client_generated/api/row_filter/remove_subject_row_filter.py +182 -0
  77. antfly/client_generated/api/row_filter/set_row_filter.py +216 -0
  78. antfly/client_generated/api/row_filter/set_subject_row_filter.py +207 -0
  79. antfly/client_generated/api/table_management/__init__.py +1 -0
  80. antfly/client_generated/api/table_management/drop_table.py +160 -0
  81. antfly/client_generated/api/table_management/get_table.py +151 -0
  82. antfly/client_generated/api/table_management/list_tables.py +176 -0
  83. antfly/client_generated/api/table_management/update_schema.py +182 -0
  84. antfly/client_generated/api/user/__init__.py +1 -0
  85. antfly/client_generated/api/user/create_user.py +196 -0
  86. antfly/client_generated/api/user/delete_user.py +173 -0
  87. antfly/client_generated/api/user/get_current_user.py +147 -0
  88. antfly/client_generated/api/user/get_user_by_name.py +175 -0
  89. antfly/client_generated/api/user/list_users.py +157 -0
  90. antfly/client_generated/api/user/update_user_password.py +198 -0
  91. antfly/client_generated/client.py +268 -0
  92. antfly/client_generated/errors.py +16 -0
  93. antfly/client_generated/models/__init__.py +1087 -0
  94. antfly/client_generated/models/agent_decision.py +81 -0
  95. antfly/client_generated/models/agent_question.py +120 -0
  96. antfly/client_generated/models/agent_question_kind.py +12 -0
  97. antfly/client_generated/models/agent_status.py +12 -0
  98. antfly/client_generated/models/agent_step.py +155 -0
  99. antfly/client_generated/models/agent_step_details.py +47 -0
  100. antfly/client_generated/models/agent_step_kind.py +13 -0
  101. antfly/client_generated/models/agent_step_status.py +10 -0
  102. antfly/client_generated/models/aggregation_bucket.py +156 -0
  103. antfly/client_generated/models/aggregation_bucket_sub_aggregations.py +60 -0
  104. antfly/client_generated/models/aggregation_date_range.py +81 -0
  105. antfly/client_generated/models/aggregation_range.py +81 -0
  106. antfly/client_generated/models/aggregation_result.py +160 -0
  107. antfly/client_generated/models/aggregation_type.py +23 -0
  108. antfly/client_generated/models/algebraic_aggregation_join.py +96 -0
  109. antfly/client_generated/models/algebraic_aggregation_join_kind.py +11 -0
  110. antfly/client_generated/models/algebraic_index_config.py +64 -0
  111. antfly/client_generated/models/algebraic_index_stats.py +329 -0
  112. antfly/client_generated/models/algebraic_index_stats_index_type.py +8 -0
  113. antfly/client_generated/models/algebraic_index_stats_planner_last_decision.py +9 -0
  114. antfly/client_generated/models/analyses.py +70 -0
  115. antfly/client_generated/models/analyses_result.py +74 -0
  116. antfly/client_generated/models/answer_agent_result.py +159 -0
  117. antfly/client_generated/models/answer_agent_steps.py +136 -0
  118. antfly/client_generated/models/antfly_chunker_config.py +149 -0
  119. antfly/client_generated/models/antfly_embedder_config.py +90 -0
  120. antfly/client_generated/models/antfly_generator_config.py +119 -0
  121. antfly/client_generated/models/antfly_reranker_config.py +77 -0
  122. antfly/client_generated/models/antfly_type.py +19 -0
  123. antfly/client_generated/models/antfly_type_2.py +19 -0
  124. antfly/client_generated/models/anthropic_generator_config.py +119 -0
  125. antfly/client_generated/models/api_key.py +202 -0
  126. antfly/client_generated/models/api_key_row_filter_type_0.py +50 -0
  127. antfly/client_generated/models/api_key_with_secret.py +220 -0
  128. antfly/client_generated/models/audio_chunk_options.py +72 -0
  129. antfly/client_generated/models/auth_subject.py +72 -0
  130. antfly/client_generated/models/auth_subject_kind.py +11 -0
  131. antfly/client_generated/models/backup_info.py +115 -0
  132. antfly/client_generated/models/backup_info_format.py +9 -0
  133. antfly/client_generated/models/backup_list_response.py +75 -0
  134. antfly/client_generated/models/backup_request.py +101 -0
  135. antfly/client_generated/models/backup_request_format.py +9 -0
  136. antfly/client_generated/models/backup_table_response_201.py +61 -0
  137. antfly/client_generated/models/batch_request.py +195 -0
  138. antfly/client_generated/models/batch_request_inserts.py +71 -0
  139. antfly/client_generated/models/batch_request_inserts_additional_property.py +47 -0
  140. antfly/client_generated/models/batch_response.py +79 -0
  141. antfly/client_generated/models/bedrock_embedder_config.py +139 -0
  142. antfly/client_generated/models/bedrock_generator_config.py +109 -0
  143. antfly/client_generated/models/bing_search_config.py +159 -0
  144. antfly/client_generated/models/bing_search_config_freshness.py +10 -0
  145. antfly/client_generated/models/bool_field_query.py +93 -0
  146. antfly/client_generated/models/boolean_query.py +534 -0
  147. antfly/client_generated/models/brave_search_config.py +169 -0
  148. antfly/client_generated/models/brave_search_config_freshness.py +11 -0
  149. antfly/client_generated/models/calendar_interval.py +14 -0
  150. antfly/client_generated/models/chain_condition.py +11 -0
  151. antfly/client_generated/models/chain_link.py +110 -0
  152. antfly/client_generated/models/chat_message.py +208 -0
  153. antfly/client_generated/models/chat_message_role.py +11 -0
  154. antfly/client_generated/models/chat_tool_name.py +16 -0
  155. antfly/client_generated/models/chat_tools_config.py +157 -0
  156. antfly/client_generated/models/chunk_options.py +111 -0
  157. antfly/client_generated/models/chunker_config.py +103 -0
  158. antfly/client_generated/models/chunker_config_full_text_index.py +51 -0
  159. antfly/client_generated/models/chunker_provider.py +9 -0
  160. antfly/client_generated/models/classification_step_config.py +169 -0
  161. antfly/client_generated/models/classification_transformation_result.py +158 -0
  162. antfly/client_generated/models/cluster_backup_request.py +113 -0
  163. antfly/client_generated/models/cluster_backup_request_format.py +9 -0
  164. antfly/client_generated/models/cluster_backup_response.py +93 -0
  165. antfly/client_generated/models/cluster_backup_response_status.py +10 -0
  166. antfly/client_generated/models/cluster_data_group_status.py +209 -0
  167. antfly/client_generated/models/cluster_data_node_status.py +197 -0
  168. antfly/client_generated/models/cluster_data_range_status.py +200 -0
  169. antfly/client_generated/models/cluster_data_replica_status.py +98 -0
  170. antfly/client_generated/models/cluster_data_status.py +149 -0
  171. antfly/client_generated/models/cluster_health.py +12 -0
  172. antfly/client_generated/models/cluster_restore_request.py +107 -0
  173. antfly/client_generated/models/cluster_restore_request_restore_mode.py +10 -0
  174. antfly/client_generated/models/cluster_restore_response.py +85 -0
  175. antfly/client_generated/models/cluster_restore_response_status.py +10 -0
  176. antfly/client_generated/models/cluster_status.py +114 -0
  177. antfly/client_generated/models/cluster_topology.py +124 -0
  178. antfly/client_generated/models/cohere_embedder_config.py +119 -0
  179. antfly/client_generated/models/cohere_embedder_config_input_type.py +11 -0
  180. antfly/client_generated/models/cohere_embedder_config_truncate.py +10 -0
  181. antfly/client_generated/models/cohere_generator_config.py +127 -0
  182. antfly/client_generated/models/cohere_reranker_config.py +102 -0
  183. antfly/client_generated/models/confidence_step_config.py +119 -0
  184. antfly/client_generated/models/conjunction_query.py +492 -0
  185. antfly/client_generated/models/create_api_key_request.py +156 -0
  186. antfly/client_generated/models/create_api_key_request_row_filter_type_0.py +50 -0
  187. antfly/client_generated/models/create_user_request.py +153 -0
  188. antfly/client_generated/models/create_user_request_metadata_type_0.py +52 -0
  189. antfly/client_generated/models/credentials.py +102 -0
  190. antfly/client_generated/models/date_range_string_query.py +165 -0
  191. antfly/client_generated/models/disjunction_query.py +501 -0
  192. antfly/client_generated/models/distance_metric.py +10 -0
  193. antfly/client_generated/models/distance_range.py +81 -0
  194. antfly/client_generated/models/distance_unit.py +12 -0
  195. antfly/client_generated/models/doc_id_query.py +84 -0
  196. antfly/client_generated/models/document_schema.py +85 -0
  197. antfly/client_generated/models/document_schema_schema.py +50 -0
  198. antfly/client_generated/models/duck_duck_go_search_config.py +143 -0
  199. antfly/client_generated/models/dynamic_template.py +141 -0
  200. antfly/client_generated/models/dynamic_template_match_mapping_type.py +12 -0
  201. antfly/client_generated/models/edge.py +144 -0
  202. antfly/client_generated/models/edge_direction.py +10 -0
  203. antfly/client_generated/models/edge_metadata.py +47 -0
  204. antfly/client_generated/models/edge_type_config.py +133 -0
  205. antfly/client_generated/models/edge_type_config_topology.py +9 -0
  206. antfly/client_generated/models/edges_response.py +88 -0
  207. antfly/client_generated/models/embedder_config.py +267 -0
  208. antfly/client_generated/models/embedder_provider.py +16 -0
  209. antfly/client_generated/models/embedding_type_1.py +70 -0
  210. antfly/client_generated/models/embedding_type_3.py +71 -0
  211. antfly/client_generated/models/embeddings_index_config.py +393 -0
  212. antfly/client_generated/models/embeddings_index_stats.py +146 -0
  213. antfly/client_generated/models/embeddings_index_stats_index_type.py +8 -0
  214. antfly/client_generated/models/error.py +61 -0
  215. antfly/client_generated/models/eval_config.py +135 -0
  216. antfly/client_generated/models/eval_options.py +80 -0
  217. antfly/client_generated/models/eval_request.py +185 -0
  218. antfly/client_generated/models/eval_request_context_item.py +47 -0
  219. antfly/client_generated/models/eval_result.py +102 -0
  220. antfly/client_generated/models/eval_scores.py +93 -0
  221. antfly/client_generated/models/eval_scores_generation.py +60 -0
  222. antfly/client_generated/models/eval_scores_retrieval.py +60 -0
  223. antfly/client_generated/models/eval_summary.py +89 -0
  224. antfly/client_generated/models/evaluator_name.py +20 -0
  225. antfly/client_generated/models/evaluator_score.py +102 -0
  226. antfly/client_generated/models/evaluator_score_metadata.py +47 -0
  227. antfly/client_generated/models/extraction_classification.py +80 -0
  228. antfly/client_generated/models/extraction_classification_schema.py +80 -0
  229. antfly/client_generated/models/extraction_entity.py +98 -0
  230. antfly/client_generated/models/extraction_input.py +201 -0
  231. antfly/client_generated/models/extraction_input_metadata.py +47 -0
  232. antfly/client_generated/models/extraction_object.py +152 -0
  233. antfly/client_generated/models/extraction_object_structures.py +47 -0
  234. antfly/client_generated/models/extraction_options.py +110 -0
  235. antfly/client_generated/models/extraction_reader_options.py +88 -0
  236. antfly/client_generated/models/extraction_relation.py +110 -0
  237. antfly/client_generated/models/extraction_relation_endpoint.py +70 -0
  238. antfly/client_generated/models/extraction_relation_schema.py +81 -0
  239. antfly/client_generated/models/extraction_request.py +113 -0
  240. antfly/client_generated/models/extraction_response.py +112 -0
  241. antfly/client_generated/models/extraction_response_object.py +8 -0
  242. antfly/client_generated/models/extraction_response_usage.py +47 -0
  243. antfly/client_generated/models/extraction_schema.py +131 -0
  244. antfly/client_generated/models/extraction_schema_structures.py +60 -0
  245. antfly/client_generated/models/extraction_structure_field_type_1.py +47 -0
  246. antfly/client_generated/models/extraction_structure_schema.py +74 -0
  247. antfly/client_generated/models/extraction_structure_schema_fields.py +76 -0
  248. antfly/client_generated/models/extraction_token.py +74 -0
  249. antfly/client_generated/models/failed_operation.py +87 -0
  250. antfly/client_generated/models/failed_operation_operation.py +9 -0
  251. antfly/client_generated/models/fetch_config.py +140 -0
  252. antfly/client_generated/models/field_statistics.py +98 -0
  253. antfly/client_generated/models/filter_spec.py +88 -0
  254. antfly/client_generated/models/filter_spec_operator.py +17 -0
  255. antfly/client_generated/models/followup_step_config.py +128 -0
  256. antfly/client_generated/models/foreign_column.py +82 -0
  257. antfly/client_generated/models/foreign_source.py +114 -0
  258. antfly/client_generated/models/foreign_source_type.py +8 -0
  259. antfly/client_generated/models/full_text_index_config.py +61 -0
  260. antfly/client_generated/models/full_text_index_stats.py +118 -0
  261. antfly/client_generated/models/full_text_index_stats_index_type.py +8 -0
  262. antfly/client_generated/models/fuzziness_type_1.py +8 -0
  263. antfly/client_generated/models/fuzzy_query.py +131 -0
  264. antfly/client_generated/models/generation_step_config.py +128 -0
  265. antfly/client_generated/models/generator_config.py +67 -0
  266. antfly/client_generated/models/generator_provider.py +17 -0
  267. antfly/client_generated/models/geo_bounding_box_query.py +101 -0
  268. antfly/client_generated/models/geo_bounding_polygon_query.py +107 -0
  269. antfly/client_generated/models/geo_distance_query.py +101 -0
  270. antfly/client_generated/models/geo_point.py +70 -0
  271. antfly/client_generated/models/geo_shape_geometry_relation.py +10 -0
  272. antfly/client_generated/models/get_current_user_response_200.py +122 -0
  273. antfly/client_generated/models/get_current_user_response_200_metadata_type_0.py +47 -0
  274. antfly/client_generated/models/google_embedder_config.py +120 -0
  275. antfly/client_generated/models/google_generator_config.py +136 -0
  276. antfly/client_generated/models/google_search_config.py +173 -0
  277. antfly/client_generated/models/google_search_config_search_type.py +9 -0
  278. antfly/client_generated/models/graph_index_config.py +121 -0
  279. antfly/client_generated/models/graph_index_stats.py +151 -0
  280. antfly/client_generated/models/graph_index_stats_algebraic_graph.py +75 -0
  281. antfly/client_generated/models/graph_index_stats_algebraic_graph_traversal.py +97 -0
  282. antfly/client_generated/models/graph_index_stats_edge_types.py +47 -0
  283. antfly/client_generated/models/graph_index_stats_index_type.py +8 -0
  284. antfly/client_generated/models/graph_node_selector.py +106 -0
  285. antfly/client_generated/models/graph_query.py +192 -0
  286. antfly/client_generated/models/graph_query_params.py +216 -0
  287. antfly/client_generated/models/graph_query_params_algorithm_params.py +47 -0
  288. antfly/client_generated/models/graph_query_result.py +155 -0
  289. antfly/client_generated/models/graph_query_type.py +12 -0
  290. antfly/client_generated/models/graph_result_node.py +173 -0
  291. antfly/client_generated/models/graph_result_node_document.py +47 -0
  292. antfly/client_generated/models/ground_truth.py +74 -0
  293. antfly/client_generated/models/image_url.py +62 -0
  294. antfly/client_generated/models/image_url_content_part.py +78 -0
  295. antfly/client_generated/models/image_url_content_part_type.py +8 -0
  296. antfly/client_generated/models/incomplete_details.py +68 -0
  297. antfly/client_generated/models/incomplete_details_reason.py +11 -0
  298. antfly/client_generated/models/index_status.py +190 -0
  299. antfly/client_generated/models/index_status_shard_status.py +116 -0
  300. antfly/client_generated/models/index_type.py +11 -0
  301. antfly/client_generated/models/inference_audio_chunk_config.py +95 -0
  302. antfly/client_generated/models/inference_backend_runtimes.py +116 -0
  303. antfly/client_generated/models/inference_binary_content.py +98 -0
  304. antfly/client_generated/models/inference_chat_message.py +198 -0
  305. antfly/client_generated/models/inference_chunk.py +70 -0
  306. antfly/client_generated/models/inference_chunk_config.py +123 -0
  307. antfly/client_generated/models/inference_chunk_object.py +88 -0
  308. antfly/client_generated/models/inference_chunk_object_object.py +8 -0
  309. antfly/client_generated/models/inference_chunk_request.py +148 -0
  310. antfly/client_generated/models/inference_chunk_response.py +117 -0
  311. antfly/client_generated/models/inference_chunk_response_object.py +8 -0
  312. antfly/client_generated/models/inference_classify_object.py +93 -0
  313. antfly/client_generated/models/inference_classify_object_object.py +8 -0
  314. antfly/client_generated/models/inference_classify_request.py +105 -0
  315. antfly/client_generated/models/inference_classify_response.py +103 -0
  316. antfly/client_generated/models/inference_classify_response_object.py +8 -0
  317. antfly/client_generated/models/inference_classify_result.py +69 -0
  318. antfly/client_generated/models/inference_config.py +327 -0
  319. antfly/client_generated/models/inference_config_model_strategies.py +74 -0
  320. antfly/client_generated/models/inference_config_model_strategies_additional_property.py +10 -0
  321. antfly/client_generated/models/inference_content_security_config.py +128 -0
  322. antfly/client_generated/models/inference_credentials.py +102 -0
  323. antfly/client_generated/models/inference_document_classification_features.py +141 -0
  324. antfly/client_generated/models/inference_document_classification_object.py +162 -0
  325. antfly/client_generated/models/inference_document_classification_object_input.py +69 -0
  326. antfly/client_generated/models/inference_document_classification_object_object.py +8 -0
  327. antfly/client_generated/models/inference_document_classification_request.py +99 -0
  328. antfly/client_generated/models/inference_document_classification_response.py +103 -0
  329. antfly/client_generated/models/inference_document_classification_response_object.py +8 -0
  330. antfly/client_generated/models/inference_document_classification_result.py +69 -0
  331. antfly/client_generated/models/inference_document_token_box.py +70 -0
  332. antfly/client_generated/models/inference_document_token_classification_features.py +101 -0
  333. antfly/client_generated/models/inference_document_token_classification_object.py +124 -0
  334. antfly/client_generated/models/inference_document_token_classification_object_object.py +8 -0
  335. antfly/client_generated/models/inference_document_token_classification_prediction.py +145 -0
  336. antfly/client_generated/models/inference_document_token_classification_request.py +105 -0
  337. antfly/client_generated/models/inference_document_token_classification_response.py +105 -0
  338. antfly/client_generated/models/inference_document_token_classification_response_object.py +8 -0
  339. antfly/client_generated/models/inference_document_token_classification_result.py +69 -0
  340. antfly/client_generated/models/inference_embed_request.py +226 -0
  341. antfly/client_generated/models/inference_embed_request_encoding_format.py +8 -0
  342. antfly/client_generated/models/inference_embed_request_input_type.py +13 -0
  343. antfly/client_generated/models/inference_embed_request_task_type.py +15 -0
  344. antfly/client_generated/models/inference_embed_response.py +104 -0
  345. antfly/client_generated/models/inference_embed_response_object.py +8 -0
  346. antfly/client_generated/models/inference_embedding_object.py +113 -0
  347. antfly/client_generated/models/inference_embedding_object_object.py +8 -0
  348. antfly/client_generated/models/inference_embedding_usage.py +70 -0
  349. antfly/client_generated/models/inference_error.py +61 -0
  350. antfly/client_generated/models/inference_extract_field_value.py +90 -0
  351. antfly/client_generated/models/inference_extract_object.py +88 -0
  352. antfly/client_generated/models/inference_extract_object_object.py +8 -0
  353. antfly/client_generated/models/inference_extract_object_results.py +80 -0
  354. antfly/client_generated/models/inference_extract_object_results_additional_property_item.py +47 -0
  355. antfly/client_generated/models/inference_extract_request.py +179 -0
  356. antfly/client_generated/models/inference_extract_request_schema.py +62 -0
  357. antfly/client_generated/models/inference_extract_response.py +103 -0
  358. antfly/client_generated/models/inference_extract_response_object.py +8 -0
  359. antfly/client_generated/models/inference_finish_reason.py +12 -0
  360. antfly/client_generated/models/inference_function_definition.py +107 -0
  361. antfly/client_generated/models/inference_function_definition_parameters.py +53 -0
  362. antfly/client_generated/models/inference_generate_choice.py +121 -0
  363. antfly/client_generated/models/inference_generate_choice_logprobs_type_0.py +47 -0
  364. antfly/client_generated/models/inference_generate_chunk.py +110 -0
  365. antfly/client_generated/models/inference_generate_chunk_choice.py +94 -0
  366. antfly/client_generated/models/inference_generate_chunk_object.py +8 -0
  367. antfly/client_generated/models/inference_generate_delta.py +117 -0
  368. antfly/client_generated/models/inference_generate_json_schema_config.py +92 -0
  369. antfly/client_generated/models/inference_generate_json_schema_config_schema.py +47 -0
  370. antfly/client_generated/models/inference_generate_message.py +112 -0
  371. antfly/client_generated/models/inference_generate_request.py +380 -0
  372. antfly/client_generated/models/inference_generate_request_backend.py +14 -0
  373. antfly/client_generated/models/inference_generate_request_cache_dtype.py +12 -0
  374. antfly/client_generated/models/inference_generate_request_compiled_target.py +9 -0
  375. antfly/client_generated/models/inference_generate_request_mode.py +9 -0
  376. antfly/client_generated/models/inference_generate_response.py +120 -0
  377. antfly/client_generated/models/inference_generate_response_format.py +86 -0
  378. antfly/client_generated/models/inference_generate_response_format_type.py +10 -0
  379. antfly/client_generated/models/inference_generate_response_object.py +8 -0
  380. antfly/client_generated/models/inference_generate_usage.py +77 -0
  381. antfly/client_generated/models/inference_image_url.py +62 -0
  382. antfly/client_generated/models/inference_image_url_content_part.py +78 -0
  383. antfly/client_generated/models/inference_image_url_content_part_type.py +8 -0
  384. antfly/client_generated/models/inference_level.py +11 -0
  385. antfly/client_generated/models/inference_media_content_part.py +80 -0
  386. antfly/client_generated/models/inference_media_content_part_type.py +8 -0
  387. antfly/client_generated/models/inference_model_info.py +76 -0
  388. antfly/client_generated/models/inference_models_response.py +204 -0
  389. antfly/client_generated/models/inference_models_response_chunkers.py +60 -0
  390. antfly/client_generated/models/inference_models_response_classifiers.py +60 -0
  391. antfly/client_generated/models/inference_models_response_data_item.py +47 -0
  392. antfly/client_generated/models/inference_models_response_embedders.py +60 -0
  393. antfly/client_generated/models/inference_models_response_extractors.py +60 -0
  394. antfly/client_generated/models/inference_models_response_generators.py +60 -0
  395. antfly/client_generated/models/inference_models_response_object.py +8 -0
  396. antfly/client_generated/models/inference_models_response_readers.py +60 -0
  397. antfly/client_generated/models/inference_models_response_recognizers.py +60 -0
  398. antfly/client_generated/models/inference_models_response_rerankers.py +60 -0
  399. antfly/client_generated/models/inference_models_response_rewriters.py +60 -0
  400. antfly/client_generated/models/inference_models_response_transcribers.py +60 -0
  401. antfly/client_generated/models/inference_read_object.py +130 -0
  402. antfly/client_generated/models/inference_read_object_object.py +8 -0
  403. antfly/client_generated/models/inference_read_request.py +113 -0
  404. antfly/client_generated/models/inference_read_response.py +103 -0
  405. antfly/client_generated/models/inference_read_response_object.py +8 -0
  406. antfly/client_generated/models/inference_read_result.py +113 -0
  407. antfly/client_generated/models/inference_read_result_fields.py +54 -0
  408. antfly/client_generated/models/inference_recognize_entity.py +93 -0
  409. antfly/client_generated/models/inference_recognize_object.py +118 -0
  410. antfly/client_generated/models/inference_recognize_object_object.py +8 -0
  411. antfly/client_generated/models/inference_recognize_request.py +129 -0
  412. antfly/client_generated/models/inference_recognize_response.py +103 -0
  413. antfly/client_generated/models/inference_recognize_response_object.py +8 -0
  414. antfly/client_generated/models/inference_relation.py +91 -0
  415. antfly/client_generated/models/inference_rerank_multimodal_document.py +160 -0
  416. antfly/client_generated/models/inference_rerank_multimodal_request.py +91 -0
  417. antfly/client_generated/models/inference_rerank_object.py +79 -0
  418. antfly/client_generated/models/inference_rerank_object_object.py +8 -0
  419. antfly/client_generated/models/inference_rerank_request.py +79 -0
  420. antfly/client_generated/models/inference_rerank_response.py +103 -0
  421. antfly/client_generated/models/inference_rerank_response_object.py +8 -0
  422. antfly/client_generated/models/inference_resolver_config.py +110 -0
  423. antfly/client_generated/models/inference_rewrite_object.py +79 -0
  424. antfly/client_generated/models/inference_rewrite_object_object.py +8 -0
  425. antfly/client_generated/models/inference_rewrite_request.py +69 -0
  426. antfly/client_generated/models/inference_rewrite_response.py +103 -0
  427. antfly/client_generated/models/inference_rewrite_response_object.py +8 -0
  428. antfly/client_generated/models/inference_role.py +11 -0
  429. antfly/client_generated/models/inference_sparse_vector.py +70 -0
  430. antfly/client_generated/models/inference_style.py +11 -0
  431. antfly/client_generated/models/inference_text_chunk_options.py +82 -0
  432. antfly/client_generated/models/inference_text_content.py +78 -0
  433. antfly/client_generated/models/inference_text_content_part.py +72 -0
  434. antfly/client_generated/models/inference_text_content_part_type.py +8 -0
  435. antfly/client_generated/models/inference_text_region.py +89 -0
  436. antfly/client_generated/models/inference_tool.py +78 -0
  437. antfly/client_generated/models/inference_tool_call_delta.py +110 -0
  438. antfly/client_generated/models/inference_tool_call_delta_type.py +8 -0
  439. antfly/client_generated/models/inference_tool_call_function_delta.py +71 -0
  440. antfly/client_generated/models/inference_tool_choice_type_0.py +10 -0
  441. antfly/client_generated/models/inference_tool_choice_type_1_function.py +61 -0
  442. antfly/client_generated/models/inference_tool_choice_type_1_type.py +8 -0
  443. antfly/client_generated/models/inference_tool_type.py +8 -0
  444. antfly/client_generated/models/inference_transcribe_object.py +89 -0
  445. antfly/client_generated/models/inference_transcribe_object_object.py +8 -0
  446. antfly/client_generated/models/inference_transcribe_request.py +81 -0
  447. antfly/client_generated/models/inference_transcribe_response.py +103 -0
  448. antfly/client_generated/models/inference_transcribe_response_object.py +8 -0
  449. antfly/client_generated/models/inference_vad_options.py +92 -0
  450. antfly/client_generated/models/inferenceschemas_config.py +88 -0
  451. antfly/client_generated/models/ip_range_query.py +93 -0
  452. antfly/client_generated/models/join_condition.py +95 -0
  453. antfly/client_generated/models/join_operator.py +13 -0
  454. antfly/client_generated/models/join_profile.py +130 -0
  455. antfly/client_generated/models/join_strategy.py +10 -0
  456. antfly/client_generated/models/join_type.py +10 -0
  457. antfly/client_generated/models/key_range.py +71 -0
  458. antfly/client_generated/models/linear_merge_page_status.py +10 -0
  459. antfly/client_generated/models/linear_merge_request.py +150 -0
  460. antfly/client_generated/models/linear_merge_request_records.py +59 -0
  461. antfly/client_generated/models/linear_merge_result.py +183 -0
  462. antfly/client_generated/models/list_users_response_200_item.py +61 -0
  463. antfly/client_generated/models/lookup_key_response_200.py +47 -0
  464. antfly/client_generated/models/lsm_storage_status.py +116 -0
  465. antfly/client_generated/models/match_all_query.py +90 -0
  466. antfly/client_generated/models/match_all_query_match_all.py +47 -0
  467. antfly/client_generated/models/match_none_query.py +90 -0
  468. antfly/client_generated/models/match_none_query_match_none.py +47 -0
  469. antfly/client_generated/models/match_phrase_query.py +131 -0
  470. antfly/client_generated/models/match_query.py +157 -0
  471. antfly/client_generated/models/match_query_operator.py +9 -0
  472. antfly/client_generated/models/media_content_part.py +80 -0
  473. antfly/client_generated/models/media_content_part_type.py +8 -0
  474. antfly/client_generated/models/merge_config.py +118 -0
  475. antfly/client_generated/models/merge_config_weights.py +54 -0
  476. antfly/client_generated/models/merge_profile.py +101 -0
  477. antfly/client_generated/models/merge_strategy.py +10 -0
  478. antfly/client_generated/models/multi_batch_request.py +104 -0
  479. antfly/client_generated/models/multi_batch_request_tables.py +67 -0
  480. antfly/client_generated/models/multi_batch_response.py +75 -0
  481. antfly/client_generated/models/multi_batch_response_tables.py +60 -0
  482. antfly/client_generated/models/multi_match_body.py +101 -0
  483. antfly/client_generated/models/multi_match_body_type.py +8 -0
  484. antfly/client_generated/models/multi_match_query.py +67 -0
  485. antfly/client_generated/models/multi_phrase_query.py +131 -0
  486. antfly/client_generated/models/node_filter.py +84 -0
  487. antfly/client_generated/models/node_filter_filter_query.py +47 -0
  488. antfly/client_generated/models/numeric_range_query.py +163 -0
  489. antfly/client_generated/models/ollama_embedder_config.py +84 -0
  490. antfly/client_generated/models/ollama_generator_config.py +118 -0
  491. antfly/client_generated/models/ollama_reranker_config.py +73 -0
  492. antfly/client_generated/models/open_ai_embedder_config.py +104 -0
  493. antfly/client_generated/models/open_ai_generator_config.py +127 -0
  494. antfly/client_generated/models/open_router_embedder_config.py +94 -0
  495. antfly/client_generated/models/open_router_generator_config.py +128 -0
  496. antfly/client_generated/models/path.py +108 -0
  497. antfly/client_generated/models/path_edge.py +110 -0
  498. antfly/client_generated/models/path_edge_metadata.py +47 -0
  499. antfly/client_generated/models/path_find_request.py +158 -0
  500. antfly/client_generated/models/path_find_result.py +135 -0
  501. antfly/client_generated/models/path_find_weight_mode.py +10 -0
  502. antfly/client_generated/models/path_weight_mode.py +10 -0
  503. antfly/client_generated/models/pattern_edge_step.py +120 -0
  504. antfly/client_generated/models/pattern_match.py +98 -0
  505. antfly/client_generated/models/pattern_match_bindings.py +60 -0
  506. antfly/client_generated/models/pattern_step.py +102 -0
  507. antfly/client_generated/models/permission.py +80 -0
  508. antfly/client_generated/models/permission_type.py +10 -0
  509. antfly/client_generated/models/phrase_query.py +122 -0
  510. antfly/client_generated/models/prefix_query.py +93 -0
  511. antfly/client_generated/models/prune_stats.py +89 -0
  512. antfly/client_generated/models/pruner.py +115 -0
  513. antfly/client_generated/models/query_builder_request.py +250 -0
  514. antfly/client_generated/models/query_builder_request_constraints.py +53 -0
  515. antfly/client_generated/models/query_builder_request_example_documents_item.py +47 -0
  516. antfly/client_generated/models/query_hit.py +124 -0
  517. antfly/client_generated/models/query_hit_index_scores.py +47 -0
  518. antfly/client_generated/models/query_hit_source.py +47 -0
  519. antfly/client_generated/models/query_hits.py +98 -0
  520. antfly/client_generated/models/query_profile.py +130 -0
  521. antfly/client_generated/models/query_responses.py +80 -0
  522. antfly/client_generated/models/query_result.py +187 -0
  523. antfly/client_generated/models/query_result_aggregations.py +63 -0
  524. antfly/client_generated/models/query_result_analyses.py +60 -0
  525. antfly/client_generated/models/query_result_graph_results.py +60 -0
  526. antfly/client_generated/models/query_strategy.py +11 -0
  527. antfly/client_generated/models/query_string_query.py +84 -0
  528. antfly/client_generated/models/regexp_query.py +93 -0
  529. antfly/client_generated/models/replication_source_action_hint.py +81 -0
  530. antfly/client_generated/models/replication_source_status.py +225 -0
  531. antfly/client_generated/models/replication_transform_op.py +87 -0
  532. antfly/client_generated/models/reranker_config.py +86 -0
  533. antfly/client_generated/models/reranker_profile.py +80 -0
  534. antfly/client_generated/models/reranker_provider.py +11 -0
  535. antfly/client_generated/models/resource_type.py +10 -0
  536. antfly/client_generated/models/restore_table_response_202.py +61 -0
  537. antfly/client_generated/models/retrieval_agent_result.py +397 -0
  538. antfly/client_generated/models/retrieval_agent_steps.py +179 -0
  539. antfly/client_generated/models/retrieval_agent_usage.py +129 -0
  540. antfly/client_generated/models/retrieval_strategy.py +13 -0
  541. antfly/client_generated/models/retry_config.py +89 -0
  542. antfly/client_generated/models/role_assignment.py +61 -0
  543. antfly/client_generated/models/route_type.py +9 -0
  544. antfly/client_generated/models/row_filter_entry.py +77 -0
  545. antfly/client_generated/models/row_filter_entry_filter.py +52 -0
  546. antfly/client_generated/models/secret_entry.py +115 -0
  547. antfly/client_generated/models/secret_list.py +75 -0
  548. antfly/client_generated/models/secret_status.py +10 -0
  549. antfly/client_generated/models/secret_store_status.py +62 -0
  550. antfly/client_generated/models/secret_write_request.py +61 -0
  551. antfly/client_generated/models/semantic_query_mode.py +9 -0
  552. antfly/client_generated/models/serper_search_config.py +170 -0
  553. antfly/client_generated/models/serper_search_config_search_type.py +12 -0
  554. antfly/client_generated/models/serper_search_config_time_period.py +11 -0
  555. antfly/client_generated/models/set_row_filter_body.py +47 -0
  556. antfly/client_generated/models/set_subject_row_filter_body.py +47 -0
  557. antfly/client_generated/models/shard_config.py +61 -0
  558. antfly/client_generated/models/shards_profile.py +80 -0
  559. antfly/client_generated/models/significance_algorithm.py +11 -0
  560. antfly/client_generated/models/sort_field.py +73 -0
  561. antfly/client_generated/models/sse_error.py +62 -0
  562. antfly/client_generated/models/sse_event.py +19 -0
  563. antfly/client_generated/models/sse_step_completed.py +155 -0
  564. antfly/client_generated/models/sse_step_completed_details.py +47 -0
  565. antfly/client_generated/models/sse_step_progress.py +64 -0
  566. antfly/client_generated/models/sse_step_started.py +98 -0
  567. antfly/client_generated/models/sse_tool_mode.py +74 -0
  568. antfly/client_generated/models/sse_tool_mode_mode.py +9 -0
  569. antfly/client_generated/models/storage_status.py +93 -0
  570. antfly/client_generated/models/success_message.py +61 -0
  571. antfly/client_generated/models/sync_level.py +13 -0
  572. antfly/client_generated/models/table_backup_status.py +81 -0
  573. antfly/client_generated/models/table_backup_status_status.py +10 -0
  574. antfly/client_generated/models/table_migration.py +79 -0
  575. antfly/client_generated/models/table_migration_state.py +8 -0
  576. antfly/client_generated/models/table_restore_status.py +81 -0
  577. antfly/client_generated/models/table_restore_status_status.py +10 -0
  578. antfly/client_generated/models/table_schema.py +150 -0
  579. antfly/client_generated/models/table_schema_document_schemas.py +60 -0
  580. antfly/client_generated/models/table_statistics.py +111 -0
  581. antfly/client_generated/models/table_statistics_field_stats.py +60 -0
  582. antfly/client_generated/models/tavily_search_config.py +195 -0
  583. antfly/client_generated/models/tavily_search_config_search_depth.py +9 -0
  584. antfly/client_generated/models/template_field_mapping.py +116 -0
  585. antfly/client_generated/models/term_query.py +93 -0
  586. antfly/client_generated/models/term_range_query.py +163 -0
  587. antfly/client_generated/models/text_chunk_options.py +82 -0
  588. antfly/client_generated/models/text_content_part.py +72 -0
  589. antfly/client_generated/models/text_content_part_type.py +8 -0
  590. antfly/client_generated/models/tool_call.py +86 -0
  591. antfly/client_generated/models/tool_call_function.py +70 -0
  592. antfly/client_generated/models/tool_call_type.py +8 -0
  593. antfly/client_generated/models/transaction_begin_request.py +76 -0
  594. antfly/client_generated/models/transaction_begin_response.py +77 -0
  595. antfly/client_generated/models/transaction_commit_request.py +123 -0
  596. antfly/client_generated/models/transaction_commit_request_tables.py +60 -0
  597. antfly/client_generated/models/transaction_commit_response.py +107 -0
  598. antfly/client_generated/models/transaction_commit_response_conflict.py +80 -0
  599. antfly/client_generated/models/transaction_commit_response_status.py +9 -0
  600. antfly/client_generated/models/transaction_commit_response_tables.py +60 -0
  601. antfly/client_generated/models/transaction_read_item.py +80 -0
  602. antfly/client_generated/models/transaction_savepoint_response.py +77 -0
  603. antfly/client_generated/models/transaction_session_cleanup_response.py +70 -0
  604. antfly/client_generated/models/transaction_session_commit_response.py +114 -0
  605. antfly/client_generated/models/transaction_session_details_response.py +268 -0
  606. antfly/client_generated/models/transaction_session_list_response.py +106 -0
  607. antfly/client_generated/models/transaction_session_read_snapshot.py +88 -0
  608. antfly/client_generated/models/transaction_session_status.py +207 -0
  609. antfly/client_generated/models/transaction_session_table_detail.py +97 -0
  610. antfly/client_generated/models/transaction_stage_delete_request.py +69 -0
  611. antfly/client_generated/models/transaction_stage_read_request.py +77 -0
  612. antfly/client_generated/models/transaction_stage_read_response.py +83 -0
  613. antfly/client_generated/models/transaction_stage_read_snapshot.py +85 -0
  614. antfly/client_generated/models/transaction_stage_write_request.py +83 -0
  615. antfly/client_generated/models/transaction_stage_write_request_document.py +47 -0
  616. antfly/client_generated/models/transaction_status_response.py +69 -0
  617. antfly/client_generated/models/transform.py +104 -0
  618. antfly/client_generated/models/transform_op.py +82 -0
  619. antfly/client_generated/models/transform_op_type.py +19 -0
  620. antfly/client_generated/models/traversal_result.py +137 -0
  621. antfly/client_generated/models/traversal_result_document.py +47 -0
  622. antfly/client_generated/models/traversal_rules.py +138 -0
  623. antfly/client_generated/models/traverse_response.py +88 -0
  624. antfly/client_generated/models/tree_search_config.py +97 -0
  625. antfly/client_generated/models/update_password_request.py +61 -0
  626. antfly/client_generated/models/user.py +110 -0
  627. antfly/client_generated/models/user_metadata_type_0.py +52 -0
  628. antfly/client_generated/models/vertex_embedder_config.py +115 -0
  629. antfly/client_generated/models/vertex_generator_config.py +127 -0
  630. antfly/client_generated/models/vertex_reranker_config.py +108 -0
  631. antfly/client_generated/models/web_search_config.py +127 -0
  632. antfly/client_generated/models/web_search_provider.py +13 -0
  633. antfly/client_generated/models/wildcard_query.py +93 -0
  634. antfly/client_generated/py.typed +1 -0
  635. antfly/client_generated/types.py +54 -0
  636. antfly/exceptions.py +19 -0
  637. antfly/pyproject.toml +26 -0
  638. antfly_sdk-0.0.2.dev2.dist-info/METADATA +153 -0
  639. antfly_sdk-0.0.2.dev2.dist-info/RECORD +640 -0
  640. antfly_sdk-0.0.2.dev2.dist-info/WHEEL +4 -0
@@ -0,0 +1,157 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..models.chat_tool_name import ChatToolName
10
+ from ..types import UNSET, Unset
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.fetch_config import FetchConfig
14
+ from ..models.web_search_config import WebSearchConfig
15
+
16
+
17
+ T = TypeVar("T", bound="ChatToolsConfig")
18
+
19
+
20
+ @_attrs_define
21
+ class ChatToolsConfig:
22
+ """Configuration for chat agent tools.
23
+
24
+ If `enabled_tools` is empty/omitted, defaults to: add_filter, ask_clarification, search.
25
+
26
+ For models that don't support native tool calling (e.g., Ollama),
27
+ a prompt-based fallback is used with structured output parsing.
28
+
29
+ Attributes:
30
+ enabled_tools (list[ChatToolName] | Unset): List of tools to enable. If empty, defaults to filter,
31
+ clarification, and search.
32
+ Example: ['add_filter', 'search', 'websearch'].
33
+ websearch_config (WebSearchConfig | Unset): A unified configuration for web search providers.
34
+
35
+ Each provider has specific configuration requirements. Use the appropriate
36
+ provider-specific config or set common options at the top level.
37
+
38
+ **Environment Variables (fallbacks):**
39
+ - GOOGLE_CSE_API_KEY, GOOGLE_CSE_ID
40
+ - BING_SEARCH_API_KEY
41
+ - SERPER_API_KEY
42
+ - TAVILY_API_KEY
43
+ - BRAVE_API_KEY
44
+ fetch_config (FetchConfig | Unset): Configuration for URL content fetching.
45
+
46
+ Uses go/pkg/antfly/lib/scraping for downloading and processing. Supports:
47
+ - HTTP/HTTPS URLs with security validation
48
+ - HTML pages (extracts readable text via go-readability)
49
+ - PDF files (extracts text)
50
+ - Images (returns as data URIs)
51
+ - Plain text files
52
+ - S3 URLs (requires s3_credentials)
53
+
54
+ Security features (from go/pkg/antfly/lib/scraping.ContentSecurityConfig):
55
+ - Allowed host whitelist
56
+ - Private IP blocking (SSRF prevention)
57
+ - Download size limits
58
+ - Timeout controls
59
+ max_tool_iterations (int | Unset): Maximum number of tool call iterations per turn.
60
+ Prevents infinite loops in tool execution.
61
+ Default: 5.
62
+ """
63
+
64
+ enabled_tools: list[ChatToolName] | Unset = UNSET
65
+ websearch_config: WebSearchConfig | Unset = UNSET
66
+ fetch_config: FetchConfig | Unset = UNSET
67
+ max_tool_iterations: int | Unset = 5
68
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
69
+
70
+ def to_dict(self) -> dict[str, Any]:
71
+ enabled_tools: list[str] | Unset = UNSET
72
+ if not isinstance(self.enabled_tools, Unset):
73
+ enabled_tools = []
74
+ for enabled_tools_item_data in self.enabled_tools:
75
+ enabled_tools_item = enabled_tools_item_data.value
76
+ enabled_tools.append(enabled_tools_item)
77
+
78
+ websearch_config: dict[str, Any] | Unset = UNSET
79
+ if not isinstance(self.websearch_config, Unset):
80
+ websearch_config = self.websearch_config.to_dict()
81
+
82
+ fetch_config: dict[str, Any] | Unset = UNSET
83
+ if not isinstance(self.fetch_config, Unset):
84
+ fetch_config = self.fetch_config.to_dict()
85
+
86
+ max_tool_iterations = self.max_tool_iterations
87
+
88
+ field_dict: dict[str, Any] = {}
89
+ field_dict.update(self.additional_properties)
90
+ field_dict.update({})
91
+ if enabled_tools is not UNSET:
92
+ field_dict["enabled_tools"] = enabled_tools
93
+ if websearch_config is not UNSET:
94
+ field_dict["websearch_config"] = websearch_config
95
+ if fetch_config is not UNSET:
96
+ field_dict["fetch_config"] = fetch_config
97
+ if max_tool_iterations is not UNSET:
98
+ field_dict["max_tool_iterations"] = max_tool_iterations
99
+
100
+ return field_dict
101
+
102
+ @classmethod
103
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
104
+ from ..models.fetch_config import FetchConfig
105
+ from ..models.web_search_config import WebSearchConfig
106
+
107
+ d = dict(src_dict)
108
+ _enabled_tools = d.pop("enabled_tools", UNSET)
109
+ enabled_tools: list[ChatToolName] | Unset = UNSET
110
+ if _enabled_tools is not UNSET:
111
+ enabled_tools = []
112
+ for enabled_tools_item_data in _enabled_tools:
113
+ enabled_tools_item = ChatToolName(enabled_tools_item_data)
114
+
115
+ enabled_tools.append(enabled_tools_item)
116
+
117
+ _websearch_config = d.pop("websearch_config", UNSET)
118
+ websearch_config: WebSearchConfig | Unset
119
+ if isinstance(_websearch_config, Unset):
120
+ websearch_config = UNSET
121
+ else:
122
+ websearch_config = WebSearchConfig.from_dict(_websearch_config)
123
+
124
+ _fetch_config = d.pop("fetch_config", UNSET)
125
+ fetch_config: FetchConfig | Unset
126
+ if isinstance(_fetch_config, Unset):
127
+ fetch_config = UNSET
128
+ else:
129
+ fetch_config = FetchConfig.from_dict(_fetch_config)
130
+
131
+ max_tool_iterations = d.pop("max_tool_iterations", UNSET)
132
+
133
+ chat_tools_config = cls(
134
+ enabled_tools=enabled_tools,
135
+ websearch_config=websearch_config,
136
+ fetch_config=fetch_config,
137
+ max_tool_iterations=max_tool_iterations,
138
+ )
139
+
140
+ chat_tools_config.additional_properties = d
141
+ return chat_tools_config
142
+
143
+ @property
144
+ def additional_keys(self) -> list[str]:
145
+ return list(self.additional_properties.keys())
146
+
147
+ def __getitem__(self, key: str) -> Any:
148
+ return self.additional_properties[key]
149
+
150
+ def __setitem__(self, key: str, value: Any) -> None:
151
+ self.additional_properties[key] = value
152
+
153
+ def __delitem__(self, key: str) -> None:
154
+ del self.additional_properties[key]
155
+
156
+ def __contains__(self, key: str) -> bool:
157
+ return key in self.additional_properties
@@ -0,0 +1,111 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..types import UNSET, Unset
10
+
11
+ if TYPE_CHECKING:
12
+ from ..models.audio_chunk_options import AudioChunkOptions
13
+ from ..models.text_chunk_options import TextChunkOptions
14
+
15
+
16
+ T = TypeVar("T", bound="ChunkOptions")
17
+
18
+
19
+ @_attrs_define
20
+ class ChunkOptions:
21
+ """Per-request configuration for chunking. All fields are optional - zero/omitted values use chunker defaults.
22
+
23
+ Attributes:
24
+ max_chunks (int | Unset): Maximum number of chunks to generate per document.
25
+ threshold (float | Unset): Confidence threshold for model-based chunking (0.0-1.0).
26
+ text (TextChunkOptions | Unset): Options specific to text chunking.
27
+ audio (AudioChunkOptions | Unset): Options specific to audio chunking.
28
+ """
29
+
30
+ max_chunks: int | Unset = UNSET
31
+ threshold: float | Unset = UNSET
32
+ text: TextChunkOptions | Unset = UNSET
33
+ audio: AudioChunkOptions | Unset = UNSET
34
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
35
+
36
+ def to_dict(self) -> dict[str, Any]:
37
+ max_chunks = self.max_chunks
38
+
39
+ threshold = self.threshold
40
+
41
+ text: dict[str, Any] | Unset = UNSET
42
+ if not isinstance(self.text, Unset):
43
+ text = self.text.to_dict()
44
+
45
+ audio: dict[str, Any] | Unset = UNSET
46
+ if not isinstance(self.audio, Unset):
47
+ audio = self.audio.to_dict()
48
+
49
+ field_dict: dict[str, Any] = {}
50
+ field_dict.update(self.additional_properties)
51
+ field_dict.update({})
52
+ if max_chunks is not UNSET:
53
+ field_dict["max_chunks"] = max_chunks
54
+ if threshold is not UNSET:
55
+ field_dict["threshold"] = threshold
56
+ if text is not UNSET:
57
+ field_dict["text"] = text
58
+ if audio is not UNSET:
59
+ field_dict["audio"] = audio
60
+
61
+ return field_dict
62
+
63
+ @classmethod
64
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
65
+ from ..models.audio_chunk_options import AudioChunkOptions
66
+ from ..models.text_chunk_options import TextChunkOptions
67
+
68
+ d = dict(src_dict)
69
+ max_chunks = d.pop("max_chunks", UNSET)
70
+
71
+ threshold = d.pop("threshold", UNSET)
72
+
73
+ _text = d.pop("text", UNSET)
74
+ text: TextChunkOptions | Unset
75
+ if isinstance(_text, Unset):
76
+ text = UNSET
77
+ else:
78
+ text = TextChunkOptions.from_dict(_text)
79
+
80
+ _audio = d.pop("audio", UNSET)
81
+ audio: AudioChunkOptions | Unset
82
+ if isinstance(_audio, Unset):
83
+ audio = UNSET
84
+ else:
85
+ audio = AudioChunkOptions.from_dict(_audio)
86
+
87
+ chunk_options = cls(
88
+ max_chunks=max_chunks,
89
+ threshold=threshold,
90
+ text=text,
91
+ audio=audio,
92
+ )
93
+
94
+ chunk_options.additional_properties = d
95
+ return chunk_options
96
+
97
+ @property
98
+ def additional_keys(self) -> list[str]:
99
+ return list(self.additional_properties.keys())
100
+
101
+ def __getitem__(self, key: str) -> Any:
102
+ return self.additional_properties[key]
103
+
104
+ def __setitem__(self, key: str, value: Any) -> None:
105
+ self.additional_properties[key] = value
106
+
107
+ def __delitem__(self, key: str) -> None:
108
+ del self.additional_properties[key]
109
+
110
+ def __contains__(self, key: str) -> bool:
111
+ return key in self.additional_properties
@@ -0,0 +1,103 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..models.chunker_provider import ChunkerProvider
10
+ from ..types import UNSET, Unset
11
+
12
+ if TYPE_CHECKING:
13
+ from ..models.chunker_config_full_text_index import ChunkerConfigFullTextIndex
14
+
15
+
16
+ T = TypeVar("T", bound="ChunkerConfig")
17
+
18
+
19
+ @_attrs_define
20
+ class ChunkerConfig:
21
+ """A unified configuration for a chunking provider.
22
+
23
+ Example:
24
+ {'provider': 'antfly', 'model': 'fixed', 'text': {'target_tokens': 500, 'overlap_tokens': 50}}
25
+
26
+ Attributes:
27
+ provider (ChunkerProvider): The chunking provider to use.
28
+ store_chunks (bool | Unset): Controls whether chunk data is persisted to storage. When false (default), chunks
29
+ are generated in memory and only embeddings are stored. When true, both chunks and embeddings are stored.
30
+ Default: False.
31
+ full_text_index (ChunkerConfigFullTextIndex | Unset): Configuration for full-text indexing of chunks in Bleve.
32
+ When present (even if empty), chunks will be stored with :cft: suffix and indexed in Bleve's _chunks field.
33
+ When absent, chunks use :c: suffix and are only used for vector embeddings.
34
+ """
35
+
36
+ provider: ChunkerProvider
37
+ store_chunks: bool | Unset = False
38
+ full_text_index: ChunkerConfigFullTextIndex | Unset = UNSET
39
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
40
+
41
+ def to_dict(self) -> dict[str, Any]:
42
+ provider = self.provider.value
43
+
44
+ store_chunks = self.store_chunks
45
+
46
+ full_text_index: dict[str, Any] | Unset = UNSET
47
+ if not isinstance(self.full_text_index, Unset):
48
+ full_text_index = self.full_text_index.to_dict()
49
+
50
+ field_dict: dict[str, Any] = {}
51
+ field_dict.update(self.additional_properties)
52
+ field_dict.update(
53
+ {
54
+ "provider": provider,
55
+ }
56
+ )
57
+ if store_chunks is not UNSET:
58
+ field_dict["store_chunks"] = store_chunks
59
+ if full_text_index is not UNSET:
60
+ field_dict["full_text_index"] = full_text_index
61
+
62
+ return field_dict
63
+
64
+ @classmethod
65
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
66
+ from ..models.chunker_config_full_text_index import ChunkerConfigFullTextIndex
67
+
68
+ d = dict(src_dict)
69
+ provider = ChunkerProvider(d.pop("provider"))
70
+
71
+ store_chunks = d.pop("store_chunks", UNSET)
72
+
73
+ _full_text_index = d.pop("full_text_index", UNSET)
74
+ full_text_index: ChunkerConfigFullTextIndex | Unset
75
+ if isinstance(_full_text_index, Unset):
76
+ full_text_index = UNSET
77
+ else:
78
+ full_text_index = ChunkerConfigFullTextIndex.from_dict(_full_text_index)
79
+
80
+ chunker_config = cls(
81
+ provider=provider,
82
+ store_chunks=store_chunks,
83
+ full_text_index=full_text_index,
84
+ )
85
+
86
+ chunker_config.additional_properties = d
87
+ return chunker_config
88
+
89
+ @property
90
+ def additional_keys(self) -> list[str]:
91
+ return list(self.additional_properties.keys())
92
+
93
+ def __getitem__(self, key: str) -> Any:
94
+ return self.additional_properties[key]
95
+
96
+ def __setitem__(self, key: str, value: Any) -> None:
97
+ self.additional_properties[key] = value
98
+
99
+ def __delitem__(self, key: str) -> None:
100
+ del self.additional_properties[key]
101
+
102
+ def __contains__(self, key: str) -> bool:
103
+ return key in self.additional_properties
@@ -0,0 +1,51 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ T = TypeVar("T", bound="ChunkerConfigFullTextIndex")
10
+
11
+
12
+ @_attrs_define
13
+ class ChunkerConfigFullTextIndex:
14
+ """Configuration for full-text indexing of chunks in Bleve.
15
+ When present (even if empty), chunks will be stored with :cft: suffix and indexed in Bleve's _chunks field.
16
+ When absent, chunks use :c: suffix and are only used for vector embeddings.
17
+
18
+ """
19
+
20
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
21
+
22
+ def to_dict(self) -> dict[str, Any]:
23
+
24
+ field_dict: dict[str, Any] = {}
25
+ field_dict.update(self.additional_properties)
26
+
27
+ return field_dict
28
+
29
+ @classmethod
30
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
31
+ d = dict(src_dict)
32
+ chunker_config_full_text_index = cls()
33
+
34
+ chunker_config_full_text_index.additional_properties = d
35
+ return chunker_config_full_text_index
36
+
37
+ @property
38
+ def additional_keys(self) -> list[str]:
39
+ return list(self.additional_properties.keys())
40
+
41
+ def __getitem__(self, key: str) -> Any:
42
+ return self.additional_properties[key]
43
+
44
+ def __setitem__(self, key: str, value: Any) -> None:
45
+ self.additional_properties[key] = value
46
+
47
+ def __delitem__(self, key: str) -> None:
48
+ del self.additional_properties[key]
49
+
50
+ def __contains__(self, key: str) -> bool:
51
+ return key in self.additional_properties
@@ -0,0 +1,9 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ChunkerProvider(str, Enum):
5
+ ANTFLY = "antfly"
6
+ MOCK = "mock"
7
+
8
+ def __str__(self) -> str:
9
+ return str(self.value)
@@ -0,0 +1,169 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import TYPE_CHECKING, Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ from ..models.query_strategy import QueryStrategy
10
+ from ..models.semantic_query_mode import SemanticQueryMode
11
+ from ..types import UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from ..models.chain_link import ChainLink
15
+ from ..models.generator_config import GeneratorConfig
16
+
17
+
18
+ T = TypeVar("T", bound="ClassificationStepConfig")
19
+
20
+
21
+ @_attrs_define
22
+ class ClassificationStepConfig:
23
+ """Configuration for the classification step. This step analyzes the query,
24
+ selects the optimal retrieval strategy, and generates semantic transformations.
25
+
26
+ Attributes:
27
+ enabled (bool | Unset): Enable query classification and strategy selection Default: False.
28
+ generator (GeneratorConfig | Unset): A unified configuration for a generative AI provider.
29
+ Example: {'provider': 'openai', 'model': 'gpt-4.1', 'temperature': 0.7, 'max_tokens': 2048}.
30
+ chain (list[ChainLink] | Unset): Chain of generators to try in order. Mutually exclusive with 'generator'.
31
+ with_reasoning (bool | Unset): Include pre-retrieval reasoning explaining query analysis and strategy selection
32
+ Default: False.
33
+ force_strategy (QueryStrategy | Unset): Strategy for query transformation and retrieval:
34
+ - simple: Direct query with multi-phrase expansion. Best for straightforward factual queries.
35
+ - decompose: Break complex queries into sub-questions, retrieve for each. Best for multi-part questions.
36
+ - step_back: Generate broader background query first, then specific query. Best for questions needing context.
37
+ - hyde: Generate hypothetical answer document, embed that for retrieval. Best for abstract/conceptual questions.
38
+ force_semantic_mode (SemanticQueryMode | Unset): Mode for semantic query generation:
39
+ - rewrite: Transform query into expanded keywords/concepts optimized for vector search (Level 2 optimization)
40
+ - hypothetical: Generate a hypothetical answer that would appear in relevant documents (HyDE - Level 3
41
+ optimization)
42
+ multi_phrase_count (int | Unset): Number of alternative query phrasings to generate Default: 3.
43
+ """
44
+
45
+ enabled: bool | Unset = False
46
+ generator: GeneratorConfig | Unset = UNSET
47
+ chain: list[ChainLink] | Unset = UNSET
48
+ with_reasoning: bool | Unset = False
49
+ force_strategy: QueryStrategy | Unset = UNSET
50
+ force_semantic_mode: SemanticQueryMode | Unset = UNSET
51
+ multi_phrase_count: int | Unset = 3
52
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
53
+
54
+ def to_dict(self) -> dict[str, Any]:
55
+ enabled = self.enabled
56
+
57
+ generator: dict[str, Any] | Unset = UNSET
58
+ if not isinstance(self.generator, Unset):
59
+ generator = self.generator.to_dict()
60
+
61
+ chain: list[dict[str, Any]] | Unset = UNSET
62
+ if not isinstance(self.chain, Unset):
63
+ chain = []
64
+ for chain_item_data in self.chain:
65
+ chain_item = chain_item_data.to_dict()
66
+ chain.append(chain_item)
67
+
68
+ with_reasoning = self.with_reasoning
69
+
70
+ force_strategy: str | Unset = UNSET
71
+ if not isinstance(self.force_strategy, Unset):
72
+ force_strategy = self.force_strategy.value
73
+
74
+ force_semantic_mode: str | Unset = UNSET
75
+ if not isinstance(self.force_semantic_mode, Unset):
76
+ force_semantic_mode = self.force_semantic_mode.value
77
+
78
+ multi_phrase_count = self.multi_phrase_count
79
+
80
+ field_dict: dict[str, Any] = {}
81
+ field_dict.update(self.additional_properties)
82
+ field_dict.update({})
83
+ if enabled is not UNSET:
84
+ field_dict["enabled"] = enabled
85
+ if generator is not UNSET:
86
+ field_dict["generator"] = generator
87
+ if chain is not UNSET:
88
+ field_dict["chain"] = chain
89
+ if with_reasoning is not UNSET:
90
+ field_dict["with_reasoning"] = with_reasoning
91
+ if force_strategy is not UNSET:
92
+ field_dict["force_strategy"] = force_strategy
93
+ if force_semantic_mode is not UNSET:
94
+ field_dict["force_semantic_mode"] = force_semantic_mode
95
+ if multi_phrase_count is not UNSET:
96
+ field_dict["multi_phrase_count"] = multi_phrase_count
97
+
98
+ return field_dict
99
+
100
+ @classmethod
101
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
102
+ from ..models.chain_link import ChainLink
103
+ from ..models.generator_config import GeneratorConfig
104
+
105
+ d = dict(src_dict)
106
+ enabled = d.pop("enabled", UNSET)
107
+
108
+ _generator = d.pop("generator", UNSET)
109
+ generator: GeneratorConfig | Unset
110
+ if isinstance(_generator, Unset):
111
+ generator = UNSET
112
+ else:
113
+ generator = GeneratorConfig.from_dict(_generator)
114
+
115
+ _chain = d.pop("chain", UNSET)
116
+ chain: list[ChainLink] | Unset = UNSET
117
+ if _chain is not UNSET:
118
+ chain = []
119
+ for chain_item_data in _chain:
120
+ chain_item = ChainLink.from_dict(chain_item_data)
121
+
122
+ chain.append(chain_item)
123
+
124
+ with_reasoning = d.pop("with_reasoning", UNSET)
125
+
126
+ _force_strategy = d.pop("force_strategy", UNSET)
127
+ force_strategy: QueryStrategy | Unset
128
+ if isinstance(_force_strategy, Unset):
129
+ force_strategy = UNSET
130
+ else:
131
+ force_strategy = QueryStrategy(_force_strategy)
132
+
133
+ _force_semantic_mode = d.pop("force_semantic_mode", UNSET)
134
+ force_semantic_mode: SemanticQueryMode | Unset
135
+ if isinstance(_force_semantic_mode, Unset):
136
+ force_semantic_mode = UNSET
137
+ else:
138
+ force_semantic_mode = SemanticQueryMode(_force_semantic_mode)
139
+
140
+ multi_phrase_count = d.pop("multi_phrase_count", UNSET)
141
+
142
+ classification_step_config = cls(
143
+ enabled=enabled,
144
+ generator=generator,
145
+ chain=chain,
146
+ with_reasoning=with_reasoning,
147
+ force_strategy=force_strategy,
148
+ force_semantic_mode=force_semantic_mode,
149
+ multi_phrase_count=multi_phrase_count,
150
+ )
151
+
152
+ classification_step_config.additional_properties = d
153
+ return classification_step_config
154
+
155
+ @property
156
+ def additional_keys(self) -> list[str]:
157
+ return list(self.additional_properties.keys())
158
+
159
+ def __getitem__(self, key: str) -> Any:
160
+ return self.additional_properties[key]
161
+
162
+ def __setitem__(self, key: str, value: Any) -> None:
163
+ self.additional_properties[key] = value
164
+
165
+ def __delitem__(self, key: str) -> None:
166
+ del self.additional_properties[key]
167
+
168
+ def __contains__(self, key: str) -> bool:
169
+ return key in self.additional_properties