waldiez 0.4.7__py3-none-any.whl → 0.4.8__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 waldiez might be problematic. Click here for more details.

Files changed (244) hide show
  1. waldiez/__init__.py +5 -5
  2. waldiez/_version.py +1 -1
  3. waldiez/cli.py +112 -73
  4. waldiez/exporter.py +61 -19
  5. waldiez/exporting/__init__.py +25 -6
  6. waldiez/exporting/agent/__init__.py +7 -3
  7. waldiez/exporting/agent/code_execution.py +114 -0
  8. waldiez/exporting/agent/exporter.py +354 -0
  9. waldiez/exporting/agent/extras/__init__.py +15 -0
  10. waldiez/exporting/agent/extras/captain_agent_extras.py +315 -0
  11. waldiez/exporting/agent/extras/group/target.py +178 -0
  12. waldiez/exporting/agent/extras/group_manager_agent_extas.py +500 -0
  13. waldiez/exporting/agent/extras/group_member_extras.py +181 -0
  14. waldiez/exporting/agent/extras/handoffs/__init__.py +19 -0
  15. waldiez/exporting/agent/extras/handoffs/after_work.py +78 -0
  16. waldiez/exporting/agent/extras/handoffs/available.py +74 -0
  17. waldiez/exporting/agent/extras/handoffs/condition.py +158 -0
  18. waldiez/exporting/agent/extras/handoffs/handoff.py +171 -0
  19. waldiez/exporting/agent/extras/handoffs/target.py +189 -0
  20. waldiez/exporting/agent/extras/rag/__init__.py +10 -0
  21. waldiez/exporting/agent/{utils/rag_user/chroma_utils.py → extras/rag/chroma_extras.py} +16 -15
  22. waldiez/exporting/agent/{utils/rag_user/mongo_utils.py → extras/rag/mongo_extras.py} +10 -10
  23. waldiez/exporting/agent/{utils/rag_user/pgvector_utils.py → extras/rag/pgvector_extras.py} +13 -13
  24. waldiez/exporting/agent/{utils/rag_user/qdrant_utils.py → extras/rag/qdrant_extras.py} +13 -13
  25. waldiez/exporting/agent/{utils/rag_user/vector_db.py → extras/rag/vector_db_extras.py} +59 -46
  26. waldiez/exporting/agent/extras/rag_user_proxy_agent_extras.py +245 -0
  27. waldiez/exporting/agent/extras/reasoning_agent_extras.py +88 -0
  28. waldiez/exporting/agent/factory.py +95 -0
  29. waldiez/exporting/agent/processor.py +150 -0
  30. waldiez/exporting/agent/system_message.py +36 -0
  31. waldiez/exporting/agent/termination.py +50 -0
  32. waldiez/exporting/chats/__init__.py +7 -3
  33. waldiez/exporting/chats/exporter.py +97 -0
  34. waldiez/exporting/chats/factory.py +65 -0
  35. waldiez/exporting/chats/processor.py +226 -0
  36. waldiez/exporting/chats/utils/__init__.py +6 -5
  37. waldiez/exporting/chats/utils/common.py +11 -45
  38. waldiez/exporting/chats/utils/group.py +55 -0
  39. waldiez/exporting/chats/utils/nested.py +37 -52
  40. waldiez/exporting/chats/utils/sequential.py +72 -61
  41. waldiez/exporting/chats/utils/{single_chat.py → single.py} +48 -50
  42. waldiez/exporting/core/__init__.py +196 -0
  43. waldiez/exporting/core/constants.py +17 -0
  44. waldiez/exporting/core/content.py +69 -0
  45. waldiez/exporting/core/context.py +244 -0
  46. waldiez/exporting/core/enums.py +89 -0
  47. waldiez/exporting/core/errors.py +19 -0
  48. waldiez/exporting/core/exporter.py +390 -0
  49. waldiez/exporting/core/exporters.py +67 -0
  50. waldiez/exporting/core/extras/__init__.py +39 -0
  51. waldiez/exporting/core/extras/agent_extras/__init__.py +27 -0
  52. waldiez/exporting/core/extras/agent_extras/captain_extras.py +57 -0
  53. waldiez/exporting/core/extras/agent_extras/group_manager_extras.py +102 -0
  54. waldiez/exporting/core/extras/agent_extras/rag_user_extras.py +53 -0
  55. waldiez/exporting/core/extras/agent_extras/reasoning_extras.py +68 -0
  56. waldiez/exporting/core/extras/agent_extras/standard_extras.py +263 -0
  57. waldiez/exporting/core/extras/base.py +241 -0
  58. waldiez/exporting/core/extras/chat_extras.py +118 -0
  59. waldiez/exporting/core/extras/flow_extras.py +70 -0
  60. waldiez/exporting/core/extras/model_extras.py +73 -0
  61. waldiez/exporting/core/extras/path_resolver.py +93 -0
  62. waldiez/exporting/core/extras/serializer.py +138 -0
  63. waldiez/exporting/core/extras/tool_extras.py +82 -0
  64. waldiez/exporting/core/protocols.py +259 -0
  65. waldiez/exporting/core/result.py +705 -0
  66. waldiez/exporting/core/types.py +329 -0
  67. waldiez/exporting/core/utils/__init__.py +11 -0
  68. waldiez/exporting/core/utils/comment.py +33 -0
  69. waldiez/exporting/core/utils/llm_config.py +117 -0
  70. waldiez/exporting/core/validation.py +96 -0
  71. waldiez/exporting/flow/__init__.py +6 -2
  72. waldiez/exporting/flow/execution_generator.py +193 -0
  73. waldiez/exporting/flow/exporter.py +107 -0
  74. waldiez/exporting/flow/factory.py +94 -0
  75. waldiez/exporting/flow/file_generator.py +214 -0
  76. waldiez/exporting/flow/merger.py +387 -0
  77. waldiez/exporting/flow/orchestrator.py +411 -0
  78. waldiez/exporting/flow/utils/__init__.py +9 -36
  79. waldiez/exporting/flow/utils/common.py +206 -0
  80. waldiez/exporting/flow/utils/importing.py +373 -0
  81. waldiez/exporting/flow/utils/linting.py +200 -0
  82. waldiez/exporting/flow/utils/{logging_utils.py → logging.py} +23 -9
  83. waldiez/exporting/models/__init__.py +3 -1
  84. waldiez/exporting/models/exporter.py +233 -0
  85. waldiez/exporting/models/factory.py +66 -0
  86. waldiez/exporting/models/processor.py +139 -0
  87. waldiez/exporting/tools/__init__.py +11 -0
  88. waldiez/exporting/tools/exporter.py +207 -0
  89. waldiez/exporting/tools/factory.py +57 -0
  90. waldiez/exporting/tools/processor.py +248 -0
  91. waldiez/exporting/tools/registration.py +133 -0
  92. waldiez/io/__init__.py +128 -0
  93. waldiez/io/_ws.py +199 -0
  94. waldiez/io/models/__init__.py +60 -0
  95. waldiez/io/models/base.py +66 -0
  96. waldiez/io/models/constants.py +78 -0
  97. waldiez/io/models/content/__init__.py +23 -0
  98. waldiez/io/models/content/audio.py +43 -0
  99. waldiez/io/models/content/base.py +45 -0
  100. waldiez/io/models/content/file.py +43 -0
  101. waldiez/io/models/content/image.py +96 -0
  102. waldiez/io/models/content/text.py +37 -0
  103. waldiez/io/models/content/video.py +43 -0
  104. waldiez/io/models/user_input.py +269 -0
  105. waldiez/io/models/user_response.py +215 -0
  106. waldiez/io/mqtt.py +681 -0
  107. waldiez/io/redis.py +782 -0
  108. waldiez/io/structured.py +419 -0
  109. waldiez/io/utils.py +184 -0
  110. waldiez/io/ws.py +298 -0
  111. waldiez/logger.py +481 -0
  112. waldiez/models/__init__.py +108 -51
  113. waldiez/models/agents/__init__.py +34 -70
  114. waldiez/models/agents/agent/__init__.py +10 -4
  115. waldiez/models/agents/agent/agent.py +466 -65
  116. waldiez/models/agents/agent/agent_data.py +119 -47
  117. waldiez/models/agents/agent/agent_type.py +13 -2
  118. waldiez/models/agents/agent/code_execution.py +12 -12
  119. waldiez/models/agents/agent/human_input_mode.py +8 -0
  120. waldiez/models/agents/agent/{linked_skill.py → linked_tool.py} +7 -7
  121. waldiez/models/agents/agent/nested_chat.py +35 -7
  122. waldiez/models/agents/agent/termination_message.py +30 -22
  123. waldiez/models/agents/{swarm_agent → agent}/update_system_message.py +22 -22
  124. waldiez/models/agents/agents.py +58 -63
  125. waldiez/models/agents/assistant/assistant.py +4 -4
  126. waldiez/models/agents/assistant/assistant_data.py +13 -1
  127. waldiez/models/agents/{captain_agent → captain}/captain_agent.py +5 -5
  128. waldiez/models/agents/{captain_agent → captain}/captain_agent_data.py +5 -5
  129. waldiez/models/agents/extra_requirements.py +11 -16
  130. waldiez/models/agents/group_manager/group_manager.py +103 -13
  131. waldiez/models/agents/group_manager/group_manager_data.py +36 -14
  132. waldiez/models/agents/group_manager/speakers.py +77 -24
  133. waldiez/models/agents/{rag_user → rag_user_proxy}/__init__.py +16 -16
  134. waldiez/models/agents/rag_user_proxy/rag_user_proxy.py +64 -0
  135. waldiez/models/agents/{rag_user/rag_user_data.py → rag_user_proxy/rag_user_proxy_data.py} +6 -5
  136. waldiez/models/agents/{rag_user → rag_user_proxy}/retrieve_config.py +182 -114
  137. waldiez/models/agents/{rag_user → rag_user_proxy}/vector_db_config.py +13 -13
  138. waldiez/models/agents/reasoning/reasoning_agent.py +6 -6
  139. waldiez/models/agents/reasoning/reasoning_agent_data.py +110 -63
  140. waldiez/models/agents/reasoning/reasoning_agent_reason_config.py +38 -10
  141. waldiez/models/agents/user_proxy/user_proxy.py +11 -7
  142. waldiez/models/agents/user_proxy/user_proxy_data.py +2 -2
  143. waldiez/models/chat/__init__.py +2 -1
  144. waldiez/models/chat/chat.py +166 -87
  145. waldiez/models/chat/chat_data.py +99 -136
  146. waldiez/models/chat/chat_message.py +33 -23
  147. waldiez/models/chat/chat_nested.py +31 -30
  148. waldiez/models/chat/chat_summary.py +10 -8
  149. waldiez/models/common/__init__.py +52 -2
  150. waldiez/models/common/ag2_version.py +1 -1
  151. waldiez/models/common/base.py +38 -7
  152. waldiez/models/common/dict_utils.py +42 -17
  153. waldiez/models/common/handoff.py +459 -0
  154. waldiez/models/common/id_generator.py +19 -0
  155. waldiez/models/common/method_utils.py +130 -68
  156. waldiez/{exporting/base/utils → models/common}/naming.py +38 -61
  157. waldiez/models/common/waldiez_version.py +37 -0
  158. waldiez/models/flow/__init__.py +9 -2
  159. waldiez/models/flow/connection.py +18 -0
  160. waldiez/models/flow/flow.py +311 -215
  161. waldiez/models/flow/flow_data.py +207 -40
  162. waldiez/models/flow/info.py +85 -0
  163. waldiez/models/flow/naming.py +131 -0
  164. waldiez/models/model/__init__.py +7 -1
  165. waldiez/models/model/extra_requirements.py +3 -12
  166. waldiez/models/model/model.py +76 -21
  167. waldiez/models/model/model_data.py +108 -20
  168. waldiez/models/tool/__init__.py +16 -0
  169. waldiez/models/tool/extra_requirements.py +36 -0
  170. waldiez/models/{skill/skill.py → tool/tool.py} +88 -88
  171. waldiez/models/tool/tool_data.py +51 -0
  172. waldiez/models/tool/tool_type.py +8 -0
  173. waldiez/models/waldiez.py +97 -80
  174. waldiez/runner.py +114 -49
  175. waldiez/running/__init__.py +1 -1
  176. waldiez/running/environment.py +49 -68
  177. waldiez/running/gen_seq_diagram.py +16 -14
  178. waldiez/running/running.py +53 -34
  179. waldiez/utils/__init__.py +0 -4
  180. waldiez/utils/cli_extras/jupyter.py +5 -3
  181. waldiez/utils/cli_extras/runner.py +6 -4
  182. waldiez/utils/cli_extras/studio.py +6 -4
  183. waldiez/utils/conflict_checker.py +15 -9
  184. waldiez/utils/flaml_warnings.py +5 -5
  185. {waldiez-0.4.7.dist-info → waldiez-0.4.8.dist-info}/METADATA +235 -91
  186. waldiez-0.4.8.dist-info/RECORD +200 -0
  187. waldiez/exporting/agent/agent_exporter.py +0 -297
  188. waldiez/exporting/agent/utils/__init__.py +0 -23
  189. waldiez/exporting/agent/utils/captain_agent.py +0 -263
  190. waldiez/exporting/agent/utils/code_execution.py +0 -65
  191. waldiez/exporting/agent/utils/group_manager.py +0 -220
  192. waldiez/exporting/agent/utils/rag_user/__init__.py +0 -7
  193. waldiez/exporting/agent/utils/rag_user/rag_user.py +0 -209
  194. waldiez/exporting/agent/utils/reasoning.py +0 -36
  195. waldiez/exporting/agent/utils/swarm_agent.py +0 -469
  196. waldiez/exporting/agent/utils/teachability.py +0 -41
  197. waldiez/exporting/agent/utils/termination_message.py +0 -44
  198. waldiez/exporting/base/__init__.py +0 -25
  199. waldiez/exporting/base/agent_position.py +0 -75
  200. waldiez/exporting/base/base_exporter.py +0 -118
  201. waldiez/exporting/base/export_position.py +0 -48
  202. waldiez/exporting/base/import_position.py +0 -23
  203. waldiez/exporting/base/mixin.py +0 -137
  204. waldiez/exporting/base/utils/__init__.py +0 -18
  205. waldiez/exporting/base/utils/comments.py +0 -96
  206. waldiez/exporting/base/utils/path_check.py +0 -68
  207. waldiez/exporting/base/utils/to_string.py +0 -84
  208. waldiez/exporting/chats/chats_exporter.py +0 -240
  209. waldiez/exporting/chats/utils/swarm.py +0 -210
  210. waldiez/exporting/flow/flow_exporter.py +0 -528
  211. waldiez/exporting/flow/utils/agent_utils.py +0 -204
  212. waldiez/exporting/flow/utils/chat_utils.py +0 -71
  213. waldiez/exporting/flow/utils/def_main.py +0 -77
  214. waldiez/exporting/flow/utils/flow_content.py +0 -202
  215. waldiez/exporting/flow/utils/flow_names.py +0 -116
  216. waldiez/exporting/flow/utils/importing_utils.py +0 -227
  217. waldiez/exporting/models/models_exporter.py +0 -199
  218. waldiez/exporting/models/utils.py +0 -174
  219. waldiez/exporting/skills/__init__.py +0 -9
  220. waldiez/exporting/skills/skills_exporter.py +0 -176
  221. waldiez/exporting/skills/utils.py +0 -369
  222. waldiez/models/agents/agent/teachability.py +0 -70
  223. waldiez/models/agents/rag_user/rag_user.py +0 -60
  224. waldiez/models/agents/swarm_agent/__init__.py +0 -50
  225. waldiez/models/agents/swarm_agent/after_work.py +0 -179
  226. waldiez/models/agents/swarm_agent/on_condition.py +0 -105
  227. waldiez/models/agents/swarm_agent/on_condition_available.py +0 -142
  228. waldiez/models/agents/swarm_agent/on_condition_target.py +0 -40
  229. waldiez/models/agents/swarm_agent/swarm_agent.py +0 -107
  230. waldiez/models/agents/swarm_agent/swarm_agent_data.py +0 -124
  231. waldiez/models/flow/utils.py +0 -232
  232. waldiez/models/skill/__init__.py +0 -16
  233. waldiez/models/skill/extra_requirements.py +0 -36
  234. waldiez/models/skill/skill_data.py +0 -53
  235. waldiez/models/skill/skill_type.py +0 -8
  236. waldiez/utils/pysqlite3_checker.py +0 -308
  237. waldiez/utils/rdps_checker.py +0 -122
  238. waldiez-0.4.7.dist-info/RECORD +0 -149
  239. /waldiez/models/agents/{captain_agent → captain}/__init__.py +0 -0
  240. /waldiez/models/agents/{captain_agent → captain}/captain_agent_lib_entry.py +0 -0
  241. {waldiez-0.4.7.dist-info → waldiez-0.4.8.dist-info}/WHEEL +0 -0
  242. {waldiez-0.4.7.dist-info → waldiez-0.4.8.dist-info}/entry_points.txt +0 -0
  243. {waldiez-0.4.7.dist-info → waldiez-0.4.8.dist-info}/licenses/LICENSE +0 -0
  244. {waldiez-0.4.7.dist-info → waldiez-0.4.8.dist-info}/licenses/NOTICE.md +0 -0
@@ -1,209 +0,0 @@
1
- # SPDX-License-Identifier: Apache-2.0.
2
- # Copyright (c) 2024 - 2025 Waldiez and contributors.
3
- """RAG User related exporting utils."""
4
-
5
- from typing import Callable, Dict, List, Set, Tuple, Union
6
-
7
- from waldiez.models import (
8
- WaldiezAgent,
9
- WaldiezRagUser,
10
- WaldiezRagUserModels,
11
- WaldiezRagUserRetrieveConfig,
12
- )
13
-
14
- from .vector_db import get_rag_user_vector_db_string
15
-
16
-
17
- def get_rag_user_extras(
18
- agent: WaldiezAgent,
19
- agent_name: str,
20
- model_names: Dict[str, str],
21
- path_resolver: Callable[[str], str],
22
- serializer: Callable[..., str],
23
- ) -> Tuple[str, str, Set[str]]:
24
- """Get the RAG user extra argument, imports and content before the agent.
25
-
26
- Parameters
27
- ----------
28
- agent : WaldiezAgent
29
- The agent.
30
- agent_name : str
31
- The agent's name.
32
- model_names : Dict[str, str]
33
- A mapping from model id to model name.
34
- path_resolver : Callable[[str], str]
35
- The path resolver function.
36
- serializer : Callable[..., str]
37
- The serializer function.
38
-
39
- Returns
40
- -------
41
- Tuple[str, str, Set[str]]
42
- The content before the agent, the retrieve arg and the db imports.
43
- """
44
- before_agent_string = ""
45
- retrieve_arg = ""
46
- db_imports: Set[str] = set()
47
- if agent.agent_type == "rag_user" and isinstance(agent, WaldiezRagUser):
48
- rag_content_before_agent, retrieve_arg, db_imports = (
49
- get_rag_user_retrieve_config_str(
50
- agent=agent,
51
- agent_name=agent_name,
52
- model_names=model_names,
53
- path_resolver=path_resolver,
54
- serializer=serializer,
55
- )
56
- )
57
- if retrieve_arg:
58
- retrieve_arg = "\n" + f" retrieve_config={retrieve_arg},"
59
- if rag_content_before_agent:
60
- before_agent_string += rag_content_before_agent
61
- return before_agent_string, retrieve_arg, db_imports
62
-
63
-
64
- # pylint: disable=too-many-locals
65
- def get_rag_user_retrieve_config_str(
66
- agent: WaldiezRagUser,
67
- agent_name: str,
68
- model_names: Dict[str, str],
69
- path_resolver: Callable[[str], str],
70
- serializer: Callable[..., str],
71
- ) -> Tuple[str, str, Set[str]]:
72
- """Get the RAG user retrieve config string.
73
-
74
- Parameters
75
- ----------
76
- agent : WaldiezRagUser
77
- The agent.
78
- agent_name : str
79
- The agent's name.
80
- model_names : Dict[str, str]
81
- A mapping from model id to model name.
82
- path_resolver : Callable[[str], str]
83
- The path resolver function.
84
- serializer : Callable[..., str]
85
- The serializer function.
86
-
87
- Returns
88
- -------
89
- Tuple[str, str, Set[str]]
90
- The content before the args, the args and the imports.
91
- """
92
- # e.g. user_agent = RetrieveUserProxyAgent(
93
- # ...other common/agent args,
94
- # retrieve_config={what_this_returns})
95
- imports: Set[str] = set()
96
- retrieve_config = agent.retrieve_config
97
- before_the_args, vector_db_arg, db_imports = get_rag_user_vector_db_string(
98
- agent=agent,
99
- agent_name=agent_name,
100
- )
101
- imports.update(db_imports)
102
- args_dict = _get_args_dict(
103
- agent, retrieve_config, model_names, path_resolver
104
- )
105
- if retrieve_config.use_custom_token_count:
106
- function_content, token_count_arg_name = (
107
- retrieve_config.get_custom_token_count_function(
108
- name_suffix=agent_name
109
- )
110
- )
111
- before_the_args += "\n" + function_content + "\n"
112
- args_dict["custom_token_count_function"] = token_count_arg_name
113
- if retrieve_config.use_custom_text_split:
114
- function_content, text_split_arg_name = (
115
- retrieve_config.get_custom_text_split_function(
116
- name_suffix=agent_name
117
- )
118
- )
119
- before_the_args += "\n" + function_content + "\n"
120
- args_dict["custom_text_split_function"] = text_split_arg_name
121
- # docs_path = args_dict.pop("docs_path", [])
122
- args_content = serializer(args_dict)
123
- # get the last line (where the dict ends)
124
- args_parts = args_content.split("\n")
125
- before_vector_db = args_parts[:-1]
126
- closing_arg = args_parts[-1]
127
- args_content = "\n".join(before_vector_db)
128
- # add the vector_db arg
129
- args_content += ",\n" + f' "vector_db": {vector_db_arg},' + "\n"
130
- # we should not need to include the client, but let's do it
131
- # to avoid later issues (with telemetry or other client settings)
132
- # https://github.com/ag2ai/ag2/blob/main/autogen/agentchat/\
133
- # contrib/retrieve_user_proxy_agent.py#L265-L266
134
- if (
135
- f"{agent_name}_client" in before_the_args
136
- and agent.retrieve_config.vector_db == "chroma"
137
- ):
138
- args_content += f' "client": {agent_name}_client,' + "\n"
139
- args_content += closing_arg
140
- return before_the_args, args_content, imports
141
-
142
-
143
- def _get_model_arg(
144
- agent: WaldiezRagUser,
145
- retrieve_config: WaldiezRagUserRetrieveConfig,
146
- model_names: Dict[str, str],
147
- ) -> str: # pragma: no cover
148
- agent_models = agent.data.model_ids
149
- if agent_models:
150
- first_model = agent_models[0]
151
- first_model_name = model_names[first_model]
152
- new_model_name = f"{first_model_name}"
153
- return f"{new_model_name}"
154
- if retrieve_config.model in model_names:
155
- selected_model = model_names[retrieve_config.model]
156
- new_model_name = f"{selected_model}"
157
- return f"{new_model_name}"
158
- return WaldiezRagUserModels[retrieve_config.vector_db]
159
-
160
-
161
- def _get_args_dict(
162
- agent: WaldiezRagUser,
163
- retrieve_config: WaldiezRagUserRetrieveConfig,
164
- model_names: Dict[str, str],
165
- path_resolver: Callable[[str], str],
166
- ) -> Dict[str, Union[str, List[str]]]:
167
- model_arg = _get_model_arg(agent, retrieve_config, model_names)
168
- args_dict: Dict[str, Union[str, List[str]]] = {
169
- "task": retrieve_config.task,
170
- "model": model_arg,
171
- }
172
- optional_args = [
173
- "chunk_token_size",
174
- "context_max_tokens",
175
- "customized_prompt",
176
- "customized_answer_prefix",
177
- ]
178
- for arg in optional_args:
179
- arg_value = getattr(retrieve_config, arg)
180
- if arg_value is not None:
181
- args_dict[arg] = arg_value
182
- args_dict[arg] = getattr(retrieve_config, arg)
183
- docs_path: Union[str, List[str]] = []
184
- if retrieve_config.docs_path:
185
- doc_paths = (
186
- retrieve_config.docs_path
187
- if isinstance(retrieve_config.docs_path, list)
188
- else [retrieve_config.docs_path]
189
- )
190
- docs_path = [
191
- item for item in [path_resolver(path) for path in doc_paths] if item
192
- ]
193
- args_dict["docs_path"] = docs_path
194
- if docs_path:
195
- args_dict["docs_path"] = docs_path
196
- non_optional_args = [
197
- "new_docs",
198
- "update_context",
199
- "get_or_create",
200
- "overwrite",
201
- "recursive",
202
- "chunk_mode",
203
- "must_break_at_empty_line",
204
- "collection_name",
205
- "distance_threshold",
206
- ]
207
- for arg in non_optional_args:
208
- args_dict[arg] = getattr(retrieve_config, arg)
209
- return args_dict
@@ -1,36 +0,0 @@
1
- # SPDX-License-Identifier: Apache-2.0.
2
- # Copyright (c) 2024 - 2025 Waldiez and contributors.
3
- """Export reasoning agent to string."""
4
-
5
- from typing import Callable
6
-
7
- from waldiez.models import WaldiezAgent, WaldiezReasoningAgent
8
-
9
-
10
- def get_reasoning_agent_extras(
11
- agent: WaldiezAgent,
12
- serializer: Callable[..., str],
13
- ) -> str:
14
- """Get the reasoning agent extras.
15
-
16
- Parameters
17
- ----------
18
- agent : WaldiezReasoningAgent
19
- The reasoning agent.
20
- serializer : Callable[..., str]
21
- The serializer to get the string representation of an object.
22
-
23
- Returns
24
- -------
25
- str
26
- The reasoning agent extras.
27
- """
28
- if agent.agent_type != "reasoning" or not isinstance(
29
- agent, WaldiezReasoningAgent
30
- ):
31
- return ""
32
- reasoning_config = agent.get_reasoning_config()
33
- serialized = serializer(reasoning_config)
34
- content = "\n verbose=" + f"{agent.data.verbose},"
35
- content += "\n reason_config=" + f"{serialized},"
36
- return content