zrb 1.15.26__py3-none-any.whl → 1.16.0__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.
@@ -26,12 +26,12 @@ def inject_conversation_history_notes(conversation_history: ConversationHistory)
26
26
 
27
27
 
28
28
  def _fetch_long_term_note(project_path: str) -> str:
29
- contexts = llm_context_config.get_contexts(cwd=project_path)
29
+ contexts = llm_context_config.get_notes(cwd=project_path)
30
30
  return contexts.get("/", "")
31
31
 
32
32
 
33
33
  def _fetch_contextual_note(project_path: str) -> str:
34
- contexts = llm_context_config.get_contexts(cwd=project_path)
34
+ contexts = llm_context_config.get_notes(cwd=project_path)
35
35
  return "\n".join(
36
36
  [
37
37
  make_prompt_section(header, content)
@@ -28,11 +28,11 @@ def create_history_summarization_tool(
28
28
  conversation_history.past_conversation_summary = past_conversation_summary
29
29
  conversation_history.past_conversation_transcript = past_conversation_transcript
30
30
  if long_term_note is not None:
31
- llm_context_config.write_context(long_term_note, context_path="/")
31
+ llm_context_config.write_note(long_term_note, context_path="/")
32
32
  if contextual_note is not None:
33
33
  if context_path is None:
34
34
  context_path = conversation_history.project_path
35
- llm_context_config.write_context(contextual_note, context_path=context_path)
35
+ llm_context_config.write_note(contextual_note, context_path=context_path)
36
36
  return "Conversation memory updated"
37
37
 
38
38
  return update_conversation_memory
zrb/task/llm/prompt.py CHANGED
@@ -88,6 +88,16 @@ def get_modes(
88
88
  return llm_config.default_modes or []
89
89
 
90
90
 
91
+ def get_project_context_prompt() -> str:
92
+ context_dict = llm_context_config.get_contexts()
93
+ context_prompts = []
94
+ for context_path, context in context_dict.items():
95
+ context_prompts.append(
96
+ make_prompt_section(header=f"Context at `{context_path}`", content=context)
97
+ )
98
+ return "\n".join(context_prompts)
99
+
100
+
91
101
  def get_workflow_prompt(
92
102
  ctx: AnyContext,
93
103
  modes_attr: StrListAttr | None,
@@ -172,6 +182,7 @@ def get_system_and_user_prompt(
172
182
  ctx, special_instruction_prompt_attr, render_special_instruction_prompt
173
183
  )
174
184
  workflow_prompt = get_workflow_prompt(ctx, modes_attr, render_modes)
185
+ project_context_prompt = get_project_context_prompt()
175
186
  if conversation_history is None:
176
187
  conversation_history = ConversationHistory()
177
188
  conversation_context, new_user_message = extract_conversation_context(user_message)
@@ -215,6 +226,7 @@ def get_system_and_user_prompt(
215
226
  ]
216
227
  ),
217
228
  ),
229
+ make_prompt_section("Project Context", project_context_prompt),
218
230
  make_prompt_section("Conversation Context", conversation_context),
219
231
  ]
220
232
  )
zrb/util/file.py CHANGED
@@ -61,6 +61,8 @@ def read_file_with_line_numbers(
61
61
  The content of the file with line numbers and replacements applied.
62
62
  """
63
63
  content = read_file(file_path, replace_map)
64
+ if not content:
65
+ return ""
64
66
  lines = content.splitlines()
65
67
  numbered_lines = [f"{i + 1} | {line}" for i, line in enumerate(lines)]
66
68
  return "\n".join(numbered_lines)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: zrb
3
- Version: 1.15.26
3
+ Version: 1.16.0
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
@@ -9,19 +9,19 @@ zrb/builtin/git_subtree.py,sha256=7BKwOkVTWDrR0DXXQ4iJyHqeR6sV5VYRt8y_rEB0EHg,35
9
9
  zrb/builtin/group.py,sha256=zYC5uw0VE97TXiLCr464kFJ-CJIJyeQ2RXjnVRY5ovs,2577
10
10
  zrb/builtin/http.py,sha256=L6RE73c65wWwG5iHFN-tpOhyh56KsrgVskDd3c3YXtk,4246
11
11
  zrb/builtin/jwt.py,sha256=3M5uaQhJZbKQLjTUft1OwPz_JxtmK-xtkjxWjciOQho,2859
12
- zrb/builtin/llm/chat_session.py,sha256=p0giSVYuQMQ5H1hbQzl7cMb49XZqWG0SF7X-ixB5EBU,10203
12
+ zrb/builtin/llm/chat_session.py,sha256=xVx8ZJUYiGpwejOto31XY8cSm1SX0P57FhOJd5jNKXI,10295
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=b3eS31NA55OUyeZN3O-sD971kz1LeX4QWzQQECpMaXo,6579
15
+ zrb/builtin/llm/llm_ask.py,sha256=FU5KonqW1U_vDch2gIGE7yoMmLLDNiV4QLA4VDv0zxk,6636
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
- zrb/builtin/llm/tool/api.py,sha256=T8NGhBe59sQiu8LfdPOIBmsTNMXWFEKaPPSY9bolsQ8,2401
19
- zrb/builtin/llm/tool/cli.py,sha256=GCGB8GMFjvVcH0Ac-bD44VG6Bj3mQSuIcNHAwJbx4Ts,1210
20
- zrb/builtin/llm/tool/code.py,sha256=fr9FbmtfwizQTyTztvuvwAb9MD_auRZhPZfoJVBlKT4,8777
21
- zrb/builtin/llm/tool/file.py,sha256=FPPvKUZY-w1XEa7EN6D6X4VQoQNQ9ggGWLj-xJt-Ysc,23524
22
- zrb/builtin/llm/tool/rag.py,sha256=n4ATdr-2gCzPb7LnaBSD_TuAG4TUXKhE9ElKrSDHvFc,9763
23
- zrb/builtin/llm/tool/sub_agent.py,sha256=qJTJ2GSH-2Cma2QyHEJm8l_VuDHMHwhAWGls217YA6A,5078
24
- zrb/builtin/llm/tool/web.py,sha256=2FgmiM2LIQfvMMoswidj9hVMav_t8QPG1LiyedL66dw,7349
18
+ zrb/builtin/llm/tool/api.py,sha256=p55Fs6QTmsM2u-vVcBJb9xYxGAkiHIKX2wYKhsGlWFE,2417
19
+ zrb/builtin/llm/tool/cli.py,sha256=sm_maE1WBB051odh1xXr8QQOWln_ewAU_7OScKAneT4,1244
20
+ zrb/builtin/llm/tool/code.py,sha256=mtmXTDZTbUh6bEf4fsVPvfM0bokHMMETDWAHOXRmRmI,8798
21
+ zrb/builtin/llm/tool/file.py,sha256=W4hWCg8Uo3Fo4bucpSDVgjQIGaXTLod5CYOeF23JC-s,23581
22
+ zrb/builtin/llm/tool/rag.py,sha256=aN8D8ZqzGXWCP_1F1LbN0QgfyzaK9CKrjfTPorDIYjw,9824
23
+ zrb/builtin/llm/tool/sub_agent.py,sha256=_curhFBxO9cYAo19VWGkJqKkqsY7kiSknaM__ONJhpg,5087
24
+ zrb/builtin/llm/tool/web.py,sha256=zDgxYRIQRj9A8QXb80-ZSPmGCvIOWy8bpJMGSAuTL8Y,7491
25
25
  zrb/builtin/md5.py,sha256=690RV2LbW7wQeTFxY-lmmqTSVEEZv3XZbjEUW1Q3XpE,1480
26
26
  zrb/builtin/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  zrb/builtin/project/add/fastapp/fastapp_input.py,sha256=MKlWR_LxWhM_DcULCtLfL_IjTxpDnDBkn9KIqNmajFs,310
@@ -218,16 +218,16 @@ 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
220
  zrb/config/config.py,sha256=afsH-a7yTPT5hhvnmxGarAiU5yRUcUbua3Y_hRgltEg,14326
221
- zrb/config/default_prompt/file_extractor_system_prompt.md,sha256=42Co-uNiL1Wn_KtH-7vjvNA0nja-xM0Sh2HpZF9OFU8,3880
222
- zrb/config/default_prompt/interactive_system_prompt.md,sha256=XvXI51dMpQmuuYah_LEWUwJzvWHxNTz8XqbdMsF6qdI,2555
221
+ zrb/config/default_prompt/file_extractor_system_prompt.md,sha256=dNBWy4O4mfCqGkqaRQHDo18hDCengU0IZ0vQMSDwbyY,3821
222
+ zrb/config/default_prompt/interactive_system_prompt.md,sha256=EZmBOwFTzpTkIgQlY-Zfp3oUjvM4ojQjQFIIa-V6wHA,2710
223
223
  zrb/config/default_prompt/persona.md,sha256=GfUJ4-Mlf_Bm1YTzxFNkPkdVbAi06ZDVYh-iIma3NOs,253
224
- zrb/config/default_prompt/repo_extractor_system_prompt.md,sha256=EGZ-zj78RlMEg2jduRBs8WzO4VJTkXHR96IpBepZMsY,3881
225
- zrb/config/default_prompt/repo_summarizer_system_prompt.md,sha256=RNy37Wg7ibXj3DlsFKaYvgMpMS-lyXlM1LZlc59_4ic,2009
226
- zrb/config/default_prompt/summarization_prompt.md,sha256=qGSZJHQ0KVaSoeDVeAmvxaOHUGeLPaq813jepGqnkbk,1564
227
- zrb/config/default_prompt/system_prompt.md,sha256=gEb6N-cFg6VvOV-7ZffNwVt39DavAGesMqn9u0epbRc,2282
224
+ zrb/config/default_prompt/repo_extractor_system_prompt.md,sha256=jkmpjKfWKKo3a5xzRi4CjFuRXhWwNmVGbR_Os-M8WZg,3822
225
+ zrb/config/default_prompt/repo_summarizer_system_prompt.md,sha256=nEDVbhVwTUKJ9W3AoV_h-7hcsT9VjfjE62F3FeWA1a4,1993
226
+ zrb/config/default_prompt/summarization_prompt.md,sha256=LKE0t4sioWWMmZgFf2fiYknMFZ7m-QxS5DSMnjGFPrU,1548
227
+ zrb/config/default_prompt/system_prompt.md,sha256=SP49gcvIQB7mxWqfQAAQUwXwYemQkgWAXpRHiuXjCy0,2368
228
228
  zrb/config/llm_config.py,sha256=9I_msAibvTY-ADG6lXCBXQ0EshaA-GQzJym9EZKsetw,8901
229
- zrb/config/llm_context/config.py,sha256=TPQX_kU772r0AHmVFeo1WGLDAidacT-qDyuMWxY_avg,5878
230
- zrb/config/llm_context/config_parser.py,sha256=h95FbOjvVobhrsfGtG_BY3hxS-OLzQj-9F5vGZuehkY,1473
229
+ zrb/config/llm_context/config.py,sha256=yHMElDqOwTduTYCfTDZJ6bOlgcApc203-nZQzxae7N8,6845
230
+ zrb/config/llm_context/config_parser.py,sha256=XrvkpbmzrrAuDhLCugriBHf2t9fSFuYxwzKehvTl9x4,1467
231
231
  zrb/config/llm_rate_limitter.py,sha256=_iQRv3d6kUPeRvmUYZX_iwCE7iDSEK1oKa4bQ9GROho,5261
232
232
  zrb/config/web_auth_config.py,sha256=_PXatQTYh2mX9H3HSYSQKp13zm1RlLyVIoeIr6KYMQ8,6279
233
233
  zrb/content_transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -246,8 +246,8 @@ zrb/env/env.py,sha256=zT-xj0l5G_lp_ginV_InuBr5qTqZMcGaMKE_p5FoqlU,1061
246
246
  zrb/env/env_file.py,sha256=dccsR_cjXp1Q_qz692YPaZSny3Xa049V5NAZ-WLDDEQ,746
247
247
  zrb/env/env_map.py,sha256=CKMmXUbuvf6h2rgFWj-WvW_xLZNgG3TtWdfrqHDe4qk,1253
248
248
  zrb/group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
- zrb/group/any_group.py,sha256=sdUk82YRuJBMwDhD_b-vJ3v-Yxz8K7LFW52TM19k3HI,1242
250
- zrb/group/group.py,sha256=t5JnXlrLfthFfqmkVdRLKCIyms4JqsthcTODVncSmPk,4312
249
+ zrb/group/any_group.py,sha256=BstkxtRQTGjMKdr1ErEHhB0UopXtYvwbCEOJnX5LjXA,1420
250
+ zrb/group/group.py,sha256=JBiigohvtLdR1t3irXJzfUPeYqiNgqUWhlKaB79stpE,4409
251
251
  zrb/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
252
252
  zrb/input/any_input.py,sha256=3EQgg2Qk_2t2Ege_4pHV2G95tV3XAIThLLuFZ6uV6oM,1051
253
253
  zrb/input/base_input.py,sha256=HCTxBZwnK-gP-F7XQGDbyyZHvwYR0fwNICzqVUw5Cg8,4169
@@ -257,7 +257,7 @@ zrb/input/int_input.py,sha256=UhxCFYlZdJcgUSGGEkz301zOgRVpK0KDG_IxxWpQfMU,1457
257
257
  zrb/input/option_input.py,sha256=TQB82ko5odgzkULEizBZi0e9TIHEbIgvdP0AR3RhA74,2135
258
258
  zrb/input/password_input.py,sha256=szBojWxSP9QJecgsgA87OIYwQrY2AQ3USIKdDZY6snU,1465
259
259
  zrb/input/str_input.py,sha256=NevZHX9rf1g8eMatPyy-kUX3DglrVAQpzvVpKAzf7bA,81
260
- zrb/input/text_input.py,sha256=NRM9FSS2pUFs7_R0KsBlu_CD8WLxbfbwxRkpaRoeCSY,3049
260
+ zrb/input/text_input.py,sha256=9vpXJt7ASa_Gq2zFbVWT1p-PBjYf6DpyXfuhIH-rJgs,2969
261
261
  zrb/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
262
262
  zrb/runner/cli.py,sha256=E5GGNJjCOBpFbhgnMM_iE1TVYhxMNDJKA6WxCRETTmA,6951
263
263
  zrb/runner/common_util.py,sha256=yIJm9ivM7hvJ4Kb4Nt5RRE7oqAlt9EN89w6JDGyLkFE,1570
@@ -348,16 +348,16 @@ 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=UqQoxhPDg25jm5UwlC0mmPypfV56mXGNpk5hiZ75nbA,10949
350
350
  zrb/task/llm/config.py,sha256=zOPf4NpdWPuBc_R8d-kljYcOKfUAypDxiSjRDrxV66M,4059
351
- zrb/task/llm/conversation_history.py,sha256=oMdKUV2__mBZ4znnA-prl-gfyoleKC8Nj5KNpmLQJ4o,6764
351
+ zrb/task/llm/conversation_history.py,sha256=_ThBOCv4vs3V6B3P_s-Aad2sH0RqE46KzLqgwdwHMC0,6758
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
354
354
  zrb/task/llm/default_workflow/copywriting.md,sha256=xSO7GeDolwGxiuz6kXsK2GKGpwp8UgtG0yRqTmill_s,1999
355
355
  zrb/task/llm/default_workflow/researching.md,sha256=KD-aYHFHir6Ti-4FsBBtGwiI0seSVgleYbKJZi_POXA,2139
356
356
  zrb/task/llm/error.py,sha256=QR-nIohS6pBpC_16cWR-fw7Mevo1sNYAiXMBsh_CJDE,4157
357
357
  zrb/task/llm/history_summarization.py,sha256=blTKfaSpgaqvORWzGL3BKrRWAsfNdZB03oJTEOS-j5s,8098
358
- zrb/task/llm/history_summarization_tool.py,sha256=RmYxWAxmBzhgwz9Cyu5aZ9so8r3zeAVhekEhqfhuTrY,1766
358
+ zrb/task/llm/history_summarization_tool.py,sha256=5KQUoP75udhtVRbGVxJgnQ36WtVoX--aMvAfGIMBJmw,1760
359
359
  zrb/task/llm/print_node.py,sha256=Nnf4F6eDJR4PFcOqQ1jLWBTFnzNGl1Stux2DZ3SMhsY,8062
360
- zrb/task/llm/prompt.py,sha256=FGXWYHecWtrNNkPnjg-uhnkqp7fYt8V91-AjFM_5fpA,11550
360
+ zrb/task/llm/prompt.py,sha256=Mb3hz-KAp2bL9m6ZL0gcfLveRfBDRZvDVN_HHPGuEPM,12028
361
361
  zrb/task/llm/tool_wrapper.py,sha256=ifOP-smxHcDNpZvZMZm0XkKH49BicbyGTtpHNdcIA6Q,10241
362
362
  zrb/task/llm/typing.py,sha256=c8VAuPBw_4A3DxfYdydkgedaP-LU61W9_wj3m3CAX1E,58
363
363
  zrb/task/llm_task.py,sha256=OxJ9QpqjEyeOI1_zqzNZHtQlRHi0ANOvL9FYaWLzO3Y,14913
@@ -391,7 +391,7 @@ zrb/util/codemod/modify_function_call.py,sha256=wbyoRRsM4V9fPYkT5kHN0zpBetpRDq2S
391
391
  zrb/util/codemod/modify_method.py,sha256=5fioXjqNQmrf4CV2qlTZHpViF9PMnNer4FvuKam7byo,6344
392
392
  zrb/util/codemod/modify_module.py,sha256=2mzi_NxJ-kNFo5G0U_Rqb3JoYQl1s6Izt7b_wAl10F0,715
393
393
  zrb/util/cron.py,sha256=UWqqhhM7DDTPx6wjCIdBndnVh3NRu-sdKazp8aZkXh8,3833
394
- zrb/util/file.py,sha256=FBuLpyMLvJMflK2shssct2TA5lBGaIIX2SJKHSZ7DXQ,3027
394
+ zrb/util/file.py,sha256=FYHRSyliNkHkR3944ySwIW8z--WpmdiJewlYyXdKOAU,3065
395
395
  zrb/util/git.py,sha256=GS08OqE-gs6mN-_VqACN82DbI81nzG3FiXeim_-jVAU,8193
396
396
  zrb/util/git_diff_model.py,sha256=Tg2q6oxQ5chryThzjs0cLcKFGM03CnqvusTo_Ug_oX4,369
397
397
  zrb/util/git_subtree.py,sha256=AyQWCWEi2EIzEpYXRnYN55157KMUql0WHj70QNw5PHU,4612
@@ -410,7 +410,7 @@ zrb/util/todo_model.py,sha256=hhzAX-uFl5rsg7iVX1ULlJOfBtblwQ_ieNUxBWfc-Os,1670
410
410
  zrb/util/truncate.py,sha256=eSzmjBpc1Qod3lM3M73snNbDOcARHukW_tq36dWdPvc,921
411
411
  zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
412
412
  zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
413
- zrb-1.15.26.dist-info/METADATA,sha256=Eu_JTWqERNjfPIA4s8ChoWYZ7Da_PsT4p4OwB5BtxIw,9892
414
- zrb-1.15.26.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
415
- zrb-1.15.26.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
416
- zrb-1.15.26.dist-info/RECORD,,
413
+ zrb-1.16.0.dist-info/METADATA,sha256=QzbUwB2WPeiN1MA92_dIsD4ZO-ZhsRrqAW52AOrbi84,9891
414
+ zrb-1.16.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
415
+ zrb-1.16.0.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
416
+ zrb-1.16.0.dist-info/RECORD,,
File without changes