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.
@@ -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 ..processor import Processor, RecipientSelector
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
- Processor[InT, OutT, Any, CtxT],
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[Processor[Any, Any, Any, CtxT]],
22
- start_proc: Processor[InT, Any, Any, CtxT],
23
- end_proc: Processor[Any, OutT, Any, CtxT],
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 = end_proc.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 subprocs(self) -> Sequence[Processor[Any, Any, Any, CtxT]]:
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) -> Processor[InT, Any, Any, CtxT]:
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) -> Processor[Any, OutT, Any, CtxT]:
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: Processor[Any, Any, Any, CtxT]
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
- pass
109
+ yield DummyEvent()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: grasp_agents
3
- Version: 0.5.5
3
+ Version: 0.5.6
4
4
  Summary: Grasp Agents Library
5
5
  License-File: LICENSE.md
6
6
  Requires-Python: <4,>=3.11.4
@@ -1,22 +1,21 @@
1
- grasp_agents/__init__.py,sha256=h8fAUoFK7HrAMgoZ3b4_eGLnn1kF4ofHh_9DdqoaHfU,860
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=YCzHlb2gdWVy77DmQpcu0dyEzGp4VQa3UMRJKodCYSs,6557
9
- grasp_agents/llm_agent.py,sha256=Qh26FlhGKKw9XMOU16Nr1GOfdUD8L5SjAM-Vh3Y5jx0,13175
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=A5hqEvh7XwaPJVkfbItMm5FQqxujVzXDId7HnSUqluI,4919
15
- grasp_agents/printer.py,sha256=kecOs4Jfxb--ZjvvDn1q2-CnZXZeJaMwQEYOlfj2pbo,11039
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=nZXK5OuM7QbLyzNA-rfXD0YDtdftTK5v2cCpeujhe2k,4479
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=1n6EVS8vU0RLlQHMHUjiV5i4PYLovT7RcOmpcx0ztlc,5256
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=J-mdy1gxsMUC622j8W-_fDX3oAyKHg9TTzCXEksMS-Q,6311
51
- grasp_agents/workflow/sequential_workflow.py,sha256=7xBl6YtH97y6jSv6eAHtSIeKjoqiUWKu63C-gKp6Eus,3295
52
- grasp_agents/workflow/workflow_processor.py,sha256=rtW67EBXVoqZTfjLWHz2CyixIu2RdqLxLkFtyI1N49s,3277
53
- grasp_agents-0.5.5.dist-info/METADATA,sha256=uV2MT_3IKkAl-iOqB1aSa9GflFle77n7UjrinyIHQZ8,6865
54
- grasp_agents-0.5.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
55
- grasp_agents-0.5.5.dist-info/licenses/LICENSE.md,sha256=-nNNdWqGB8gJ2O-peFQ2Irshv5tW5pHKyTcYkwvH7CE,1201
56
- grasp_agents-0.5.5.dist-info/RECORD,,
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,,