pycoze 0.1.316__py3-none-any.whl → 0.1.318__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.
- pycoze/bot/tools.py +21 -1
- {pycoze-0.1.316.dist-info → pycoze-0.1.318.dist-info}/METADATA +1 -1
- {pycoze-0.1.316.dist-info → pycoze-0.1.318.dist-info}/RECORD +6 -6
- {pycoze-0.1.316.dist-info → pycoze-0.1.318.dist-info}/LICENSE +0 -0
- {pycoze-0.1.316.dist-info → pycoze-0.1.318.dist-info}/WHEEL +0 -0
- {pycoze-0.1.316.dist-info → pycoze-0.1.318.dist-info}/top_level.txt +0 -0
pycoze/bot/tools.py
CHANGED
@@ -8,6 +8,25 @@ from .lib import get_formatted_filelist_str, read_local_file, resolve_relative_p
|
|
8
8
|
from pycoze import ai
|
9
9
|
from pycoze.api import window, web
|
10
10
|
import traceback
|
11
|
+
import inspect
|
12
|
+
import asyncio
|
13
|
+
|
14
|
+
async def handle_async_func(func, params):
|
15
|
+
return await func(**params)
|
16
|
+
|
17
|
+
def handle_generator_func(func, params):
|
18
|
+
return list(func(**params))
|
19
|
+
|
20
|
+
def handle_normal_func(func, params):
|
21
|
+
return func(**params)
|
22
|
+
|
23
|
+
def call_func(func, params):
|
24
|
+
if inspect.isgeneratorfunction(func):
|
25
|
+
return handle_generator_func(func, params)
|
26
|
+
elif inspect.iscoroutinefunction(func):
|
27
|
+
return asyncio.run(handle_async_func(func, params))
|
28
|
+
else:
|
29
|
+
return handle_normal_func(func, params)
|
11
30
|
|
12
31
|
|
13
32
|
class InvalidToolError(Exception):
|
@@ -265,8 +284,9 @@ class ToolExecutor:
|
|
265
284
|
elif tool_name in [a.__name__ for a in abilities]:
|
266
285
|
func = [a for a in abilities if a.__name__ == tool_name][0]
|
267
286
|
try:
|
268
|
-
result = func
|
287
|
+
result = call_func(func, params)
|
269
288
|
except Exception as e:
|
289
|
+
print(traceback.format_exc())
|
270
290
|
return False, traceback.format_exc()
|
271
291
|
return True, str(result)
|
272
292
|
else:
|
@@ -17,7 +17,7 @@ pycoze/bot/chat_base.py,sha256=czmOKUum3Rwo4lAOJtfslxaF8RKauWzj26s_WMmQa48,9180
|
|
17
17
|
pycoze/bot/lib.py,sha256=IIihXPODCbM29TlxS0lhm2Fw3GWm2MzUeAn9LGa86lg,6889
|
18
18
|
pycoze/bot/message.py,sha256=Zq-_k8HztBMOUIs3hbOvWvwHBNopn4UJJBliCROIGcc,718
|
19
19
|
pycoze/bot/prompt.md,sha256=ehjdvZ-se9NaH0OSiDEvrFE9kvdj9MTZlWZUTxPY780,15743
|
20
|
-
pycoze/bot/tools.py,sha256=
|
20
|
+
pycoze/bot/tools.py,sha256=utuQKp5S0XjE7qMhX6_jnpoXBzg4CsiP1rW733QVp0o,10237
|
21
21
|
pycoze/reference/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
22
22
|
pycoze/reference/bot.py,sha256=pxHVYo0G3P3YZ--vBYbMEiEyBoxxPwaO5dMTf9WFMSc,2014
|
23
23
|
pycoze/reference/lib.py,sha256=6jvowP2LqjyV21ppRhmtxHxnQJHCbHmlpbj9btV2RQ4,2191
|
@@ -33,8 +33,8 @@ pycoze/utils/arg.py,sha256=jop1tBfe5hYkHW1NSpCeaZBEznkgguBscj_7M2dWfrs,503
|
|
33
33
|
pycoze/utils/env.py,sha256=5pWlXfM1F5ZU9hhv1rHlDEanjEW5wf0nbyez9bNRqqA,559
|
34
34
|
pycoze/utils/socket.py,sha256=bZbFFRH4mfThzRqt55BAAGQ6eICx_ja4x8UGGrUdAm8,2428
|
35
35
|
pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
|
36
|
-
pycoze-0.1.
|
37
|
-
pycoze-0.1.
|
38
|
-
pycoze-0.1.
|
39
|
-
pycoze-0.1.
|
40
|
-
pycoze-0.1.
|
36
|
+
pycoze-0.1.318.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
|
37
|
+
pycoze-0.1.318.dist-info/METADATA,sha256=agzpVdOKUSQyLvqFKmTlRuY0B-0Fp_iLNQv9w3gRo40,854
|
38
|
+
pycoze-0.1.318.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
39
|
+
pycoze-0.1.318.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
|
40
|
+
pycoze-0.1.318.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|