zrb 1.15.18__py3-none-any.whl → 1.15.20__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.
@@ -32,6 +32,26 @@ from zrb.task.base_trigger import BaseTrigger
32
32
  from zrb.task.llm_task import LLMTask
33
33
  from zrb.util.string.conversion import to_boolean
34
34
 
35
+
36
+ def _get_default_yolo_mode(ctx: AnyContext) -> str:
37
+ default_value = llm_config.default_yolo_mode
38
+ if isinstance(default_value, list):
39
+ return ",".join(default_value)
40
+ return f"{default_value}"
41
+
42
+
43
+ def _render_yolo_mode_input(ctx: AnyContext) -> list[str] | bool | None:
44
+ if ctx.input.yolo.strip() == "":
45
+ return None
46
+ elements = ctx.input.yolo.split(",")
47
+ if len(elements) == 0:
48
+ try:
49
+ return to_boolean(elements[0])
50
+ except Exception:
51
+ pass
52
+ return elements
53
+
54
+
35
55
  _llm_ask_inputs = [
36
56
  StrInput(
37
57
  "model",
@@ -88,7 +108,7 @@ _llm_ask_inputs = [
88
108
  "yolo",
89
109
  description="YOLO mode (LLM Agent will start in YOLO Mode)",
90
110
  prompt="YOLO mode (LLM Agent will start in YOLO Mode)",
91
- default=lambda ctx: llm_config.default_yolo_mode,
111
+ default=_get_default_yolo_mode,
92
112
  allow_positional_parsing=False,
93
113
  always_prompt=False,
94
114
  ),
@@ -103,19 +123,6 @@ _llm_ask_inputs = [
103
123
  ),
104
124
  ]
105
125
 
106
-
107
- def _render_yolo_mode_input(ctx: AnyContext) -> list[str] | bool | None:
108
- if ctx.input.yolo.strip() == "":
109
- return None
110
- elements = ctx.input.yolo.split(",")
111
- if len(elements) == 0:
112
- try:
113
- return to_boolean(elements[0])
114
- except Exception:
115
- pass
116
- return elements
117
-
118
-
119
126
  llm_ask: LLMTask = llm_group.add_task(
120
127
  LLMTask(
121
128
  name="llm-ask",
zrb/config/config.py CHANGED
@@ -304,8 +304,12 @@ class Config:
304
304
  return float(self._getenv("LLM_THROTTLE_SLEEP", "1.0"))
305
305
 
306
306
  @property
307
- def LLM_YOLO_MODE(self) -> bool:
308
- return to_boolean(self._getenv("LLM_YOLO_MODE", "false"))
307
+ def LLM_YOLO_MODE(self) -> bool | list[str]:
308
+ str_val = self._getenv("LLM_YOLO_MODE", "false")
309
+ try:
310
+ return to_boolean(str_val)
311
+ except Exception:
312
+ return [val.strip() for val in str_val.split(",") if val.strip() != ""]
309
313
 
310
314
  @property
311
315
  def LLM_SUMMARIZE_HISTORY(self) -> bool:
zrb/config/llm_config.py CHANGED
@@ -26,7 +26,7 @@ class LLMConfig:
26
26
  default_model: "Model | None" = None,
27
27
  default_model_settings: "ModelSettings | None" = None,
28
28
  default_model_provider: "Provider | None" = None,
29
- default_yolo_mode: bool | None = None,
29
+ default_yolo_mode: bool | list[str] | None = None,
30
30
  ):
31
31
  self.__internal_default_prompt: dict[str, str] = {}
32
32
  self._default_model_name = default_model_name
@@ -175,7 +175,7 @@ class LLMConfig:
175
175
  )
176
176
 
177
177
  @property
178
- def default_yolo_mode(self) -> bool:
178
+ def default_yolo_mode(self) -> bool | list[str]:
179
179
  return self._get_property(
180
180
  self._default_yolo_mode, CFG.LLM_YOLO_MODE, lambda: False
181
181
  )
@@ -236,7 +236,7 @@ class LLMConfig:
236
236
  def set_default_model_settings(self, model_settings: "ModelSettings"):
237
237
  self._default_model_settings = model_settings
238
238
 
239
- def set_default_yolo_mode(self, yolo_mode: bool):
239
+ def set_default_yolo_mode(self, yolo_mode: bool | list[str]):
240
240
  self._default_yolo_mode = yolo_mode
241
241
 
242
242
 
zrb/task/llm/config.py CHANGED
@@ -16,11 +16,13 @@ def get_yolo_mode(
16
16
  yolo_mode_attr: BoolAttr | StrAttr | None = None,
17
17
  render_yolo_mode: bool = True,
18
18
  ) -> bool | list[str]:
19
+ if yolo_mode_attr is None:
20
+ return llm_config.default_yolo_mode
19
21
  try:
20
22
  return get_bool_attr(
21
23
  ctx,
22
24
  yolo_mode_attr,
23
- llm_config.default_yolo_mode,
25
+ False,
24
26
  auto_render=render_yolo_mode,
25
27
  )
26
28
  except Exception:
@@ -1,7 +1,7 @@
1
1
  import re
2
2
 
3
3
  NON_ALPHA_NUM = re.compile(r"[^a-zA-Z0-9]+")
4
- TRUE_STRS = ["true", "1", "yes", "y", "active", "on"]
4
+ TRUE_STRS = ["true", "1", "yes", "y", "active", "on", "okay", "ok"]
5
5
  FALSE_STRS = ["false", "0", "no", "n", "inactive", "off"]
6
6
 
7
7
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: zrb
3
- Version: 1.15.18
3
+ Version: 1.15.20
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
@@ -12,7 +12,7 @@ zrb/builtin/jwt.py,sha256=3M5uaQhJZbKQLjTUft1OwPz_JxtmK-xtkjxWjciOQho,2859
12
12
  zrb/builtin/llm/chat_session.py,sha256=p0giSVYuQMQ5H1hbQzl7cMb49XZqWG0SF7X-ixB5EBU,10203
13
13
  zrb/builtin/llm/history.py,sha256=LDOrL0p7r_AHLa5L8Dp7bHNsOALugmJd7OguXRWGnm4,3087
14
14
  zrb/builtin/llm/input.py,sha256=Nw-26uTWp2QhUgKJcP_IMHmtk-b542CCSQ_vCOjhvhM,877
15
- zrb/builtin/llm/llm_ask.py,sha256=BuZdQKw4oXCdZyFYr-pKKMKGMG3XDQKa9aaCGOoSsHM,6015
15
+ zrb/builtin/llm/llm_ask.py,sha256=XtnSZoBvwHqnBUi8R0rt8VDfnBmWgwFlDuuo1WA1W_w,6209
16
16
  zrb/builtin/llm/previous-session.js,sha256=xMKZvJoAbrwiyHS0OoPrWuaKxWYLoyR5sguePIoCjTY,816
17
17
  zrb/builtin/llm/tool/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  zrb/builtin/llm/tool/api.py,sha256=vMEiZhhTZ3o2jRBxWcJ62b0M85wd_w4W0X4Hx23NXto,2380
@@ -217,7 +217,7 @@ zrb/callback/callback.py,sha256=PFhCqzfxdk6IAthmXcZ13DokT62xtBzJr_ciLw6I8Zg,4030
217
217
  zrb/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
218
  zrb/cmd/cmd_result.py,sha256=L8bQJzWCpcYexIxHBNsXj2pT3BtLmWex0iJSMkvimOA,597
219
219
  zrb/cmd/cmd_val.py,sha256=7Doowyg6BK3ISSGBLt-PmlhzaEkBjWWm51cED6fAUOQ,1014
220
- zrb/config/config.py,sha256=AtJ61i_ZTi95vRV5h4EKtMWhPdU2YVEdv08mU1DePEk,14161
220
+ zrb/config/config.py,sha256=afsH-a7yTPT5hhvnmxGarAiU5yRUcUbua3Y_hRgltEg,14326
221
221
  zrb/config/default_prompt/file_extractor_system_prompt.md,sha256=42Co-uNiL1Wn_KtH-7vjvNA0nja-xM0Sh2HpZF9OFU8,3880
222
222
  zrb/config/default_prompt/interactive_system_prompt.md,sha256=XvXI51dMpQmuuYah_LEWUwJzvWHxNTz8XqbdMsF6qdI,2555
223
223
  zrb/config/default_prompt/persona.md,sha256=GfUJ4-Mlf_Bm1YTzxFNkPkdVbAi06ZDVYh-iIma3NOs,253
@@ -225,7 +225,7 @@ zrb/config/default_prompt/repo_extractor_system_prompt.md,sha256=EGZ-zj78RlMEg2j
225
225
  zrb/config/default_prompt/repo_summarizer_system_prompt.md,sha256=RNy37Wg7ibXj3DlsFKaYvgMpMS-lyXlM1LZlc59_4ic,2009
226
226
  zrb/config/default_prompt/summarization_prompt.md,sha256=vbxzJGeH7uCdgnfbVt3GYOjY-BygmeRfJ6tnzXmFdoY,1698
227
227
  zrb/config/default_prompt/system_prompt.md,sha256=gEb6N-cFg6VvOV-7ZffNwVt39DavAGesMqn9u0epbRc,2282
228
- zrb/config/llm_config.py,sha256=-XmSCkFk858NlKHSbAWo4e2bMzE9-mMriIoR5_RaXtE,8865
228
+ zrb/config/llm_config.py,sha256=9I_msAibvTY-ADG6lXCBXQ0EshaA-GQzJym9EZKsetw,8901
229
229
  zrb/config/llm_context/config.py,sha256=TPQX_kU772r0AHmVFeo1WGLDAidacT-qDyuMWxY_avg,5878
230
230
  zrb/config/llm_context/config_parser.py,sha256=h95FbOjvVobhrsfGtG_BY3hxS-OLzQj-9F5vGZuehkY,1473
231
231
  zrb/config/llm_rate_limitter.py,sha256=_iQRv3d6kUPeRvmUYZX_iwCE7iDSEK1oKa4bQ9GROho,5261
@@ -347,7 +347,7 @@ zrb/task/cmd_task.py,sha256=myM8WZm6NrUD-Wv0Vb5sTOrutrAVZLt5LVsSBKwX6SM,10860
347
347
  zrb/task/http_check.py,sha256=Gf5rOB2Se2EdizuN9rp65HpGmfZkGc-clIAlHmPVehs,2565
348
348
  zrb/task/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
349
349
  zrb/task/llm/agent.py,sha256=uI0X_injDrxq-IhYuZsAMdoq9AXy-gnipozGuZ72QIs,8990
350
- zrb/task/llm/config.py,sha256=UrRdjgCpTllJaH6LIptHOj69h7upnYd0q9iKHhszErk,4007
350
+ zrb/task/llm/config.py,sha256=zOPf4NpdWPuBc_R8d-kljYcOKfUAypDxiSjRDrxV66M,4059
351
351
  zrb/task/llm/conversation_history.py,sha256=oMdKUV2__mBZ4znnA-prl-gfyoleKC8Nj5KNpmLQJ4o,6764
352
352
  zrb/task/llm/conversation_history_model.py,sha256=kk-7niTl29Rm2EUIhTHzPXgZ5tp4IThMnIB3dS-1OdU,3062
353
353
  zrb/task/llm/default_workflow/coding.md,sha256=2uythvPsnBpYfIhiIH1cCinQXX0i0yUqsL474Zpemw0,2484
@@ -401,7 +401,7 @@ zrb/util/llm/prompt.py,sha256=HMpKby27DE8lJWpytYKylp7Iw9ENwsYQI0nMMKCCi54,2190
401
401
  zrb/util/load.py,sha256=DK0KYSlu48HCoGPqnW1IxnE3pHrZSPCstfz8Fjyqqv8,2140
402
402
  zrb/util/run.py,sha256=vu-mcSWDP_WuuvIKqM_--Gk3WkABO1oTXiHmBRTvVQk,546
403
403
  zrb/util/string/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
404
- zrb/util/string/conversion.py,sha256=XEvN1hyziEwP9mEC_LdNaisoLLZF3l4DE40DgNEo6is,6257
404
+ zrb/util/string/conversion.py,sha256=ovSQtogMCt2hQcyh1neSp_XdbFx4WX-Mw5xoUlyOnRQ,6271
405
405
  zrb/util/string/format.py,sha256=MwWGAwSdtOgR_2uz-JCXlg_q-uRYUUI-G8CGkfdgqik,1198
406
406
  zrb/util/string/name.py,sha256=SXEfxJ1-tDOzHqmSV8kvepRVyMqs2XdV_vyoh_9XUu0,1584
407
407
  zrb/util/todo.py,sha256=r9_KYF2-hLKMNjsp6AFK9zivykMrywd-kJ4bCwfdafI,19323
@@ -409,7 +409,7 @@ zrb/util/todo_model.py,sha256=hhzAX-uFl5rsg7iVX1ULlJOfBtblwQ_ieNUxBWfc-Os,1670
409
409
  zrb/util/truncate.py,sha256=eSzmjBpc1Qod3lM3M73snNbDOcARHukW_tq36dWdPvc,921
410
410
  zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
411
411
  zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
412
- zrb-1.15.18.dist-info/METADATA,sha256=cGOrmv5M8MXtOP4PyxO1Wfxln5G8EVsL6R4gAaN5ANo,9892
413
- zrb-1.15.18.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
414
- zrb-1.15.18.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
415
- zrb-1.15.18.dist-info/RECORD,,
412
+ zrb-1.15.20.dist-info/METADATA,sha256=xEpmCD_LUxH-rR-OqQcBtkOQHbvYhkEsw2fu12gfUtI,9892
413
+ zrb-1.15.20.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
414
+ zrb-1.15.20.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
415
+ zrb-1.15.20.dist-info/RECORD,,
File without changes