grasp_agents 0.5.5__py3-none-any.whl → 0.5.6__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.
- grasp_agents/__init__.py +5 -1
- grasp_agents/llm.py +5 -1
- grasp_agents/llm_agent.py +18 -7
- grasp_agents/packet_pool.py +6 -1
- grasp_agents/printer.py +7 -4
- grasp_agents/{processor.py → processors/base_processor.py} +89 -287
- grasp_agents/processors/parallel_processor.py +244 -0
- grasp_agents/processors/processor.py +161 -0
- grasp_agents/runner.py +20 -1
- grasp_agents/typing/events.py +4 -0
- grasp_agents/workflow/looped_workflow.py +35 -27
- grasp_agents/workflow/sequential_workflow.py +14 -3
- grasp_agents/workflow/workflow_processor.py +21 -15
- {grasp_agents-0.5.5.dist-info → grasp_agents-0.5.6.dist-info}/METADATA +1 -1
- {grasp_agents-0.5.5.dist-info → grasp_agents-0.5.6.dist-info}/RECORD +17 -15
- {grasp_agents-0.5.5.dist-info → grasp_agents-0.5.6.dist-info}/WHEEL +0 -0
- {grasp_agents-0.5.5.dist-info → grasp_agents-0.5.6.dist-info}/licenses/LICENSE.md +0 -0
@@ -4,23 +4,23 @@ from typing import Any, Generic
|
|
4
4
|
|
5
5
|
from ..errors import WorkflowConstructionError
|
6
6
|
from ..packet import Packet
|
7
|
-
from ..
|
7
|
+
from ..processors.base_processor import BaseProcessor, RecipientSelector
|
8
8
|
from ..run_context import CtxT, RunContext
|
9
|
-
from ..typing.events import Event
|
9
|
+
from ..typing.events import DummyEvent, Event
|
10
10
|
from ..typing.io import InT, OutT, ProcName
|
11
11
|
|
12
12
|
|
13
13
|
class WorkflowProcessor(
|
14
|
-
|
14
|
+
BaseProcessor[InT, OutT, Any, CtxT],
|
15
15
|
ABC,
|
16
16
|
Generic[InT, OutT, CtxT],
|
17
17
|
):
|
18
18
|
def __init__(
|
19
19
|
self,
|
20
20
|
name: ProcName,
|
21
|
-
subprocs: Sequence[
|
22
|
-
start_proc:
|
23
|
-
end_proc:
|
21
|
+
subprocs: Sequence[BaseProcessor[Any, Any, Any, CtxT]],
|
22
|
+
start_proc: BaseProcessor[InT, Any, Any, CtxT],
|
23
|
+
end_proc: BaseProcessor[Any, OutT, Any, CtxT],
|
24
24
|
recipients: list[ProcName] | None = None,
|
25
25
|
max_retries: int = 0,
|
26
26
|
) -> None:
|
@@ -44,10 +44,7 @@ class WorkflowProcessor(
|
|
44
44
|
self._start_proc = start_proc
|
45
45
|
self._end_proc = end_proc
|
46
46
|
|
47
|
-
self.recipients =
|
48
|
-
if recipients is not None:
|
49
|
-
self.recipients = recipients
|
50
|
-
|
47
|
+
self.recipients = recipients
|
51
48
|
if hasattr(type(self), "recipient_selector"):
|
52
49
|
self._end_proc.recipient_selector = self.recipient_selector
|
53
50
|
|
@@ -60,19 +57,28 @@ class WorkflowProcessor(
|
|
60
57
|
return func
|
61
58
|
|
62
59
|
@property
|
63
|
-
def
|
60
|
+
def recipients(self) -> list[ProcName] | None:
|
61
|
+
return self._end_proc.recipients
|
62
|
+
|
63
|
+
@recipients.setter
|
64
|
+
def recipients(self, value: list[ProcName] | None) -> None:
|
65
|
+
if hasattr(self, "_end_proc"):
|
66
|
+
self._end_proc.recipients = value
|
67
|
+
|
68
|
+
@property
|
69
|
+
def subprocs(self) -> Sequence[BaseProcessor[Any, Any, Any, CtxT]]:
|
64
70
|
return self._subprocs
|
65
71
|
|
66
72
|
@property
|
67
|
-
def start_proc(self) ->
|
73
|
+
def start_proc(self) -> BaseProcessor[InT, Any, Any, CtxT]:
|
68
74
|
return self._start_proc
|
69
75
|
|
70
76
|
@property
|
71
|
-
def end_proc(self) ->
|
77
|
+
def end_proc(self) -> BaseProcessor[Any, OutT, Any, CtxT]:
|
72
78
|
return self._end_proc
|
73
79
|
|
74
80
|
def _generate_subproc_call_id(
|
75
|
-
self, call_id: str | None, subproc:
|
81
|
+
self, call_id: str | None, subproc: BaseProcessor[Any, Any, Any, CtxT]
|
76
82
|
) -> str | None:
|
77
83
|
return f"{self._generate_call_id(call_id)}/{subproc.name}"
|
78
84
|
|
@@ -100,4 +106,4 @@ class WorkflowProcessor(
|
|
100
106
|
forgetful: bool = False,
|
101
107
|
call_id: str | None = None,
|
102
108
|
) -> AsyncIterator[Event[Any]]:
|
103
|
-
|
109
|
+
yield DummyEvent()
|
@@ -1,22 +1,21 @@
|
|
1
|
-
grasp_agents/__init__.py,sha256=
|
1
|
+
grasp_agents/__init__.py,sha256=Z3a_j2Etiap9H6lvE8-PQP_OIGMUcHNPeJAJO12B8kY,1031
|
2
2
|
grasp_agents/cloud_llm.py,sha256=C6xrKYhiQb4tNXK_rFo2pNlVTXPS_gYd5uevAnpLFeE,13119
|
3
3
|
grasp_agents/costs_dict.yaml,sha256=2MFNWtkv5W5WSCcv1Cj13B1iQLVv5Ot9pS_KW2Gu2DA,2510
|
4
4
|
grasp_agents/errors.py,sha256=K-22TCM1Klhsej47Rg5eTqnGiGPaXgKOpdOZZ7cPipw,4633
|
5
5
|
grasp_agents/generics_utils.py,sha256=5Pw3I9dlnKC2VGqYKC4ZZUO3Z_vTNT-NPFovNfPkl6I,6542
|
6
6
|
grasp_agents/grasp_logging.py,sha256=H1GYhXdQvVkmauFDZ-KDwvVmPQHZUUm9sRqX_ObK2xI,1111
|
7
7
|
grasp_agents/http_client.py,sha256=Es8NXGDkp4Nem7g24-jW0KFGA9Hp_o2Cv3cOvjup-iU,859
|
8
|
-
grasp_agents/llm.py,sha256=
|
9
|
-
grasp_agents/llm_agent.py,sha256=
|
8
|
+
grasp_agents/llm.py,sha256=ZkAeGEkpMsOY6T_zj2pL3ZWkP0mwDN_e9ArN99qZfmY,6574
|
9
|
+
grasp_agents/llm_agent.py,sha256=hX3T2Y5qiTt5CrsahNo5t08HFCyBWEiurzYnFykJN9Y,13513
|
10
10
|
grasp_agents/llm_agent_memory.py,sha256=gQwH3g4Ib3ciW2jrBiW13ttwax_pcPobH5RhXRmbc0E,1842
|
11
11
|
grasp_agents/llm_policy_executor.py,sha256=glusWe4wTIh_rl3bXPbAMueJ5eDfJxPYBTzoecrHPYg,16849
|
12
12
|
grasp_agents/memory.py,sha256=keHuNEZNSxHT9FKpMohHOCNi7UAz_oRIc91IQEuzaWE,1162
|
13
13
|
grasp_agents/packet.py,sha256=EmE-W4ZSMVZoqClECGFe7OGqrT4FSJ8IVGICrdjtdEY,1462
|
14
|
-
grasp_agents/packet_pool.py,sha256=
|
15
|
-
grasp_agents/printer.py,sha256=
|
16
|
-
grasp_agents/processor.py,sha256=eCte5jvFsGxzlgjEnIcakuvTB5bNWRq-29cAYWNZBXY,17149
|
14
|
+
grasp_agents/packet_pool.py,sha256=i0g4O_fnpsYTU3LNjKgM4TiiiJkHA3YeZP9Y5GatM_I,5082
|
15
|
+
grasp_agents/printer.py,sha256=wtCH75DgWAwjJntr57kK2e7dagcfliUAfefYHpiwWi0,11203
|
17
16
|
grasp_agents/prompt_builder.py,sha256=UuQNnvjrhzd3_NVnvHlCs-NRNRMo4jsMePgZeIxmzSY,5894
|
18
17
|
grasp_agents/run_context.py,sha256=ikakNK1khm0UBEIPETB508BL0IlOKbOUPuq0FZ-iQHQ,942
|
19
|
-
grasp_agents/runner.py,sha256=
|
18
|
+
grasp_agents/runner.py,sha256=sRuKkX8Iopxv_MdGZf22b_AsuH4FIPY28rl15RqwGEY,5005
|
20
19
|
grasp_agents/usage_tracker.py,sha256=ZQfVUUpG0C89hyPWT_JgXnjQOxoYmumcQ9t-aCfcMo8,3561
|
21
20
|
grasp_agents/utils.py,sha256=qKmGBwrQHw1-BgqRLuGTPKGs3J_zbrpk3nxnP1iZBiQ,6152
|
22
21
|
grasp_agents/litellm/__init__.py,sha256=wD8RZBYokFDfbS9Cs7nO_zKb3w7RIVwEGj7g2D5CJH0,4510
|
@@ -33,6 +32,9 @@ grasp_agents/openai/converters.py,sha256=CXHF2GehEHLEzjL45HywZ_1qaB3N29-lbac5oBD
|
|
33
32
|
grasp_agents/openai/message_converters.py,sha256=fhSN81uK51EGbLyM2-f0MvPX_UBrMy7SF3JQPo-dkXg,4686
|
34
33
|
grasp_agents/openai/openai_llm.py,sha256=uJbbCytqpv8OCncKdzpiUdkVh3mJWgo95Y9Xetk_Ptg,10556
|
35
34
|
grasp_agents/openai/tool_converters.py,sha256=IotZvpe3xMQcBfcjUTfAsn4LtZljj3zkU9bfpcoiqPw,1177
|
35
|
+
grasp_agents/processors/base_processor.py,sha256=j2_QY6HUjckdxfsf7yAF0xRDp_V-DNDb7hIRMRKUyWw,10685
|
36
|
+
grasp_agents/processors/parallel_processor.py,sha256=EoB1sqtnuv362S1MTUyn3-TUSO4M5Vpe86Q9HlBmbok,7816
|
37
|
+
grasp_agents/processors/processor.py,sha256=v7Bf6CGVsjb43XuOtTMuev9UedMy_lBTGifzzCZwh4Q,5157
|
36
38
|
grasp_agents/rate_limiting/__init__.py,sha256=KRgtF_E7R3YfA2cpYcFcZ7wycV0pWVJ0xRQC7YhiIEQ,158
|
37
39
|
grasp_agents/rate_limiting/rate_limiter_chunked.py,sha256=BPgkUXvhmZhTpZs2T6uujNFuxH_kYHiISuf6_-eNhUc,5544
|
38
40
|
grasp_agents/rate_limiting/types.py,sha256=PbnNhEAcYedQdIpPJWud8HUVcxa_xZS2RDZu4c5jr40,1003
|
@@ -42,15 +44,15 @@ grasp_agents/typing/completion.py,sha256=PHJ01m7WI2KYQL8w7W2ti6hMsKEZnzYGaxbNcBC
|
|
42
44
|
grasp_agents/typing/completion_chunk.py,sha256=t6PvkDWQxRN5xA4efBdeou46RifMFodBmZc45Sx7qxQ,7610
|
43
45
|
grasp_agents/typing/content.py,sha256=XFmLpNWkGhkw5JujO6UsYwhzTHkU67PfhzaXH2waLcQ,3659
|
44
46
|
grasp_agents/typing/converters.py,sha256=kHlocHQS8QnduZOzNPbj3aRD8JpvJd53oudYqWdOxKE,2978
|
45
|
-
grasp_agents/typing/events.py,sha256=
|
47
|
+
grasp_agents/typing/events.py,sha256=UB0G2mQLmyLHYdEp1YnFi8XF2jpWeUZ4TLFnY64lK0I,5450
|
46
48
|
grasp_agents/typing/io.py,sha256=MGEoUjAwKH1AHYglFkKNpHiielw-NFf13Epg3B4Q7Iw,139
|
47
49
|
grasp_agents/typing/message.py,sha256=o7bN84AgrC5Fm3Wx20gqL9ArAMcEtYvnHnXbb04ngCs,3224
|
48
50
|
grasp_agents/typing/tool.py,sha256=4N-k_GvHVPAFyVyEq7z_LYKkA24iQlGoVYiWCzGTgT4,1786
|
49
51
|
grasp_agents/workflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
50
|
-
grasp_agents/workflow/looped_workflow.py,sha256=
|
51
|
-
grasp_agents/workflow/sequential_workflow.py,sha256=
|
52
|
-
grasp_agents/workflow/workflow_processor.py,sha256=
|
53
|
-
grasp_agents-0.5.
|
54
|
-
grasp_agents-0.5.
|
55
|
-
grasp_agents-0.5.
|
56
|
-
grasp_agents-0.5.
|
52
|
+
grasp_agents/workflow/looped_workflow.py,sha256=WHp9O3Za2sBVfY_BLOdvPvtY20XsjZQaWSO2-oAFvOY,6806
|
53
|
+
grasp_agents/workflow/sequential_workflow.py,sha256=e3BIWzy_2novmEWNwIteyMbrzvl1-evHrTBE3r3SpU8,3648
|
54
|
+
grasp_agents/workflow/workflow_processor.py,sha256=yrxqAGfznmdkbP5zScKKJguxATfU4ObmA6BDR7YCBNU,3549
|
55
|
+
grasp_agents-0.5.6.dist-info/METADATA,sha256=c0CNKc5v1lF7iPtHiLfanUt0UKQUztGVJsMcq-vco_0,6865
|
56
|
+
grasp_agents-0.5.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
57
|
+
grasp_agents-0.5.6.dist-info/licenses/LICENSE.md,sha256=-nNNdWqGB8gJ2O-peFQ2Irshv5tW5pHKyTcYkwvH7CE,1201
|
58
|
+
grasp_agents-0.5.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|