flock-core 0.2.18__py3-none-any.whl → 0.3.2__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.
- flock/__init__.py +39 -29
- flock/cli/assets/release_notes.md +111 -0
- flock/cli/constants.py +1 -0
- flock/cli/load_release_notes.py +23 -0
- flock/core/__init__.py +12 -1
- flock/core/context/context.py +10 -5
- flock/core/flock.py +61 -21
- flock/core/flock_agent.py +112 -442
- flock/core/flock_evaluator.py +49 -0
- flock/core/flock_factory.py +73 -0
- flock/core/flock_module.py +77 -0
- flock/{interpreter → core/interpreter}/python_interpreter.py +9 -1
- flock/core/logging/formatters/themes.py +1 -1
- flock/core/logging/logging.py +119 -15
- flock/core/mixin/dspy_integration.py +11 -8
- flock/core/registry/agent_registry.py +4 -2
- flock/core/tools/basic_tools.py +1 -1
- flock/core/util/cli_helper.py +41 -3
- flock/evaluators/declarative/declarative_evaluator.py +52 -0
- flock/evaluators/natural_language/natural_language_evaluator.py +66 -0
- flock/evaluators/zep/zep_evaluator.py +55 -0
- flock/modules/callback/callback_module.py +86 -0
- flock/modules/memory/memory_module.py +235 -0
- flock/modules/memory/memory_parser.py +125 -0
- flock/modules/memory/memory_storage.py +736 -0
- flock/modules/output/output_module.py +194 -0
- flock/modules/performance/metrics_module.py +477 -0
- flock/modules/zep/zep_module.py +177 -0
- flock/themes/aardvark-blue.toml +1 -1
- {flock_core-0.2.18.dist-info → flock_core-0.3.2.dist-info}/METADATA +49 -2
- {flock_core-0.2.18.dist-info → flock_core-0.3.2.dist-info}/RECORD +34 -19
- {flock_core-0.2.18.dist-info → flock_core-0.3.2.dist-info}/WHEEL +0 -0
- {flock_core-0.2.18.dist-info → flock_core-0.3.2.dist-info}/entry_points.txt +0 -0
- {flock_core-0.2.18.dist-info → flock_core-0.3.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import uuid
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
from pydantic import Field
|
|
5
|
+
from zep_python.client import Zep
|
|
6
|
+
from zep_python.types import Message as ZepMessage, SessionSearchResult
|
|
7
|
+
|
|
8
|
+
from flock.core.flock_agent import FlockAgent
|
|
9
|
+
from flock.core.flock_module import FlockModule, FlockModuleConfig
|
|
10
|
+
from flock.core.logging.logging import get_logger
|
|
11
|
+
|
|
12
|
+
logger = get_logger("module.zep")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ZepModuleConfig(FlockModuleConfig):
|
|
16
|
+
"""Configuration for the Zep module."""
|
|
17
|
+
|
|
18
|
+
zep_url: str = "http://localhost:8000"
|
|
19
|
+
zep_api_key: str = "apikey"
|
|
20
|
+
min_fact_rating: float = Field(
|
|
21
|
+
default=0.7, description="Minimum rating for facts to be considered"
|
|
22
|
+
)
|
|
23
|
+
enable_read: bool = True
|
|
24
|
+
enable_write: bool = False
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ZepModule(FlockModule):
|
|
28
|
+
"""Module that adds Zep capabilities to a Flock agent."""
|
|
29
|
+
|
|
30
|
+
name: str = "zep"
|
|
31
|
+
config: ZepModuleConfig = ZepModuleConfig()
|
|
32
|
+
session_id: str | None = None
|
|
33
|
+
user_id: str | None = None
|
|
34
|
+
|
|
35
|
+
def __init__(self, name, config: ZepModuleConfig) -> None:
|
|
36
|
+
"""Initialize Zep module."""
|
|
37
|
+
super().__init__(name=name, config=config)
|
|
38
|
+
logger.debug("Initializing Zep module")
|
|
39
|
+
zep_client = Zep(
|
|
40
|
+
base_url=self.config.zep_url, api_key=self.config.zep_api_key
|
|
41
|
+
)
|
|
42
|
+
self.user_id = self.name
|
|
43
|
+
self._setup_user(zep_client)
|
|
44
|
+
self.session_id = str(uuid.uuid4())
|
|
45
|
+
self._setup_session(zep_client)
|
|
46
|
+
|
|
47
|
+
def _setup_user(self, zep_client: Zep) -> None:
|
|
48
|
+
"""Set up user in Zep."""
|
|
49
|
+
if not zep_client or not self.user_id:
|
|
50
|
+
raise ValueError("Zep service or user_id not initialized")
|
|
51
|
+
|
|
52
|
+
try:
|
|
53
|
+
user = zep_client.user.get(user_id=self.user_id)
|
|
54
|
+
if not user:
|
|
55
|
+
zep_client.user.add(user_id=self.user_id)
|
|
56
|
+
except Exception:
|
|
57
|
+
zep_client.user.add(user_id=self.user_id)
|
|
58
|
+
|
|
59
|
+
def _setup_session(self, zep_client: Zep) -> None:
|
|
60
|
+
"""Set up new session."""
|
|
61
|
+
if not zep_client or not self.user_id or not self.session_id:
|
|
62
|
+
raise ValueError(
|
|
63
|
+
"Zep service, user_id, or session_id not initialized"
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
zep_client.memory.add_session(
|
|
67
|
+
user_id=self.user_id,
|
|
68
|
+
session_id=self.session_id,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
def get_client(self) -> Zep:
|
|
72
|
+
"""Get Zep client."""
|
|
73
|
+
return Zep(
|
|
74
|
+
base_url=self.config.zep_url, api_key=self.config.zep_api_key
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
def get_memory(self, zep_client: Zep) -> str | None:
|
|
78
|
+
"""Get memory for the current session."""
|
|
79
|
+
if not zep_client or not self.session_id:
|
|
80
|
+
logger.error("Zep service or session_id not initialized")
|
|
81
|
+
return None
|
|
82
|
+
|
|
83
|
+
try:
|
|
84
|
+
memory = zep_client.memory.get(
|
|
85
|
+
self.session_id, min_rating=self.config.min_fact_rating
|
|
86
|
+
)
|
|
87
|
+
if memory:
|
|
88
|
+
return f"{memory.relevant_facts}"
|
|
89
|
+
except Exception as e:
|
|
90
|
+
logger.error(f"Error fetching memory: {e}")
|
|
91
|
+
return None
|
|
92
|
+
|
|
93
|
+
return None
|
|
94
|
+
|
|
95
|
+
def split_text(
|
|
96
|
+
self, text: str | None, max_length: int = 1000
|
|
97
|
+
) -> list[ZepMessage]:
|
|
98
|
+
"""Split text into smaller chunks."""
|
|
99
|
+
result: list[ZepMessage] = []
|
|
100
|
+
if not text:
|
|
101
|
+
return result
|
|
102
|
+
if len(text) <= max_length:
|
|
103
|
+
return [ZepMessage(role="user", content=text, role_type="user")]
|
|
104
|
+
for i in range(0, len(text), max_length):
|
|
105
|
+
result.append(
|
|
106
|
+
ZepMessage(
|
|
107
|
+
role="user",
|
|
108
|
+
content=text[i : i + max_length],
|
|
109
|
+
role_type="user",
|
|
110
|
+
)
|
|
111
|
+
)
|
|
112
|
+
return result
|
|
113
|
+
|
|
114
|
+
def add_to_memory(self, text: str, zep_client: Zep) -> None:
|
|
115
|
+
"""Add text to memory."""
|
|
116
|
+
if not zep_client or not self.session_id:
|
|
117
|
+
logger.error("Zep service or session_id not initialized")
|
|
118
|
+
return
|
|
119
|
+
|
|
120
|
+
messages = self.split_text(text)
|
|
121
|
+
zep_client.memory.add(session_id=self.session_id, messages=messages)
|
|
122
|
+
|
|
123
|
+
def search_memory(
|
|
124
|
+
self, query: str, zep_client: Zep
|
|
125
|
+
) -> list[SessionSearchResult]:
|
|
126
|
+
"""Search memory for a query."""
|
|
127
|
+
if not zep_client or not self.user_id:
|
|
128
|
+
logger.error("Zep service or user_id not initialized")
|
|
129
|
+
return []
|
|
130
|
+
|
|
131
|
+
response = zep_client.memory.search_sessions(
|
|
132
|
+
text=query,
|
|
133
|
+
user_id=self.user_id,
|
|
134
|
+
search_scope="facts",
|
|
135
|
+
min_fact_rating=self.config.min_fact_rating,
|
|
136
|
+
)
|
|
137
|
+
if not response.results:
|
|
138
|
+
return []
|
|
139
|
+
return response.results
|
|
140
|
+
|
|
141
|
+
async def post_evaluate(
|
|
142
|
+
self, agent: FlockAgent, inputs: dict[str, Any], result: dict[str, Any]
|
|
143
|
+
) -> dict[str, Any]:
|
|
144
|
+
"""Format and display the output."""
|
|
145
|
+
if not self.config.enable_write:
|
|
146
|
+
return result
|
|
147
|
+
logger.debug("Saving data to memory")
|
|
148
|
+
zep_client = Zep(
|
|
149
|
+
base_url=self.config.zep_url, api_key=self.config.zep_api_key
|
|
150
|
+
)
|
|
151
|
+
self.add_to_memory(str(result), zep_client)
|
|
152
|
+
return result
|
|
153
|
+
|
|
154
|
+
async def pre_evaluate(
|
|
155
|
+
self, agent: FlockAgent, inputs: dict[str, Any]
|
|
156
|
+
) -> dict[str, Any]:
|
|
157
|
+
"""Format and display the output."""
|
|
158
|
+
if not self.config.enable_read:
|
|
159
|
+
return inputs
|
|
160
|
+
|
|
161
|
+
zep_client = Zep(
|
|
162
|
+
base_url=self.config.zep_url, api_key=self.config.zep_api_key
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
logger.debug("Searching memory")
|
|
166
|
+
facts = self.search_memory(str(inputs), zep_client)
|
|
167
|
+
|
|
168
|
+
# Add memory to inputs
|
|
169
|
+
facts_str = ""
|
|
170
|
+
if facts:
|
|
171
|
+
for fact in facts:
|
|
172
|
+
facts_str += fact.fact.fact + "\n"
|
|
173
|
+
logger.debug("Found facts in memory: {}", facts_str)
|
|
174
|
+
agent.input = agent.input + ", memory"
|
|
175
|
+
inputs["memory"] = facts_str
|
|
176
|
+
|
|
177
|
+
return inputs
|
flock/themes/aardvark-blue.toml
CHANGED
|
@@ -28,7 +28,7 @@ table_show_lines = true
|
|
|
28
28
|
table_box = "ROUNDED"
|
|
29
29
|
panel_padding = [ 1, 2,]
|
|
30
30
|
panel_title_align = "center"
|
|
31
|
-
table_row_styles = [ "", "
|
|
31
|
+
table_row_styles = [ "", "bold",]
|
|
32
32
|
table_safe_box = true
|
|
33
33
|
table_padding = [ 0, 1,]
|
|
34
34
|
table_collapse_padding = false
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.2
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Declarative LLM Orchestration at Scale
|
|
5
5
|
Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -14,6 +14,7 @@ Requires-Dist: dspy==2.5.42
|
|
|
14
14
|
Requires-Dist: duckduckgo-search>=7.3.2
|
|
15
15
|
Requires-Dist: httpx>=0.28.1
|
|
16
16
|
Requires-Dist: loguru>=0.7.3
|
|
17
|
+
Requires-Dist: matplotlib>=3.10.0
|
|
17
18
|
Requires-Dist: msgpack>=1.1.0
|
|
18
19
|
Requires-Dist: opentelemetry-api>=1.30.0
|
|
19
20
|
Requires-Dist: opentelemetry-exporter-jaeger-proto-grpc>=1.21.0
|
|
@@ -21,13 +22,19 @@ Requires-Dist: opentelemetry-exporter-jaeger>=1.21.0
|
|
|
21
22
|
Requires-Dist: opentelemetry-exporter-otlp>=1.30.0
|
|
22
23
|
Requires-Dist: opentelemetry-instrumentation-logging>=0.51b0
|
|
23
24
|
Requires-Dist: opentelemetry-sdk>=1.30.0
|
|
25
|
+
Requires-Dist: pillow>=10.4.0
|
|
26
|
+
Requires-Dist: prometheus-client>=0.21.1
|
|
24
27
|
Requires-Dist: pydantic>=2.10.5
|
|
25
28
|
Requires-Dist: python-box>=7.3.2
|
|
26
29
|
Requires-Dist: python-decouple>=3.8
|
|
27
30
|
Requires-Dist: questionary>=2.1.0
|
|
28
31
|
Requires-Dist: rich>=13.9.4
|
|
32
|
+
Requires-Dist: sentence-transformers>=3.4.1
|
|
29
33
|
Requires-Dist: temporalio>=1.9.0
|
|
34
|
+
Requires-Dist: tiktoken>=0.8.0
|
|
30
35
|
Requires-Dist: toml>=0.10.2
|
|
36
|
+
Requires-Dist: tqdm>=4.67.1
|
|
37
|
+
Requires-Dist: zep-python>=2.0.2
|
|
31
38
|
Provides-Extra: all-tools
|
|
32
39
|
Requires-Dist: docling>=2.18.0; extra == 'all-tools'
|
|
33
40
|
Requires-Dist: markdownify>=0.14.1; extra == 'all-tools'
|
|
@@ -350,9 +357,49 @@ Super simple rules to remember:
|
|
|
350
357
|
1. Point the first agent to the next one using `hand_off`
|
|
351
358
|
2. Make sure their inputs and outputs match up
|
|
352
359
|
|
|
360
|
+
### Tools of the trade
|
|
361
|
+
|
|
362
|
+
Of couse no agent framework is complete without using tools.
|
|
363
|
+
Flock enables agents to use any python function you pass as tool or to use one of the plenty default tools
|
|
364
|
+
|
|
365
|
+
```python
|
|
366
|
+
bloggy = FlockAgent(
|
|
367
|
+
name="bloggy",
|
|
368
|
+
input="blog_idea: str|The topic to blog about",
|
|
369
|
+
output=(
|
|
370
|
+
"funny_blog_title: str|A catchy title for the blog, "
|
|
371
|
+
"blog_headers: list[str]|List of section headers for the blog"
|
|
372
|
+
"analysis_results: dict[str,Any] | Result of calculated analysis if necessary"
|
|
373
|
+
)
|
|
374
|
+
tools=[basic_tools.web_search_duckduckgo, basic_tools.code_eval],
|
|
375
|
+
)
|
|
376
|
+
|
|
377
|
+
result = flock.run(
|
|
378
|
+
input={"blog_idea": "A blog about cats, with an analysis how old the oldest cat became in days"},
|
|
379
|
+
start_agent=bloggy
|
|
380
|
+
)
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
These tools are available out of the box (needs `flock-core[tools]`):
|
|
384
|
+
|
|
385
|
+
- web_search_tavily
|
|
386
|
+
- web_search_duckduckgo
|
|
387
|
+
- get_web_content_as_markdown
|
|
388
|
+
- get_anything_as_markdown (uses docling and needs `flock-core[all-tools]`)
|
|
389
|
+
- evaluate_math
|
|
390
|
+
- code_eval
|
|
391
|
+
- get_current_time
|
|
392
|
+
- count_words
|
|
393
|
+
- extract_urls
|
|
394
|
+
- extract_numbers
|
|
395
|
+
- json_parse_safe
|
|
396
|
+
- save_to_file
|
|
397
|
+
- read_from_file
|
|
398
|
+
|
|
399
|
+
|
|
353
400
|
That's all there is to it! `bloggy` comes up with amazing headers, and `content_writer` turns them into full blog sections. No more writer's block! 🎉
|
|
354
401
|
|
|
355
|
-
And this is just the beginning - you can chain as many agents as you want. Maybe add a proofreader? Or an SEO optimizer? But let's not get ahead of ourselves! 😉
|
|
402
|
+
And this is just the beginning - you can chain as many agents as you want. Maybe add a proofreader? Or add memory? Or an SEO optimizer? But let's not get ahead of ourselves! 😉
|
|
356
403
|
|
|
357
404
|
So far we've barely scratched the surface of what flock has to offer, and we're currently hard at work building up the documentation for all the other super cool features Flock has up its sleeve! Stay tuned! 🚀
|
|
358
405
|
|
|
@@ -1,47 +1,62 @@
|
|
|
1
|
-
flock/__init__.py,sha256=
|
|
1
|
+
flock/__init__.py,sha256=9BfhaVhkV3ZadIXp6xpZYlt8_N_OBmQSxxJHwpXYPic,1867
|
|
2
2
|
flock/config.py,sha256=O5QJGlStf4DWSK4ovZsKw01ud4YK3_ij6Ay8sWU8ih0,1522
|
|
3
|
-
flock/cli/constants.py,sha256=
|
|
3
|
+
flock/cli/constants.py,sha256=UWshD25IGos5Ks4P9paGPalY8BXy9YynzHk6HB4xfOo,669
|
|
4
4
|
flock/cli/create_agent.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
|
|
5
5
|
flock/cli/create_flock.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
|
|
6
6
|
flock/cli/load_agent.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
|
|
7
7
|
flock/cli/load_examples.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
|
|
8
8
|
flock/cli/load_flock.py,sha256=3JdECvt5X7uyOG2vZS3-Zk5C5SI_84_QZjcsB3oJmfA,932
|
|
9
|
+
flock/cli/load_release_notes.py,sha256=qFcgUrMddAE_TP6x1P-6ZywTUjTknfhTDW5LTxtg1yk,599
|
|
9
10
|
flock/cli/settings.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
|
|
10
|
-
flock/
|
|
11
|
-
flock/core/
|
|
12
|
-
flock/core/
|
|
13
|
-
flock/core/
|
|
11
|
+
flock/cli/assets/release_notes.md,sha256=K-upUm5vuUuRSSU2FkMdgDfai_YlDk_vTCp0s4s2WO0,3419
|
|
12
|
+
flock/core/__init__.py,sha256=ZTp6qNY-kNH_Xn0xFfCAYceYqWFdahXYMm5wWPb30Go,501
|
|
13
|
+
flock/core/flock.py,sha256=4Kcnw39YiPRND6U8TWLZ0LyjNTykIk56VPruUEGwBrk,19116
|
|
14
|
+
flock/core/flock_agent.py,sha256=RzKX0GRrRJz16YbQFheMo8TqJPXOZSHWNloTbp35zwI,12229
|
|
15
|
+
flock/core/flock_evaluator.py,sha256=j7riJj_KsWoBnKmLiGp-U0CRhxDyJbgEdLGN26tfKm8,1588
|
|
16
|
+
flock/core/flock_factory.py,sha256=vyDq0eyFT4MyE_n2JyNU7YaFx2ljmjSDmZ07OIsmIOE,2694
|
|
17
|
+
flock/core/flock_module.py,sha256=VWFlBiY2RHZLTlGYfcchuT41M3m_JrZcmzw07u7KayM,2581
|
|
18
|
+
flock/core/context/context.py,sha256=fb7SsGAXmhQ1CvHV3_GihGiJG-4oLJ_DcexJ8vsrbHM,6371
|
|
14
19
|
flock/core/context/context_manager.py,sha256=qMySVny_dbTNLh21RHK_YT0mNKIOrqJDZpi9ZVdBsxU,1103
|
|
15
20
|
flock/core/context/context_vars.py,sha256=0Hn6fM2iNc0_jIIU0B7KX-K2o8qXqtZ5EYtwujETQ7U,272
|
|
16
21
|
flock/core/execution/local_executor.py,sha256=rnIQvaJOs6zZORUcR3vvyS6LPREDJTjaygl_Db0M8ao,952
|
|
17
22
|
flock/core/execution/temporal_executor.py,sha256=OF_uXgQsoUGp6U1ZkcuaidAEKyH7XDtbfrtdF10XQ_4,1675
|
|
23
|
+
flock/core/interpreter/python_interpreter.py,sha256=RaUMZuufsKBNQ4FAeSaOgUuxzs8VYu5TgUUs-xwaxxM,26376
|
|
18
24
|
flock/core/logging/__init__.py,sha256=Q8hp9-1ilPIUIV0jLgJ3_cP7COrea32cVwL7dicPnlM,82
|
|
19
|
-
flock/core/logging/logging.py,sha256=
|
|
25
|
+
flock/core/logging/logging.py,sha256=RigZwiu5gsLMqHwhplGkGrmw74xe8M-5KLGIBSsjouY,7620
|
|
20
26
|
flock/core/logging/telemetry.py,sha256=3E9Tyj6AUR6A5RlIufcdCdWm5BAA7tbOsCa7lHoUQaU,5404
|
|
21
27
|
flock/core/logging/trace_and_logged.py,sha256=5vNrK1kxuPMoPJ0-QjQg-EDJL1oiEzvU6UNi6X8FiMs,2117
|
|
22
28
|
flock/core/logging/formatters/enum_builder.py,sha256=LgEYXUv84wK5vwHflZ5h8HBGgvLH3sByvUQe8tZiyY0,981
|
|
23
29
|
flock/core/logging/formatters/theme_builder.py,sha256=Wnaal3HuUDA4HFg9tdql1BxYwK83ACOZBBQy-DXnxcA,17342
|
|
24
30
|
flock/core/logging/formatters/themed_formatter.py,sha256=6WO9RPr6Su05rJEX9bRXd8peE-QzGCQeO5veIjQH-Vc,21086
|
|
25
|
-
flock/core/logging/formatters/themes.py,sha256=
|
|
31
|
+
flock/core/logging/formatters/themes.py,sha256=80BRJJB0LZr11N0yQw2f8vdb_9179qjQO8PoeBaLMN0,10680
|
|
26
32
|
flock/core/logging/span_middleware/baggage_span_processor.py,sha256=gJfRl8FeB6jdtghTaRHCrOaTo4fhPMRKgjqtZj-8T48,1118
|
|
27
33
|
flock/core/logging/telemetry_exporter/base_exporter.py,sha256=rQJJzS6q9n2aojoSqwCnl7ZtHrh5LZZ-gkxUuI5WfrQ,1124
|
|
28
34
|
flock/core/logging/telemetry_exporter/file_exporter.py,sha256=nKAjJSZtA7FqHSTuTiFtYYepaxOq7l1rDvs8U8rSBlA,3023
|
|
29
35
|
flock/core/logging/telemetry_exporter/sqlite_exporter.py,sha256=CDsiMb9QcqeXelZ6ZqPSS56ovMPGqOu6whzBZRK__Vg,3498
|
|
30
|
-
flock/core/mixin/dspy_integration.py,sha256=
|
|
36
|
+
flock/core/mixin/dspy_integration.py,sha256=P5G4Y04nl5hFwFbJXCkQ-0TMR1L4skLL2IM_FlUjH_c,8364
|
|
31
37
|
flock/core/mixin/prompt_parser.py,sha256=eOqI-FK3y17gVqpc_y5GF-WmK1Jv8mFlkZxTcgweoxI,5121
|
|
32
|
-
flock/core/registry/agent_registry.py,sha256=
|
|
33
|
-
flock/core/tools/basic_tools.py,sha256=
|
|
38
|
+
flock/core/registry/agent_registry.py,sha256=TUClh9e3eA6YzZC1CMTlsTPvQeqb9jYHewi-zPpcWM8,4987
|
|
39
|
+
flock/core/tools/basic_tools.py,sha256=fI9r81_ktRiRhNLwT-jSJ9rkjl28LC1ZfL-njnno2iw,4761
|
|
34
40
|
flock/core/tools/dev_tools/github.py,sha256=a2OTPXS7kWOVA4zrZHynQDcsmEi4Pac5MfSjQOLePzA,5308
|
|
35
|
-
flock/core/util/cli_helper.py,sha256=
|
|
41
|
+
flock/core/util/cli_helper.py,sha256=IOl9r4cz_MJv_Bp5R8dhHX8f-unAqA9vDS6-0E90Vzk,49813
|
|
36
42
|
flock/core/util/hydrator.py,sha256=6qNwOwCZB7r6y25BZ--0PGofrAlfMaXbDKFQeP5NLts,11196
|
|
37
43
|
flock/core/util/input_resolver.py,sha256=g9vDPdY4OH-G7qjas5ksGEHueokHGFPMoLOvC-ngeLo,5984
|
|
38
44
|
flock/core/util/serializable.py,sha256=SymJ0YrjBx48mOBItYSqoRpKuzIc4vKWRS6ScTzre7s,2573
|
|
39
|
-
flock/
|
|
45
|
+
flock/evaluators/declarative/declarative_evaluator.py,sha256=f8ldgZZp94zC4CoGzBufKvbvtckCGBe9EHTOoAZfZK0,1695
|
|
46
|
+
flock/evaluators/natural_language/natural_language_evaluator.py,sha256=6nVEeh8_uwv_h-d3FWlA0GbzDzRtdhvxCGKirHtyvOU,2012
|
|
47
|
+
flock/evaluators/zep/zep_evaluator.py,sha256=hEHQdgIwGsbC4ci9RvtdA2k7f4M0yznIok4v4XltNwg,1885
|
|
48
|
+
flock/modules/callback/callback_module.py,sha256=hCCw-HNYjK4aHnUQfvw26ZP1Q_jdlKb9kDh3BHzbCQA,2916
|
|
49
|
+
flock/modules/memory/memory_module.py,sha256=2grdmvw7FJWZvz0IjgASbDPCfyS1w4gWkRzOWtK7BFM,8214
|
|
50
|
+
flock/modules/memory/memory_parser.py,sha256=2S7CmVEsm22gD7-MiFj4318FTg8wd_jB-RKMwXI14WM,4369
|
|
51
|
+
flock/modules/memory/memory_storage.py,sha256=CNcLDMmvv0x7Z3YMKr6VveS_VCa7rKPw8l2d-XgqokA,27246
|
|
52
|
+
flock/modules/output/output_module.py,sha256=_Hid4ycGEl14m7GEsVGE9wp88SYkQ3eq_x4avUQcTWI,6985
|
|
53
|
+
flock/modules/performance/metrics_module.py,sha256=K5z5bizIjA4ZEUjBk5ShwTR9ZElR-Vmqa7H38dJ3z_0,16735
|
|
54
|
+
flock/modules/zep/zep_module.py,sha256=BIJ5K-hg2bLeJmGKoDcVY1rVN7_0yYETiSaVrO-gtMI,5830
|
|
40
55
|
flock/platform/docker_tools.py,sha256=fpA7-6rJBjPOUBLdQP4ny2QPgJ_042nmqRn5GtKnoYw,1445
|
|
41
56
|
flock/platform/jaeger_install.py,sha256=MyOMJQx4TQSMYvdUJxfiGSo3YCtsfkbNXcAcQ9bjETA,2898
|
|
42
57
|
flock/themes/3024-day.toml,sha256=uOVHqEzSyHx0WlUk3D0lne4RBsNBAPCTy3C58yU7kEY,667
|
|
43
58
|
flock/themes/3024-night.toml,sha256=qsXUwd6ZYz6J-R129_Ao2TKlvvK60svhZJJjB5c8Tfo,1667
|
|
44
|
-
flock/themes/aardvark-blue.toml,sha256=
|
|
59
|
+
flock/themes/aardvark-blue.toml,sha256=5ZgsxP3pWLPN3yJ2Wd9ErCo7fy_VJpIfje4kriDKlqo,1667
|
|
45
60
|
flock/themes/abernathy.toml,sha256=T-FeYc_Nkz4dXxj-1SwKhr1BpBPg0bmqAt2Wve9cqUo,1667
|
|
46
61
|
flock/themes/adventure.toml,sha256=sgT63QdUaoq9yatWTnm9H5jp7G6DTsECvfnVon_4LK4,1658
|
|
47
62
|
flock/themes/adventuretime.toml,sha256=ZIrnONaakvI4uqVWfMF4U7OhxtpA-uwzxzlpBgFSQu8,1664
|
|
@@ -380,8 +395,8 @@ flock/workflow/activities.py,sha256=2zcYyDoCuYs9oQbnhLjCzBUdEi7d5IEIemKJ7TV_B8w,
|
|
|
380
395
|
flock/workflow/agent_activities.py,sha256=NhBZscflEf2IMfSRa_pBM_TRP7uVEF_O0ROvWZ33eDc,963
|
|
381
396
|
flock/workflow/temporal_setup.py,sha256=VWBgmBgfTBjwM5ruS_dVpA5AVxx6EZ7oFPGw4j3m0l0,1091
|
|
382
397
|
flock/workflow/workflow.py,sha256=I9MryXW_bqYVTHx-nl2epbTqeRy27CAWHHA7ZZA0nAk,1696
|
|
383
|
-
flock_core-0.2.
|
|
384
|
-
flock_core-0.2.
|
|
385
|
-
flock_core-0.2.
|
|
386
|
-
flock_core-0.2.
|
|
387
|
-
flock_core-0.2.
|
|
398
|
+
flock_core-0.3.2.dist-info/METADATA,sha256=QOuH26c81HAZMQhKeUf869saWNfRHeOW2BMzdI7tC5o,20431
|
|
399
|
+
flock_core-0.3.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
400
|
+
flock_core-0.3.2.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
|
|
401
|
+
flock_core-0.3.2.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
|
|
402
|
+
flock_core-0.3.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|