flock-core 0.4.0b18__py3-none-any.whl → 0.4.0b20__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 flock-core might be problematic. Click here for more details.

@@ -19,7 +19,7 @@ logger = get_logger("evaluators.declarative")
19
19
  class DeclarativeEvaluatorConfig(FlockEvaluatorConfig):
20
20
  """Configuration for the DeclarativeEvaluator."""
21
21
 
22
- agent_type_override: str | None = None
22
+ override_evaluator_type: str | None = None
23
23
  model: str | None = "openai/gpt-4o"
24
24
  use_cache: bool = True
25
25
  temperature: float = 0.0
@@ -28,6 +28,11 @@ class DeclarativeEvaluatorConfig(FlockEvaluatorConfig):
28
28
  default=False,
29
29
  description="Enable streaming output from the underlying DSPy program.",
30
30
  )
31
+ include_thought_process: bool = Field(
32
+ default=False,
33
+ description="Include the thought process in the output.",
34
+ )
35
+ kwargs: dict[str, Any] = Field(default_factory=dict)
31
36
 
32
37
 
33
38
  class DeclarativeEvaluator(
@@ -40,6 +45,9 @@ class DeclarativeEvaluator(
40
45
  description="Evaluator configuration",
41
46
  )
42
47
 
48
+ cost: float = 0.0
49
+ lm_history: list = Field(default_factory=list)
50
+
43
51
  async def evaluate(
44
52
  self, agent: FlockAgent, inputs: dict[str, Any], tools: list[Any]
45
53
  ) -> dict[str, Any]:
@@ -68,8 +76,9 @@ class DeclarativeEvaluator(
68
76
  )
69
77
  agent_task = self._select_task(
70
78
  _dspy_signature,
71
- agent_type_override=self.config.agent_type_override,
79
+ override_evaluator_type=self.config.override_evaluator_type,
72
80
  tools=tools,
81
+ kwargs=self.config.kwargs,
73
82
  )
74
83
  except Exception as setup_error:
75
84
  logger.error(
@@ -109,21 +118,46 @@ class DeclarativeEvaluator(
109
118
  if delta_content:
110
119
  console.print(delta_content, end="")
111
120
 
112
- result_dict = self._process_result(chunk, inputs)
121
+ result_dict, cost, lm_history = self._process_result(
122
+ chunk, inputs
123
+ )
124
+ self.cost = cost
125
+ self.lm_history = lm_history
113
126
 
114
127
  console.print("\n")
115
- return result_dict
128
+ return self.filter_thought_process(
129
+ result_dict, self.config.include_thought_process
130
+ )
116
131
 
117
132
  else: # Non-streaming path
118
133
  logger.info(f"Evaluating agent '{agent.name}' without streaming.")
119
134
  try:
120
135
  # Ensure the call is awaited if the underlying task is async
121
136
  result_obj = agent_task(**inputs)
122
- result_dict = self._process_result(result_obj, inputs)
123
- return result_dict
137
+ result_dict, cost, lm_history = self._process_result(
138
+ result_obj, inputs
139
+ )
140
+ self.cost = cost
141
+ self.lm_history = lm_history
142
+ return self.filter_thought_process(
143
+ result_dict, self.config.include_thought_process
144
+ )
124
145
  except Exception as e:
125
146
  logger.error(
126
147
  f"Error during non-streaming evaluation for agent '{agent.name}': {e}",
127
148
  exc_info=True,
128
149
  )
129
150
  raise RuntimeError(f"Evaluation failed: {e}") from e
151
+
152
+ def filter_thought_process(
153
+ result_dict: dict[str, Any], include_thought_process: bool
154
+ ) -> dict[str, Any]:
155
+ """Filter out thought process from the result dictionary."""
156
+ if include_thought_process:
157
+ return result_dict
158
+ else:
159
+ return {
160
+ k: v
161
+ for k, v in result_dict.items()
162
+ if not (k.startswith("reasoning") or k.startswith("trajectory"))
163
+ }
@@ -0,0 +1,292 @@
1
+ Metadata-Version: 2.4
2
+ Name: flock-core
3
+ Version: 0.4.0b20
4
+ Summary: Declarative LLM Orchestration at Scale
5
+ Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
+ License-File: LICENSE
7
+ Classifier: License :: OSI Approved :: MIT License
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Programming Language :: Python :: 3
10
+ Requires-Python: >=3.10
11
+ Requires-Dist: azure-search-documents>=11.5.2
12
+ Requires-Dist: chromadb>=0.6.3
13
+ Requires-Dist: cloudpickle>=3.1.1
14
+ Requires-Dist: datasets>=3.2.0
15
+ Requires-Dist: devtools>=0.12.2
16
+ Requires-Dist: dspy==2.6.16
17
+ Requires-Dist: duckduckgo-search>=7.3.2
18
+ Requires-Dist: fastapi>=0.115.8
19
+ Requires-Dist: httpx>=0.28.1
20
+ Requires-Dist: litellm==1.63.7
21
+ Requires-Dist: loguru>=0.7.3
22
+ Requires-Dist: matplotlib>=3.10.0
23
+ Requires-Dist: msgpack>=1.1.0
24
+ Requires-Dist: nltk>=3.9.1
25
+ Requires-Dist: notion-client>=2.3.0
26
+ Requires-Dist: opentelemetry-api>=1.30.0
27
+ Requires-Dist: opentelemetry-exporter-jaeger-proto-grpc>=1.21.0
28
+ Requires-Dist: opentelemetry-exporter-jaeger>=1.21.0
29
+ Requires-Dist: opentelemetry-exporter-otlp>=1.30.0
30
+ Requires-Dist: opentelemetry-instrumentation-logging>=0.51b0
31
+ Requires-Dist: opentelemetry-sdk>=1.30.0
32
+ Requires-Dist: pandas>=2.2.3
33
+ Requires-Dist: pillow>=10.4.0
34
+ Requires-Dist: prometheus-client>=0.21.1
35
+ Requires-Dist: psutil>=6.1.1
36
+ Requires-Dist: pydantic-settings>=2.7.1
37
+ Requires-Dist: pydantic>=2.10.5
38
+ Requires-Dist: python-box>=7.3.2
39
+ Requires-Dist: python-decouple>=3.8
40
+ Requires-Dist: python-dotenv>=1.0.1
41
+ Requires-Dist: python-fasthtml>=0.12.6
42
+ Requires-Dist: pyyaml>=6.0
43
+ Requires-Dist: questionary>=2.1.0
44
+ Requires-Dist: rich>=13.9.4
45
+ Requires-Dist: sentence-transformers>=3.4.1
46
+ Requires-Dist: temporalio>=1.9.0
47
+ Requires-Dist: tiktoken>=0.8.0
48
+ Requires-Dist: toml>=0.10.2
49
+ Requires-Dist: tqdm>=4.67.1
50
+ Requires-Dist: uvicorn>=0.34.0
51
+ Requires-Dist: zep-python>=2.0.2
52
+ Provides-Extra: all
53
+ Requires-Dist: docling>=2.18.0; extra == 'all'
54
+ Requires-Dist: markdownify>=0.14.1; extra == 'all'
55
+ Requires-Dist: tavily-python>=0.5.0; extra == 'all'
56
+ Provides-Extra: tools
57
+ Requires-Dist: markdownify>=0.14.1; extra == 'tools'
58
+ Requires-Dist: tavily-python>=0.5.0; extra == 'tools'
59
+ Description-Content-Type: text/markdown
60
+
61
+ <p align="center">
62
+ <!-- Placeholder for your Flock Logo/Banner - Replace URL -->
63
+ <img alt="Flock Banner" src="https://raw.githubusercontent.com/whiteducksoftware/flock/master/docs/assets/images/flock.png" width="600">
64
+ </p>
65
+ <p align="center">
66
+ <!-- Update badges -->
67
+ <a href="https://pypi.org/project/flock-core/" target="_blank"><img alt="PyPI Version" src="https://img.shields.io/pypi/v/flock-core?style=for-the-badge&logo=pypi&label=pip%20version"></a>
68
+ <img alt="Python Version" src="https://img.shields.io/badge/python-3.10%2B-blue?style=for-the-badge&logo=python">
69
+ <a href="https://github.com/whiteducksoftware/flock/actions/workflows/deploy-whiteduck-pypi.yml" target="_blank"><img alt="CI Status" src="https://img.shields.io/github/actions/workflow/status/whiteducksoftware/flock/deploy-whiteduck-pypi.yml?branch=master&style=for-the-badge&logo=githubactions&logoColor=white"></a>
70
+ <a href="https://github.com/whiteducksoftware/flock/blob/master/LICENSE" target="_blank"><img alt="License" src="https://img.shields.io/pypi/l/flock-core?style=for-the-badge"></a>
71
+ <a href="https://whiteduck.de" target="_blank"><img alt="Built by white duck" src="https://img.shields.io/badge/Built%20by-white%20duck%20GmbH-white?style=for-the-badge&labelColor=black"></a>
72
+ <a href="https://www.linkedin.com/company/whiteduck" target="_blank"><img alt="LinkedIn" src="https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white&label=whiteduck"></a>
73
+ <a href="https://bsky.app/profile/whiteduck-gmbh.bsky.social" target="_blank"><img alt="Bluesky" src="https://img.shields.io/badge/bluesky-Follow-blue?style=for-the-badge&logo=bluesky&logoColor=%23fff&color=%23333&labelColor=%230285FF&label=whiteduck-gmbh"></a>
74
+ </p>
75
+
76
+ 🐤 Flock 0.4.0 currently in beta - use `pip install flock-core==0.4.0b5` 🐤
77
+
78
+ 🐤 `pip install flock-core` will install the latest non-beta version 🐤
79
+
80
+ 🐤 Expected Release for 0.4.0 `Magpie`: End of April 2025 🐤
81
+
82
+ ---
83
+
84
+ **Tired of wrestling with paragraphs of prompt text just to get your AI agent to perform a specific, structured task?** 😫
85
+
86
+ Enter **Flock**, the agent framework that lets you ditch the prompt-palaver and focus on **what** you want your agents to achieve through a **declarative approach**. Define your agent's inputs, outputs, and available tools using clear Python structures (including type hints!), and let Flock handle the complex LLM interactions and orchestration.
87
+
88
+ Built with real-world deployment in mind, Flock integrates seamlessly with tools like **Temporal** (optional) for building robust, fault-tolerant, and scalable agent systems right out of the box.
89
+
90
+ **Looking for examples and tutorials?** Check out the dedicated [**👉 flock-showcase Repository**](https://github.com/whiteducksoftware/flock-showcase)!
91
+
92
+ ## ✨ Why Join the Flock?
93
+
94
+ Flock offers a different way to build agentic systems:
95
+
96
+ | Traditional Agent Frameworks 😟 | Flock Framework 🐤🐧🐓🦆 |
97
+ | :------------------------------------ | :------------------------------------- |
98
+ | 🤯 **Prompt Nightmare** | ✅ **Declarative Simplicity** |
99
+ | *Long, brittle, hard-to-tune prompts* | *Clear input/output specs (typed!)* |
100
+ | 💥 **Fragile & Unpredictable** | ⚡ **Robust & Production-Ready** |
101
+ | *Single errors can halt everything* | *Fault-tolerant via Temporal option* |
102
+ | 🧩 **Monolithic & Rigid** | 🔧 **Modular & Flexible** |
103
+ | *Hard to extend or modify logic* | *Pluggable Evaluators, Modules, Tools* |
104
+ | ⛓️ **Basic Chaining** | 🚀 **Advanced Orchestration** |
105
+ | *Often just linear workflows* | *Dynamic Routing, Batch Processing* |
106
+ | 🧪 **Difficult Testing** | ✅ **Testable Components** |
107
+ | *Hard to unit test prompt logic* | *Clear I/O contracts aid testing* |
108
+ | 📄 **Unstructured Output** | ✨ **Structured Data Handling** |
109
+ | *Parsing unreliable LLM text output* | *Native Pydantic/Typed Dict support* |
110
+
111
+
112
+ ## 📹 Video Demo
113
+
114
+ https://github.com/user-attachments/assets/bdab4786-d532-459f-806a-024727164dcc
115
+
116
+ ## 💡 Core Concepts
117
+
118
+ Flock's power comes from a few key ideas (Learn more in the [Full Documentation](https://whiteducksoftware.github.io/flock/)):
119
+
120
+ 1. **Declarative Agents:** Define agents by *what* they do (inputs/outputs), not *how*. Flock uses **Evaluators** (like the default `DeclarativeEvaluator` powered by DSPy) to handle the underlying logic.
121
+ 2. **Typed Signatures:** Specify agent inputs and outputs using Python type hints and optional descriptions (e.g., `"query: str | User request, context: Optional[List[MyType]]"`).
122
+ 3. **Modular Components:** Extend agent capabilities with pluggable **Modules** (e.g., for memory, metrics, output formatting) that hook into the agent's lifecycle.
123
+ 4. **Intelligent Workflows:** Chain agents explicitly or use **Routers** (LLM-based, Agent-based, or custom) for dynamic decision-making.
124
+ 5. **Reliable Execution:** Run locally for easy debugging or seamlessly switch to **Temporal** (optional) for production-grade fault tolerance, retries, and state management.
125
+ 6. **Tool Integration:** Equip agents with standard or custom Python functions (`@flock_tool`) registered via the `FlockRegistry`.
126
+ 7. **Registry:** A central place (`@flock_component`, `@flock_type`, `@flock_tool`) to register your custom classes, types, and functions, enabling robust serialization and dynamic loading.
127
+
128
+ ## 💾 Installation
129
+
130
+ Get started with the core Flock library:
131
+
132
+ ```bash
133
+ # Using uv (recommended)
134
+ uv pip install flock-core
135
+
136
+ # Using pip
137
+ pip install flock-core
138
+ ```
139
+
140
+ Extras: Install optional dependencies for specific features:
141
+
142
+ ```bash
143
+ # Common tools (Tavily, Markdownify)
144
+ uv pip install flock-core[tools]
145
+
146
+ # All optional dependencies (including tools, docling, etc.)
147
+ uv pip install flock-core[all]
148
+ ```
149
+
150
+ Environment Setup:
151
+
152
+ Flock uses environment variables (typically in a .env file) for configuration, especially API keys. Create a .env file in your project root:
153
+
154
+ ```bash
155
+ # .env - Example
156
+
157
+ # --- LLM Provider API Keys (Required by most examples) ---
158
+ # Add keys for providers you use (OpenAI, Anthropic, Gemini, Azure, etc.)
159
+ # Refer to litellm docs (https://docs.litellm.ai/docs/providers) for names
160
+ OPENAI_API_KEY="your-openai-api-key"
161
+ # ANTHROPIC_API_KEY="your-anthropic-api-key"
162
+
163
+ # --- Tool-Specific Keys (Optional) ---
164
+ # TAVILY_API_KEY="your-tavily-search-key"
165
+ # GITHUB_PAT="your-github-personal-access-token"
166
+
167
+ # --- Default Flock Settings (Optional) ---
168
+ DEFAULT_MODEL="openai/gpt-4o" # Default LLM if agent doesn't specify
169
+
170
+ # --- Flock CLI Settings (Managed by `flock settings`) ---
171
+ # SHOW_SECRETS="False"
172
+ # VARS_PER_PAGE="20"
173
+ ```
174
+
175
+ Remember to add .env to your .gitignore!
176
+
177
+ ## ⚡ Quick Start Syntax
178
+
179
+ While detailed examples and tutorials now live in the flock-showcase repository, here's a minimal example to illustrate the core syntax:
180
+
181
+ ```python
182
+ from flock.core import Flock, FlockFactory
183
+
184
+ # 1. Create the main orchestrator
185
+ # Uses DEFAULT_MODEL from .env or defaults to "openai/gpt-4o" if not set
186
+ my_flock = Flock(name="SimpleFlock")
187
+
188
+ # 2. Declaratively define an agent using the Factory
189
+ # Input: a topic (string)
190
+ # Output: a title (string) and bullet points (list of strings)
191
+ brainstorm_agent = FlockFactory.create_default_agent(
192
+ name="idea_generator",
193
+ description="Generates titles and key points for a given topic.",
194
+ input="topic: str | The subject to brainstorm about",
195
+ output="catchy_title: str, key_points: list[str] | 3-5 main bullet points"
196
+ )
197
+
198
+ # 3. Add the agent to the Flock
199
+ my_flock.add_agent(brainstorm_agent)
200
+
201
+ # 4. Run the agent!
202
+ if __name__ == "__main__":
203
+ input_data = {"topic": "The future of AI agents"}
204
+ try:
205
+ # The result is a Box object (dot-accessible dict)
206
+ result = my_flock.run(start_agent="idea_generator", input=input_data)
207
+ print(f"Generated Title: {result.catchy_title}")
208
+ print("Key Points:")
209
+ for point in result.key_points:
210
+ print(f"- {point}")
211
+ except Exception as e:
212
+ print(f"An error occurred: {e}")
213
+ print("Ensure your LLM API key (e.g., OPENAI_API_KEY) is set in your .env file!")
214
+ ```
215
+
216
+ ## 🐤 New in Flock 0.4.0 `Magpie` 🐤
217
+
218
+ ### REST API - Deploy Flock Agents as REST API Endpoints
219
+
220
+ ### Web UI - Test Flock Agents in the Browser
221
+
222
+ ### CLI Tool - Manage Flock Agents via the Command Line
223
+
224
+ ### Serialization - Share, Deploy, and Run Flock Agents by human readable yaml files
225
+
226
+ ### ✨ Utility: @flockclass Hydrator
227
+
228
+ Flock also provides conveniences. The @flockclass decorator allows you to easily populate Pydantic models using an LLM:
229
+
230
+ ```python
231
+ from pydantic import BaseModel
232
+ from flock.util.hydrator import flockclass # Assuming hydrator utility exists
233
+ import asyncio
234
+
235
+ @flockclass(model="openai/gpt-4o") # Decorate your Pydantic model
236
+ class CharacterIdea(BaseModel):
237
+ name: str
238
+ char_class: str
239
+ race: str
240
+ backstory_hook: str | None = None # Field to be filled by hydrate
241
+ personality_trait: str | None = None # Field to be filled by hydrate
242
+
243
+ async def create_character():
244
+ # Create with minimal data
245
+ char = CharacterIdea(name="Gorok", char_class="Barbarian", race="Orc")
246
+ print(f"Before Hydration: {char}")
247
+
248
+ # Call hydrate to fill in the None fields using the LLM
249
+ hydrated_char = await char.hydrate()
250
+
251
+ print(f"\nAfter Hydration: {hydrated_char}")
252
+ print(f"Backstory Hook: {hydrated_char.backstory_hook}")
253
+
254
+ # asyncio.run(create_character())
255
+ ```
256
+
257
+ ## 📚 Examples & Tutorials
258
+
259
+ For a comprehensive set of examples, ranging from basic usage to complex projects and advanced features, please visit our dedicated showcase repository:
260
+
261
+ ➡️ [github.com/whiteducksoftware/flock-showcase](https://github.com/whiteducksoftware/flock-showcase) ⬅️
262
+
263
+ The showcase includes:
264
+
265
+ - Step-by-step guides for core concepts.
266
+ - Examples of tool usage, routing, memory, and more.
267
+ - Complete mini-projects demonstrating practical applications.
268
+
269
+ ## 📖 Documentation
270
+
271
+ Full documentation, including API references and conceptual explanations, can be found at:
272
+
273
+ ➡️ [whiteducksoftware.github.io/flock/](https://whiteducksoftware.github.io/flock/) ⬅️
274
+
275
+ ## 🤝 Contributing
276
+
277
+ We welcome contributions! Please see the CONTRIBUTING.md file (if available) or open an issue/pull request on GitHub.
278
+
279
+ Ways to contribute:
280
+
281
+ - Report bugs or suggest features.
282
+ - Improve documentation.
283
+ - Contribute new Modules, Evaluators, or Routers.
284
+ - Add examples to the flock-showcase repository.
285
+
286
+ ## 📜 License
287
+
288
+ Flock is licensed under the MIT License. See the LICENSE file for details.
289
+
290
+ ## 🏢 About
291
+
292
+ Flock is developed and maintained by white duck GmbH, your partner for cloud-native solutions and AI integration.
@@ -14,14 +14,15 @@ flock/cli/manage_agents.py,sha256=Psl014LCrJmBgwrjsp7O3WNlWvQmVd_IDud3rd0lnLI,12
14
14
  flock/cli/registry_management.py,sha256=mAHy3wT97YgODR0gVOkTXDqR5NIPzM-E-z9dEtw9-tw,29790
15
15
  flock/cli/runner.py,sha256=TgiuhRLkpa6dn3C-3eCmWx-bWUlTjaH0sD7Y-O7MrYM,1122
16
16
  flock/cli/settings.py,sha256=Z_TXBzCYlCmSaKrJ_CQCdYy-Cj29gpI4kbC_2KzoKqg,27025
17
+ flock/cli/utils.py,sha256=JJrvM-1D2tbWkicrtkhOgRqVqYb0MdA2XtHYGOYuPRw,4644
17
18
  flock/cli/view_results.py,sha256=dOzK0O1FHSIDERnx48y-2Xke9BkOHS7pcOhs64AyIg0,781
18
19
  flock/cli/yaml_editor.py,sha256=K3N0bh61G1TSDAZDnurqW9e_-hO6CtSQKXQqlDhCjVo,12527
19
20
  flock/cli/assets/release_notes.md,sha256=bqnk50jxM3w5uY44Dc7MkdT8XmRREFxrVBAG9XCOSSU,4896
20
21
  flock/core/__init__.py,sha256=p7lmQULRu9ejIAELfanZiyMhW0CougIPvyFHW2nqBFQ,847
21
- flock/core/flock.py,sha256=g67jyWozK52ymqGEmYxMgXSkiL9ZpTXoDZMxwtWmRo4,25444
22
+ flock/core/flock.py,sha256=K7EsY7K8avH57mJ3I_y0Ehlk0G8bYt4ZpBFYPtjgZ4o,25420
22
23
  flock/core/flock_agent.py,sha256=ZmkiHd2oLao_263b7nmf26TQfyevX9_HNlhHPIkd3UM,33497
23
24
  flock/core/flock_evaluator.py,sha256=dOXZeDOGZcAmJ9ahqq_2bdGUU1VOXY4skmwTVpAjiVw,1685
24
- flock/core/flock_factory.py,sha256=qfeuAr6e028gbkxjj5jsq_HHqrWsmKHreJD6-QT8ets,2885
25
+ flock/core/flock_factory.py,sha256=vLkCASLh7Vrb5NFjb4ZQT5xN3zsUDud51hAQxb82oTk,2993
25
26
  flock/core/flock_module.py,sha256=96aFVYAgwpKN53xGbivQDUpikOYGFCxK5mqhclOcxY0,3003
26
27
  flock/core/flock_registry.py,sha256=ekYpQgSkZVnbyPbl8gA7nf54brt94rYZZBe2RwEGtUc,20828
27
28
  flock/core/flock_router.py,sha256=A5GaxcGvtiFlRLHBTW7okh5RDm3BdKam2uXvRHRaj7k,2187
@@ -44,7 +45,7 @@ flock/core/execution/local_executor.py,sha256=rnIQvaJOs6zZORUcR3vvyS6LPREDJTjayg
44
45
  flock/core/execution/temporal_executor.py,sha256=OF_uXgQsoUGp6U1ZkcuaidAEKyH7XDtbfrtdF10XQ_4,1675
45
46
  flock/core/interpreter/python_interpreter.py,sha256=RaUMZuufsKBNQ4FAeSaOgUuxzs8VYu5TgUUs-xwaxxM,26376
46
47
  flock/core/logging/__init__.py,sha256=Q8hp9-1ilPIUIV0jLgJ3_cP7COrea32cVwL7dicPnlM,82
47
- flock/core/logging/logging.py,sha256=-ViLNLTm5wqbvVsc6xYekOsAY38ZCIn6j1wciC7lgeM,15417
48
+ flock/core/logging/logging.py,sha256=-Mzft9GOahe0cOQtNbdlh0yLH-00ZAl713xHugtRFeQ,15527
48
49
  flock/core/logging/telemetry.py,sha256=3E9Tyj6AUR6A5RlIufcdCdWm5BAA7tbOsCa7lHoUQaU,5404
49
50
  flock/core/logging/trace_and_logged.py,sha256=5vNrK1kxuPMoPJ0-QjQg-EDJL1oiEzvU6UNi6X8FiMs,2117
50
51
  flock/core/logging/formatters/enum_builder.py,sha256=LgEYXUv84wK5vwHflZ5h8HBGgvLH3sByvUQe8tZiyY0,981
@@ -55,7 +56,7 @@ flock/core/logging/span_middleware/baggage_span_processor.py,sha256=gJfRl8FeB6jd
55
56
  flock/core/logging/telemetry_exporter/base_exporter.py,sha256=rQJJzS6q9n2aojoSqwCnl7ZtHrh5LZZ-gkxUuI5WfrQ,1124
56
57
  flock/core/logging/telemetry_exporter/file_exporter.py,sha256=nKAjJSZtA7FqHSTuTiFtYYepaxOq7l1rDvs8U8rSBlA,3023
57
58
  flock/core/logging/telemetry_exporter/sqlite_exporter.py,sha256=CDsiMb9QcqeXelZ6ZqPSS56ovMPGqOu6whzBZRK__Vg,3498
58
- flock/core/mixin/dspy_integration.py,sha256=vlf6rJnR9EsfZi5KyFLEXIbUvhpBhodctn-mirYo7Pk,17382
59
+ flock/core/mixin/dspy_integration.py,sha256=MplWCkJZymtmf1646yUYlpBxaz39SOenW7EQ1SpSQnE,17681
59
60
  flock/core/mixin/prompt_parser.py,sha256=eOqI-FK3y17gVqpc_y5GF-WmK1Jv8mFlkZxTcgweoxI,5121
60
61
  flock/core/serialization/__init__.py,sha256=CML7fPgG6p4c0CDBlJ_uwV1aZZhJKK9uy3IoIHfO87w,431
61
62
  flock/core/serialization/callable_registry.py,sha256=sUZECTZWsM3fJ8FDRQ-FgLNW9hF26nY17AD6fJKADMc,1419
@@ -63,19 +64,19 @@ flock/core/serialization/flock_serializer.py,sha256=TEePKaJqU-_XWHTMWyMHloDNwmkK
63
64
  flock/core/serialization/json_encoder.py,sha256=gAKj2zU_8wQiNvdkby2hksSA4fbPNwTjup_yz1Le1Vw,1229
64
65
  flock/core/serialization/secure_serializer.py,sha256=n5-zRvvXddgJv1FFHsaQ2wuYdL3WUSGPvG_LGaffEJo,6144
65
66
  flock/core/serialization/serializable.py,sha256=qlv8TsTqRuklXiNuCMrvro5VKz764xC2i3FlgLJSkdk,12129
66
- flock/core/serialization/serialization_utils.py,sha256=ONv7KUhc66e4sKYu9uFc3qU1jOg4DvIXRJ5QXaTIQj0,10298
67
+ flock/core/serialization/serialization_utils.py,sha256=n5q6P18dEK1JHejgFhAv-87mODjKuz36GYV1n6p-VO4,12924
67
68
  flock/core/tools/azure_tools.py,sha256=hwLnI2gsEq6QzUoWj5eCGDKTdXY1XUf6K-H5Uwva2MY,17093
68
69
  flock/core/tools/basic_tools.py,sha256=Ye7nlI4RRkqWRy8nH9CKuItBmh_ZXxUpouGnCOfx0s0,9050
69
70
  flock/core/tools/llm_tools.py,sha256=Bdt4Dpur5dGpxd2KFEQyxjfZazvW1HCDKY6ydMj6UgQ,21811
70
71
  flock/core/tools/markdown_tools.py,sha256=W6fGM48yGHbifVlaOk1jOtVcybfRbRmf20VbDOZv8S4,6031
71
72
  flock/core/tools/zendesk_tools.py,sha256=deZAyUi9j-_yZaTayLQVJaFXIqIct-P6C8IGN5UU_tM,3528
72
73
  flock/core/tools/dev_tools/github.py,sha256=a2OTPXS7kWOVA4zrZHynQDcsmEi4Pac5MfSjQOLePzA,5308
73
- flock/core/util/cli_helper.py,sha256=P3-lncS1J78MuPpDQ0D8qmfxMTCRxKkGdo9QRkzrp6A,49797
74
+ flock/core/util/cli_helper.py,sha256=nbA3n7zpVopV7bDf_aB3HHRYXmIBSwT1yqpjiVl4r9g,49848
74
75
  flock/core/util/file_path_utils.py,sha256=Odf7uU32C-x1KNighbNERSiMtkzW4h8laABIoFK7A5M,6246
75
- flock/core/util/hydrator.py,sha256=6qNwOwCZB7r6y25BZ--0PGofrAlfMaXbDKFQeP5NLts,11196
76
+ flock/core/util/hydrator.py,sha256=z0kvqr4j3piExOb_T5EgATuNm77ZlqIKvLpt4PJusO8,10949
76
77
  flock/core/util/input_resolver.py,sha256=g9vDPdY4OH-G7qjas5ksGEHueokHGFPMoLOvC-ngeLo,5984
77
78
  flock/core/util/loader.py,sha256=j3q2qem5bFMP2SmMuYjb-ISxsNGNZd1baQmpvAnRUUk,2244
78
- flock/evaluators/declarative/declarative_evaluator.py,sha256=j3xCEOhKHMvYtI43K2uqqJk068Lw94ch8GtWOmmJX7g,4803
79
+ flock/evaluators/declarative/declarative_evaluator.py,sha256=Pi1GsQUGL8eJrl6GFWYpu7O9kXI11xIskdBVg08n8mo,6055
79
80
  flock/evaluators/memory/azure_search_evaluator.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
81
  flock/evaluators/memory/memory_evaluator.py,sha256=SmerXyNaqm8DTV0yw-WqWkn9DXIf6x-nPG1eyTV6NY8,3452
81
82
  flock/evaluators/natural_language/natural_language_evaluator.py,sha256=6nVEeh8_uwv_h-d3FWlA0GbzDzRtdhvxCGKirHtyvOU,2012
@@ -440,8 +441,8 @@ flock/workflow/activities.py,sha256=eVZDnxGJl_quNO-UTV3YgvTV8LrRaHN3QDAA1ANKzac,
440
441
  flock/workflow/agent_activities.py,sha256=NhBZscflEf2IMfSRa_pBM_TRP7uVEF_O0ROvWZ33eDc,963
441
442
  flock/workflow/temporal_setup.py,sha256=VWBgmBgfTBjwM5ruS_dVpA5AVxx6EZ7oFPGw4j3m0l0,1091
442
443
  flock/workflow/workflow.py,sha256=I9MryXW_bqYVTHx-nl2epbTqeRy27CAWHHA7ZZA0nAk,1696
443
- flock_core-0.4.0b18.dist-info/METADATA,sha256=WySYzeVp_49iK8-U9W-5PBCYRAaD2fXzAPYs07YaAb0,21101
444
- flock_core-0.4.0b18.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
445
- flock_core-0.4.0b18.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
446
- flock_core-0.4.0b18.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
447
- flock_core-0.4.0b18.dist-info/RECORD,,
444
+ flock_core-0.4.0b20.dist-info/METADATA,sha256=gHmRUklybXUkMM1Z_XDaMxCcgVzOpSeS9ksy1MUZfIw,12970
445
+ flock_core-0.4.0b20.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
446
+ flock_core-0.4.0b20.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
447
+ flock_core-0.4.0b20.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
448
+ flock_core-0.4.0b20.dist-info/RECORD,,