beswarm 0.2.50__py3-none-any.whl → 0.2.51__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 beswarm might be problematic. Click here for more details.

Files changed (86) hide show
  1. beswarm/agents/chatgroup.py +2 -2
  2. beswarm/agents/planact.py +2 -2
  3. beswarm/aient/{src/aient → aient}/core/response.py +2 -0
  4. beswarm/aient/aient/models/__init__.py +2 -0
  5. beswarm/aient/{src/aient → aient}/plugins/excute_command.py +1 -1
  6. beswarm/aient/{src/aient → aient}/plugins/read_file.py +1 -1
  7. beswarm/aient/{src/aient → aient}/plugins/websearch.py +1 -1
  8. beswarm/aient/{src/aient → aient}/plugins/write_file.py +1 -1
  9. beswarm/aient/{src/aient → aient}/utils/scripts.py +1 -1
  10. beswarm/aient/main.py +8 -43
  11. beswarm/knowledge_graph.py +47 -2
  12. beswarm/taskmanager.py +1 -1
  13. beswarm/tools/__init__.py +1 -1
  14. beswarm/tools/click.py +3 -3
  15. beswarm/tools/completion.py +1 -1
  16. beswarm/tools/edit_file.py +2 -2
  17. beswarm/tools/graph.py +1 -1
  18. beswarm/tools/planner.py +3 -3
  19. beswarm/tools/repomap.py +1 -1
  20. beswarm/tools/request_input.py +1 -1
  21. beswarm/tools/screenshot.py +1 -1
  22. beswarm/tools/search_arxiv.py +1 -1
  23. beswarm/tools/search_web.py +1 -1
  24. beswarm/tools/subtasks.py +1 -1
  25. beswarm/tools/worker.py +1 -1
  26. beswarm/tools/write_csv.py +1 -1
  27. beswarm/utils.py +1 -1
  28. {beswarm-0.2.50.dist-info → beswarm-0.2.51.dist-info}/METADATA +1 -1
  29. beswarm-0.2.51.dist-info/RECORD +123 -0
  30. beswarm/aient/setup.py +0 -15
  31. beswarm/aient/src/aient/models/__init__.py +0 -9
  32. beswarm/aient/src/aient/models/claude.py +0 -573
  33. beswarm/aient/src/aient/models/duckduckgo.py +0 -241
  34. beswarm/aient/src/aient/models/gemini.py +0 -357
  35. beswarm/aient/src/aient/models/groq.py +0 -234
  36. beswarm/aient/src/aient/models/vertex.py +0 -420
  37. beswarm/aient/test/chatgpt.py +0 -161
  38. beswarm/aient/test/claude.py +0 -32
  39. beswarm/aient/test/test.py +0 -2
  40. beswarm/aient/test/test_API.py +0 -6
  41. beswarm/aient/test/test_Deepbricks.py +0 -20
  42. beswarm/aient/test/test_aiwaves.py +0 -25
  43. beswarm/aient/test/test_aiwaves_arxiv.py +0 -19
  44. beswarm/aient/test/test_ask_gemini.py +0 -8
  45. beswarm/aient/test/test_class.py +0 -17
  46. beswarm/aient/test/test_claude.py +0 -23
  47. beswarm/aient/test/test_claude_zh_char.py +0 -26
  48. beswarm/aient/test/test_download_pdf.py +0 -56
  49. beswarm/aient/test/test_gemini.py +0 -97
  50. beswarm/aient/test/test_get_token_dict.py +0 -21
  51. beswarm/aient/test/test_jieba.py +0 -32
  52. beswarm/aient/test/test_json.py +0 -65
  53. beswarm/aient/test/test_logging.py +0 -32
  54. beswarm/aient/test/test_py_run.py +0 -26
  55. beswarm/aient/test/test_requests.py +0 -162
  56. beswarm/aient/test/test_tikitoken.py +0 -19
  57. beswarm/aient/test/test_token.py +0 -94
  58. beswarm/aient/test/test_wildcard.py +0 -20
  59. beswarm-0.2.50.dist-info/RECORD +0 -151
  60. /beswarm/aient/{src/aient → aient}/__init__.py +0 -0
  61. /beswarm/aient/{src/aient → aient}/core/__init__.py +0 -0
  62. /beswarm/aient/{src/aient → aient}/core/log_config.py +0 -0
  63. /beswarm/aient/{src/aient → aient}/core/models.py +0 -0
  64. /beswarm/aient/{src/aient → aient}/core/request.py +0 -0
  65. /beswarm/aient/{src/aient → aient}/core/test/test_base_api.py +0 -0
  66. /beswarm/aient/{src/aient → aient}/core/test/test_geminimask.py +0 -0
  67. /beswarm/aient/{src/aient → aient}/core/test/test_image.py +0 -0
  68. /beswarm/aient/{src/aient → aient}/core/test/test_payload.py +0 -0
  69. /beswarm/aient/{src/aient → aient}/core/utils.py +0 -0
  70. /beswarm/aient/{src/aient → aient}/models/audio.py +0 -0
  71. /beswarm/aient/{src/aient → aient}/models/base.py +0 -0
  72. /beswarm/aient/{src/aient → aient}/models/chatgpt.py +0 -0
  73. /beswarm/aient/{src/aient → aient}/plugins/__init__.py +0 -0
  74. /beswarm/aient/{src/aient → aient}/plugins/arXiv.py +0 -0
  75. /beswarm/aient/{src/aient → aient}/plugins/config.py +0 -0
  76. /beswarm/aient/{src/aient → aient}/plugins/get_time.py +0 -0
  77. /beswarm/aient/{src/aient → aient}/plugins/image.py +0 -0
  78. /beswarm/aient/{src/aient → aient}/plugins/list_directory.py +0 -0
  79. /beswarm/aient/{src/aient → aient}/plugins/read_image.py +0 -0
  80. /beswarm/aient/{src/aient → aient}/plugins/readonly.py +0 -0
  81. /beswarm/aient/{src/aient → aient}/plugins/registry.py +0 -0
  82. /beswarm/aient/{src/aient → aient}/plugins/run_python.py +0 -0
  83. /beswarm/aient/{src/aient → aient}/utils/__init__.py +0 -0
  84. /beswarm/aient/{src/aient → aient}/utils/prompt.py +0 -0
  85. {beswarm-0.2.50.dist-info → beswarm-0.2.51.dist-info}/WHEEL +0 -0
  86. {beswarm-0.2.50.dist-info → beswarm-0.2.51.dist-info}/top_level.txt +0 -0
@@ -1,26 +0,0 @@
1
- def run_python_script(script):
2
- # 创建一个字典来存储脚本执行的本地变量
3
- local_vars = {}
4
-
5
- try:
6
- # 执行脚本字符串
7
- exec(script, {}, local_vars)
8
- return local_vars
9
- except Exception as e:
10
- return str(e)
11
-
12
- # 示例用法
13
- script = "# \u8ba1\u7b97\u524d100\u4e2a\u6590\u6ce2\u7eb3\u5207\u6570\u5217\u7684\u548c\n\ndef fibonacci_sum(n):\n a, b = 0, 1\n sum = 0\n for _ in range(n):\n sum += a\n a, b = b, a + b\n return sum\n\nfibonacci_sum(100)"
14
- print(script)
15
- output = run_python_script(script)
16
- print(output)
17
- # 下面是要运行的程序,怎么修改上面的代码,可以捕获fibonacci_sum的输出
18
- def fibonacci_sum(n):
19
- a, b = 0, 1
20
- sum = 0
21
- for _ in range(n):
22
- sum += a
23
- a, b = b, a + b
24
- return sum
25
-
26
- print(fibonacci_sum(100))
@@ -1,162 +0,0 @@
1
- import json
2
- import requests
3
-
4
- class APIClient:
5
- def __init__(self, api_url, api_key, timeout=30):
6
- self.api_url = api_url
7
- self.api_key = api_key
8
- self.timeout = timeout
9
- self.session = requests.Session()
10
-
11
- def post_request(self, json_post, **kwargs):
12
- for _ in range(2):
13
- self.print_json(json_post)
14
- try:
15
- response = self.send_post_request(json_post, **kwargs)
16
- except (ConnectionError, requests.exceptions.ReadTimeout, Exception) as e:
17
- self.handle_exception(e)
18
- return
19
- if response.status_code == 400:
20
- self.handle_bad_request(response, json_post)
21
- continue
22
- if response.status_code == 200:
23
- break
24
- if response.status_code != 200:
25
- raise Exception(f"{response.status_code} {response.reason} {response.text}")
26
-
27
- def print_json(self, json_post):
28
- print(json.dumps(json_post, indent=4, ensure_ascii=False))
29
-
30
- def send_post_request(self, json_post, **kwargs):
31
- return self.session.post(
32
- self.api_url.chat_url,
33
- headers={"Authorization": f"Bearer {kwargs.get('api_key', self.api_key)}"},
34
- json=json_post,
35
- timeout=kwargs.get("timeout", self.timeout),
36
- stream=True,
37
- )
38
-
39
- def handle_exception(self, e):
40
- if isinstance(e, ConnectionError):
41
- print("连接错误,请检查服务器状态或网络连接。")
42
- elif isinstance(e, requests.exceptions.ReadTimeout):
43
- print("请求超时,请检查网络连接或增加超时时间。")
44
- else:
45
- print(f"发生了未预料的错误: {e}")
46
-
47
- def handle_bad_request(self, response, json_post):
48
- print("response.text", response.text)
49
- if "invalid_request_error" in response.text:
50
- self.fix_invalid_request_error(json_post)
51
- else:
52
- self.remove_unnecessary_fields(json_post)
53
-
54
- def fix_invalid_request_error(self, json_post):
55
- for index, mess in enumerate(json_post["messages"]):
56
- if isinstance(mess["content"], list):
57
- json_post["messages"][index] = {
58
- "role": mess["role"],
59
- "content": mess["content"][0]["text"]
60
- }
61
-
62
- def remove_unnecessary_fields(self, json_post):
63
- if "function_call" in json_post:
64
- del json_post["function_call"]
65
- if "functions" in json_post:
66
- del json_post["functions"]
67
-
68
- # Usage
69
- api_client = APIClient(api_url="https://api.example.com", api_key="your_api_key")
70
- json_post = {
71
- "messages": [
72
- {"role": "user", "content": "Hello"}
73
- ]
74
- }
75
- api_client.post_request(json_post)
76
-
77
-
78
-
79
- import json
80
-
81
- def process_line(line):
82
- """处理每一行数据."""
83
- if not line or line.startswith(':'):
84
- return None
85
- if line.startswith('data:'):
86
- return line[6:]
87
- return line
88
-
89
- def parse_response(line):
90
- """解析响应行."""
91
- try:
92
- return json.loads(line)
93
- except json.JSONDecodeError:
94
- return None
95
-
96
- def handle_usage(usage):
97
- """处理使用情况."""
98
- total_tokens = usage.get("total_tokens", 0)
99
- print("\n\rtotal_tokens", total_tokens)
100
-
101
- def handle_choices(choices, full_response, response_role, need_function_call, function_full_response):
102
- """处理响应中的选择."""
103
- delta = choices[0].get("delta")
104
- if not delta:
105
- return full_response, response_role, need_function_call, function_full_response
106
-
107
- if "role" in delta and response_role is None:
108
- response_role = delta["role"]
109
- if "content" in delta and delta["content"]:
110
- need_function_call = False
111
- content = delta["content"]
112
- full_response += content
113
- yield content
114
- if "function_call" in delta:
115
- need_function_call = True
116
- function_call_content = delta["function_call"]["arguments"]
117
- if "name" in delta["function_call"]:
118
- function_call_name = delta["function_call"]["name"]
119
- function_full_response += function_call_content
120
- if function_full_response.count("\\n") > 2 or "}" in function_full_response:
121
- return full_response, response_role, need_function_call, function_full_response
122
-
123
- return full_response, response_role, need_function_call, function_full_response
124
-
125
- def read_http_stream(response):
126
- """读取 HTTP 流并处理数据."""
127
- full_response = ""
128
- function_full_response = ""
129
- response_role = None
130
- need_function_call = False
131
-
132
- for line in response.iter_lines():
133
- line = line.decode("utf-8")
134
- processed_line = process_line(line)
135
- if processed_line is None:
136
- continue
137
-
138
- if processed_line == "[DONE]":
139
- break
140
-
141
- resp = parse_response(processed_line)
142
- if resp is None:
143
- continue
144
-
145
- usage = resp.get("usage")
146
- if usage:
147
- handle_usage(usage)
148
-
149
- choices = resp.get("choices")
150
- if not choices:
151
- continue
152
-
153
- result = handle_choices(choices, full_response, response_role, need_function_call, function_full_response)
154
- if isinstance(result, tuple):
155
- full_response, response_role, need_function_call, function_full_response = result
156
- else:
157
- yield result
158
-
159
- # 使用示例
160
- # response = requests.get("your_streaming_api_url", stream=True)
161
- # for content in read_http_stream(response):
162
- # print(content)
@@ -1,19 +0,0 @@
1
- import tiktoken
2
- tiktoken.get_encoding("cl100k_base")
3
- tiktoken.model.MODEL_TO_ENCODING["claude-2.1"] = "cl100k_base"
4
- tiktoken.get_encoding("cl100k_base")
5
- encoding = tiktoken.encoding_for_model("gpt-3.5-turbo-16k")
6
- # encoding = tiktoken.encoding_for_model("claude-2.1")
7
- encode_web_text_list = []
8
- if encode_web_text_list == []:
9
- encode_web_text_list = encoding.encode("Hello, my dog is cute")
10
- print("len", len(encode_web_text_list))
11
- function_response = encoding.decode(encode_web_text_list[:2])
12
- print(function_response)
13
- encode_web_text_list = encode_web_text_list[2:]
14
- print(encode_web_text_list)
15
- encode_web_text_list = [856, 5679, 374, 19369]
16
- tiktoken.get_encoding("cl100k_base")
17
- encoding1 = tiktoken.encoding_for_model("gpt-3.5-turbo-16k")
18
- function_response = encoding1.decode(encode_web_text_list[:2])
19
- print(function_response)
@@ -1,94 +0,0 @@
1
- import os
2
- import sys
3
- sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
4
- import tiktoken
5
- from utils.function_call import function_call_list
6
- import config
7
- import requests
8
- import json
9
- import re
10
-
11
- from dotenv import load_dotenv
12
- load_dotenv()
13
-
14
- def get_token_count(messages) -> int:
15
- tiktoken.get_encoding("cl100k_base")
16
- encoding = tiktoken.encoding_for_model("gpt-3.5-turbo")
17
-
18
- num_tokens = 0
19
- for message in messages:
20
- # every message follows <im_start>{role/name}\n{content}<im_end>\n
21
- num_tokens += 5
22
- for key, value in message.items():
23
- if value:
24
- num_tokens += len(encoding.encode(value))
25
- if key == "name": # if there's a name, the role is omitted
26
- num_tokens += 5 # role is always required and always 1 token
27
- num_tokens += 5 # every reply is primed with <im_start>assistant
28
- return num_tokens
29
- # print(get_token_count(message_list))
30
-
31
-
32
-
33
- def get_message_token(url, json_post):
34
- headers = {"Authorization": f"Bearer {os.environ.get('API', None)}"}
35
- response = requests.Session().post(
36
- url,
37
- headers=headers,
38
- json=json_post,
39
- timeout=None,
40
- )
41
- if response.status_code != 200:
42
- json_response = json.loads(response.text)
43
- string = json_response["error"]["message"]
44
- print(string)
45
- string = re.findall(r"\((.*?)\)", string)[0]
46
- numbers = re.findall(r"\d+\.?\d*", string)
47
- numbers = [int(i) for i in numbers]
48
- if len(numbers) == 2:
49
- return {
50
- "messages": numbers[0],
51
- "total": numbers[0],
52
- }
53
- elif len(numbers) == 3:
54
- return {
55
- "messages": numbers[0],
56
- "functions": numbers[1],
57
- "total": numbers[0] + numbers[1],
58
- }
59
- else:
60
- raise Exception("Unknown error")
61
-
62
-
63
- if __name__ == "__main__":
64
- # message_list = [{'role': 'system', 'content': 'You are ChatGPT, a large language model trained by OpenAI. Respond conversationally in Simplified Chinese. Knowledge cutoff: 2021-09. Current date: [ 2023-12-12 ]'}, {'role': 'user', 'content': 'hi'}]
65
- messages = [{'role': 'system', 'content': 'You are ChatGPT, a large language model trained by OpenAI. Respond conversationally in Simplified Chinese. Knowledge cutoff: 2021-09. Current date: [ 2023-12-12 ]'}, {'role': 'user', 'content': 'hi'}, {'role': 'assistant', 'content': '你好!有什么我可以帮助你的吗?'}]
66
-
67
- model = "gpt-3.5-turbo"
68
- temperature = 0.5
69
- top_p = 0.7
70
- presence_penalty = 0.0
71
- frequency_penalty = 0.0
72
- reply_count = 1
73
- role = "user"
74
- model_max_tokens = 5000
75
- url = config.bot_api_url.chat_url
76
-
77
- json_post = {
78
- "model": model,
79
- "messages": messages,
80
- "stream": True,
81
- "temperature": temperature,
82
- "top_p": top_p,
83
- "presence_penalty": presence_penalty,
84
- "frequency_penalty": frequency_penalty,
85
- "n": reply_count,
86
- "user": role,
87
- "max_tokens": model_max_tokens,
88
- }
89
- # json_post.update(function_call_list["base"])
90
- # if config.PLUGINS["SEARCH_USE_GPT"]:
91
- # json_post["functions"].append(function_call_list["SEARCH_USE_GPT"])
92
- # json_post["functions"].append(function_call_list["URL"])
93
- # print(get_token_count(message_list))
94
- print(get_message_token(url, json_post))
@@ -1,20 +0,0 @@
1
- import os
2
- from datetime import datetime
3
-
4
- from aient.models import chatgpt
5
- from aient.utils import prompt
6
-
7
- API = os.environ.get('API', None)
8
- API_URL = os.environ.get('API_URL', None)
9
- GPT_ENGINE = os.environ.get('GPT_ENGINE', 'gpt-4o')
10
- LANGUAGE = os.environ.get('LANGUAGE', 'Simplified Chinese')
11
-
12
- current_date = datetime.now()
13
- Current_Date = current_date.strftime("%Y-%m-%d")
14
-
15
- systemprompt = os.environ.get('SYSTEMPROMPT', prompt.system_prompt.format(LANGUAGE, Current_Date))
16
-
17
- bot = chatgpt(api_key=API, api_url=API_URL, engine=GPT_ENGINE, system_prompt=systemprompt)
18
- # for text in bot.ask_stream("你好"):
19
- for text in bot.ask_stream("arXiv:2311.17132 讲了什么?"):
20
- print(text, end="")
@@ -1,151 +0,0 @@
1
- beswarm/__init__.py,sha256=HZjUOJtZR5QhMuDbq-wukQQn1VrBusNWai_ysGo-VVI,20
2
- beswarm/broker.py,sha256=64Y-djrKYaZfBQ8obwHOmr921QgZeu9BtScZWaYLfDo,9887
3
- beswarm/core.py,sha256=htssaaeIBZ_yOqvX9VtANoVWaZHt_7oWcxyDI1z0paQ,310
4
- beswarm/knowledge_graph.py,sha256=PY3gVHuIT7zEp9qhIw9uDYz6koRUPa0RYd2REOwWjRc,13084
5
- beswarm/prompt.py,sha256=n0a1a6NThIxAYSkisg1sEKjvz2w0tozpKL4BIplaAkI,32286
6
- beswarm/taskmanager.py,sha256=xczsnehCaOAI3SRE8wUxhzmt6i6G7ynndSWS_bAZn3k,12192
7
- beswarm/utils.py,sha256=S9jEtht0hTZbjZ2Hk24p4Ip41R69BogOkYS6fgPKY2Y,8219
8
- beswarm/agents/chatgroup.py,sha256=YHofra9kE0x7UrhqZjlP7PbWvinEew1BkjJ0XilzudM,12020
9
- beswarm/agents/planact.py,sha256=-JPN8L1JgVjy4G36eUHZHyLiBrN5oI8fLTbpweZsUuU,19568
10
- beswarm/aient/main.py,sha256=SiYAIgQlLJqYusnTVEJOx1WNkSJKMImhgn5aWjfroxg,3814
11
- beswarm/aient/setup.py,sha256=Mq1M05mT9_UYBK2jk5mP_sLxKQAolcuh8PYXexfj-XU,487
12
- beswarm/aient/src/aient/__init__.py,sha256=SRfF7oDVlOOAi6nGKiJIUK6B_arqYLO9iSMp-2IZZps,21
13
- beswarm/aient/src/aient/core/__init__.py,sha256=NxjebTlku35S4Dzr16rdSqSTWUvvwEeACe8KvHJnjPg,34
14
- beswarm/aient/src/aient/core/log_config.py,sha256=kz2_yJv1p-o3lUQOwA3qh-LSc3wMHv13iCQclw44W9c,274
15
- beswarm/aient/src/aient/core/models.py,sha256=d4MISNezTSe0ls0-fjuToI2SoT-sk5fWqAJuKVinIlo,7502
16
- beswarm/aient/src/aient/core/request.py,sha256=M1AfroPgFDG7oTLE2gisvR4BdkUeWqoTwfpxl_nxYB8,76923
17
- beswarm/aient/src/aient/core/response.py,sha256=ekcMXxllCyrN9LDEdPttXrLvfcAY2sBqlkJBXxH7H6I,33667
18
- beswarm/aient/src/aient/core/utils.py,sha256=8TR442o3VV7Kl9l6f6LlmOUQ1UDZ-aXMzQqm-qIrqE4,28166
19
- beswarm/aient/src/aient/core/test/test_base_api.py,sha256=pWnycRJbuPSXKKU9AQjWrMAX1wiLC_014Qc9hh5C2Pw,524
20
- beswarm/aient/src/aient/core/test/test_geminimask.py,sha256=HFX8jDbNg_FjjgPNxfYaR-0-roUrOO-ND-FVsuxSoiw,13254
21
- beswarm/aient/src/aient/core/test/test_image.py,sha256=_T4peNGdXKBHHxyQNx12u-NTyFE8TlYI6NvvagsG2LE,319
22
- beswarm/aient/src/aient/core/test/test_payload.py,sha256=8jBiJY1uidm1jzL-EiK0s6UGmW9XkdsuuKFGrwFhFkw,2755
23
- beswarm/aient/src/aient/models/__init__.py,sha256=ouNDNvoBBpIFrLsk09Q_sq23HR0GbLAKfGLIFmfEuXE,219
24
- beswarm/aient/src/aient/models/audio.py,sha256=kRd-8-WXzv4vwvsTGwnstK-WR8--vr9CdfCZzu8y9LA,1934
25
- beswarm/aient/src/aient/models/base.py,sha256=z-Z0pJfTN2x0cuwfvu0BdMRY9O-RmLwHEnBIJN1x4Fg,6719
26
- beswarm/aient/src/aient/models/chatgpt.py,sha256=LXSMwKRIbWIaPa1Ejk8oCEXVmjZ0rpgFLss35Attn-Q,53493
27
- beswarm/aient/src/aient/models/claude.py,sha256=JezghW7y0brl4Y5qiSHvnYR5prQCFywX4RViHt39pGI,26037
28
- beswarm/aient/src/aient/models/duckduckgo.py,sha256=1l7vYCs9SG5SWPCbcl7q6pCcB5AUF_r-a4l9frz3Ogo,8115
29
- beswarm/aient/src/aient/models/gemini.py,sha256=chGLc-8G_DAOxr10HPoOhvVFW1RvMgHd6mt--VyAW98,14730
30
- beswarm/aient/src/aient/models/groq.py,sha256=eXfSOaPxgQEtk4U8qseArN8rFYOFBfMsPwRcDW1nERo,8790
31
- beswarm/aient/src/aient/models/vertex.py,sha256=qVD5l1Q538xXUPulxG4nmDjXE1VoV4yuAkTCpIeJVw0,16795
32
- beswarm/aient/src/aient/plugins/__init__.py,sha256=p3KO6Aa3Lupos4i2SjzLQw1hzQTigOAfEHngsldrsyk,986
33
- beswarm/aient/src/aient/plugins/arXiv.py,sha256=yHjb6PS3GUWazpOYRMKMzghKJlxnZ5TX8z9F6UtUVow,1461
34
- beswarm/aient/src/aient/plugins/config.py,sha256=2DXH-LP9KGl_P4467chJu3q4AAbX5nSn4DIkdI0aYH8,7105
35
- beswarm/aient/src/aient/plugins/excute_command.py,sha256=EQe-vSlTrdd5I0reLqkSXqnPn1VoaCF1HeYZ4z0Txew,10646
36
- beswarm/aient/src/aient/plugins/get_time.py,sha256=Ih5XIW5SDAIhrZ9W4Qe5Hs1k4ieKPUc_LAd6ySNyqZk,654
37
- beswarm/aient/src/aient/plugins/image.py,sha256=ZElCIaZznE06TN9xW3DrSukS7U3A5_cjk1Jge4NzPxw,2072
38
- beswarm/aient/src/aient/plugins/list_directory.py,sha256=V_uKkLx_fQDL5z__bSDC-PqAP-o32KmQW6Pdhx0Fx0s,1433
39
- beswarm/aient/src/aient/plugins/read_file.py,sha256=ifG9J499oHqm7wXqGb2ye7YTYHFtwB1Mf4JYyWae7ig,8695
40
- beswarm/aient/src/aient/plugins/read_image.py,sha256=4FbIiMNVFUQpNyiH5ApGSRvOD9ujcXGyuqlGTJMd7ac,4017
41
- beswarm/aient/src/aient/plugins/readonly.py,sha256=qK5-kBM3NDH1b-otFxFHpAjV5BXEY_e7cTWBcpP7G5k,710
42
- beswarm/aient/src/aient/plugins/registry.py,sha256=YknzhieU_8nQ3oKlUSSWDB4X7t2Jx0JnqT2Jd9Xsvfk,3574
43
- beswarm/aient/src/aient/plugins/run_python.py,sha256=MohvdtZUTDLrHBDtJ9L2_Qu1pWAGrkbzsGmmn5tMN20,4614
44
- beswarm/aient/src/aient/plugins/websearch.py,sha256=9yImBa1s5V7Djqzx6L4naDyIsGIcf_js1LOyLX0aNHw,15338
45
- beswarm/aient/src/aient/plugins/write_file.py,sha256=9msWSxWfJNhawLA-CyLLxtLipm53AX8o0VyCSV6VieM,3953
46
- beswarm/aient/src/aient/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
- beswarm/aient/src/aient/utils/prompt.py,sha256=UcSzKkFE4-h_1b6NofI6xgk3GoleqALRKY8VBaXLjmI,11311
48
- beswarm/aient/src/aient/utils/scripts.py,sha256=h7EA2xBydUF_wdZLsPgjCq4Egdycx1gf2qrdrm0I7y0,40909
49
- beswarm/aient/test/chatgpt.py,sha256=Hvl7FuDt1c74N5TVBmhErOPvJbJJzA7FNp5VoZM4u30,4957
50
- beswarm/aient/test/claude.py,sha256=IyB4qI1eJLwlSfDNSnt2FhbQWYyBighHUjJxEXc3osQ,1095
51
- beswarm/aient/test/test.py,sha256=rldnoLQdtRR8IKFSIzTti7eIK2MpPMoi9gL5qD8_K44,29
52
- beswarm/aient/test/test_API.py,sha256=kgXiFI_Jf5pXouhOq3dS5H960Bffvw7NEJLVkIkYI1k,229
53
- beswarm/aient/test/test_Deepbricks.py,sha256=EQwwNrTMHV4CEcZKdwUVGrwtNUsF0CCKbM-_W9IOYsk,693
54
- beswarm/aient/test/test_Web_crawler.py,sha256=l-DY0xwVPBfeEitUASkcIf19b4XwGrN-Ql_p7Dsbg_A,11410
55
- beswarm/aient/test/test_aiwaves.py,sha256=syZBxeWXyK7GMOykjXFpAoBFHgPS6x7pffquEHsNGWo,2486
56
- beswarm/aient/test/test_aiwaves_arxiv.py,sha256=J9pCAhAWzzlaA9LeTj9cByJhJwLuZ7n1FXRskvPYhxI,653
57
- beswarm/aient/test/test_ask_gemini.py,sha256=WKHtq8xfCQM16CeGtwaw1nOpoCjaNkBPH4Lb9vmdf3M,295
58
- beswarm/aient/test/test_class.py,sha256=gYP5VnAWxYoGmr6-6yxRncq9_F2eUNv7ru-tOBMij0Q,268
59
- beswarm/aient/test/test_claude.py,sha256=e7Rae9pCMlLehZOGeInigf79oo5yXdPRNyke52J1pMM,931
60
- beswarm/aient/test/test_claude_zh_char.py,sha256=glaIPd1eGoMquxV5g_0oVxVnIT_tEU4xF4DhMBvuv8o,1092
61
- beswarm/aient/test/test_ddg_search.py,sha256=HnM72mwi4Yp87BymMmQ0eRd0-OJtyWEIUvJvN9QBhdg,1498
62
- beswarm/aient/test/test_download_pdf.py,sha256=ZPNMMM-wy23wuascLBFCuEAmxRVVqV8wf4VjK2MesoM,2435
63
- beswarm/aient/test/test_gemini.py,sha256=YwOYNp8H0aCKlmMVxLjPC_L-mKcpnlWH_IXyhxS_0Fk,2832
64
- beswarm/aient/test/test_get_token_dict.py,sha256=QuR67aUbS9hTwBjndsr1u7-juopEe1Ken_RTkPXj__Q,843
65
- beswarm/aient/test/test_google_search.py,sha256=rPaKqD_N3ogHYE5DrMfRmKumcVAHKC7LcYw5euR_zGM,1035
66
- beswarm/aient/test/test_jieba.py,sha256=ydqIrPtJ71cgbQSXpkS_g1kSiBzEpk0mjv6N-6ETw4g,1139
67
- beswarm/aient/test/test_json.py,sha256=cbKSwwSwt1A9sdn5vO_5cGca0x2rR4skejAgb8uDDu0,2284
68
- beswarm/aient/test/test_logging.py,sha256=DFZ2KqrTVH6FQ5BKJIQudZxWRUdkzWka2QjmtVYPXvw,995
69
- beswarm/aient/test/test_ollama.py,sha256=ywy9l06S1g1AnWQvlBbhpac7i-hBB9bpwi-pk0Afivc,1325
70
- beswarm/aient/test/test_plugin.py,sha256=0sBwpf1YdKba-IVPZwBMKbLR7buHfudLS9NOETm7BTc,779
71
- beswarm/aient/test/test_py_run.py,sha256=l8mWIbcM86sV6zBlvirB2XlbZvNRCx-vhnV1fjX4DQc,846
72
- beswarm/aient/test/test_requests.py,sha256=JMBlfftS-hzcpfgPXJAgjRY9XBq3SAc9qJA8gDGFrEs,5478
73
- beswarm/aient/test/test_search.py,sha256=-SRNOo2PvAAVmqIASFVq8WYmXqjLRonmHVEcBZkJAek,1171
74
- beswarm/aient/test/test_tikitoken.py,sha256=JprsSPujwChjHcr7LYy-94t6QgNt0CGUDfXYlBoV_xE,832
75
- beswarm/aient/test/test_token.py,sha256=4tR6EOQPL0Tk_TvxxVXIwWmxyguOFRFk8ur5ETK2nG0,3454
76
- beswarm/aient/test/test_url.py,sha256=ASE3kT2-ooaX6Flw4botjXnuqaBgutqRWPx3fow5nLg,1894
77
- beswarm/aient/test/test_whisper.py,sha256=GxKYzhh3lA8t62V_DDj42VQTXkdjocSFcl5u96WF580,378
78
- beswarm/aient/test/test_wildcard.py,sha256=EQwwNrTMHV4CEcZKdwUVGrwtNUsF0CCKbM-_W9IOYsk,693
79
- beswarm/aient/test/test_yjh.py,sha256=MsHuBLNOqi3fyX-uboBKmTevkZW_KVv12p-pkF5ir3Y,787
80
- beswarm/bemcp/bemcp/__init__.py,sha256=Ss6bDXiZJgVIZS6KWytcGwXmIFu7SsagIXa5NpeWJ7c,140
81
- beswarm/bemcp/bemcp/decorator.py,sha256=23bNgwLjuUkpod5VcRv-UqlJTf91_wfztf8ls7-Gg08,3218
82
- beswarm/bemcp/bemcp/main.py,sha256=gtl3oyjAM_rwFw3kR-m-cUpS0FFTASnUOB8-fMrVT7g,8608
83
- beswarm/bemcp/bemcp/utils.py,sha256=CVclpjEmQrUt5pDYnBMkqPk32nTYcXp6-HM7eOutXrE,1057
84
- beswarm/bemcp/test/client.py,sha256=j7PDg5Esyri-e2vz2ubZ4foDSAq5Iv8Yfl_xyzTDsFY,1593
85
- beswarm/bemcp/test/server.py,sha256=XqSrk88FC-dk7AcEn-OyS_fR0W0V9OnL2ONpkNEKJKE,1159
86
- beswarm/queries/tree-sitter-language-pack/README.md,sha256=ivZSEuWqYfUVLZl2AZZGRlm0bQsaG-VTBKBwACyM07k,291
87
- beswarm/queries/tree-sitter-language-pack/arduino-tags.scm,sha256=HbgdothT9Jjk56COXTtUkVAdZ14rZNnqzLbWVLeRs5U,177
88
- beswarm/queries/tree-sitter-language-pack/c-tags.scm,sha256=EIz45o5hBh8yEuck5ZR_4IpcGyWSeNrzxFmtkKZGt2k,461
89
- beswarm/queries/tree-sitter-language-pack/chatito-tags.scm,sha256=ISkmrp5gIVxoYIPnoqxxqBlZj5G9tzhwJMx6b0dEKnQ,338
90
- beswarm/queries/tree-sitter-language-pack/commonlisp-tags.scm,sha256=GYJlluTPEdrxn4jpYTX5YQAqk171rVBw7IBiCygMgtw,4713
91
- beswarm/queries/tree-sitter-language-pack/cpp-tags.scm,sha256=2fSqTUcc01ABMHkA0JeG8axEOEXRfEIul8UKc9_tKGI,809
92
- beswarm/queries/tree-sitter-language-pack/csharp-tags.scm,sha256=KORfK3ehKor6Pf6T5iniuoQr16EcHtUe0q3XIsCjPJs,1162
93
- beswarm/queries/tree-sitter-language-pack/d-tags.scm,sha256=LDP3orqZ98TTFSkV_PODEs8LspTcCqUMvKcLdZwtgkc,1420
94
- beswarm/queries/tree-sitter-language-pack/dart-tags.scm,sha256=Pa_leZjxxXQO7mH_zF5o-kZ5lqVxgvbyp8oQb_nZ9KA,2267
95
- beswarm/queries/tree-sitter-language-pack/elisp-tags.scm,sha256=1r8iOMM_DEpXEvlA1rE7KlhGEzcqa2W6eH4F2d1iu7Y,246
96
- beswarm/queries/tree-sitter-language-pack/elixir-tags.scm,sha256=fg9TDpbCixLr8UXNcNnfgFlR3Y7d3vtzLRb3LK84UaQ,1682
97
- beswarm/queries/tree-sitter-language-pack/elm-tags.scm,sha256=Wp1D5wEGzFa_2biBWRaKbghDs57lDGqqsZd7DbPkdn4,953
98
- beswarm/queries/tree-sitter-language-pack/gleam-tags.scm,sha256=wdFVAkepPAZ10-5sBIVQSl45v95wZP9Foi_iYvM4YII,1416
99
- beswarm/queries/tree-sitter-language-pack/go-tags.scm,sha256=TE4fQ7PtQvHKPetrhHeDqjMz01KFKFsxFjypnJMv8pI,1339
100
- beswarm/queries/tree-sitter-language-pack/java-tags.scm,sha256=Xid8cnOPL1v5SOtxfq8dOi98bWrUPL7XeO8_I2qBrfE,624
101
- beswarm/queries/tree-sitter-language-pack/javascript-tags.scm,sha256=0qlZIwDdsvoEGM0cYD3s2ez27FbYuz8epZAo-cLP1uI,2306
102
- beswarm/queries/tree-sitter-language-pack/lua-tags.scm,sha256=lqhCVn7KnBVhW8oo_wY9me15nEBTu9BS5YlF1zUTOPs,945
103
- beswarm/queries/tree-sitter-language-pack/pony-tags.scm,sha256=gGNWmiHzv8Ge0HZo81tev-xIqHIQqjRxPR52G048-zs,2191
104
- beswarm/queries/tree-sitter-language-pack/properties-tags.scm,sha256=AbcjxhGpG6F6lpCHs83HRXD223b-wrHQYv-i9j09wtc,135
105
- beswarm/queries/tree-sitter-language-pack/python-tags.scm,sha256=KDCrM7iaUwXZ_hb2wVHrE2_EVCq_ASo3-BmbzsLtFk0,437
106
- beswarm/queries/tree-sitter-language-pack/r-tags.scm,sha256=3cb2Wt-8Tt1RGBNDPgo4nI9qROf00ONNVqPHv8Th-Mk,461
107
- beswarm/queries/tree-sitter-language-pack/racket-tags.scm,sha256=iri2aFEabiim-geb-t3ClDVp1Zi8T_rX1H9L0tlpqK8,224
108
- beswarm/queries/tree-sitter-language-pack/ruby-tags.scm,sha256=vIidsCeE2A0vdFN18yXKqUWmpXMrGXyo4un_0Mxqr6s,1290
109
- beswarm/queries/tree-sitter-language-pack/rust-tags.scm,sha256=3rz1XqKaOPKPWRUNPTW5OX_TYEDj5tQZfMxBH3EMB6g,1451
110
- beswarm/queries/tree-sitter-language-pack/solidity-tags.scm,sha256=3uCJsbhwp-dVTiSsrGLt-PQ0uAnjmqUeHFPSEXd2JvM,1395
111
- beswarm/queries/tree-sitter-language-pack/swift-tags.scm,sha256=ZvJcfjmUDZ9w14AXKSPPxf4gvpdE_qzBxDjfCczYrIQ,1439
112
- beswarm/queries/tree-sitter-language-pack/udev-tags.scm,sha256=avj3u4prIR7o8hymHezOsqrOqjPSLGYo7C_lOL4Dxlg,417
113
- beswarm/queries/tree-sitter-languages/README.md,sha256=xE2gaSTeKL13T-ebi3S_PxbPTwRQOm9ymcisZwt6-qI,2467
114
- beswarm/queries/tree-sitter-languages/c-tags.scm,sha256=EIz45o5hBh8yEuck5ZR_4IpcGyWSeNrzxFmtkKZGt2k,461
115
- beswarm/queries/tree-sitter-languages/c_sharp-tags.scm,sha256=wKyFtOFIk-kqIFB2yJBbu1VGRUhdkAnDpxo8sXubkjw,1025
116
- beswarm/queries/tree-sitter-languages/cpp-tags.scm,sha256=cAFwtQk3ZKsvCVWrp1fmhSwOP8WGTCEDRR5CQuzLlY4,803
117
- beswarm/queries/tree-sitter-languages/dart-tags.scm,sha256=AjxpyJIXuLjP5u3U89bhWergxus0fbUKk1x1uIHCKPw,2251
118
- beswarm/queries/tree-sitter-languages/elisp-tags.scm,sha256=wjm1YYD1vgjBbh0E2CzUnmagl82Uq6-LcEojmvhiJkY,332
119
- beswarm/queries/tree-sitter-languages/elixir-tags.scm,sha256=eO20nPIwI7_vq4Fob6U5RjX1wLKgn6Gglj41ITpE6eg,1605
120
- beswarm/queries/tree-sitter-languages/elm-tags.scm,sha256=4qTEWJCAd7_BOfwyky0q_NYzAMtGdiq7qwo1GIhXmag,951
121
- beswarm/queries/tree-sitter-languages/go-tags.scm,sha256=mHtS5NEuxWJGfVz1rq4YlJRMYVDAl5tf7iYnm6RikVE,848
122
- beswarm/queries/tree-sitter-languages/hcl-tags.scm,sha256=yOVCBeF4C3ZrFG-gg0adWg2QkxylPcI2dbVeEgD7EPE,2137
123
- beswarm/queries/tree-sitter-languages/java-tags.scm,sha256=7WKb-djGv0Ief6XEWQPYpfLpgJHtMPPukIUi55PegvE,627
124
- beswarm/queries/tree-sitter-languages/javascript-tags.scm,sha256=svVct6pxbcYP_-xEBwzGy6t1SlN7ajkEUCivUkBZn_Q,2251
125
- beswarm/queries/tree-sitter-languages/kotlin-tags.scm,sha256=ugk8v7Or3PXiBk-_HfZznwLuV-b-s3TYm03Wm3q2h_o,632
126
- beswarm/queries/tree-sitter-languages/ocaml-tags.scm,sha256=NAcyzmQuQPUjkchrQvcfhsvKqdcqbAt5eFb1chfEhMA,2695
127
- beswarm/queries/tree-sitter-languages/php-tags.scm,sha256=vmE5CH2N46HiQxUpR_FL41ilQqsWsigojiacWXtwTuE,714
128
- beswarm/queries/tree-sitter-languages/python-tags.scm,sha256=6-npVJM6y6C1q7d6VgcfohN75_iu7QtrLnvwO_L2EmA,325
129
- beswarm/queries/tree-sitter-languages/ql-tags.scm,sha256=9qVpBGSgFC9fSK4E_5sO2gYe4_jPvN-D18SD6S5lNR8,707
130
- beswarm/queries/tree-sitter-languages/ruby-tags.scm,sha256=vIidsCeE2A0vdFN18yXKqUWmpXMrGXyo4un_0Mxqr6s,1290
131
- beswarm/queries/tree-sitter-languages/rust-tags.scm,sha256=9ljM1nzhfPs_ZTRw7cr2P9ToOyhGcKkCoN4_HPXSWi4,1451
132
- beswarm/queries/tree-sitter-languages/scala-tags.scm,sha256=UxQjz80JIrrJ7Pm56uUnQyThfmQNvwk7aQzPNypB-Ao,1761
133
- beswarm/queries/tree-sitter-languages/typescript-tags.scm,sha256=OMdCeedPiA24ky82DpgTMKXK_l2ySTuF2zrQ2fJAi9E,1253
134
- beswarm/tools/__init__.py,sha256=5ZJeCEau1OVVOVBMv5E0DTGERsgknSxSLX8o4B1WR8k,2081
135
- beswarm/tools/click.py,sha256=7g6x1X7ffTInGWp7112KS-MAQ5-8wa1Ze2sIipUIbjc,20884
136
- beswarm/tools/completion.py,sha256=wHEJrdzjuTKQNQZhelSuPnK2YRsGbeUqZ0P6IgT3c10,605
137
- beswarm/tools/edit_file.py,sha256=iwWl7a8sTVq4vj0e1ny3H6UGcHfYnxALRGcLuk5hZS8,9155
138
- beswarm/tools/graph.py,sha256=f0OmaB1UI9rdYU5KNxOUINPBvXhLo5pdznrCKNpQ3nM,5088
139
- beswarm/tools/planner.py,sha256=lguBCS6kpwNPoXQvqH-WySabVubT82iyWOkJnjt6dXw,1265
140
- beswarm/tools/repomap.py,sha256=YsTPq5MXfn_Ds5begcvHDnY_Xp2d4jH-xmWqNMHnNHY,45239
141
- beswarm/tools/request_input.py,sha256=gXNAJPOJektMqxJVyzNTFOeMQ7xUkO-wWMYH-r2Rdwk,942
142
- beswarm/tools/screenshot.py,sha256=u6t8FCgW5YHJ_Oc4coo8e0F3wTusWE_-H8dFh1rBq9Q,1011
143
- beswarm/tools/search_arxiv.py,sha256=8naYRvmELQryMIcCCBHebIEzNJ8_YivXamM4fzGG3Dk,10754
144
- beswarm/tools/search_web.py,sha256=LhgXOSHL9fwxg5T2AAOV4TTJkcJVLogsfRJW2faPvDE,16147
145
- beswarm/tools/subtasks.py,sha256=zZmRCjDocbvrU8MvZvpDWpQCKNntDJ123ByBiS8pRko,9889
146
- beswarm/tools/worker.py,sha256=-tcLGrdLPZYxc1z66iQIB1VH7RWcR-5CgVWuDIQJBCQ,2013
147
- beswarm/tools/write_csv.py,sha256=-r5OghcvjCg00hY0YQbp6u31VIJLrgaqDIvczAFoqDE,1470
148
- beswarm-0.2.50.dist-info/METADATA,sha256=GjMlSOekWJWwnLPekTnpAoxjnPC9tmkAHou-EIUIG5k,3878
149
- beswarm-0.2.50.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
150
- beswarm-0.2.50.dist-info/top_level.txt,sha256=pJw4O87wvt5882smuSO6DfByJz7FJ8SxxT8h9fHCmpo,8
151
- beswarm-0.2.50.dist-info/RECORD,,
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