zrb 1.15.9__py3-none-any.whl → 1.15.11__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.
@@ -1,16 +1,20 @@
1
- You are a silent memory management AI. Your purpose is to issue tool calls to manage memory. Do not output any conversational text.
1
+ You are a memory management AI. Your ONLY purpose is to manage the conversation history by calling tools. You MUST NOT output any conversational text, explanations, or apologies.
2
2
 
3
- **Primary Directive:** Update the conversation memory based on the `Recent Conversation`.
3
+ Follow these steps precisely:
4
4
 
5
- **Actions:**
6
- 1. **Update Conversation:**
7
- - Call `write_past_conversation_summary` ONCE. The summary must be a narrative condensing the old summary and recent conversation.
8
- - Call `write_past_conversation_transcript` ONCE. The transcript MUST contain at most the last 4 (four) conversation turns. The content of these turns must not be altered or truncated, furthermore the timezone has to be included. Use the format: `[YYYY-MM-DD HH:MM:SS UTC+Z] Role: Message/Tool name being called`.
9
- 2. **Update Factual Notes:**
10
- - Read existing notes first.
11
- - Call `write_long_term_note` AT MOST ONCE with new or updated global facts (e.g., user preferences).
12
- - Call `write_contextual_note` AT MOST ONCE with new or updated project-specific facts.
13
- - **CRITICAL - Path Specificity:** Project-specific facts are tied to the directory where they were established. You MUST analyze the `Recent Conversation` to determine the correct `context_path` for the facts you are writing. For example, if a user sets a project name while the working directory is `/tmp/a`, the `context_path` for that fact MUST be `/tmp/a`.
14
- - **CRITICAL - Note Content:** Note content MUST be raw, unformatted text. Do NOT include markdown headers. Notes must be timeless facts about the current state, not a chronological log. Only write if the content has changed.
5
+ **Step 1: Update Conversation Summary and Transcript**
15
6
 
16
- **Final Step:** After all tool calls, you MUST output the word "DONE" on a new line. Do not output anything else.
7
+ 1. Call the `write_past_conversation_summary` tool ONCE. The summary you provide must be a concise narrative that integrates the previous summary with the `Recent Conversation`.
8
+ 2. Call the `write_past_conversation_transcript` tool ONCE. The content for this tool MUST be ONLY the last 4 (four) turns of the conversation. Do not change or shorten the content of these turns. Ensure the timestamp format is `[YYYY-MM-DD HH:MM:SS UTC+Z] Role: Message/Tool name being called`.
9
+
10
+ **Step 2: Update Factual Notes**
11
+
12
+ 1. First, read the existing notes to understand the current state.
13
+ 2. Call `write_long_term_note` AT MOST ONCE. Use it to add or update global facts about the user or their preferences.
14
+ 3. Call `write_contextual_note` AT MOST ONCE. Use it to add or update facts specific to the current project or directory (`context_path`).
15
+ 4. **CRITICAL:** When calling `write_contextual_note`, you MUST determine the correct `context_path` by analyzing the `Recent Conversation`. For example, if a fact was established when the working directory was `/app`, the `context_path` MUST be `/app`.
16
+ 5. **CRITICAL:** The content for notes must be raw, unformatted text. Do not use Markdown. Notes should be timeless facts, not a log of events. Only update notes if the information has actually changed.
17
+
18
+ **Step 3: Finalize**
19
+
20
+ After making all necessary tool calls, your FINAL RESPONSE must be a single word "DONE" marking the end of this session.
@@ -22,6 +22,10 @@ if TYPE_CHECKING:
22
22
  from pydantic_ai import Tool
23
23
 
24
24
 
25
+ class UserDisapproval(ValueError):
26
+ pass
27
+
28
+
25
29
  def wrap_tool(func: Callable, ctx: AnyContext, is_yolo_mode: bool) -> "Tool":
26
30
  """Wraps a tool function to handle exceptions and context propagation."""
27
31
  from pydantic_ai import RunContext, Tool
@@ -109,7 +113,7 @@ def _create_wrapper(
109
113
  if not is_yolo_mode and not ctx.is_web_mode and ctx.is_tty:
110
114
  approval, reason = await _ask_for_approval(ctx, func, args, kwargs)
111
115
  if not approval:
112
- raise ValueError(f"User disapproving: {reason}")
116
+ raise UserDisapproval(f"User disapproving: {reason}")
113
117
  return await run_async(func(*args, **kwargs))
114
118
  except KeyboardInterrupt as e:
115
119
  raise e
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: zrb
3
- Version: 1.15.9
3
+ Version: 1.15.11
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
@@ -26,7 +26,7 @@ Requires-Dist: markdownify (>=1.2.0,<2.0.0)
26
26
  Requires-Dist: pdfplumber (>=0.11.7,<0.12.0)
27
27
  Requires-Dist: playwright (>=1.54.0,<2.0.0) ; extra == "playwright" or extra == "all"
28
28
  Requires-Dist: psutil (>=7.0.0,<8.0.0)
29
- Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cli,cohere,google,groq,huggingface,mcp,mistral,openai,vertexai] (>=0.7.4,<0.8.0)
29
+ Requires-Dist: pydantic-ai-slim[anthropic,bedrock,cli,cohere,google,groq,huggingface,mcp,mistral,openai,vertexai] (>=0.7.5,<0.8.0)
30
30
  Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
31
31
  Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
32
32
  Requires-Dist: python-jose[cryptography] (>=3.5.0,<4.0.0)
@@ -223,7 +223,7 @@ zrb/config/default_prompt/interactive_system_prompt.md,sha256=XvXI51dMpQmuuYah_L
223
223
  zrb/config/default_prompt/persona.md,sha256=GfUJ4-Mlf_Bm1YTzxFNkPkdVbAi06ZDVYh-iIma3NOs,253
224
224
  zrb/config/default_prompt/repo_extractor_system_prompt.md,sha256=EGZ-zj78RlMEg2jduRBs8WzO4VJTkXHR96IpBepZMsY,3881
225
225
  zrb/config/default_prompt/repo_summarizer_system_prompt.md,sha256=RNy37Wg7ibXj3DlsFKaYvgMpMS-lyXlM1LZlc59_4ic,2009
226
- zrb/config/default_prompt/summarization_prompt.md,sha256=gtuaJJAO9P7ZPhtj-e630slDT1hpoR-GBoT8XyITsw4,1690
226
+ zrb/config/default_prompt/summarization_prompt.md,sha256=aD89YDQbRTqJu6wT3H_zArL-v6uvARBcV32fhDQJW88,1708
227
227
  zrb/config/default_prompt/system_prompt.md,sha256=gEb6N-cFg6VvOV-7ZffNwVt39DavAGesMqn9u0epbRc,2282
228
228
  zrb/config/llm_config.py,sha256=xt-Xf8ZuNoUT_GKCSFz5yy0BhbeHzxP-jrezB06WeiY,8857
229
229
  zrb/config/llm_context/config.py,sha256=PDsrKAduQfsEUMYt4jirG0F7KDkY7jqhrbsptxdMOEg,4962
@@ -357,7 +357,7 @@ zrb/task/llm/error.py,sha256=QR-nIohS6pBpC_16cWR-fw7Mevo1sNYAiXMBsh_CJDE,4157
357
357
  zrb/task/llm/history_summarization.py,sha256=_eWFP4cAn3tTfyt7YPjnPwm_PgMhMChPg9g2q2Gsf0c,8172
358
358
  zrb/task/llm/print_node.py,sha256=fNTL0LtoZBQQPHYCAUaOFP97nNNfobPXvY2RlxewQCE,7556
359
359
  zrb/task/llm/prompt.py,sha256=FGXWYHecWtrNNkPnjg-uhnkqp7fYt8V91-AjFM_5fpA,11550
360
- zrb/task/llm/tool_wrapper.py,sha256=SfDBDikT7cIqBThhLqrx4CFiNOmti8FAoBakRoEySqU,9619
360
+ zrb/task/llm/tool_wrapper.py,sha256=k_QJOrL1KqchGOcmn8DrJ71kPxyUFdHZp-_Scj7dYdc,9670
361
361
  zrb/task/llm/typing.py,sha256=c8VAuPBw_4A3DxfYdydkgedaP-LU61W9_wj3m3CAX1E,58
362
362
  zrb/task/llm_task.py,sha256=0c9F_AjeMLxQX8VlAJHfZAkC52PhRaWbcKoqVOggcMg,14451
363
363
  zrb/task/make_task.py,sha256=PD3b_aYazthS8LHeJsLAhwKDEgdurQZpymJDKeN60u0,2265
@@ -408,7 +408,7 @@ zrb/util/todo_model.py,sha256=hhzAX-uFl5rsg7iVX1ULlJOfBtblwQ_ieNUxBWfc-Os,1670
408
408
  zrb/util/truncate.py,sha256=eSzmjBpc1Qod3lM3M73snNbDOcARHukW_tq36dWdPvc,921
409
409
  zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
410
  zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
411
- zrb-1.15.9.dist-info/METADATA,sha256=JLUeefAr8A2mmd8qlMqrKNVBbj34VNSuT6nEU0DXH7Y,9774
412
- zrb-1.15.9.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
413
- zrb-1.15.9.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
414
- zrb-1.15.9.dist-info/RECORD,,
411
+ zrb-1.15.11.dist-info/METADATA,sha256=p5Ba3Ux1jJAvbHHHmcQvw106MHve-Rtti7cZufW1OMs,9775
412
+ zrb-1.15.11.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
413
+ zrb-1.15.11.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
414
+ zrb-1.15.11.dist-info/RECORD,,
File without changes