aiqtoolkit 1.2.0rc4__py3-none-any.whl → 1.2rc9__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.

Potentially problematic release.


This version of aiqtoolkit might be problematic. Click here for more details.

Files changed (441) hide show
  1. aiqtoolkit-1.2rc9.dist-info/METADATA +29 -0
  2. aiqtoolkit-1.2rc9.dist-info/RECORD +4 -0
  3. aiqtoolkit-1.2rc9.dist-info/top_level.txt +1 -0
  4. aiq/agent/__init__.py +0 -0
  5. aiq/agent/base.py +0 -239
  6. aiq/agent/dual_node.py +0 -67
  7. aiq/agent/react_agent/__init__.py +0 -0
  8. aiq/agent/react_agent/agent.py +0 -355
  9. aiq/agent/react_agent/output_parser.py +0 -104
  10. aiq/agent/react_agent/prompt.py +0 -41
  11. aiq/agent/react_agent/register.py +0 -149
  12. aiq/agent/reasoning_agent/__init__.py +0 -0
  13. aiq/agent/reasoning_agent/reasoning_agent.py +0 -225
  14. aiq/agent/register.py +0 -23
  15. aiq/agent/rewoo_agent/__init__.py +0 -0
  16. aiq/agent/rewoo_agent/agent.py +0 -411
  17. aiq/agent/rewoo_agent/prompt.py +0 -108
  18. aiq/agent/rewoo_agent/register.py +0 -158
  19. aiq/agent/tool_calling_agent/__init__.py +0 -0
  20. aiq/agent/tool_calling_agent/agent.py +0 -119
  21. aiq/agent/tool_calling_agent/register.py +0 -106
  22. aiq/authentication/__init__.py +0 -14
  23. aiq/authentication/api_key/__init__.py +0 -14
  24. aiq/authentication/api_key/api_key_auth_provider.py +0 -96
  25. aiq/authentication/api_key/api_key_auth_provider_config.py +0 -124
  26. aiq/authentication/api_key/register.py +0 -26
  27. aiq/authentication/exceptions/__init__.py +0 -14
  28. aiq/authentication/exceptions/api_key_exceptions.py +0 -38
  29. aiq/authentication/exceptions/auth_code_grant_exceptions.py +0 -86
  30. aiq/authentication/exceptions/call_back_exceptions.py +0 -38
  31. aiq/authentication/exceptions/request_exceptions.py +0 -54
  32. aiq/authentication/http_basic_auth/__init__.py +0 -0
  33. aiq/authentication/http_basic_auth/http_basic_auth_provider.py +0 -81
  34. aiq/authentication/http_basic_auth/register.py +0 -30
  35. aiq/authentication/interfaces.py +0 -93
  36. aiq/authentication/oauth2/__init__.py +0 -14
  37. aiq/authentication/oauth2/oauth2_auth_code_flow_provider.py +0 -107
  38. aiq/authentication/oauth2/oauth2_auth_code_flow_provider_config.py +0 -39
  39. aiq/authentication/oauth2/register.py +0 -25
  40. aiq/authentication/register.py +0 -21
  41. aiq/builder/__init__.py +0 -0
  42. aiq/builder/builder.py +0 -285
  43. aiq/builder/component_utils.py +0 -316
  44. aiq/builder/context.py +0 -264
  45. aiq/builder/embedder.py +0 -24
  46. aiq/builder/eval_builder.py +0 -161
  47. aiq/builder/evaluator.py +0 -29
  48. aiq/builder/framework_enum.py +0 -24
  49. aiq/builder/front_end.py +0 -73
  50. aiq/builder/function.py +0 -344
  51. aiq/builder/function_base.py +0 -380
  52. aiq/builder/function_info.py +0 -627
  53. aiq/builder/intermediate_step_manager.py +0 -174
  54. aiq/builder/llm.py +0 -25
  55. aiq/builder/retriever.py +0 -25
  56. aiq/builder/user_interaction_manager.py +0 -74
  57. aiq/builder/workflow.py +0 -148
  58. aiq/builder/workflow_builder.py +0 -1117
  59. aiq/cli/__init__.py +0 -14
  60. aiq/cli/cli_utils/__init__.py +0 -0
  61. aiq/cli/cli_utils/config_override.py +0 -231
  62. aiq/cli/cli_utils/validation.py +0 -37
  63. aiq/cli/commands/__init__.py +0 -0
  64. aiq/cli/commands/configure/__init__.py +0 -0
  65. aiq/cli/commands/configure/channel/__init__.py +0 -0
  66. aiq/cli/commands/configure/channel/add.py +0 -28
  67. aiq/cli/commands/configure/channel/channel.py +0 -36
  68. aiq/cli/commands/configure/channel/remove.py +0 -30
  69. aiq/cli/commands/configure/channel/update.py +0 -30
  70. aiq/cli/commands/configure/configure.py +0 -33
  71. aiq/cli/commands/evaluate.py +0 -139
  72. aiq/cli/commands/info/__init__.py +0 -14
  73. aiq/cli/commands/info/info.py +0 -39
  74. aiq/cli/commands/info/list_channels.py +0 -32
  75. aiq/cli/commands/info/list_components.py +0 -129
  76. aiq/cli/commands/info/list_mcp.py +0 -213
  77. aiq/cli/commands/registry/__init__.py +0 -14
  78. aiq/cli/commands/registry/publish.py +0 -88
  79. aiq/cli/commands/registry/pull.py +0 -118
  80. aiq/cli/commands/registry/registry.py +0 -38
  81. aiq/cli/commands/registry/remove.py +0 -108
  82. aiq/cli/commands/registry/search.py +0 -155
  83. aiq/cli/commands/sizing/__init__.py +0 -14
  84. aiq/cli/commands/sizing/calc.py +0 -297
  85. aiq/cli/commands/sizing/sizing.py +0 -27
  86. aiq/cli/commands/start.py +0 -246
  87. aiq/cli/commands/uninstall.py +0 -81
  88. aiq/cli/commands/validate.py +0 -47
  89. aiq/cli/commands/workflow/__init__.py +0 -14
  90. aiq/cli/commands/workflow/templates/__init__.py.j2 +0 -0
  91. aiq/cli/commands/workflow/templates/config.yml.j2 +0 -16
  92. aiq/cli/commands/workflow/templates/pyproject.toml.j2 +0 -22
  93. aiq/cli/commands/workflow/templates/register.py.j2 +0 -5
  94. aiq/cli/commands/workflow/templates/workflow.py.j2 +0 -36
  95. aiq/cli/commands/workflow/workflow.py +0 -37
  96. aiq/cli/commands/workflow/workflow_commands.py +0 -313
  97. aiq/cli/entrypoint.py +0 -135
  98. aiq/cli/main.py +0 -44
  99. aiq/cli/register_workflow.py +0 -488
  100. aiq/cli/type_registry.py +0 -1000
  101. aiq/data_models/__init__.py +0 -14
  102. aiq/data_models/api_server.py +0 -694
  103. aiq/data_models/authentication.py +0 -231
  104. aiq/data_models/common.py +0 -171
  105. aiq/data_models/component.py +0 -54
  106. aiq/data_models/component_ref.py +0 -168
  107. aiq/data_models/config.py +0 -406
  108. aiq/data_models/dataset_handler.py +0 -123
  109. aiq/data_models/discovery_metadata.py +0 -335
  110. aiq/data_models/embedder.py +0 -27
  111. aiq/data_models/evaluate.py +0 -127
  112. aiq/data_models/evaluator.py +0 -26
  113. aiq/data_models/front_end.py +0 -26
  114. aiq/data_models/function.py +0 -30
  115. aiq/data_models/function_dependencies.py +0 -72
  116. aiq/data_models/interactive.py +0 -246
  117. aiq/data_models/intermediate_step.py +0 -302
  118. aiq/data_models/invocation_node.py +0 -38
  119. aiq/data_models/its_strategy.py +0 -30
  120. aiq/data_models/llm.py +0 -27
  121. aiq/data_models/logging.py +0 -26
  122. aiq/data_models/memory.py +0 -27
  123. aiq/data_models/object_store.py +0 -44
  124. aiq/data_models/profiler.py +0 -54
  125. aiq/data_models/registry_handler.py +0 -26
  126. aiq/data_models/retriever.py +0 -30
  127. aiq/data_models/retry_mixin.py +0 -35
  128. aiq/data_models/span.py +0 -187
  129. aiq/data_models/step_adaptor.py +0 -64
  130. aiq/data_models/streaming.py +0 -33
  131. aiq/data_models/swe_bench_model.py +0 -54
  132. aiq/data_models/telemetry_exporter.py +0 -26
  133. aiq/embedder/__init__.py +0 -0
  134. aiq/embedder/langchain_client.py +0 -41
  135. aiq/embedder/nim_embedder.py +0 -59
  136. aiq/embedder/openai_embedder.py +0 -43
  137. aiq/embedder/register.py +0 -24
  138. aiq/eval/__init__.py +0 -14
  139. aiq/eval/config.py +0 -60
  140. aiq/eval/dataset_handler/__init__.py +0 -0
  141. aiq/eval/dataset_handler/dataset_downloader.py +0 -106
  142. aiq/eval/dataset_handler/dataset_filter.py +0 -52
  143. aiq/eval/dataset_handler/dataset_handler.py +0 -254
  144. aiq/eval/evaluate.py +0 -506
  145. aiq/eval/evaluator/__init__.py +0 -14
  146. aiq/eval/evaluator/base_evaluator.py +0 -73
  147. aiq/eval/evaluator/evaluator_model.py +0 -45
  148. aiq/eval/intermediate_step_adapter.py +0 -99
  149. aiq/eval/rag_evaluator/__init__.py +0 -0
  150. aiq/eval/rag_evaluator/evaluate.py +0 -178
  151. aiq/eval/rag_evaluator/register.py +0 -143
  152. aiq/eval/register.py +0 -23
  153. aiq/eval/remote_workflow.py +0 -133
  154. aiq/eval/runners/__init__.py +0 -14
  155. aiq/eval/runners/config.py +0 -39
  156. aiq/eval/runners/multi_eval_runner.py +0 -54
  157. aiq/eval/runtime_event_subscriber.py +0 -52
  158. aiq/eval/swe_bench_evaluator/__init__.py +0 -0
  159. aiq/eval/swe_bench_evaluator/evaluate.py +0 -215
  160. aiq/eval/swe_bench_evaluator/register.py +0 -36
  161. aiq/eval/trajectory_evaluator/__init__.py +0 -0
  162. aiq/eval/trajectory_evaluator/evaluate.py +0 -75
  163. aiq/eval/trajectory_evaluator/register.py +0 -40
  164. aiq/eval/tunable_rag_evaluator/__init__.py +0 -0
  165. aiq/eval/tunable_rag_evaluator/evaluate.py +0 -245
  166. aiq/eval/tunable_rag_evaluator/register.py +0 -52
  167. aiq/eval/usage_stats.py +0 -41
  168. aiq/eval/utils/__init__.py +0 -0
  169. aiq/eval/utils/output_uploader.py +0 -140
  170. aiq/eval/utils/tqdm_position_registry.py +0 -40
  171. aiq/eval/utils/weave_eval.py +0 -184
  172. aiq/experimental/__init__.py +0 -0
  173. aiq/experimental/decorators/__init__.py +0 -0
  174. aiq/experimental/decorators/experimental_warning_decorator.py +0 -130
  175. aiq/experimental/inference_time_scaling/__init__.py +0 -0
  176. aiq/experimental/inference_time_scaling/editing/__init__.py +0 -0
  177. aiq/experimental/inference_time_scaling/editing/iterative_plan_refinement_editor.py +0 -147
  178. aiq/experimental/inference_time_scaling/editing/llm_as_a_judge_editor.py +0 -204
  179. aiq/experimental/inference_time_scaling/editing/motivation_aware_summarization.py +0 -107
  180. aiq/experimental/inference_time_scaling/functions/__init__.py +0 -0
  181. aiq/experimental/inference_time_scaling/functions/execute_score_select_function.py +0 -105
  182. aiq/experimental/inference_time_scaling/functions/its_tool_orchestration_function.py +0 -205
  183. aiq/experimental/inference_time_scaling/functions/its_tool_wrapper_function.py +0 -146
  184. aiq/experimental/inference_time_scaling/functions/plan_select_execute_function.py +0 -224
  185. aiq/experimental/inference_time_scaling/models/__init__.py +0 -0
  186. aiq/experimental/inference_time_scaling/models/editor_config.py +0 -132
  187. aiq/experimental/inference_time_scaling/models/its_item.py +0 -48
  188. aiq/experimental/inference_time_scaling/models/scoring_config.py +0 -112
  189. aiq/experimental/inference_time_scaling/models/search_config.py +0 -120
  190. aiq/experimental/inference_time_scaling/models/selection_config.py +0 -154
  191. aiq/experimental/inference_time_scaling/models/stage_enums.py +0 -43
  192. aiq/experimental/inference_time_scaling/models/strategy_base.py +0 -66
  193. aiq/experimental/inference_time_scaling/models/tool_use_config.py +0 -41
  194. aiq/experimental/inference_time_scaling/register.py +0 -36
  195. aiq/experimental/inference_time_scaling/scoring/__init__.py +0 -0
  196. aiq/experimental/inference_time_scaling/scoring/llm_based_agent_scorer.py +0 -168
  197. aiq/experimental/inference_time_scaling/scoring/llm_based_plan_scorer.py +0 -168
  198. aiq/experimental/inference_time_scaling/scoring/motivation_aware_scorer.py +0 -111
  199. aiq/experimental/inference_time_scaling/search/__init__.py +0 -0
  200. aiq/experimental/inference_time_scaling/search/multi_llm_planner.py +0 -128
  201. aiq/experimental/inference_time_scaling/search/multi_query_retrieval_search.py +0 -122
  202. aiq/experimental/inference_time_scaling/search/single_shot_multi_plan_planner.py +0 -128
  203. aiq/experimental/inference_time_scaling/selection/__init__.py +0 -0
  204. aiq/experimental/inference_time_scaling/selection/best_of_n_selector.py +0 -63
  205. aiq/experimental/inference_time_scaling/selection/llm_based_agent_output_selector.py +0 -131
  206. aiq/experimental/inference_time_scaling/selection/llm_based_output_merging_selector.py +0 -159
  207. aiq/experimental/inference_time_scaling/selection/llm_based_plan_selector.py +0 -128
  208. aiq/experimental/inference_time_scaling/selection/threshold_selector.py +0 -58
  209. aiq/front_ends/__init__.py +0 -14
  210. aiq/front_ends/console/__init__.py +0 -14
  211. aiq/front_ends/console/authentication_flow_handler.py +0 -233
  212. aiq/front_ends/console/console_front_end_config.py +0 -32
  213. aiq/front_ends/console/console_front_end_plugin.py +0 -96
  214. aiq/front_ends/console/register.py +0 -25
  215. aiq/front_ends/cron/__init__.py +0 -14
  216. aiq/front_ends/fastapi/__init__.py +0 -14
  217. aiq/front_ends/fastapi/auth_flow_handlers/__init__.py +0 -0
  218. aiq/front_ends/fastapi/auth_flow_handlers/http_flow_handler.py +0 -27
  219. aiq/front_ends/fastapi/auth_flow_handlers/websocket_flow_handler.py +0 -107
  220. aiq/front_ends/fastapi/fastapi_front_end_config.py +0 -234
  221. aiq/front_ends/fastapi/fastapi_front_end_controller.py +0 -68
  222. aiq/front_ends/fastapi/fastapi_front_end_plugin.py +0 -116
  223. aiq/front_ends/fastapi/fastapi_front_end_plugin_worker.py +0 -1092
  224. aiq/front_ends/fastapi/html_snippets/__init__.py +0 -14
  225. aiq/front_ends/fastapi/html_snippets/auth_code_grant_success.py +0 -35
  226. aiq/front_ends/fastapi/intermediate_steps_subscriber.py +0 -80
  227. aiq/front_ends/fastapi/job_store.py +0 -183
  228. aiq/front_ends/fastapi/main.py +0 -72
  229. aiq/front_ends/fastapi/message_handler.py +0 -298
  230. aiq/front_ends/fastapi/message_validator.py +0 -345
  231. aiq/front_ends/fastapi/register.py +0 -25
  232. aiq/front_ends/fastapi/response_helpers.py +0 -195
  233. aiq/front_ends/fastapi/step_adaptor.py +0 -321
  234. aiq/front_ends/mcp/__init__.py +0 -14
  235. aiq/front_ends/mcp/mcp_front_end_config.py +0 -32
  236. aiq/front_ends/mcp/mcp_front_end_plugin.py +0 -93
  237. aiq/front_ends/mcp/register.py +0 -27
  238. aiq/front_ends/mcp/tool_converter.py +0 -242
  239. aiq/front_ends/register.py +0 -22
  240. aiq/front_ends/simple_base/__init__.py +0 -14
  241. aiq/front_ends/simple_base/simple_front_end_plugin_base.py +0 -54
  242. aiq/llm/__init__.py +0 -0
  243. aiq/llm/aws_bedrock_llm.py +0 -57
  244. aiq/llm/nim_llm.py +0 -46
  245. aiq/llm/openai_llm.py +0 -46
  246. aiq/llm/register.py +0 -23
  247. aiq/llm/utils/__init__.py +0 -14
  248. aiq/llm/utils/env_config_value.py +0 -94
  249. aiq/llm/utils/error.py +0 -17
  250. aiq/memory/__init__.py +0 -20
  251. aiq/memory/interfaces.py +0 -183
  252. aiq/memory/models.py +0 -112
  253. aiq/meta/module_to_distro.json +0 -3
  254. aiq/meta/pypi.md +0 -58
  255. aiq/object_store/__init__.py +0 -20
  256. aiq/object_store/in_memory_object_store.py +0 -76
  257. aiq/object_store/interfaces.py +0 -84
  258. aiq/object_store/models.py +0 -36
  259. aiq/object_store/register.py +0 -20
  260. aiq/observability/__init__.py +0 -14
  261. aiq/observability/exporter/__init__.py +0 -14
  262. aiq/observability/exporter/base_exporter.py +0 -449
  263. aiq/observability/exporter/exporter.py +0 -78
  264. aiq/observability/exporter/file_exporter.py +0 -33
  265. aiq/observability/exporter/processing_exporter.py +0 -322
  266. aiq/observability/exporter/raw_exporter.py +0 -52
  267. aiq/observability/exporter/span_exporter.py +0 -265
  268. aiq/observability/exporter_manager.py +0 -335
  269. aiq/observability/mixin/__init__.py +0 -14
  270. aiq/observability/mixin/batch_config_mixin.py +0 -26
  271. aiq/observability/mixin/collector_config_mixin.py +0 -23
  272. aiq/observability/mixin/file_mixin.py +0 -288
  273. aiq/observability/mixin/file_mode.py +0 -23
  274. aiq/observability/mixin/resource_conflict_mixin.py +0 -134
  275. aiq/observability/mixin/serialize_mixin.py +0 -61
  276. aiq/observability/mixin/type_introspection_mixin.py +0 -183
  277. aiq/observability/processor/__init__.py +0 -14
  278. aiq/observability/processor/batching_processor.py +0 -309
  279. aiq/observability/processor/callback_processor.py +0 -42
  280. aiq/observability/processor/intermediate_step_serializer.py +0 -28
  281. aiq/observability/processor/processor.py +0 -71
  282. aiq/observability/register.py +0 -96
  283. aiq/observability/utils/__init__.py +0 -14
  284. aiq/observability/utils/dict_utils.py +0 -236
  285. aiq/observability/utils/time_utils.py +0 -31
  286. aiq/plugins/.namespace +0 -1
  287. aiq/profiler/__init__.py +0 -0
  288. aiq/profiler/calc/__init__.py +0 -14
  289. aiq/profiler/calc/calc_runner.py +0 -627
  290. aiq/profiler/calc/calculations.py +0 -288
  291. aiq/profiler/calc/data_models.py +0 -188
  292. aiq/profiler/calc/plot.py +0 -345
  293. aiq/profiler/callbacks/__init__.py +0 -0
  294. aiq/profiler/callbacks/agno_callback_handler.py +0 -295
  295. aiq/profiler/callbacks/base_callback_class.py +0 -20
  296. aiq/profiler/callbacks/langchain_callback_handler.py +0 -290
  297. aiq/profiler/callbacks/llama_index_callback_handler.py +0 -205
  298. aiq/profiler/callbacks/semantic_kernel_callback_handler.py +0 -238
  299. aiq/profiler/callbacks/token_usage_base_model.py +0 -27
  300. aiq/profiler/data_frame_row.py +0 -51
  301. aiq/profiler/data_models.py +0 -24
  302. aiq/profiler/decorators/__init__.py +0 -0
  303. aiq/profiler/decorators/framework_wrapper.py +0 -131
  304. aiq/profiler/decorators/function_tracking.py +0 -254
  305. aiq/profiler/forecasting/__init__.py +0 -0
  306. aiq/profiler/forecasting/config.py +0 -18
  307. aiq/profiler/forecasting/model_trainer.py +0 -75
  308. aiq/profiler/forecasting/models/__init__.py +0 -22
  309. aiq/profiler/forecasting/models/forecasting_base_model.py +0 -40
  310. aiq/profiler/forecasting/models/linear_model.py +0 -196
  311. aiq/profiler/forecasting/models/random_forest_regressor.py +0 -268
  312. aiq/profiler/inference_metrics_model.py +0 -28
  313. aiq/profiler/inference_optimization/__init__.py +0 -0
  314. aiq/profiler/inference_optimization/bottleneck_analysis/__init__.py +0 -0
  315. aiq/profiler/inference_optimization/bottleneck_analysis/nested_stack_analysis.py +0 -460
  316. aiq/profiler/inference_optimization/bottleneck_analysis/simple_stack_analysis.py +0 -258
  317. aiq/profiler/inference_optimization/data_models.py +0 -386
  318. aiq/profiler/inference_optimization/experimental/__init__.py +0 -0
  319. aiq/profiler/inference_optimization/experimental/concurrency_spike_analysis.py +0 -468
  320. aiq/profiler/inference_optimization/experimental/prefix_span_analysis.py +0 -405
  321. aiq/profiler/inference_optimization/llm_metrics.py +0 -212
  322. aiq/profiler/inference_optimization/prompt_caching.py +0 -163
  323. aiq/profiler/inference_optimization/token_uniqueness.py +0 -107
  324. aiq/profiler/inference_optimization/workflow_runtimes.py +0 -72
  325. aiq/profiler/intermediate_property_adapter.py +0 -102
  326. aiq/profiler/profile_runner.py +0 -473
  327. aiq/profiler/utils.py +0 -184
  328. aiq/registry_handlers/__init__.py +0 -0
  329. aiq/registry_handlers/local/__init__.py +0 -0
  330. aiq/registry_handlers/local/local_handler.py +0 -176
  331. aiq/registry_handlers/local/register_local.py +0 -37
  332. aiq/registry_handlers/metadata_factory.py +0 -60
  333. aiq/registry_handlers/package_utils.py +0 -567
  334. aiq/registry_handlers/pypi/__init__.py +0 -0
  335. aiq/registry_handlers/pypi/pypi_handler.py +0 -251
  336. aiq/registry_handlers/pypi/register_pypi.py +0 -40
  337. aiq/registry_handlers/register.py +0 -21
  338. aiq/registry_handlers/registry_handler_base.py +0 -157
  339. aiq/registry_handlers/rest/__init__.py +0 -0
  340. aiq/registry_handlers/rest/register_rest.py +0 -56
  341. aiq/registry_handlers/rest/rest_handler.py +0 -237
  342. aiq/registry_handlers/schemas/__init__.py +0 -0
  343. aiq/registry_handlers/schemas/headers.py +0 -42
  344. aiq/registry_handlers/schemas/package.py +0 -68
  345. aiq/registry_handlers/schemas/publish.py +0 -63
  346. aiq/registry_handlers/schemas/pull.py +0 -82
  347. aiq/registry_handlers/schemas/remove.py +0 -36
  348. aiq/registry_handlers/schemas/search.py +0 -91
  349. aiq/registry_handlers/schemas/status.py +0 -47
  350. aiq/retriever/__init__.py +0 -0
  351. aiq/retriever/interface.py +0 -37
  352. aiq/retriever/milvus/__init__.py +0 -14
  353. aiq/retriever/milvus/register.py +0 -81
  354. aiq/retriever/milvus/retriever.py +0 -228
  355. aiq/retriever/models.py +0 -74
  356. aiq/retriever/nemo_retriever/__init__.py +0 -14
  357. aiq/retriever/nemo_retriever/register.py +0 -60
  358. aiq/retriever/nemo_retriever/retriever.py +0 -190
  359. aiq/retriever/register.py +0 -22
  360. aiq/runtime/__init__.py +0 -14
  361. aiq/runtime/loader.py +0 -215
  362. aiq/runtime/runner.py +0 -190
  363. aiq/runtime/session.py +0 -158
  364. aiq/runtime/user_metadata.py +0 -130
  365. aiq/settings/__init__.py +0 -0
  366. aiq/settings/global_settings.py +0 -318
  367. aiq/test/.namespace +0 -1
  368. aiq/tool/__init__.py +0 -0
  369. aiq/tool/chat_completion.py +0 -74
  370. aiq/tool/code_execution/README.md +0 -151
  371. aiq/tool/code_execution/__init__.py +0 -0
  372. aiq/tool/code_execution/code_sandbox.py +0 -267
  373. aiq/tool/code_execution/local_sandbox/.gitignore +0 -1
  374. aiq/tool/code_execution/local_sandbox/Dockerfile.sandbox +0 -60
  375. aiq/tool/code_execution/local_sandbox/__init__.py +0 -13
  376. aiq/tool/code_execution/local_sandbox/local_sandbox_server.py +0 -198
  377. aiq/tool/code_execution/local_sandbox/sandbox.requirements.txt +0 -6
  378. aiq/tool/code_execution/local_sandbox/start_local_sandbox.sh +0 -50
  379. aiq/tool/code_execution/register.py +0 -74
  380. aiq/tool/code_execution/test_code_execution_sandbox.py +0 -414
  381. aiq/tool/code_execution/utils.py +0 -100
  382. aiq/tool/datetime_tools.py +0 -42
  383. aiq/tool/document_search.py +0 -141
  384. aiq/tool/github_tools/__init__.py +0 -0
  385. aiq/tool/github_tools/create_github_commit.py +0 -133
  386. aiq/tool/github_tools/create_github_issue.py +0 -87
  387. aiq/tool/github_tools/create_github_pr.py +0 -106
  388. aiq/tool/github_tools/get_github_file.py +0 -106
  389. aiq/tool/github_tools/get_github_issue.py +0 -166
  390. aiq/tool/github_tools/get_github_pr.py +0 -256
  391. aiq/tool/github_tools/update_github_issue.py +0 -100
  392. aiq/tool/mcp/__init__.py +0 -14
  393. aiq/tool/mcp/exceptions.py +0 -142
  394. aiq/tool/mcp/mcp_client.py +0 -255
  395. aiq/tool/mcp/mcp_tool.py +0 -96
  396. aiq/tool/memory_tools/__init__.py +0 -0
  397. aiq/tool/memory_tools/add_memory_tool.py +0 -79
  398. aiq/tool/memory_tools/delete_memory_tool.py +0 -67
  399. aiq/tool/memory_tools/get_memory_tool.py +0 -72
  400. aiq/tool/nvidia_rag.py +0 -95
  401. aiq/tool/register.py +0 -38
  402. aiq/tool/retriever.py +0 -89
  403. aiq/tool/server_tools.py +0 -66
  404. aiq/utils/__init__.py +0 -0
  405. aiq/utils/data_models/__init__.py +0 -0
  406. aiq/utils/data_models/schema_validator.py +0 -58
  407. aiq/utils/debugging_utils.py +0 -43
  408. aiq/utils/dump_distro_mapping.py +0 -32
  409. aiq/utils/exception_handlers/__init__.py +0 -0
  410. aiq/utils/exception_handlers/automatic_retries.py +0 -289
  411. aiq/utils/exception_handlers/mcp.py +0 -211
  412. aiq/utils/exception_handlers/schemas.py +0 -114
  413. aiq/utils/io/__init__.py +0 -0
  414. aiq/utils/io/model_processing.py +0 -28
  415. aiq/utils/io/yaml_tools.py +0 -119
  416. aiq/utils/log_utils.py +0 -37
  417. aiq/utils/metadata_utils.py +0 -74
  418. aiq/utils/optional_imports.py +0 -142
  419. aiq/utils/producer_consumer_queue.py +0 -178
  420. aiq/utils/reactive/__init__.py +0 -0
  421. aiq/utils/reactive/base/__init__.py +0 -0
  422. aiq/utils/reactive/base/observable_base.py +0 -65
  423. aiq/utils/reactive/base/observer_base.py +0 -55
  424. aiq/utils/reactive/base/subject_base.py +0 -79
  425. aiq/utils/reactive/observable.py +0 -59
  426. aiq/utils/reactive/observer.py +0 -76
  427. aiq/utils/reactive/subject.py +0 -131
  428. aiq/utils/reactive/subscription.py +0 -49
  429. aiq/utils/settings/__init__.py +0 -0
  430. aiq/utils/settings/global_settings.py +0 -197
  431. aiq/utils/string_utils.py +0 -38
  432. aiq/utils/type_converter.py +0 -290
  433. aiq/utils/type_utils.py +0 -484
  434. aiq/utils/url_utils.py +0 -27
  435. aiqtoolkit-1.2.0rc4.dist-info/METADATA +0 -363
  436. aiqtoolkit-1.2.0rc4.dist-info/RECORD +0 -438
  437. aiqtoolkit-1.2.0rc4.dist-info/entry_points.txt +0 -20
  438. aiqtoolkit-1.2.0rc4.dist-info/licenses/LICENSE-3rd-party.txt +0 -3686
  439. aiqtoolkit-1.2.0rc4.dist-info/licenses/LICENSE.md +0 -201
  440. aiqtoolkit-1.2.0rc4.dist-info/top_level.txt +0 -1
  441. {aiqtoolkit-1.2.0rc4.dist-info → aiqtoolkit-1.2rc9.dist-info}/WHEEL +0 -0
@@ -1,488 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
- # SPDX-License-Identifier: Apache-2.0
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from contextlib import asynccontextmanager
17
-
18
- from aiq.builder.framework_enum import LLMFrameworkEnum
19
- from aiq.cli.type_registry import AuthProviderBuildCallableT
20
- from aiq.cli.type_registry import AuthProviderRegisteredCallableT
21
- from aiq.cli.type_registry import EmbedderClientBuildCallableT
22
- from aiq.cli.type_registry import EmbedderClientRegisteredCallableT
23
- from aiq.cli.type_registry import EmbedderProviderBuildCallableT
24
- from aiq.cli.type_registry import EmbedderProviderRegisteredCallableT
25
- from aiq.cli.type_registry import EvaluatorBuildCallableT
26
- from aiq.cli.type_registry import EvaluatorRegisteredCallableT
27
- from aiq.cli.type_registry import FrontEndBuildCallableT
28
- from aiq.cli.type_registry import FrontEndRegisteredCallableT
29
- from aiq.cli.type_registry import FunctionBuildCallableT
30
- from aiq.cli.type_registry import FunctionRegisteredCallableT
31
- from aiq.cli.type_registry import ITSStrategyBuildCallableT
32
- from aiq.cli.type_registry import ITSStrategyRegisterCallableT
33
- from aiq.cli.type_registry import LLMClientBuildCallableT
34
- from aiq.cli.type_registry import LLMClientRegisteredCallableT
35
- from aiq.cli.type_registry import LLMProviderBuildCallableT
36
- from aiq.cli.type_registry import LoggingMethodBuildCallableT
37
- from aiq.cli.type_registry import LoggingMethodConfigT
38
- from aiq.cli.type_registry import LoggingMethodRegisteredCallableT
39
- from aiq.cli.type_registry import MemoryBuildCallableT
40
- from aiq.cli.type_registry import MemoryRegisteredCallableT
41
- from aiq.cli.type_registry import ObjectStoreBuildCallableT
42
- from aiq.cli.type_registry import ObjectStoreRegisteredCallableT
43
- from aiq.cli.type_registry import RegisteredLoggingMethod
44
- from aiq.cli.type_registry import RegisteredTelemetryExporter
45
- from aiq.cli.type_registry import RegisteredToolWrapper
46
- from aiq.cli.type_registry import RegistryHandlerBuildCallableT
47
- from aiq.cli.type_registry import RegistryHandlerRegisteredCallableT
48
- from aiq.cli.type_registry import RetrieverClientBuildCallableT
49
- from aiq.cli.type_registry import RetrieverClientRegisteredCallableT
50
- from aiq.cli.type_registry import RetrieverProviderBuildCallableT
51
- from aiq.cli.type_registry import RetrieverProviderRegisteredCallableT
52
- from aiq.cli.type_registry import TeleExporterRegisteredCallableT
53
- from aiq.cli.type_registry import TelemetryExporterBuildCallableT
54
- from aiq.cli.type_registry import TelemetryExporterConfigT
55
- from aiq.cli.type_registry import ToolWrapperBuildCallableT
56
- from aiq.data_models.authentication import AuthProviderBaseConfigT
57
- from aiq.data_models.component import AIQComponentEnum
58
- from aiq.data_models.discovery_metadata import DiscoveryMetadata
59
- from aiq.data_models.embedder import EmbedderBaseConfigT
60
- from aiq.data_models.evaluator import EvaluatorBaseConfigT
61
- from aiq.data_models.front_end import FrontEndConfigT
62
- from aiq.data_models.function import FunctionConfigT
63
- from aiq.data_models.llm import LLMBaseConfigT
64
- from aiq.data_models.memory import MemoryBaseConfigT
65
- from aiq.data_models.object_store import ObjectStoreBaseConfigT
66
- from aiq.data_models.registry_handler import RegistryHandlerBaseConfigT
67
- from aiq.data_models.retriever import RetrieverBaseConfigT
68
-
69
-
70
- def register_telemetry_exporter(config_type: type[TelemetryExporterConfigT]):
71
- """
72
- Register a workflow with optional framework_wrappers for automatic profiler hooking.
73
- """
74
-
75
- def register_inner(
76
- fn: TelemetryExporterBuildCallableT[TelemetryExporterConfigT]
77
- ) -> TeleExporterRegisteredCallableT[TelemetryExporterConfigT]:
78
- from .type_registry import GlobalTypeRegistry
79
-
80
- context_manager_fn = asynccontextmanager(fn)
81
-
82
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
83
- component_type=AIQComponentEnum.TRACING)
84
-
85
- GlobalTypeRegistry.get().register_telemetry_exporter(
86
- RegisteredTelemetryExporter(full_type=config_type.full_type,
87
- config_type=config_type,
88
- build_fn=context_manager_fn,
89
- discovery_metadata=discovery_metadata))
90
-
91
- return context_manager_fn
92
-
93
- return register_inner
94
-
95
-
96
- def register_logging_method(config_type: type[LoggingMethodConfigT]):
97
-
98
- def register_inner(
99
- fn: LoggingMethodBuildCallableT[LoggingMethodConfigT]
100
- ) -> LoggingMethodRegisteredCallableT[LoggingMethodConfigT]:
101
- from .type_registry import GlobalTypeRegistry
102
-
103
- context_manager_fn = asynccontextmanager(fn)
104
-
105
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
106
- component_type=AIQComponentEnum.LOGGING)
107
-
108
- GlobalTypeRegistry.get().register_logging_method(
109
- RegisteredLoggingMethod(full_type=config_type.full_type,
110
- config_type=config_type,
111
- build_fn=context_manager_fn,
112
- discovery_metadata=discovery_metadata))
113
-
114
- return context_manager_fn
115
-
116
- return register_inner
117
-
118
-
119
- def register_front_end(config_type: type[FrontEndConfigT]):
120
- """
121
- Register a front end which is responsible for hosting a workflow.
122
- """
123
-
124
- def register_front_end_inner(
125
- fn: FrontEndBuildCallableT[FrontEndConfigT]) -> FrontEndRegisteredCallableT[FrontEndConfigT]:
126
- from .type_registry import GlobalTypeRegistry
127
- from .type_registry import RegisteredFrontEndInfo
128
-
129
- context_manager_fn = asynccontextmanager(fn)
130
-
131
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
132
- component_type=AIQComponentEnum.FRONT_END)
133
-
134
- GlobalTypeRegistry.get().register_front_end(
135
- RegisteredFrontEndInfo(full_type=config_type.full_type,
136
- config_type=config_type,
137
- build_fn=context_manager_fn,
138
- discovery_metadata=discovery_metadata))
139
-
140
- return context_manager_fn
141
-
142
- return register_front_end_inner
143
-
144
-
145
- def register_function(config_type: type[FunctionConfigT],
146
- framework_wrappers: list[LLMFrameworkEnum | str] | None = None):
147
- """
148
- Register a workflow with optional framework_wrappers for automatic profiler hooking.
149
- """
150
-
151
- def register_function_inner(
152
- fn: FunctionBuildCallableT[FunctionConfigT]) -> FunctionRegisteredCallableT[FunctionConfigT]:
153
- from .type_registry import GlobalTypeRegistry
154
- from .type_registry import RegisteredFunctionInfo
155
-
156
- context_manager_fn = asynccontextmanager(fn)
157
-
158
- if framework_wrappers is None:
159
- framework_wrappers_list: list[str] = []
160
- else:
161
- framework_wrappers_list = list(framework_wrappers)
162
-
163
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
164
- component_type=AIQComponentEnum.FUNCTION)
165
-
166
- GlobalTypeRegistry.get().register_function(
167
- RegisteredFunctionInfo(
168
- full_type=config_type.full_type,
169
- config_type=config_type,
170
- build_fn=context_manager_fn,
171
- framework_wrappers=framework_wrappers_list,
172
- discovery_metadata=discovery_metadata,
173
- ))
174
-
175
- return context_manager_fn
176
-
177
- return register_function_inner
178
-
179
-
180
- def register_llm_provider(config_type: type[LLMBaseConfigT]):
181
-
182
- def register_llm_provider_inner(
183
- fn: LLMProviderBuildCallableT[LLMBaseConfigT]) -> LLMClientRegisteredCallableT[LLMBaseConfigT]:
184
- from .type_registry import GlobalTypeRegistry
185
- from .type_registry import RegisteredLLMProviderInfo
186
-
187
- context_manager_fn = asynccontextmanager(fn)
188
-
189
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
190
- component_type=AIQComponentEnum.LLM_PROVIDER)
191
-
192
- GlobalTypeRegistry.get().register_llm_provider(
193
- RegisteredLLMProviderInfo(full_type=config_type.full_type,
194
- config_type=config_type,
195
- build_fn=context_manager_fn,
196
- discovery_metadata=discovery_metadata))
197
-
198
- return context_manager_fn
199
-
200
- return register_llm_provider_inner
201
-
202
-
203
- def register_auth_provider(config_type: type[AuthProviderBaseConfigT]):
204
-
205
- def register_auth_provider_inner(
206
- fn: AuthProviderBuildCallableT[AuthProviderBaseConfigT]
207
- ) -> AuthProviderRegisteredCallableT[AuthProviderBaseConfigT]:
208
- from .type_registry import GlobalTypeRegistry
209
- from .type_registry import RegisteredAuthProviderInfo
210
-
211
- context_manager_fn = asynccontextmanager(fn)
212
-
213
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
214
- component_type=AIQComponentEnum.AUTHENTICATION_PROVIDER)
215
-
216
- GlobalTypeRegistry.get().register_auth_provider(
217
- RegisteredAuthProviderInfo(full_type=config_type.full_type,
218
- config_type=config_type,
219
- build_fn=context_manager_fn,
220
- discovery_metadata=discovery_metadata))
221
-
222
- return context_manager_fn
223
-
224
- return register_auth_provider_inner
225
-
226
-
227
- def register_llm_client(config_type: type[LLMBaseConfigT], wrapper_type: LLMFrameworkEnum | str):
228
-
229
- def register_llm_client_inner(
230
- fn: LLMClientBuildCallableT[LLMBaseConfigT]) -> LLMClientRegisteredCallableT[LLMBaseConfigT]:
231
- from .type_registry import GlobalTypeRegistry
232
- from .type_registry import RegisteredLLMClientInfo
233
-
234
- context_manager_fn = asynccontextmanager(fn)
235
-
236
- discovery_metadata = DiscoveryMetadata.from_provider_framework_map(config_type=config_type,
237
- wrapper_type=wrapper_type,
238
- provider_type=AIQComponentEnum.LLM_PROVIDER,
239
- component_type=AIQComponentEnum.LLM_CLIENT)
240
- GlobalTypeRegistry.get().register_llm_client(
241
- RegisteredLLMClientInfo(full_type=config_type.full_type,
242
- config_type=config_type,
243
- build_fn=context_manager_fn,
244
- llm_framework=wrapper_type,
245
- discovery_metadata=discovery_metadata))
246
-
247
- return context_manager_fn
248
-
249
- return register_llm_client_inner
250
-
251
-
252
- def register_embedder_provider(config_type: type[EmbedderBaseConfigT]):
253
-
254
- def register_embedder_provider_inner(
255
- fn: EmbedderProviderBuildCallableT[EmbedderBaseConfigT]
256
- ) -> EmbedderProviderRegisteredCallableT[EmbedderBaseConfigT]:
257
- from .type_registry import GlobalTypeRegistry
258
- from .type_registry import RegisteredEmbedderProviderInfo
259
-
260
- context_manager_fn = asynccontextmanager(fn)
261
-
262
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
263
- component_type=AIQComponentEnum.EMBEDDER_PROVIDER)
264
-
265
- GlobalTypeRegistry.get().register_embedder_provider(
266
- RegisteredEmbedderProviderInfo(full_type=config_type.full_type,
267
- config_type=config_type,
268
- build_fn=context_manager_fn,
269
- discovery_metadata=discovery_metadata))
270
-
271
- return context_manager_fn
272
-
273
- return register_embedder_provider_inner
274
-
275
-
276
- def register_embedder_client(config_type: type[EmbedderBaseConfigT], wrapper_type: LLMFrameworkEnum | str):
277
-
278
- def register_embedder_client_inner(
279
- fn: EmbedderClientBuildCallableT[EmbedderBaseConfigT]
280
- ) -> EmbedderClientRegisteredCallableT[EmbedderBaseConfigT]:
281
- from .type_registry import GlobalTypeRegistry
282
- from .type_registry import RegisteredEmbedderClientInfo
283
-
284
- context_manager_fn = asynccontextmanager(fn)
285
-
286
- discovery_metadata = DiscoveryMetadata.from_provider_framework_map(
287
- config_type=config_type,
288
- wrapper_type=wrapper_type,
289
- provider_type=AIQComponentEnum.EMBEDDER_PROVIDER,
290
- component_type=AIQComponentEnum.EMBEDDER_CLIENT)
291
-
292
- GlobalTypeRegistry.get().register_embedder_client(
293
- RegisteredEmbedderClientInfo(full_type=config_type.full_type,
294
- config_type=config_type,
295
- build_fn=context_manager_fn,
296
- llm_framework=wrapper_type,
297
- discovery_metadata=discovery_metadata))
298
-
299
- return context_manager_fn
300
-
301
- return register_embedder_client_inner
302
-
303
-
304
- def register_evaluator(config_type: type[EvaluatorBaseConfigT]):
305
-
306
- def register_evaluator_inner(
307
- fn: EvaluatorBuildCallableT[EvaluatorBaseConfigT]) -> EvaluatorRegisteredCallableT[EvaluatorBaseConfigT]:
308
- from .type_registry import GlobalTypeRegistry
309
- from .type_registry import RegisteredEvaluatorInfo
310
-
311
- context_manager_fn = asynccontextmanager(fn)
312
-
313
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
314
- component_type=AIQComponentEnum.EVALUATOR)
315
-
316
- GlobalTypeRegistry.get().register_evaluator(
317
- RegisteredEvaluatorInfo(full_type=config_type.full_type,
318
- config_type=config_type,
319
- build_fn=context_manager_fn,
320
- discovery_metadata=discovery_metadata))
321
-
322
- return context_manager_fn
323
-
324
- return register_evaluator_inner
325
-
326
-
327
- def register_memory(config_type: type[MemoryBaseConfigT]):
328
-
329
- def register_memory_inner(
330
- fn: MemoryBuildCallableT[MemoryBaseConfigT]) -> MemoryRegisteredCallableT[MemoryBaseConfigT]:
331
- from .type_registry import GlobalTypeRegistry
332
- from .type_registry import RegisteredMemoryInfo
333
-
334
- context_manager_fn = asynccontextmanager(fn)
335
-
336
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
337
- component_type=AIQComponentEnum.MEMORY)
338
-
339
- GlobalTypeRegistry.get().register_memory(
340
- RegisteredMemoryInfo(full_type=config_type.full_type,
341
- config_type=config_type,
342
- build_fn=context_manager_fn,
343
- discovery_metadata=discovery_metadata))
344
-
345
- return context_manager_fn
346
-
347
- return register_memory_inner
348
-
349
-
350
- def register_object_store(config_type: type[ObjectStoreBaseConfigT]):
351
-
352
- def register_kv_store_inner(
353
- fn: ObjectStoreBuildCallableT[ObjectStoreBaseConfigT]
354
- ) -> ObjectStoreRegisteredCallableT[ObjectStoreBaseConfigT]:
355
- from .type_registry import GlobalTypeRegistry
356
- from .type_registry import RegisteredObjectStoreInfo
357
-
358
- context_manager_fn = asynccontextmanager(fn)
359
-
360
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
361
- component_type=AIQComponentEnum.OBJECT_STORE)
362
-
363
- GlobalTypeRegistry.get().register_object_store(
364
- RegisteredObjectStoreInfo(full_type=config_type.full_type,
365
- config_type=config_type,
366
- build_fn=context_manager_fn,
367
- discovery_metadata=discovery_metadata))
368
-
369
- return context_manager_fn
370
-
371
- return register_kv_store_inner
372
-
373
-
374
- def register_its_strategy(config_type: type[ITSStrategyRegisterCallableT]):
375
-
376
- def register_its_strategy_inner(
377
- fn: ITSStrategyBuildCallableT[ITSStrategyRegisterCallableT]
378
- ) -> ITSStrategyRegisterCallableT[ITSStrategyRegisterCallableT]:
379
- from .type_registry import GlobalTypeRegistry
380
- from .type_registry import RegisteredITSStrategyInfo
381
-
382
- context_manager_fn = asynccontextmanager(fn)
383
-
384
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
385
- component_type=AIQComponentEnum.ITS_STRATEGY)
386
-
387
- GlobalTypeRegistry.get().register_its_strategy(
388
- RegisteredITSStrategyInfo(full_type=config_type.full_type,
389
- config_type=config_type,
390
- build_fn=context_manager_fn,
391
- discovery_metadata=discovery_metadata))
392
-
393
- return context_manager_fn
394
-
395
- return register_its_strategy_inner
396
-
397
-
398
- def register_retriever_provider(config_type: type[RetrieverBaseConfigT]):
399
-
400
- def register_retriever_provider_inner(
401
- fn: RetrieverProviderBuildCallableT[RetrieverBaseConfigT]
402
- ) -> RetrieverProviderRegisteredCallableT[RetrieverBaseConfigT]:
403
- from .type_registry import GlobalTypeRegistry
404
- from .type_registry import RegisteredRetrieverProviderInfo
405
-
406
- context_manager_fn = asynccontextmanager(fn)
407
-
408
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
409
- component_type=AIQComponentEnum.RETRIEVER_PROVIDER)
410
-
411
- GlobalTypeRegistry.get().register_retriever_provider(
412
- RegisteredRetrieverProviderInfo(full_type=config_type.full_type,
413
- config_type=config_type,
414
- build_fn=context_manager_fn,
415
- discovery_metadata=discovery_metadata))
416
-
417
- return context_manager_fn
418
-
419
- return register_retriever_provider_inner
420
-
421
-
422
- def register_retriever_client(config_type: type[RetrieverBaseConfigT], wrapper_type: LLMFrameworkEnum | str | None):
423
-
424
- def register_retriever_client_inner(
425
- fn: RetrieverClientBuildCallableT[RetrieverBaseConfigT]
426
- ) -> RetrieverClientRegisteredCallableT[RetrieverBaseConfigT]:
427
- from .type_registry import GlobalTypeRegistry
428
- from .type_registry import RegisteredRetrieverClientInfo
429
-
430
- context_manager_fn = asynccontextmanager(fn)
431
-
432
- discovery_metadata = DiscoveryMetadata.from_provider_framework_map(
433
- config_type=config_type,
434
- wrapper_type=wrapper_type,
435
- provider_type=AIQComponentEnum.RETRIEVER_PROVIDER,
436
- component_type=AIQComponentEnum.RETRIEVER_CLIENT,
437
- )
438
-
439
- GlobalTypeRegistry.get().register_retriever_client(
440
- RegisteredRetrieverClientInfo(full_type=config_type.full_type,
441
- config_type=config_type,
442
- build_fn=context_manager_fn,
443
- llm_framework=wrapper_type,
444
- discovery_metadata=discovery_metadata))
445
-
446
- return context_manager_fn
447
-
448
- return register_retriever_client_inner
449
-
450
-
451
- def register_tool_wrapper(wrapper_type: LLMFrameworkEnum | str):
452
-
453
- def _inner(fn: ToolWrapperBuildCallableT) -> ToolWrapperBuildCallableT:
454
- from .type_registry import GlobalTypeRegistry
455
-
456
- discovery_metadata = DiscoveryMetadata.from_fn_wrapper(fn=fn,
457
- wrapper_type=wrapper_type,
458
- component_type=AIQComponentEnum.TOOL_WRAPPER)
459
- GlobalTypeRegistry.get().register_tool_wrapper(
460
- RegisteredToolWrapper(llm_framework=wrapper_type, build_fn=fn, discovery_metadata=discovery_metadata))
461
-
462
- return fn
463
-
464
- return _inner
465
-
466
-
467
- def register_registry_handler(config_type: type[RegistryHandlerBaseConfigT]):
468
-
469
- def register_registry_handler_inner(
470
- fn: RegistryHandlerBuildCallableT[RegistryHandlerBaseConfigT]
471
- ) -> RegistryHandlerRegisteredCallableT[RegistryHandlerBaseConfigT]:
472
- from .type_registry import GlobalTypeRegistry
473
- from .type_registry import RegisteredRegistryHandlerInfo
474
-
475
- context_manager_fn = asynccontextmanager(fn)
476
-
477
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
478
- component_type=AIQComponentEnum.REGISTRY_HANDLER)
479
-
480
- GlobalTypeRegistry.get().register_registry_handler(
481
- RegisteredRegistryHandlerInfo(full_type=config_type.full_type,
482
- config_type=config_type,
483
- build_fn=context_manager_fn,
484
- discovery_metadata=discovery_metadata))
485
-
486
- return context_manager_fn
487
-
488
- return register_registry_handler_inner