flock-core 0.4.512__py3-none-any.whl → 0.4.514__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/core/execution/opik_executor.py +103 -0
- flock/core/flock_agent.py +1 -1
- flock/core/flock_factory.py +85 -2
- flock/core/interpreter/python_interpreter.py +87 -81
- flock/core/logging/logging.py +8 -0
- flock/core/mcp/flock_mcp_server.py +30 -4
- flock/core/mcp/flock_mcp_tool_base.py +1 -1
- flock/core/mcp/mcp_client.py +57 -28
- flock/core/mcp/mcp_client_manager.py +1 -1
- flock/core/mcp/mcp_config.py +245 -9
- flock/core/mcp/types/callbacks.py +3 -5
- flock/core/mcp/types/factories.py +12 -14
- flock/core/mcp/types/handlers.py +9 -12
- flock/core/mcp/types/types.py +205 -2
- flock/core/mixin/dspy_integration.py +1 -1
- flock/core/util/input_resolver.py +1 -1
- flock/mcp/servers/sse/flock_sse_server.py +21 -14
- flock/mcp/servers/streamable_http/__init__.py +0 -0
- flock/mcp/servers/streamable_http/flock_streamable_http_server.py +169 -0
- flock/mcp/servers/websockets/flock_websocket_server.py +3 -3
- flock/tools/code_tools.py +111 -0
- flock/webapp/app/api/execution.py +1 -1
- flock/webapp/app/main.py +1 -1
- {flock_core-0.4.512.dist-info → flock_core-0.4.514.dist-info}/METADATA +4 -1
- {flock_core-0.4.512.dist-info → flock_core-0.4.514.dist-info}/RECORD +29 -26
- /flock/core/util/{spliter.py → splitter.py} +0 -0
- {flock_core-0.4.512.dist-info → flock_core-0.4.514.dist-info}/WHEEL +0 -0
- {flock_core-0.4.512.dist-info → flock_core-0.4.514.dist-info}/entry_points.txt +0 -0
- {flock_core-0.4.512.dist-info → flock_core-0.4.514.dist-info}/licenses/LICENSE +0 -0
flock/tools/code_tools.py
CHANGED
|
@@ -31,6 +31,30 @@ def code_evaluate_math(expression: str) -> float:
|
|
|
31
31
|
|
|
32
32
|
@traced_and_logged
|
|
33
33
|
def code_code_eval(python_code: str) -> str:
|
|
34
|
+
"""A Python code evaluation tool that executes Python code and returns the result.
|
|
35
|
+
|
|
36
|
+
The code may not be markdown-escaped with triple backticks.
|
|
37
|
+
It is expected to be a valid Python code snippet that can be executed directly.
|
|
38
|
+
The code is executed in a controlled environment with a limited set of libraries.
|
|
39
|
+
It allows the use of the following libraries:
|
|
40
|
+
"os",
|
|
41
|
+
"math",
|
|
42
|
+
"random",
|
|
43
|
+
"datetime",
|
|
44
|
+
"time",
|
|
45
|
+
"string",
|
|
46
|
+
"collections",
|
|
47
|
+
"itertools",
|
|
48
|
+
"functools",
|
|
49
|
+
"typing",
|
|
50
|
+
"enum",
|
|
51
|
+
"json",
|
|
52
|
+
"ast",
|
|
53
|
+
"numpy",
|
|
54
|
+
"sympy",
|
|
55
|
+
"pandas",
|
|
56
|
+
"httpx",
|
|
57
|
+
"""
|
|
34
58
|
try:
|
|
35
59
|
result = PythonInterpreter(
|
|
36
60
|
{},
|
|
@@ -48,9 +72,96 @@ def code_code_eval(python_code: str) -> str:
|
|
|
48
72
|
"enum",
|
|
49
73
|
"json",
|
|
50
74
|
"ast",
|
|
75
|
+
"numpy",
|
|
76
|
+
"sympy",
|
|
77
|
+
"pandas",
|
|
51
78
|
],
|
|
52
79
|
verbose=True,
|
|
53
80
|
).execute(python_code)
|
|
54
81
|
return result
|
|
55
82
|
except Exception:
|
|
56
83
|
raise
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
@traced_and_logged
|
|
87
|
+
def docker_code_execute(python_code: str) -> str:
|
|
88
|
+
"""Execute Python code in a sandboxed Docker container."""
|
|
89
|
+
import ast
|
|
90
|
+
import os
|
|
91
|
+
import pathlib
|
|
92
|
+
import platform
|
|
93
|
+
import shutil
|
|
94
|
+
import textwrap
|
|
95
|
+
import uuid
|
|
96
|
+
|
|
97
|
+
import docker
|
|
98
|
+
def _auto_print_last_expr(code: str) -> str:
|
|
99
|
+
"""If the last top-level statement is a bare expression,
|
|
100
|
+
append a print() so script mode surfaces its value.
|
|
101
|
+
"""
|
|
102
|
+
tree = ast.parse(code, mode="exec")
|
|
103
|
+
if tree.body and isinstance(tree.body[-1], ast.Expr):
|
|
104
|
+
# Re-extract the exact source of that expression
|
|
105
|
+
expr_src = textwrap.dedent(
|
|
106
|
+
code.splitlines()[tree.body[-1].lineno - 1]
|
|
107
|
+
)
|
|
108
|
+
code += f"\nprint({expr_src})"
|
|
109
|
+
return code
|
|
110
|
+
# --- 1. Figure out a base directory that exists on this OS ----------
|
|
111
|
+
if platform.system() == "Windows":
|
|
112
|
+
base_dir = pathlib.Path(os.getenv("SANDBOX_BASE_DIR", r"C:\sandboxes"))
|
|
113
|
+
else: # Linux, macOS, WSL2
|
|
114
|
+
base_dir = pathlib.Path(os.getenv("SANDBOX_BASE_DIR", "/var/sandboxes"))
|
|
115
|
+
|
|
116
|
+
base_dir.mkdir(parents=True, exist_ok=True)
|
|
117
|
+
|
|
118
|
+
sandbox_id = f"sbox-{uuid.uuid4()}"
|
|
119
|
+
workdir = base_dir / sandbox_id
|
|
120
|
+
workdir.mkdir(parents=True, exist_ok=False)
|
|
121
|
+
|
|
122
|
+
# Docker’s HTTP API always wants POSIX‐style paths (“/”, drive letter allowed).
|
|
123
|
+
host_path = workdir.resolve().as_posix() # e.g. "C:/sandboxes/…"
|
|
124
|
+
|
|
125
|
+
client = docker.from_env()
|
|
126
|
+
image = "python:3.12-slim"
|
|
127
|
+
|
|
128
|
+
# --- 2. Decide whether we can / should request the gVisor runtime ---
|
|
129
|
+
runtime_args = {}
|
|
130
|
+
if platform.system() != "Windows" and shutil.which("runsc"):
|
|
131
|
+
runtime_args["runtime"] = "runsc" # gVisor on Linux & macOS
|
|
132
|
+
|
|
133
|
+
container = client.containers.run(
|
|
134
|
+
image,
|
|
135
|
+
name=sandbox_id,
|
|
136
|
+
command=["sleep", "infinity"],
|
|
137
|
+
user="65534:65534", # nobody
|
|
138
|
+
network_mode="none",
|
|
139
|
+
volumes={host_path: {"bind": "/workspace", "mode": "rw"}},
|
|
140
|
+
mem_limit="4g",
|
|
141
|
+
cpu_period=100_000,
|
|
142
|
+
cpu_quota=200_000, # 2 vCPU
|
|
143
|
+
security_opt=["no-new-privileges"],
|
|
144
|
+
detach=True,
|
|
145
|
+
**runtime_args,
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
try:
|
|
149
|
+
def exec_code(cmd: list[str], timeout: int = 30) -> str:
|
|
150
|
+
exec_id = client.api.exec_create(
|
|
151
|
+
container.id, cmd, workdir="/workspace"
|
|
152
|
+
)["Id"]
|
|
153
|
+
return client.api.exec_start(
|
|
154
|
+
exec_id, stream=False, demux=False, tty=False,
|
|
155
|
+
).decode()
|
|
156
|
+
|
|
157
|
+
# --- 3. Copy code in and execute --------------------------------
|
|
158
|
+
(workdir / "main.py").write_text(_auto_print_last_expr(python_code), encoding="utf-8")
|
|
159
|
+
stdout = exec_code(["python", "main.py"], timeout=30)
|
|
160
|
+
return stdout.strip()
|
|
161
|
+
|
|
162
|
+
finally:
|
|
163
|
+
# --- 4. Tear everything down ------------------------------------
|
|
164
|
+
container.remove(force=True)
|
|
165
|
+
shutil.rmtree(workdir, ignore_errors=True)
|
|
166
|
+
|
|
167
|
+
|
|
@@ -20,7 +20,7 @@ if TYPE_CHECKING:
|
|
|
20
20
|
from flock.core.logging.logging import (
|
|
21
21
|
get_logger as get_flock_logger, # For logging within the new endpoint
|
|
22
22
|
)
|
|
23
|
-
from flock.core.util.
|
|
23
|
+
from flock.core.util.splitter import parse_schema
|
|
24
24
|
|
|
25
25
|
# Import the dependency to get the current Flock instance
|
|
26
26
|
from flock.webapp.app.dependencies import (
|
flock/webapp/app/main.py
CHANGED
|
@@ -34,7 +34,7 @@ from flock.core.api.run_store import RunStore
|
|
|
34
34
|
from flock.core.flock import Flock # For type hinting
|
|
35
35
|
from flock.core.flock_scheduler import FlockScheduler
|
|
36
36
|
from flock.core.logging.logging import get_logger # For logging
|
|
37
|
-
from flock.core.util.
|
|
37
|
+
from flock.core.util.splitter import parse_schema
|
|
38
38
|
|
|
39
39
|
# Import UI-specific routers
|
|
40
40
|
from flock.webapp.app.api import (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.514
|
|
4
4
|
Summary: Declarative LLM Orchestration at Scale
|
|
5
5
|
Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
|
|
6
6
|
License-File: LICENSE
|
|
@@ -69,6 +69,7 @@ Provides-Extra: all-tools
|
|
|
69
69
|
Requires-Dist: azure-identity>=1.23.0; extra == 'all-tools'
|
|
70
70
|
Requires-Dist: azure-search-documents>=11.5.2; extra == 'all-tools'
|
|
71
71
|
Requires-Dist: azure-storage-blob>=12.25.1; extra == 'all-tools'
|
|
72
|
+
Requires-Dist: docker>=7.1.0; extra == 'all-tools'
|
|
72
73
|
Requires-Dist: docling>=2.18.0; extra == 'all-tools'
|
|
73
74
|
Requires-Dist: duckduckgo-search>=7.3.2; extra == 'all-tools'
|
|
74
75
|
Requires-Dist: markdownify>=0.14.1; extra == 'all-tools'
|
|
@@ -83,6 +84,8 @@ Requires-Dist: docling>=2.18.0; extra == 'basic-tools'
|
|
|
83
84
|
Requires-Dist: duckduckgo-search>=7.3.2; extra == 'basic-tools'
|
|
84
85
|
Requires-Dist: markdownify>=0.14.1; extra == 'basic-tools'
|
|
85
86
|
Requires-Dist: tavily-python>=0.5.0; extra == 'basic-tools'
|
|
87
|
+
Provides-Extra: code-tools
|
|
88
|
+
Requires-Dist: docker>=7.1.0; extra == 'code-tools'
|
|
86
89
|
Provides-Extra: evaluation
|
|
87
90
|
Requires-Dist: datasets>=3.2.0; extra == 'evaluation'
|
|
88
91
|
Requires-Dist: rouge-score>=0.1.2; extra == 'evaluation'
|
|
@@ -27,9 +27,9 @@ flock/cli/yaml_editor.py,sha256=K3N0bh61G1TSDAZDnurqW9e_-hO6CtSQKXQqlDhCjVo,1252
|
|
|
27
27
|
flock/cli/assets/release_notes.md,sha256=bqnk50jxM3w5uY44Dc7MkdT8XmRREFxrVBAG9XCOSSU,4896
|
|
28
28
|
flock/core/__init__.py,sha256=juwyNr3QqKXUS5-E3hlMYRhgqHgQBqgtP12OF3tUCAI,1249
|
|
29
29
|
flock/core/flock.py,sha256=iR4i0_z0w2ns_iHbP7FqN--7wlsPIWch1H-BVecPs_I,38205
|
|
30
|
-
flock/core/flock_agent.py,sha256=
|
|
30
|
+
flock/core/flock_agent.py,sha256=Hl6TONSiJi2I-N_49-1hkW2q_hyPXMebMr-5oZLI-PY,48842
|
|
31
31
|
flock/core/flock_evaluator.py,sha256=TPy6u6XX3cqkY1r9NW1w2lTwCMNW7pxhFYKLefnEbXg,1820
|
|
32
|
-
flock/core/flock_factory.py,sha256=
|
|
32
|
+
flock/core/flock_factory.py,sha256=L3EFEUKqQmyxM_q0mh23ikLHPexSkV4Q8ifxIBSGA6s,18805
|
|
33
33
|
flock/core/flock_module.py,sha256=ObILimpVaPnaaqYvcBYJJ20lQzfrjgTdADplaNRjHU0,7448
|
|
34
34
|
flock/core/flock_registry.py,sha256=KzdFfc3QC-Dk42G24hdf6Prp3HvGj9ymXR3TTBe-T-A,27161
|
|
35
35
|
flock/core/flock_router.py,sha256=1OAXDsdaIIFApEfo6SRfFEDoTuGt3Si7n2MXiySEfis,2644
|
|
@@ -52,10 +52,11 @@ flock/core/evaluation/utils.py,sha256=S5M0uTFcClphZsR5EylEzrRNK-1434yImiGYL4pR_5
|
|
|
52
52
|
flock/core/execution/batch_executor.py,sha256=mHwCI-DHqApCv_EVCN0ZOUd-LCQLjREpxKbAUPC0pcY,15266
|
|
53
53
|
flock/core/execution/evaluation_executor.py,sha256=D9EO0sU-2qWj3vomjmUUi-DOtHNJNFRf30kGDHuzREE,17702
|
|
54
54
|
flock/core/execution/local_executor.py,sha256=rnIQvaJOs6zZORUcR3vvyS6LPREDJTjaygl_Db0M8ao,952
|
|
55
|
+
flock/core/execution/opik_executor.py,sha256=tl2Ti9NM_9WtcjXvJ0c7up-syRNq_OsLmiuYWqkGV4k,3325
|
|
55
56
|
flock/core/execution/temporal_executor.py,sha256=dHcb0xuzPFWU_wbwTgI7glLNyyppei93Txs2sapjhaw,6283
|
|
56
|
-
flock/core/interpreter/python_interpreter.py,sha256=
|
|
57
|
+
flock/core/interpreter/python_interpreter.py,sha256=4-wRsxC6-gToEdRr_pp-n2idWwe_Y2zN0o3TbzUPhy0,26632
|
|
57
58
|
flock/core/logging/__init__.py,sha256=xn5fC-8IgsdIv0ywe_cICK1KVhTrVD8t-jYORg0ETUA,155
|
|
58
|
-
flock/core/logging/logging.py,sha256
|
|
59
|
+
flock/core/logging/logging.py,sha256=VyBsin-3q8UQ0DY-K72t8FtrGJQbUwIfzxaC7rIWMvQ,19820
|
|
59
60
|
flock/core/logging/telemetry.py,sha256=Trssqx02SBovTL843YwY3L-ZGj3KvcfMHLMU7Syk8L0,6561
|
|
60
61
|
flock/core/logging/trace_and_logged.py,sha256=5vNrK1kxuPMoPJ0-QjQg-EDJL1oiEzvU6UNi6X8FiMs,2117
|
|
61
62
|
flock/core/logging/formatters/enum_builder.py,sha256=LgEYXUv84wK5vwHflZ5h8HBGgvLH3sByvUQe8tZiyY0,981
|
|
@@ -67,19 +68,19 @@ flock/core/logging/telemetry_exporter/base_exporter.py,sha256=rQJJzS6q9n2aojoSqw
|
|
|
67
68
|
flock/core/logging/telemetry_exporter/file_exporter.py,sha256=nKAjJSZtA7FqHSTuTiFtYYepaxOq7l1rDvs8U8rSBlA,3023
|
|
68
69
|
flock/core/logging/telemetry_exporter/sqlite_exporter.py,sha256=CDsiMb9QcqeXelZ6ZqPSS56ovMPGqOu6whzBZRK__Vg,3498
|
|
69
70
|
flock/core/mcp/__init__.py,sha256=g3hzM_9ntsr-Af9dE9cCZEjQ9YX2jk7-Jm-0JcHSk1A,25
|
|
70
|
-
flock/core/mcp/flock_mcp_server.py,sha256
|
|
71
|
-
flock/core/mcp/flock_mcp_tool_base.py,sha256=
|
|
72
|
-
flock/core/mcp/mcp_client.py,sha256=
|
|
73
|
-
flock/core/mcp/mcp_client_manager.py,sha256=
|
|
74
|
-
flock/core/mcp/mcp_config.py,sha256=
|
|
71
|
+
flock/core/mcp/flock_mcp_server.py,sha256=WgvQDMq5qFj-PzuTXght0uFsztodYEkcIUXQ5TC4Q4M,25852
|
|
72
|
+
flock/core/mcp/flock_mcp_tool_base.py,sha256=ZY6bUJEW3FY0Q5W5vNW0F8RqIovzKZU-X0JrVmK0TuA,6804
|
|
73
|
+
flock/core/mcp/mcp_client.py,sha256=Nf-fC5EtX2egeoqgDx02EIWlwEd6aaNuT1n2DEbnvg0,25934
|
|
74
|
+
flock/core/mcp/mcp_client_manager.py,sha256=hn97F9xEpYNbs02ruEbrtQo4PYD7TNKQAC0AwuAh6xw,8061
|
|
75
|
+
flock/core/mcp/mcp_config.py,sha256=izO07hTD-2CrAhilqF9WDTpHNaK5l1T4UwFn6VsDwYc,16575
|
|
75
76
|
flock/core/mcp/types/__init__.py,sha256=YgEJvTXe5VfSMfJNlpefdBYJOmMbMWQsXzc_qmOAybg,25
|
|
76
|
-
flock/core/mcp/types/callbacks.py,sha256=
|
|
77
|
-
flock/core/mcp/types/factories.py,sha256=
|
|
78
|
-
flock/core/mcp/types/handlers.py,sha256=
|
|
79
|
-
flock/core/mcp/types/types.py,sha256=
|
|
77
|
+
flock/core/mcp/types/callbacks.py,sha256=M4dvL9-PUVmojPTK18fg8ngHqYd7AogMoO6HixM9q10,2494
|
|
78
|
+
flock/core/mcp/types/factories.py,sha256=T4fIyyJYibP8AGg_gjR1Pu5LO5xP5LsAfmBxyD6bBmY,3440
|
|
79
|
+
flock/core/mcp/types/handlers.py,sha256=VEpOx5ShvlvOEvgo2Fs5rql-x0obVQYgEpcb8FBrm24,7788
|
|
80
|
+
flock/core/mcp/types/types.py,sha256=2amE-oastGe1GGVI4gbH2ltCX7QvYnJebSArATvttUU,11410
|
|
80
81
|
flock/core/mcp/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
81
82
|
flock/core/mcp/util/helpers.py,sha256=Xlf4iKW_lZxsVMTRoOnV29JsJfAppfmEJrb6sIcoCH4,636
|
|
82
|
-
flock/core/mixin/dspy_integration.py,sha256=
|
|
83
|
+
flock/core/mixin/dspy_integration.py,sha256=rsZ9bkCKlT3jJRncnwwngTtffKcF2WloFvSleaZ0QRk,17746
|
|
83
84
|
flock/core/mixin/prompt_parser.py,sha256=eOqI-FK3y17gVqpc_y5GF-WmK1Jv8mFlkZxTcgweoxI,5121
|
|
84
85
|
flock/core/serialization/__init__.py,sha256=CML7fPgG6p4c0CDBlJ_uwV1aZZhJKK9uy3IoIHfO87w,431
|
|
85
86
|
flock/core/serialization/callable_registry.py,sha256=sUZECTZWsM3fJ8FDRQ-FgLNW9hF26nY17AD6fJKADMc,1419
|
|
@@ -91,9 +92,9 @@ flock/core/serialization/serialization_utils.py,sha256=AHRf90trgnj2Q6aaGaq5eja5P
|
|
|
91
92
|
flock/core/util/cli_helper.py,sha256=9MiAw8y0IRlWKF7lRYViRFzSwbWSeiiLv0usyhn8XlU,49966
|
|
92
93
|
flock/core/util/file_path_utils.py,sha256=Odf7uU32C-x1KNighbNERSiMtkzW4h8laABIoFK7A5M,6246
|
|
93
94
|
flock/core/util/hydrator.py,sha256=ARg4ufXNlfAESDaxPeU8j6TOJ2ywzfl00KAIfVHGIxo,10699
|
|
94
|
-
flock/core/util/input_resolver.py,sha256=
|
|
95
|
+
flock/core/util/input_resolver.py,sha256=QE3EjP7xTRNHuH6o77O3YhlhiCWOcnDg8cnSXzngKnM,4704
|
|
95
96
|
flock/core/util/loader.py,sha256=j3q2qem5bFMP2SmMuYjb-ISxsNGNZd1baQmpvAnRUUk,2244
|
|
96
|
-
flock/core/util/
|
|
97
|
+
flock/core/util/splitter.py,sha256=rDLnZX158PWkmW8vi2UfMLAMRXcHQFUIydAABd-lDGw,7154
|
|
97
98
|
flock/evaluators/__init__.py,sha256=Y0cEkx0dujRmy--TDpKoTqFSLzbyFz8BwEOv8kdSUhg,22
|
|
98
99
|
flock/evaluators/declarative/__init__.py,sha256=Y0cEkx0dujRmy--TDpKoTqFSLzbyFz8BwEOv8kdSUhg,22
|
|
99
100
|
flock/evaluators/declarative/declarative_evaluator.py,sha256=tulTpUOXhF-wMe5a9ULpsCiS1o2Z-DOXOUTqOSzVYqI,7397
|
|
@@ -101,11 +102,13 @@ flock/evaluators/memory/memory_evaluator.py,sha256=ySwz7kcc8suXMJ7gKNSWThW8iOMlE
|
|
|
101
102
|
flock/evaluators/test/test_case_evaluator.py,sha256=3Emcoty0LOLLBIuPGxSpKphuZC9Fu1DTr1vbGg-hd0Q,1233
|
|
102
103
|
flock/evaluators/zep/zep_evaluator.py,sha256=6_5vTdU0yJAH8I8w3-MPXiAZx6iUPhAVCsHjrHzkPLM,2058
|
|
103
104
|
flock/mcp/servers/sse/__init__.py,sha256=r6YtleRSOMJqKhTtKQeFKd3QDaUJVz9R1BGJgOm_PF8,51
|
|
104
|
-
flock/mcp/servers/sse/flock_sse_server.py,sha256=
|
|
105
|
+
flock/mcp/servers/sse/flock_sse_server.py,sha256=YesBrgdbxOsZO6Lgm8EQ8SsDDqhQGkTUPcEuLcqy89A,4980
|
|
105
106
|
flock/mcp/servers/stdio/__init__.py,sha256=36QMguWwHCklLbISNNe1m2cq-y9klAWRf_QnuYpD2aY,53
|
|
106
107
|
flock/mcp/servers/stdio/flock_stdio_server.py,sha256=E78F7iJ6hDyiHREZqNvou5-31NOBRGAYnpeEcRUF5VA,4921
|
|
108
|
+
flock/mcp/servers/streamable_http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
109
|
+
flock/mcp/servers/streamable_http/flock_streamable_http_server.py,sha256=3bKxx5zBkVXZIvD9qz31oL1ucsMeEO4kdOpv4S558zo,5818
|
|
107
110
|
flock/mcp/servers/websockets/__init__.py,sha256=KeNgNQRdeCQ9xgpaHB1I0-HyYeBhkifAuZPTIA8eDqM,47
|
|
108
|
-
flock/mcp/servers/websockets/flock_websocket_server.py,sha256=
|
|
111
|
+
flock/mcp/servers/websockets/flock_websocket_server.py,sha256=ntDLKMM20xTGd7k2TbNEK3ToJAF14oyW6vwofNzvqtM,4324
|
|
109
112
|
flock/modules/__init__.py,sha256=Y0cEkx0dujRmy--TDpKoTqFSLzbyFz8BwEOv8kdSUhg,22
|
|
110
113
|
flock/modules/assertion/__init__.py,sha256=Y0cEkx0dujRmy--TDpKoTqFSLzbyFz8BwEOv8kdSUhg,22
|
|
111
114
|
flock/modules/assertion/assertion_module.py,sha256=2p9mIj8yBXRGgfe5pUWYXcLT86Ny13KyWHpRhe0Ehtg,12877
|
|
@@ -478,7 +481,7 @@ flock/themes/zenwritten-dark.toml,sha256=To5l6520_3UqAGiEumpzGWsHhXxqu9ThrMildXK
|
|
|
478
481
|
flock/themes/zenwritten-light.toml,sha256=G1iEheCPfBNsMTGaVpEVpDzYBHA_T-MV27rolUYolmE,1666
|
|
479
482
|
flock/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
480
483
|
flock/tools/azure_tools.py,sha256=OTJsb0B4l70GcD1W3ZMDHWd3X8nEnszhhz2sllD2z9E,30187
|
|
481
|
-
flock/tools/code_tools.py,sha256=
|
|
484
|
+
flock/tools/code_tools.py,sha256=xLpuFl84y_GVzmIBe4qrr7h9wI3yWpM-M21GgEUjSjE,5247
|
|
482
485
|
flock/tools/file_tools.py,sha256=zbXo5SxyKYLvrE7k3vLF5tGxCeuaeJtCCdWQ1fXJMAA,4626
|
|
483
486
|
flock/tools/github_tools.py,sha256=HH47-4K3HL6tRJhZhUttWDo2aloP9Hs12wRC_f_-Vkc,5329
|
|
484
487
|
flock/tools/markdown_tools.py,sha256=94fjGAJ5DEutoioD0ke-YRbxF6IWJQKuPVBLkNqdBo4,6345
|
|
@@ -492,13 +495,13 @@ flock/webapp/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
|
492
495
|
flock/webapp/app/chat.py,sha256=d5a_mr3H2nuWNFSpSlI_HyqX-J_4krndd4A-8S25EKM,28679
|
|
493
496
|
flock/webapp/app/config.py,sha256=lqmneujnNZk-EFJV5cWpvxkqisxH3T3zT_YOI0JYThE,4809
|
|
494
497
|
flock/webapp/app/dependencies.py,sha256=JUcwY1N6SZplU141lMN2wk9dOC9er5HCedrKTJN9wJk,5533
|
|
495
|
-
flock/webapp/app/main.py,sha256=
|
|
498
|
+
flock/webapp/app/main.py,sha256=54DHCA4jaOBrW3Lly0t-r_gSOEBj96G4Izt5pkbFZSw,57142
|
|
496
499
|
flock/webapp/app/models_ui.py,sha256=vrEBLbhEp6FziAgBSFOLT1M7ckwadsTdT7qus5_NduE,329
|
|
497
500
|
flock/webapp/app/theme_mapper.py,sha256=QzWwLWpED78oYp3FjZ9zxv1KxCyj43m8MZ0fhfzz37w,34302
|
|
498
501
|
flock/webapp/app/utils.py,sha256=RF8DMKKAj1XPmm4txUdo2OdswI1ATQ7cqUm6G9JFDzA,2942
|
|
499
502
|
flock/webapp/app/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
500
503
|
flock/webapp/app/api/agent_management.py,sha256=5xqO94QjjAYvxImyjKV9EGUQOvo4n3eqs7pGwGPSQJ4,10394
|
|
501
|
-
flock/webapp/app/api/execution.py,sha256=
|
|
504
|
+
flock/webapp/app/api/execution.py,sha256=wRuJ3v2PXgpyiPZ_0t4qYDG7tgQgBlAn1I9QZocQN2U,12995
|
|
502
505
|
flock/webapp/app/api/flock_management.py,sha256=1o-6-36kTnUjI3am_BqLpdrcz0aqFXrxE-hQHIFcCsg,4869
|
|
503
506
|
flock/webapp/app/api/registry_viewer.py,sha256=IoInxJiRR0yFlecG_l2_eRc6l35RQQyEDMG9BcBkipY,1020
|
|
504
507
|
flock/webapp/app/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -558,8 +561,8 @@ flock/workflow/agent_execution_activity.py,sha256=Gy6FtuVAjf0NiUXmC3syS2eJpNQF4R
|
|
|
558
561
|
flock/workflow/flock_workflow.py,sha256=iSUF_soFvWar0ffpkzE4irkDZRx0p4HnwmEBi_Ne2sY,9666
|
|
559
562
|
flock/workflow/temporal_config.py,sha256=3_8O7SDEjMsSMXsWJBfnb6XTp0TFaz39uyzSlMTSF_I,3988
|
|
560
563
|
flock/workflow/temporal_setup.py,sha256=YIHnSBntzOchHfMSh8hoLeNXrz3B1UbR14YrR6soM7A,1606
|
|
561
|
-
flock_core-0.4.
|
|
562
|
-
flock_core-0.4.
|
|
563
|
-
flock_core-0.4.
|
|
564
|
-
flock_core-0.4.
|
|
565
|
-
flock_core-0.4.
|
|
564
|
+
flock_core-0.4.514.dist-info/METADATA,sha256=G-3HcIxeZRZ7rkKcqmlEcbeEyA04vcEqWk0Hbr8L7RE,22786
|
|
565
|
+
flock_core-0.4.514.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
566
|
+
flock_core-0.4.514.dist-info/entry_points.txt,sha256=rWaS5KSpkTmWySURGFZk6PhbJ87TmvcFQDi2uzjlagQ,37
|
|
567
|
+
flock_core-0.4.514.dist-info/licenses/LICENSE,sha256=iYEqWy0wjULzM9GAERaybP4LBiPeu7Z1NEliLUdJKSc,1072
|
|
568
|
+
flock_core-0.4.514.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|