zrb 1.21.9__py3-none-any.whl → 1.21.28__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 zrb might be problematic. Click here for more details.

Files changed (41) hide show
  1. zrb/attr/type.py +10 -7
  2. zrb/builtin/git.py +12 -1
  3. zrb/builtin/llm/chat_completion.py +274 -0
  4. zrb/builtin/llm/chat_session_cmd.py +90 -28
  5. zrb/builtin/llm/chat_trigger.py +7 -1
  6. zrb/builtin/llm/history.py +4 -4
  7. zrb/builtin/llm/tool/code.py +4 -1
  8. zrb/builtin/llm/tool/file.py +36 -81
  9. zrb/builtin/llm/tool/note.py +36 -16
  10. zrb/builtin/llm/tool/sub_agent.py +30 -10
  11. zrb/config/config.py +108 -13
  12. zrb/config/default_prompt/interactive_system_prompt.md +1 -1
  13. zrb/config/default_prompt/summarization_prompt.md +54 -8
  14. zrb/config/default_prompt/system_prompt.md +1 -1
  15. zrb/config/llm_rate_limitter.py +24 -5
  16. zrb/input/option_input.py +13 -1
  17. zrb/task/llm/agent.py +42 -144
  18. zrb/task/llm/agent_runner.py +152 -0
  19. zrb/task/llm/config.py +7 -5
  20. zrb/task/llm/conversation_history.py +35 -24
  21. zrb/task/llm/conversation_history_model.py +4 -11
  22. zrb/task/llm/default_workflow/coding/workflow.md +2 -3
  23. zrb/task/llm/file_replacement.py +206 -0
  24. zrb/task/llm/file_tool_model.py +57 -0
  25. zrb/task/llm/history_processor.py +206 -0
  26. zrb/task/llm/history_summarization.py +2 -179
  27. zrb/task/llm/print_node.py +14 -5
  28. zrb/task/llm/prompt.py +7 -18
  29. zrb/task/llm/subagent_conversation_history.py +41 -0
  30. zrb/task/llm/tool_wrapper.py +27 -12
  31. zrb/task/llm_task.py +55 -47
  32. zrb/util/attr.py +17 -10
  33. zrb/util/cli/text.py +6 -4
  34. zrb/util/git.py +2 -2
  35. zrb/util/yaml.py +1 -0
  36. zrb/xcom/xcom.py +10 -0
  37. {zrb-1.21.9.dist-info → zrb-1.21.28.dist-info}/METADATA +5 -5
  38. {zrb-1.21.9.dist-info → zrb-1.21.28.dist-info}/RECORD +40 -35
  39. zrb/task/llm/history_summarization_tool.py +0 -24
  40. {zrb-1.21.9.dist-info → zrb-1.21.28.dist-info}/WHEEL +0 -0
  41. {zrb-1.21.9.dist-info → zrb-1.21.28.dist-info}/entry_points.txt +0 -0
zrb/util/cli/text.py CHANGED
@@ -11,10 +11,11 @@ def edit_text(
11
11
  editor: str = "vi",
12
12
  extension: str = ".txt",
13
13
  ) -> str:
14
- prompt_message_eol = f"{prompt_message}\n"
15
14
  with tempfile.NamedTemporaryFile(delete=False, suffix=extension) as temp_file:
16
15
  temp_file_name = temp_file.name
17
- temp_file.write(prompt_message_eol.encode())
16
+ if prompt_message.strip() != "":
17
+ prompt_message_eol = f"{prompt_message}\n"
18
+ temp_file.write(prompt_message_eol.encode())
18
19
  # Pre-fill with default content
19
20
  if value:
20
21
  temp_file.write(value.encode())
@@ -22,7 +23,8 @@ def edit_text(
22
23
  subprocess.call([editor, temp_file_name])
23
24
  # Read the edited content
24
25
  edited_content = read_file(temp_file_name)
25
- parts = [text.strip() for text in edited_content.split(prompt_message, 1)]
26
- edited_content = "\n".join(parts).lstrip()
26
+ if prompt_message.strip() != "":
27
+ parts = [text.strip() for text in edited_content.split(prompt_message, 1)]
28
+ edited_content = "\n".join(parts).lstrip()
27
29
  os.remove(temp_file_name)
28
30
  return edited_content
zrb/util/git.py CHANGED
@@ -131,7 +131,7 @@ async def get_branches(
131
131
  Exception: If the git command returns a non-zero exit code.
132
132
  """
133
133
  cmd_result, exit_code = await run_command(
134
- cmd=["git", "rev-parse", "--abbrev-ref", "HEAD"],
134
+ cmd=["git", "branch"],
135
135
  cwd=repo_dir,
136
136
  print_method=print_method,
137
137
  )
@@ -160,7 +160,7 @@ async def delete_branch(
160
160
  Exception: If the git command returns a non-zero exit code.
161
161
  """
162
162
  cmd_result, exit_code = await run_command(
163
- cmd=["git", "branch", "-D", branch_name],
163
+ cmd=["git", "branch", "-d", branch_name],
164
164
  cwd=repo_dir,
165
165
  print_method=print_method,
166
166
  )
zrb/util/yaml.py CHANGED
@@ -34,6 +34,7 @@ def yaml_dump(obj: Any, key: str = "") -> str:
34
34
  allow_unicode=True,
35
35
  sort_keys=False,
36
36
  explicit_end=False,
37
+ width=float("inf"),
37
38
  )
38
39
  if not isinstance(obj_to_dump, (dict, list)):
39
40
  # PyYAML appends '...\n' (document-end) for top-level scalars.
zrb/xcom/xcom.py CHANGED
@@ -34,6 +34,16 @@ class Xcom(deque):
34
34
  else:
35
35
  raise IndexError("Xcom is empty")
36
36
 
37
+ def get(self, default_value: Any = None) -> Any:
38
+ if len(self) > 0:
39
+ return self[0]
40
+ return default_value
41
+
42
+ def set(self, new_value: Any):
43
+ self.push(new_value)
44
+ while len(self) > 1:
45
+ self.pop()
46
+
37
47
  def add_push_callback(self, callback: Callable[[], Any]):
38
48
  if not hasattr(self, "push_callbacks"):
39
49
  self.push_callbacks: list[Callable[[], Any]] = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zrb
3
- Version: 1.21.9
3
+ Version: 1.21.28
4
4
  Summary: Your Automation Powerhouse
5
5
  License: AGPL-3.0-or-later
6
6
  Keywords: Automation,Task Runner,Code Generator,Monorepo,Low Code
@@ -30,22 +30,22 @@ Requires-Dist: black (>=25.11.0,<26.0.0)
30
30
  Requires-Dist: boto3 (>=1.40.14) ; extra == "bedrock"
31
31
  Requires-Dist: chromadb (>=1.3.5,<2.0.0) ; extra == "rag" or extra == "all"
32
32
  Requires-Dist: cohere (>=5.18.0) ; extra == "cohere" or extra == "all"
33
- Requires-Dist: fastapi[standard] (>=0.116.1,<0.117.0)
33
+ Requires-Dist: fastapi[standard] (>=0.123.9,<0.124.0)
34
34
  Requires-Dist: google-auth (>=2.36.0) ; extra == "vertexai" or extra == "all"
35
35
  Requires-Dist: google-genai (>=1.51.0) ; extra == "google" or extra == "all"
36
36
  Requires-Dist: groq (>=0.25.0) ; extra == "groq" or extra == "all"
37
- Requires-Dist: huggingface-hub[inference] (>=0.33.5) ; extra == "huggingface"
37
+ Requires-Dist: huggingface-hub[inference] (>=0.33.5,<1.0.0) ; extra == "huggingface"
38
38
  Requires-Dist: isort (>=7.0.0,<8.0.0)
39
39
  Requires-Dist: libcst (>=1.8.6,<2.0.0)
40
40
  Requires-Dist: markdownify (>=1.2.2,<2.0.0)
41
41
  Requires-Dist: mcp (>1.18.0)
42
42
  Requires-Dist: mistralai (>=1.9.10) ; extra == "mistral"
43
- Requires-Dist: openai (>=2.8.0)
43
+ Requires-Dist: openai (>=2.11.0)
44
44
  Requires-Dist: pdfplumber (>=0.11.7,<0.12.0)
45
45
  Requires-Dist: playwright (>=1.56.0,<2.0.0) ; extra == "playwright" or extra == "all"
46
46
  Requires-Dist: prompt-toolkit (>=3)
47
47
  Requires-Dist: psutil (>=7.0.0,<8.0.0)
48
- Requires-Dist: pydantic-ai-slim (>=1.24.0,<1.25.0)
48
+ Requires-Dist: pydantic-ai-slim (>=1.32.0,<1.33.0)
49
49
  Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
50
50
  Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
51
51
  Requires-Dist: python-jose[cryptography] (>=3.5.0,<4.0.0)
@@ -1,30 +1,31 @@
1
1
  zrb/__init__.py,sha256=qkCV2EnAGIgvsawBHYvKgPAp0zzPcikYSmbQXATLzg4,5060
2
2
  zrb/__main__.py,sha256=9SXH9MK4PVyU9lkEyHxiIUABbcsV2wseP94HmlqTR4M,2657
3
3
  zrb/attr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- zrb/attr/type.py,sha256=nVNDgP7ny8l2aamyebPQYvaXcT9O8yDyA1Bh1Apma4Y,513
4
+ zrb/attr/type.py,sha256=eAsYk4aW8Pyi82KU5hfNpQuy6-FLsqcacSj0hJOGNnk,742
5
5
  zrb/builtin/__init__.py,sha256=X_uDUEeu86MrYLehHEFiLFdbqrRXMvHECEeIJJkKWh4,1724
6
6
  zrb/builtin/base64.py,sha256=UjaFttE2oRx0T7_RpKtKfgMtWfiQXfJBAJmA16ek8Ic,1507
7
- zrb/builtin/git.py,sha256=8_qVE_2lVQEVXQ9vhiw8Tn4Prj1VZB78ZjEJJS5Ab3M,5461
7
+ zrb/builtin/git.py,sha256=HWxCHW78HJ9SCiph4BMHFfrIpM4V8-bR2MmHLDaWEQM,5810
8
8
  zrb/builtin/git_subtree.py,sha256=7BKwOkVTWDrR0DXXQ4iJyHqeR6sV5VYRt8y_rEB0EHg,3505
9
9
  zrb/builtin/group.py,sha256=W_IA_4414c8Wi8QazqcT6Gq6UftrKwy95yMF114EJtI,2677
10
10
  zrb/builtin/http.py,sha256=L6RE73c65wWwG5iHFN-tpOhyh56KsrgVskDd3c3YXtk,4246
11
11
  zrb/builtin/jwt.py,sha256=3M5uaQhJZbKQLjTUft1OwPz_JxtmK-xtkjxWjciOQho,2859
12
12
  zrb/builtin/llm/attachment.py,sha256=UwhOGtZY9Px9aebsKfTTw2_ZIpbsqx0XgoAonk6Ewkc,1344
13
+ zrb/builtin/llm/chat_completion.py,sha256=ybOo-LZaoUjhEBd1N8R-ZpN7MCV88VHGG9Phs3yLi1w,11060
13
14
  zrb/builtin/llm/chat_session.py,sha256=TmXL7IkVT22blgWqG625qpr2_BnDMIm7ERYbR61BL4Q,9154
14
- zrb/builtin/llm/chat_session_cmd.py,sha256=xKkOsj0b_ScFfflWYMQJXsC0iUDRACobFkCjRqHnwmE,8306
15
- zrb/builtin/llm/chat_trigger.py,sha256=xaJmzrvBGz6LFPOpYnG9bMeT1dY6XqZPXamtr9e72-w,2427
16
- zrb/builtin/llm/history.py,sha256=LDOrL0p7r_AHLa5L8Dp7bHNsOALugmJd7OguXRWGnm4,3087
15
+ zrb/builtin/llm/chat_session_cmd.py,sha256=lGiN-YNtv957wYuuF_mXV0opbRN61U9pyxVVq-_Gwv8,10842
16
+ zrb/builtin/llm/chat_trigger.py,sha256=TZ4u5oQ4W7RGJB2yNrmGRfSEaBbMj4SXEGZHJrYjiJo,2672
17
+ zrb/builtin/llm/history.py,sha256=qNRYq6SlJH5iuzdra_FOJxevWXCDh5YMvN2qPNLjI8I,3099
17
18
  zrb/builtin/llm/input.py,sha256=Nw-26uTWp2QhUgKJcP_IMHmtk-b542CCSQ_vCOjhvhM,877
18
19
  zrb/builtin/llm/llm_ask.py,sha256=6fUbCFjgjFiTVf-88WJZ1RD5wgOzmsVEpD3dR16Jl_8,8598
19
20
  zrb/builtin/llm/previous-session.js,sha256=xMKZvJoAbrwiyHS0OoPrWuaKxWYLoyR5sguePIoCjTY,816
20
21
  zrb/builtin/llm/tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
22
  zrb/builtin/llm/tool/api.py,sha256=ItGJLr_1vhmLcitfIKeVDrnJEWdsyqucDnQ7enIC8fQ,2394
22
23
  zrb/builtin/llm/tool/cli.py,sha256=iwQtiyPgd5RibUHEtO38c4KS6D4_oCdLqv_bZZqM160,1257
23
- zrb/builtin/llm/tool/code.py,sha256=83U2S36M2Phg57NyEYh1WEqBxCha3eJq6ZvKVv40gEw,7576
24
- zrb/builtin/llm/tool/file.py,sha256=_xL6R0Nk2tSq96EFSoMnQtPa0SOyviUvo311ytEHalk,20250
25
- zrb/builtin/llm/tool/note.py,sha256=t0Yr6UxLhgmoFKe2PTq9qjI-sFqPlNE8p2IdpOTdNmQ,1873
24
+ zrb/builtin/llm/tool/code.py,sha256=GdMKCc3Z3bllly0tgtUXMoWdIA9WDjyNcoKftNksJTk,7699
25
+ zrb/builtin/llm/tool/file.py,sha256=ktGWwGMl1nYtHFw1go10kuvKCbrtkjPkQ4bvDgWM5iY,19294
26
+ zrb/builtin/llm/tool/note.py,sha256=HD7qRldvZUpfHW0i4Dev6UZba5j5r4Z3CugB5umL3Wk,2566
26
27
  zrb/builtin/llm/tool/rag.py,sha256=lmoA42IWHcBOWTsWzYGklLs1YoiEldvu_Bi5bp6gbts,9439
27
- zrb/builtin/llm/tool/sub_agent.py,sha256=9_DgiXIeieLVe-ccP0T5pA3uY8VIVVh5pfyDRV0JMlk,5005
28
+ zrb/builtin/llm/tool/sub_agent.py,sha256=UNgsvZvSQ1b5ybB0nRzTiFCJpZG3g2RLj_nzjRZzXMY,5808
28
29
  zrb/builtin/llm/tool/web.py,sha256=x7iHaGRr71yU3qjfKsoyHvht5SB_S3kWPXX2qliyy6k,6278
29
30
  zrb/builtin/md5.py,sha256=690RV2LbW7wQeTFxY-lmmqTSVEEZv3XZbjEUW1Q3XpE,1480
30
31
  zrb/builtin/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -223,19 +224,19 @@ zrb/callback/callback.py,sha256=PFhCqzfxdk6IAthmXcZ13DokT62xtBzJr_ciLw6I8Zg,4030
223
224
  zrb/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
225
  zrb/cmd/cmd_result.py,sha256=L8bQJzWCpcYexIxHBNsXj2pT3BtLmWex0iJSMkvimOA,597
225
226
  zrb/cmd/cmd_val.py,sha256=7Doowyg6BK3ISSGBLt-PmlhzaEkBjWWm51cED6fAUOQ,1014
226
- zrb/config/config.py,sha256=kxab8rz0rzkLveIvJkFK2VVPev-x0lsWVJTUuIwDkGs,16501
227
+ zrb/config/config.py,sha256=bqC_B9OpofNWJkWA11HvtWD-Ut0VeKseIso5OACU6v4,19889
227
228
  zrb/config/default_prompt/file_extractor_system_prompt.md,sha256=cVqhI016-fKa8PKz2kIxQAC0hPExgMT2ks-rVlz4K60,3789
228
- zrb/config/default_prompt/interactive_system_prompt.md,sha256=0-SqyWqrrhpJ84qjSSpi7p4sFV31qnTgLxG0vZ2wKsE,2304
229
+ zrb/config/default_prompt/interactive_system_prompt.md,sha256=UKQBWrihzIHHipIzK4MrdE0ivxBd6JItJ6_eF4Fdr1E,2301
229
230
  zrb/config/default_prompt/persona.md,sha256=GfUJ4-Mlf_Bm1YTzxFNkPkdVbAi06ZDVYh-iIma3NOs,253
230
231
  zrb/config/default_prompt/repo_extractor_system_prompt.md,sha256=lmfMMc9BLLATHAVMmSEeXr7xTeiF4FWv_AWYedgcbDE,3786
231
232
  zrb/config/default_prompt/repo_summarizer_system_prompt.md,sha256=-T_baTblam2XlW99e72jfgsrIBTjpABMBXRFI_7L6RA,1987
232
- zrb/config/default_prompt/summarization_prompt.md,sha256=7Syk3uhf3AUuVP07QpEbIAiQa6ac32DlfNvWaa3OFog,947
233
- zrb/config/default_prompt/system_prompt.md,sha256=zGG1ngG4bFURDsNNJn91CC4LIJnRBbwdJPDxAnBEoHw,2670
233
+ zrb/config/default_prompt/summarization_prompt.md,sha256=0FI7GO9wkOOP7I_CrJPECtrqDHE_SMNr9aKKHC1GtPI,3633
234
+ zrb/config/default_prompt/system_prompt.md,sha256=uyB50RrZBnxGXvBP32QVgdj40vnPECMbP56v48cP2pg,2635
234
235
  zrb/config/llm_config.py,sha256=Nt7P0Q6bRpLbGi3IZ1WPeOxUsUUL438_8ufpML1WN28,12798
235
236
  zrb/config/llm_context/config.py,sha256=WdqoFxc-PSwNh9aeTWhHMNiQZotbdQ8WaVr3YcezGNo,6487
236
237
  zrb/config/llm_context/config_parser.py,sha256=PLfLfMgxPBj7Ryy-37gCZIHrweo1XiFQGnUqjvKXU_Y,1465
237
238
  zrb/config/llm_context/workflow.py,sha256=cHkUYBk2Mc35RBuma7Vn3QCNaHd95Ajqr1N4L43FFZs,2681
238
- zrb/config/llm_rate_limitter.py,sha256=BC6kdsnaLiCBzrUWoAxkgDLH_y0wJadjtccSV88kKCI,6162
239
+ zrb/config/llm_rate_limitter.py,sha256=sNi_fttwRKjMTCn1pBoqx-p2uI4wHSl8CAAP8poe94g,7012
239
240
  zrb/config/web_auth_config.py,sha256=_PXatQTYh2mX9H3HSYSQKp13zm1RlLyVIoeIr6KYMQ8,6279
240
241
  zrb/content_transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
241
242
  zrb/content_transformer/any_content_transformer.py,sha256=v8ZUbcix1GGeDQwB6OKX_1TjpY__ksxWVeqibwa_iZA,850
@@ -261,7 +262,7 @@ zrb/input/base_input.py,sha256=HCTxBZwnK-gP-F7XQGDbyyZHvwYR0fwNICzqVUw5Cg8,4169
261
262
  zrb/input/bool_input.py,sha256=9ir8aTm8zaufrJ84_EerC5vOjyn4hHZ3BiLzFqPgPFM,1839
262
263
  zrb/input/float_input.py,sha256=8G9lJKLlb_Upk9m5pBF9JwqlAAiYJLrbIItLnyzPxpg,1475
263
264
  zrb/input/int_input.py,sha256=UhxCFYlZdJcgUSGGEkz301zOgRVpK0KDG_IxxWpQfMU,1457
264
- zrb/input/option_input.py,sha256=TQB82ko5odgzkULEizBZi0e9TIHEbIgvdP0AR3RhA74,2135
265
+ zrb/input/option_input.py,sha256=pG-7R5QboXRLyb4E63PXIUnhs5fHu2RCkGLBue46mmU,2687
265
266
  zrb/input/password_input.py,sha256=szBojWxSP9QJecgsgA87OIYwQrY2AQ3USIKdDZY6snU,1465
266
267
  zrb/input/str_input.py,sha256=NevZHX9rf1g8eMatPyy-kUX3DglrVAQpzvVpKAzf7bA,81
267
268
  zrb/input/text_input.py,sha256=9vpXJt7ASa_Gq2zFbVWT1p-PBjYf6DpyXfuhIH-rJgs,2969
@@ -353,11 +354,12 @@ zrb/task/base_trigger.py,sha256=nbhFY3QCLNZkXxRorjyC4k2sEJumzR8YCNjOhFBSjJ8,7165
353
354
  zrb/task/cmd_task.py,sha256=myM8WZm6NrUD-Wv0Vb5sTOrutrAVZLt5LVsSBKwX6SM,10860
354
355
  zrb/task/http_check.py,sha256=Gf5rOB2Se2EdizuN9rp65HpGmfZkGc-clIAlHmPVehs,2565
355
356
  zrb/task/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
356
- zrb/task/llm/agent.py,sha256=6ell5632zuJrzzKMY6fHnxCn80bbHdvWEF71Vn6lUAo,11103
357
- zrb/task/llm/config.py,sha256=ZM7fKs88Qzg1g7bYRz3B5YHWv4GNlzCRTNKPmkdoiLY,4337
358
- zrb/task/llm/conversation_history.py,sha256=gxnRd0-X5olQmhJ9aWq4v0KVxYN7jDpPZHJSgkCeDvk,6682
359
- zrb/task/llm/conversation_history_model.py,sha256=kk-7niTl29Rm2EUIhTHzPXgZ5tp4IThMnIB3dS-1OdU,3062
360
- zrb/task/llm/default_workflow/coding/workflow.md,sha256=SLGmZIDDkl2HZAZ0rsQm-JyKL2Tc2h8mvbf5Es8UhCc,5375
357
+ zrb/task/llm/agent.py,sha256=FrwqAt2SKm78C1fXAPJrXOZfd8iu-13n_R3tVetJlfI,8333
358
+ zrb/task/llm/agent_runner.py,sha256=7VmLnhtF1oWfuV6xMCIwd4xPewpDXgfIPEJRoX9boiA,5202
359
+ zrb/task/llm/config.py,sha256=wCcwxcaW2dgjxsjrXnG1inyKpQWs37kXJ-L_CO-KJ5s,4486
360
+ zrb/task/llm/conversation_history.py,sha256=Fye5oryjdDN_JGBkxoPGUsjuU0FTHis1Ue6nTovo1Zo,7112
361
+ zrb/task/llm/conversation_history_model.py,sha256=2ScAuu5ne6X6F0bXm-21ckEoqcDlWDeuD5L4DPPdz-Q,2629
362
+ zrb/task/llm/default_workflow/coding/workflow.md,sha256=tGiZuR5SYtLvvILJ_AkHaWdvXn5wvLd3RqNyjnHq9NE,5474
361
363
  zrb/task/llm/default_workflow/copywriting/workflow.md,sha256=CL9083lrMZHa-J6GlbyGxgRxa8CqJJQFMw_I7WFK13w,3182
362
364
  zrb/task/llm/default_workflow/git/workflow.md,sha256=BBkIChqLkex-irkaWH9lQlQkVHed1SM28nfgx8K3yZA,4263
363
365
  zrb/task/llm/default_workflow/golang/workflow.md,sha256=yezo6bCLjTluJLmSl_OCk9OsJ0eemqWiN1xBL4ioung,4929
@@ -369,14 +371,17 @@ zrb/task/llm/default_workflow/researching/workflow.md,sha256=DpMCJF1EuZTsDc1yFgU
369
371
  zrb/task/llm/default_workflow/rust/workflow.md,sha256=fm1ISFxgqP_MV20jGBAZ62d-zU-tRuF7VbMDD5byZ2c,6537
370
372
  zrb/task/llm/default_workflow/shell/workflow.md,sha256=_5aW5DEjOauiUANNWgbfEFmH5MdjCHagh9a56T1Zykw,7515
371
373
  zrb/task/llm/error.py,sha256=QR-nIohS6pBpC_16cWR-fw7Mevo1sNYAiXMBsh_CJDE,4157
372
- zrb/task/llm/history_summarization.py,sha256=V8YA8Q9cIcH7L0YfEJf87Gys5lGMhDrVV3WWqHz-4R0,7501
373
- zrb/task/llm/history_summarization_tool.py,sha256=3R7-7iNLFQbKTgc1EE_Q_RfP8MvJovPukx_E3tD6apE,949
374
- zrb/task/llm/print_node.py,sha256=jJ-IaQ9PYNeFr_NWnW9BidTVrETOQN1_5aSYX7L8di8,8253
375
- zrb/task/llm/prompt.py,sha256=iV6CfwBRlGBs0EoitIBc38S62VNXpNQMnw7E8sFxCc0,11732
376
- zrb/task/llm/tool_wrapper.py,sha256=AJebBKSlND1NaD1rKcdDBAxMRqw0q8M_jLHgeZZ5tys,11615
374
+ zrb/task/llm/file_replacement.py,sha256=cUgtcfH9OlHzPwdZhSzWVNs7ZO0YYh0ajxqMwfIbvD0,7193
375
+ zrb/task/llm/file_tool_model.py,sha256=bNH-nrHamXtc_sUiPZ1TYI6CqefPIXj3tP4FbURiU1Y,1721
376
+ zrb/task/llm/history_processor.py,sha256=QQHoE2RNz8w75li-RC4PFgCelCLhVv4ObOiSQQ8JxDM,7684
377
+ zrb/task/llm/history_summarization.py,sha256=YqLm9Q5xzFVTL5XwnWu3XwaMgSxKskDFvoi2MIThRB0,927
378
+ zrb/task/llm/print_node.py,sha256=d7OMOJ2kj6iXZS2cC5cyuDF1QDFsA9FxDGX-xfirvxs,8674
379
+ zrb/task/llm/prompt.py,sha256=jlFNWa1IMCYNQh9Ccq9DB1dq9964IOQJ5jNSC9rMpkw,11366
380
+ zrb/task/llm/subagent_conversation_history.py,sha256=y8UbKF2GpjB-r1bc2xCpzepriVEq0wfdyFuHOwfpPfk,1647
381
+ zrb/task/llm/tool_wrapper.py,sha256=1kKXtZ9Wk6gSZJUpXuccdBZH-8RaQ91lTcTrum1nLog,12440
377
382
  zrb/task/llm/typing.py,sha256=c8VAuPBw_4A3DxfYdydkgedaP-LU61W9_wj3m3CAX1E,58
378
383
  zrb/task/llm/workflow.py,sha256=eGpUXoIKgbPFPZJ7hHy_HkGYnGWWx9-B9FNjjNm3_8I,2968
379
- zrb/task/llm_task.py,sha256=rjNhYhJMvBqQvapH8qp8qnRAGlNgxeXBbab6Dr4KjB4,15958
384
+ zrb/task/llm_task.py,sha256=8tNtyufjsWUu5jJQEo9-dpl1N6fycA1ugllaKgLvOao,16571
380
385
  zrb/task/make_task.py,sha256=rWay-Wz2nAOr4mhMcJZuuehuWULfSBmZm5XcDN4ZN3c,2198
381
386
  zrb/task/rsync_task.py,sha256=0M5g2E_b28uCNLXSq2vTsDP2TdGpHfhNn1sDv4MhzNw,7089
382
387
  zrb/task/scaffolder.py,sha256=rME18w1HJUHXgi9eTYXx_T2G4JdqDYzBoNOkdOOo5-o,6806
@@ -386,13 +391,13 @@ zrb/task/tcp_check.py,sha256=P_QgGqwd5dXDaud3oQRxe_WuxyxG4s7CTY2wDk9Qcu0,2511
386
391
  zrb/task_status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
387
392
  zrb/task_status/task_status.py,sha256=blZ8dxg9g_8MuViq-t7yJRLoE7yGUf5srgHf-PCsXNc,3069
388
393
  zrb/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
389
- zrb/util/attr.py,sha256=RGkwkvoIdsiMMsYroblwcvfj4hzDTyzXdVceWvkxZ7M,5278
394
+ zrb/util/attr.py,sha256=3-arwThz8pOnLf4PRA_D-5Pue9xKVEmLtESsIXHCBSE,5523
390
395
  zrb/util/callable.py,sha256=b6OFXbCXp2twow3wh2E_h5hNHLs2pXaLfGQz4iVyiQc,771
391
396
  zrb/util/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
397
  zrb/util/cli/markdown.py,sha256=Uhuw8XR-jAG9AG3oNK8VHJpYOdU40Q_8yVN74uu0RJ8,384
393
398
  zrb/util/cli/style.py,sha256=D_548KG1gXEirQGdkAVTc81vBdCeInXtnG1gV1yabBA,6655
394
399
  zrb/util/cli/subcommand.py,sha256=umTZIlrL-9g-qc_eRRgdaQgK-whvXK1roFfvnbuY7NQ,1753
395
- zrb/util/cli/text.py,sha256=6r1NqvtjKXt-XVVURyBqYE9tZA2Bnr6u8h9Lopr-Gag,870
400
+ zrb/util/cli/text.py,sha256=kNg71NAdT6dAMoe0YN9DgWqV7udh8GlQr6ndXR_6NLA,968
396
401
  zrb/util/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
397
402
  zrb/util/cmd/command.py,sha256=WpEMWVL9hBsxptvDHmRR93_cJ2zP05BJ2h9-tP93M1Y,7473
398
403
  zrb/util/cmd/remote.py,sha256=NGQq2_IrUMDoZz3qmcgtnNYVGjMHaBKQpZxImf0yfXA,1296
@@ -408,7 +413,7 @@ zrb/util/codemod/modify_method.py,sha256=5fioXjqNQmrf4CV2qlTZHpViF9PMnNer4FvuKam
408
413
  zrb/util/codemod/modify_module.py,sha256=2mzi_NxJ-kNFo5G0U_Rqb3JoYQl1s6Izt7b_wAl10F0,715
409
414
  zrb/util/cron.py,sha256=UWqqhhM7DDTPx6wjCIdBndnVh3NRu-sdKazp8aZkXh8,3833
410
415
  zrb/util/file.py,sha256=BUWGfJwlS5FoaFgZ2CBG9LVcm-5cdqtFjaYda0VVs2s,3262
411
- zrb/util/git.py,sha256=GS08OqE-gs6mN-_VqACN82DbI81nzG3FiXeim_-jVAU,8193
416
+ zrb/util/git.py,sha256=Zy8F22IDJy-PIHH7wNy6KpADetrm4us2l0s9JeMS_DM,8166
412
417
  zrb/util/git_diff_model.py,sha256=Tg2q6oxQ5chryThzjs0cLcKFGM03CnqvusTo_Ug_oX4,369
413
418
  zrb/util/git_subtree.py,sha256=AyQWCWEi2EIzEpYXRnYN55157KMUql0WHj70QNw5PHU,4612
414
419
  zrb/util/git_subtree_model.py,sha256=P_gJ0zhOAc3gFM6sYcjc0Ack9dFBt75TI5fXdE0q320,871
@@ -424,10 +429,10 @@ zrb/util/string/name.py,sha256=SXEfxJ1-tDOzHqmSV8kvepRVyMqs2XdV_vyoh_9XUu0,1584
424
429
  zrb/util/todo.py,sha256=r9_KYF2-hLKMNjsp6AFK9zivykMrywd-kJ4bCwfdafI,19323
425
430
  zrb/util/todo_model.py,sha256=hhzAX-uFl5rsg7iVX1ULlJOfBtblwQ_ieNUxBWfc-Os,1670
426
431
  zrb/util/truncate.py,sha256=eSzmjBpc1Qod3lM3M73snNbDOcARHukW_tq36dWdPvc,921
427
- zrb/util/yaml.py,sha256=iMtrSB1ejW6mD_3xF_AMvWfueQ1YthmGVp7mkvKIWUc,6482
432
+ zrb/util/yaml.py,sha256=MXcqQTOYzx16onFxxg6HNdavxDK4RQjvKUi2NMKd19Y,6510
428
433
  zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
429
- zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
430
- zrb-1.21.9.dist-info/METADATA,sha256=GRnJfNYAO5RlJ3XEX3QxAf3gcSPQz9dp5DHra_mQ3Uc,10613
431
- zrb-1.21.9.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
432
- zrb-1.21.9.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
433
- zrb-1.21.9.dist-info/RECORD,,
434
+ zrb/xcom/xcom.py,sha256=W5BOF9w5fVX2ZBlbOTMsXHbY0yU8Advm-_oWJ3DJvDM,1824
435
+ zrb-1.21.28.dist-info/METADATA,sha256=fs0DhOtJarqSf8NvHERj0DK3yKjhNV902bLKYvuLa5w,10622
436
+ zrb-1.21.28.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
437
+ zrb-1.21.28.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
438
+ zrb-1.21.28.dist-info/RECORD,,
@@ -1,24 +0,0 @@
1
- from typing import Callable
2
-
3
- from zrb.task.llm.conversation_history_model import ConversationHistory
4
-
5
-
6
- def create_history_summarization_tool(
7
- conversation_history: ConversationHistory,
8
- ) -> Callable[[str, str], str]:
9
- def update_conversation_memory(
10
- past_conversation_summary: str,
11
- past_conversation_transcript: str,
12
- ) -> str:
13
- """
14
- Update the conversation memory including summary and transcript.
15
- - past_conversation_summary: A concise narrative that integrates the
16
- previous summary with the recent conversation.
17
- - past_conversation_transcript: MUST be ONLY the last 4 (four) turns
18
- of the conversation.
19
- """
20
- conversation_history.past_conversation_summary = past_conversation_summary
21
- conversation_history.past_conversation_transcript = past_conversation_transcript
22
- return "Conversation memory updated"
23
-
24
- return update_conversation_memory
File without changes