aient 1.1.27__tar.gz → 1.1.29__tar.gz

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 (81) hide show
  1. {aient-1.1.27/src/aient.egg-info → aient-1.1.29}/PKG-INFO +1 -1
  2. {aient-1.1.27 → aient-1.1.29}/setup.py +1 -1
  3. {aient-1.1.27 → aient-1.1.29}/src/aient/core/response.py +1 -1
  4. {aient-1.1.27 → aient-1.1.29}/src/aient/models/chatgpt.py +4 -0
  5. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/excute_command.py +8 -5
  6. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/list_directory.py +3 -3
  7. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/run_python.py +1 -1
  8. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/write_file.py +1 -1
  9. {aient-1.1.27 → aient-1.1.29/src/aient.egg-info}/PKG-INFO +1 -1
  10. {aient-1.1.27 → aient-1.1.29}/LICENSE +0 -0
  11. {aient-1.1.27 → aient-1.1.29}/MANIFEST.in +0 -0
  12. {aient-1.1.27 → aient-1.1.29}/README.md +0 -0
  13. {aient-1.1.27 → aient-1.1.29}/setup.cfg +0 -0
  14. {aient-1.1.27 → aient-1.1.29}/src/aient/__init__.py +0 -0
  15. {aient-1.1.27 → aient-1.1.29}/src/aient/core/.git +0 -0
  16. {aient-1.1.27 → aient-1.1.29}/src/aient/core/.gitignore +0 -0
  17. {aient-1.1.27 → aient-1.1.29}/src/aient/core/__init__.py +0 -0
  18. {aient-1.1.27 → aient-1.1.29}/src/aient/core/log_config.py +0 -0
  19. {aient-1.1.27 → aient-1.1.29}/src/aient/core/models.py +0 -0
  20. {aient-1.1.27 → aient-1.1.29}/src/aient/core/request.py +0 -0
  21. {aient-1.1.27 → aient-1.1.29}/src/aient/core/test/test_base_api.py +0 -0
  22. {aient-1.1.27 → aient-1.1.29}/src/aient/core/test/test_geminimask.py +0 -0
  23. {aient-1.1.27 → aient-1.1.29}/src/aient/core/test/test_image.py +0 -0
  24. {aient-1.1.27 → aient-1.1.29}/src/aient/core/test/test_payload.py +0 -0
  25. {aient-1.1.27 → aient-1.1.29}/src/aient/core/utils.py +0 -0
  26. {aient-1.1.27 → aient-1.1.29}/src/aient/models/__init__.py +0 -0
  27. {aient-1.1.27 → aient-1.1.29}/src/aient/models/audio.py +0 -0
  28. {aient-1.1.27 → aient-1.1.29}/src/aient/models/base.py +0 -0
  29. {aient-1.1.27 → aient-1.1.29}/src/aient/models/claude.py +0 -0
  30. {aient-1.1.27 → aient-1.1.29}/src/aient/models/duckduckgo.py +0 -0
  31. {aient-1.1.27 → aient-1.1.29}/src/aient/models/gemini.py +0 -0
  32. {aient-1.1.27 → aient-1.1.29}/src/aient/models/groq.py +0 -0
  33. {aient-1.1.27 → aient-1.1.29}/src/aient/models/vertex.py +0 -0
  34. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/__init__.py +0 -0
  35. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/arXiv.py +0 -0
  36. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/config.py +0 -0
  37. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/get_time.py +0 -0
  38. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/image.py +0 -0
  39. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/read_file.py +0 -0
  40. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/read_image.py +0 -0
  41. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/readonly.py +0 -0
  42. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/registry.py +0 -0
  43. {aient-1.1.27 → aient-1.1.29}/src/aient/plugins/websearch.py +0 -0
  44. {aient-1.1.27 → aient-1.1.29}/src/aient/prompt/__init__.py +0 -0
  45. {aient-1.1.27 → aient-1.1.29}/src/aient/prompt/agent.py +0 -0
  46. {aient-1.1.27 → aient-1.1.29}/src/aient/utils/__init__.py +0 -0
  47. {aient-1.1.27 → aient-1.1.29}/src/aient/utils/prompt.py +0 -0
  48. {aient-1.1.27 → aient-1.1.29}/src/aient/utils/scripts.py +0 -0
  49. {aient-1.1.27 → aient-1.1.29}/src/aient.egg-info/SOURCES.txt +0 -0
  50. {aient-1.1.27 → aient-1.1.29}/src/aient.egg-info/dependency_links.txt +0 -0
  51. {aient-1.1.27 → aient-1.1.29}/src/aient.egg-info/requires.txt +0 -0
  52. {aient-1.1.27 → aient-1.1.29}/src/aient.egg-info/top_level.txt +0 -0
  53. {aient-1.1.27 → aient-1.1.29}/test/test.py +0 -0
  54. {aient-1.1.27 → aient-1.1.29}/test/test_API.py +0 -0
  55. {aient-1.1.27 → aient-1.1.29}/test/test_Deepbricks.py +0 -0
  56. {aient-1.1.27 → aient-1.1.29}/test/test_Web_crawler.py +0 -0
  57. {aient-1.1.27 → aient-1.1.29}/test/test_aiwaves.py +0 -0
  58. {aient-1.1.27 → aient-1.1.29}/test/test_aiwaves_arxiv.py +0 -0
  59. {aient-1.1.27 → aient-1.1.29}/test/test_ask_gemini.py +0 -0
  60. {aient-1.1.27 → aient-1.1.29}/test/test_class.py +0 -0
  61. {aient-1.1.27 → aient-1.1.29}/test/test_claude.py +0 -0
  62. {aient-1.1.27 → aient-1.1.29}/test/test_claude_zh_char.py +0 -0
  63. {aient-1.1.27 → aient-1.1.29}/test/test_ddg_search.py +0 -0
  64. {aient-1.1.27 → aient-1.1.29}/test/test_download_pdf.py +0 -0
  65. {aient-1.1.27 → aient-1.1.29}/test/test_gemini.py +0 -0
  66. {aient-1.1.27 → aient-1.1.29}/test/test_get_token_dict.py +0 -0
  67. {aient-1.1.27 → aient-1.1.29}/test/test_google_search.py +0 -0
  68. {aient-1.1.27 → aient-1.1.29}/test/test_jieba.py +0 -0
  69. {aient-1.1.27 → aient-1.1.29}/test/test_json.py +0 -0
  70. {aient-1.1.27 → aient-1.1.29}/test/test_logging.py +0 -0
  71. {aient-1.1.27 → aient-1.1.29}/test/test_ollama.py +0 -0
  72. {aient-1.1.27 → aient-1.1.29}/test/test_plugin.py +0 -0
  73. {aient-1.1.27 → aient-1.1.29}/test/test_py_run.py +0 -0
  74. {aient-1.1.27 → aient-1.1.29}/test/test_requests.py +0 -0
  75. {aient-1.1.27 → aient-1.1.29}/test/test_search.py +0 -0
  76. {aient-1.1.27 → aient-1.1.29}/test/test_tikitoken.py +0 -0
  77. {aient-1.1.27 → aient-1.1.29}/test/test_token.py +0 -0
  78. {aient-1.1.27 → aient-1.1.29}/test/test_url.py +0 -0
  79. {aient-1.1.27 → aient-1.1.29}/test/test_whisper.py +0 -0
  80. {aient-1.1.27 → aient-1.1.29}/test/test_wildcard.py +0 -0
  81. {aient-1.1.27 → aient-1.1.29}/test/test_yjh.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.27
3
+ Version: 1.1.29
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
4
4
 
5
5
  setup(
6
6
  name="aient",
7
- version="1.1.27",
7
+ version="1.1.29",
8
8
  description="Aient: The Awakening of Agent.",
9
9
  long_description=Path.open(Path("README.md"), encoding="utf-8").read(),
10
10
  long_description_content_type="text/markdown",
@@ -86,7 +86,7 @@ async def fetch_gemini_response_stream(client, url, headers, payload, model):
86
86
  if is_thinking:
87
87
  sse_string = await generate_sse_response(timestamp, model, reasoning_content=content)
88
88
  yield sse_string
89
- elif not image_base64:
89
+ elif not image_base64 and content:
90
90
  sse_string = await generate_sse_response(timestamp, model, content=content)
91
91
  yield sse_string
92
92
  except json.JSONDecodeError:
@@ -462,6 +462,10 @@ class chatgpt(BaseLLM):
462
462
  print("full_response", full_response)
463
463
  if function_parameter:
464
464
  need_function_call = True
465
+ if isinstance(self.conversation[convo_id][-1]["content"], str) and \
466
+ "<tool_error>" in self.conversation[convo_id][-1]["content"]:
467
+ need_function_call = False
468
+ full_response = "接下来我需要做什么?"
465
469
  else:
466
470
  need_function_call = False
467
471
  if self.print_log:
@@ -178,18 +178,21 @@ def excute_command(command):
178
178
  # print(f"output_lines: {len(new_output_lines)}")
179
179
 
180
180
  if process.returncode == 0:
181
- return f"执行命令成功:\n{final_output_log}"
181
+ if final_output_log.strip() == "":
182
+ return f"执行命令成功"
183
+ else:
184
+ return f"执行命令成功:\n{final_output_log.strip()}"
182
185
  else:
183
186
  # 如果是 PTY 模式,stderr 已经包含在 final_output_log 中
184
187
  if IS_UNIX:
185
- return f"执行命令失败 (退出码 {process.returncode}):\n输出/错误:\n{final_output_log}"
188
+ return f"<tool_error>执行命令失败 (退出码 {process.returncode}):\n输出/错误:\n{final_output_log}</tool_error>"
186
189
  else:
187
- return f"执行命令失败 (退出码 {process.returncode}):\n错误: {stderr_output}\n输出: {final_output_log}"
190
+ return f"<tool_error>执行命令失败 (退出码 {process.returncode}):\n错误: {stderr_output}\n输出: {final_output_log}</tool_error>"
188
191
 
189
192
  except FileNotFoundError:
190
- return f"执行命令失败: 命令或程序未找到 ({command})"
193
+ return f"<tool_error>执行命令失败: 命令或程序未找到 ({command})</tool_error>"
191
194
  except Exception as e:
192
- return f"执行命令时发生异常: {e}"
195
+ return f"<tool_error>执行命令时发生异常: {e}</tool_error>"
193
196
 
194
197
  if __name__ == "__main__":
195
198
  # print(excute_command("ls -l && echo 'Hello, World!'"))
@@ -43,8 +43,8 @@ def list_directory(path="."):
43
43
  return result
44
44
 
45
45
  except FileNotFoundError:
46
- return f"错误: 路径 '{path}' 不存在"
46
+ return f"<tool_error>路径 '{path}' 不存在</tool_error>"
47
47
  except PermissionError:
48
- return f"错误: 没有权限访问路径 '{path}'"
48
+ return f"<tool_error>没有权限访问路径 '{path}'</tool_error>"
49
49
  except Exception as e:
50
- return f"列出目录时发生错误: {e}"
50
+ return f"<tool_error>列出目录时发生错误: {e}</tool_error>"
@@ -129,7 +129,7 @@ if _result is not None:
129
129
 
130
130
  except Exception as e:
131
131
  logging.error(f"Error executing code: {str(e)}")
132
- return f"Error: {str(e)}"
132
+ return f"<tool_error>Error: {str(e)}</tool_error>"
133
133
 
134
134
  finally:
135
135
  try:
@@ -53,7 +53,7 @@ Example: Requesting to write to frontend-config.json
53
53
  with open(path, mode, encoding='utf-8') as file:
54
54
  file.write(unescape_html(content))
55
55
  except PermissionError as e:
56
- return f"写入文件失败: {e}"
56
+ return f"<tool_error>写入文件失败: {e}</tool_error>"
57
57
 
58
58
  return f"已成功写入文件:{path}"
59
59
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aient
3
- Version: 1.1.27
3
+ Version: 1.1.29
4
4
  Summary: Aient: The Awakening of Agent.
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes