beswarm 0.2.16__tar.gz → 0.2.17__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 (147) hide show
  1. {beswarm-0.2.16 → beswarm-0.2.17}/PKG-INFO +1 -1
  2. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/worker.py +18 -22
  3. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm.egg-info/PKG-INFO +1 -1
  4. {beswarm-0.2.16 → beswarm-0.2.17}/pyproject.toml +1 -1
  5. {beswarm-0.2.16 → beswarm-0.2.17}/MANIFEST.in +0 -0
  6. {beswarm-0.2.16 → beswarm-0.2.17}/README.md +0 -0
  7. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/__init__.py +0 -0
  8. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/main.py +0 -0
  9. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/setup.py +0 -0
  10. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/__init__.py +0 -0
  11. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/__init__.py +0 -0
  12. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/log_config.py +0 -0
  13. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/models.py +0 -0
  14. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/request.py +0 -0
  15. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/response.py +0 -0
  16. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/test/test_base_api.py +0 -0
  17. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/test/test_geminimask.py +0 -0
  18. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/test/test_image.py +0 -0
  19. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/test/test_payload.py +0 -0
  20. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/core/utils.py +0 -0
  21. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/__init__.py +0 -0
  22. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/audio.py +0 -0
  23. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/base.py +0 -0
  24. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/chatgpt.py +0 -0
  25. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/claude.py +0 -0
  26. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/duckduckgo.py +0 -0
  27. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/gemini.py +0 -0
  28. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/groq.py +0 -0
  29. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/models/vertex.py +0 -0
  30. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/__init__.py +0 -0
  31. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/arXiv.py +0 -0
  32. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/config.py +0 -0
  33. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/excute_command.py +0 -0
  34. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/get_time.py +0 -0
  35. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/image.py +0 -0
  36. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/list_directory.py +0 -0
  37. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/read_file.py +0 -0
  38. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/read_image.py +0 -0
  39. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/readonly.py +0 -0
  40. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/registry.py +0 -0
  41. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/run_python.py +0 -0
  42. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/websearch.py +0 -0
  43. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/plugins/write_file.py +0 -0
  44. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/utils/__init__.py +0 -0
  45. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/utils/prompt.py +0 -0
  46. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/src/aient/utils/scripts.py +0 -0
  47. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/chatgpt.py +0 -0
  48. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/claude.py +0 -0
  49. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test.py +0 -0
  50. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_API.py +0 -0
  51. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_Deepbricks.py +0 -0
  52. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_Web_crawler.py +0 -0
  53. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_aiwaves.py +0 -0
  54. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_aiwaves_arxiv.py +0 -0
  55. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_ask_gemini.py +0 -0
  56. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_class.py +0 -0
  57. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_claude.py +0 -0
  58. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_claude_zh_char.py +0 -0
  59. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_ddg_search.py +0 -0
  60. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_download_pdf.py +0 -0
  61. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_gemini.py +0 -0
  62. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_get_token_dict.py +0 -0
  63. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_google_search.py +0 -0
  64. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_jieba.py +0 -0
  65. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_json.py +0 -0
  66. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_logging.py +0 -0
  67. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_ollama.py +0 -0
  68. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_plugin.py +0 -0
  69. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_py_run.py +0 -0
  70. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_requests.py +0 -0
  71. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_search.py +0 -0
  72. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_tikitoken.py +0 -0
  73. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_token.py +0 -0
  74. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_url.py +0 -0
  75. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_whisper.py +0 -0
  76. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_wildcard.py +0 -0
  77. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/aient/test/test_yjh.py +0 -0
  78. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/bemcp/bemcp/__init__.py +0 -0
  79. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/bemcp/bemcp/decorator.py +0 -0
  80. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/bemcp/bemcp/main.py +0 -0
  81. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/bemcp/bemcp/utils.py +0 -0
  82. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/bemcp/test/client.py +0 -0
  83. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/bemcp/test/server.py +0 -0
  84. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/prompt.py +0 -0
  85. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/README.md +0 -0
  86. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/arduino-tags.scm +0 -0
  87. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/c-tags.scm +0 -0
  88. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/chatito-tags.scm +0 -0
  89. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/commonlisp-tags.scm +0 -0
  90. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/cpp-tags.scm +0 -0
  91. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/csharp-tags.scm +0 -0
  92. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/d-tags.scm +0 -0
  93. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/dart-tags.scm +0 -0
  94. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/elisp-tags.scm +0 -0
  95. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/elixir-tags.scm +0 -0
  96. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/elm-tags.scm +0 -0
  97. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/gleam-tags.scm +0 -0
  98. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/go-tags.scm +0 -0
  99. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/java-tags.scm +0 -0
  100. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/javascript-tags.scm +0 -0
  101. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/lua-tags.scm +0 -0
  102. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/pony-tags.scm +0 -0
  103. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/properties-tags.scm +0 -0
  104. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/python-tags.scm +0 -0
  105. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/r-tags.scm +0 -0
  106. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/racket-tags.scm +0 -0
  107. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/ruby-tags.scm +0 -0
  108. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/rust-tags.scm +0 -0
  109. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/solidity-tags.scm +0 -0
  110. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/swift-tags.scm +0 -0
  111. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-language-pack/udev-tags.scm +0 -0
  112. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/README.md +0 -0
  113. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/c-tags.scm +0 -0
  114. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/c_sharp-tags.scm +0 -0
  115. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/cpp-tags.scm +0 -0
  116. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/dart-tags.scm +0 -0
  117. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/elisp-tags.scm +0 -0
  118. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/elixir-tags.scm +0 -0
  119. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/elm-tags.scm +0 -0
  120. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/go-tags.scm +0 -0
  121. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/hcl-tags.scm +0 -0
  122. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/java-tags.scm +0 -0
  123. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/javascript-tags.scm +0 -0
  124. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/kotlin-tags.scm +0 -0
  125. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/ocaml-tags.scm +0 -0
  126. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/php-tags.scm +0 -0
  127. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/python-tags.scm +0 -0
  128. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/ql-tags.scm +0 -0
  129. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/ruby-tags.scm +0 -0
  130. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/rust-tags.scm +0 -0
  131. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/scala-tags.scm +0 -0
  132. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/queries/tree-sitter-languages/typescript-tags.scm +0 -0
  133. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/__init__.py +0 -0
  134. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/click.py +0 -0
  135. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/edit_file.py +0 -0
  136. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/planner.py +0 -0
  137. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/repomap.py +0 -0
  138. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/request_input.py +0 -0
  139. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/screenshot.py +0 -0
  140. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/search_arxiv.py +0 -0
  141. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/tools/search_web.py +0 -0
  142. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm/utils.py +0 -0
  143. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm.egg-info/SOURCES.txt +0 -0
  144. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm.egg-info/dependency_links.txt +0 -0
  145. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm.egg-info/requires.txt +0 -0
  146. {beswarm-0.2.16 → beswarm-0.2.17}/beswarm.egg-info/top_level.txt +0 -0
  147. {beswarm-0.2.16 → beswarm-0.2.17}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beswarm
3
- Version: 0.2.16
3
+ Version: 0.2.17
4
4
  Summary: MAS
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -46,9 +46,15 @@ async def worker(goal, tools, work_dir, cache_messages=None):
46
46
  Returns:
47
47
  str: 当任务成功完成时,返回字符串 "任务已完成"。
48
48
  """
49
+ cache_dir = Path(work_dir) / ".beswarm"
50
+ cache_dir.mkdir(exist_ok=True)
51
+ cache_file = cache_dir / "work_agent_conversation_history.json"
52
+ if not cache_file.exists():
53
+ cache_file.write_text("[]", encoding="utf-8")
54
+
49
55
  DEBUG = os.getenv("DEBUG", "false").lower() in ("true", "1", "t", "yes")
50
56
  if DEBUG:
51
- log_file = open(Path(work_dir) / ".beswarm" / "history.log", "a", encoding="utf-8")
57
+ log_file = open(cache_dir / "history.log", "a", encoding="utf-8")
52
58
  log_file.write(f"========== {datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ==========\n")
53
59
  original_stdout = sys.stdout
54
60
  original_stderr = sys.stderr
@@ -94,11 +100,7 @@ async def worker(goal, tools, work_dir, cache_messages=None):
94
100
  }
95
101
  if cache_messages:
96
102
  if isinstance(cache_messages, bool) and cache_messages == True:
97
- cache_messages = None
98
- cache_file_path = Path(work_dir) / ".beswarm" / "work_agent_conversation_history.json"
99
- if cache_file_path.exists():
100
- with cache_file_path.open("r", encoding="utf-8") as f:
101
- cache_messages = json.load(f)
103
+ cache_messages = json.loads(cache_file.read_text(encoding="utf-8"))
102
104
  if cache_messages and isinstance(cache_messages, list) and len(cache_messages) > 1:
103
105
  old_goal = extract_xml_content(cache_messages[1]["content"], "goal")
104
106
  if old_goal.strip() != goal.strip():
@@ -144,11 +146,7 @@ async def worker(goal, tools, work_dir, cache_messages=None):
144
146
  instruction_agent = chatgpt(**instruction_agent_config)
145
147
  conversation_history = copy.deepcopy(work_agent.conversation["default"])
146
148
 
147
- cache_dir = os.path.join(work_dir, ".beswarm")
148
- os.makedirs(cache_dir, exist_ok=True)
149
- cache_file = os.path.join(cache_dir, "work_agent_conversation_history.json")
150
- with open(cache_file, "w", encoding="utf-8") as f:
151
- f.write(json.dumps(conversation_history, ensure_ascii=False, indent=4))
149
+ cache_file.write_text(json.dumps(conversation_history, ensure_ascii=False, indent=4), encoding="utf-8")
152
150
 
153
151
  work_agent_system_prompt = conversation_history.pop(0)
154
152
  if conversation_history:
@@ -248,9 +246,15 @@ async def worker(goal, tools, work_dir, cache_messages=None):
248
246
  return "任务已完成"
249
247
 
250
248
  async def worker_gen(goal, tools, work_dir, cache_messages=None):
249
+ cache_dir = Path(work_dir) / ".beswarm"
250
+ cache_dir.mkdir(exist_ok=True)
251
+ cache_file = cache_dir / "work_agent_conversation_history.json"
252
+ if not cache_file.exists():
253
+ cache_file.write_text("[]", encoding="utf-8")
254
+
251
255
  DEBUG = os.getenv("DEBUG", "false").lower() in ("true", "1", "t", "yes")
252
256
  if DEBUG:
253
- log_file = open(Path(work_dir) / ".beswarm" / "history.log", "a", encoding="utf-8")
257
+ log_file = open(cache_dir / "history.log", "a", encoding="utf-8")
254
258
  log_file.write(f"========== {datetime.now().strftime('%Y-%m-%d %H:%M:%S')} ==========\n")
255
259
  original_stdout = sys.stdout
256
260
  original_stderr = sys.stderr
@@ -296,11 +300,7 @@ async def worker_gen(goal, tools, work_dir, cache_messages=None):
296
300
  }
297
301
  if cache_messages:
298
302
  if isinstance(cache_messages, bool) and cache_messages == True:
299
- cache_messages = None
300
- cache_file_path = Path(work_dir) / ".beswarm" / "work_agent_conversation_history.json"
301
- if cache_file_path.exists():
302
- with cache_file_path.open("r", encoding="utf-8") as f:
303
- cache_messages = json.load(f)
303
+ cache_messages = json.loads(cache_file.read_text(encoding="utf-8"))
304
304
  if cache_messages and isinstance(cache_messages, list) and len(cache_messages) > 1:
305
305
  old_goal = extract_xml_content(cache_messages[1]["content"], "goal")
306
306
  if old_goal.strip() != goal.strip():
@@ -346,11 +346,7 @@ async def worker_gen(goal, tools, work_dir, cache_messages=None):
346
346
  instruction_agent = chatgpt(**instruction_agent_config)
347
347
  conversation_history = copy.deepcopy(work_agent.conversation["default"])
348
348
 
349
- cache_dir = os.path.join(work_dir, ".beswarm")
350
- os.makedirs(cache_dir, exist_ok=True)
351
- cache_file = os.path.join(cache_dir, "work_agent_conversation_history.json")
352
- with open(cache_file, "w", encoding="utf-8") as f:
353
- f.write(json.dumps(conversation_history, ensure_ascii=False, indent=4))
349
+ cache_file.write_text(json.dumps(conversation_history, ensure_ascii=False, indent=4), encoding="utf-8")
354
350
 
355
351
  work_agent_system_prompt = conversation_history.pop(0)
356
352
  if conversation_history:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beswarm
3
- Version: 0.2.16
3
+ Version: 0.2.17
4
4
  Summary: MAS
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "beswarm"
3
- version = "0.2.16"
3
+ version = "0.2.17"
4
4
  description = "MAS"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes