flock-core 0.5.0b71__py3-none-any.whl → 0.5.1__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.

Files changed (65) hide show
  1. flock/agent.py +39 -1
  2. flock/artifacts.py +17 -10
  3. flock/cli.py +1 -1
  4. flock/dashboard/__init__.py +2 -0
  5. flock/dashboard/collector.py +282 -6
  6. flock/dashboard/events.py +6 -0
  7. flock/dashboard/graph_builder.py +563 -0
  8. flock/dashboard/launcher.py +11 -6
  9. flock/dashboard/models/__init__.py +1 -0
  10. flock/dashboard/models/graph.py +156 -0
  11. flock/dashboard/service.py +175 -14
  12. flock/dashboard/static_v2/assets/index-DFRnI_mt.js +111 -0
  13. flock/dashboard/static_v2/assets/index-fPLNdmp1.css +1 -0
  14. flock/dashboard/static_v2/index.html +13 -0
  15. flock/dashboard/websocket.py +2 -2
  16. flock/engines/dspy_engine.py +294 -20
  17. flock/frontend/README.md +6 -6
  18. flock/frontend/src/App.tsx +23 -31
  19. flock/frontend/src/__tests__/integration/graph-snapshot.test.tsx +647 -0
  20. flock/frontend/src/components/details/DetailWindowContainer.tsx +13 -17
  21. flock/frontend/src/components/details/MessageDetailWindow.tsx +439 -0
  22. flock/frontend/src/components/details/MessageHistoryTab.tsx +128 -53
  23. flock/frontend/src/components/details/RunStatusTab.tsx +79 -38
  24. flock/frontend/src/components/graph/AgentNode.test.tsx +3 -1
  25. flock/frontend/src/components/graph/AgentNode.tsx +8 -6
  26. flock/frontend/src/components/graph/GraphCanvas.tsx +13 -8
  27. flock/frontend/src/components/graph/MessageNode.test.tsx +3 -1
  28. flock/frontend/src/components/graph/MessageNode.tsx +16 -3
  29. flock/frontend/src/components/layout/DashboardLayout.tsx +12 -9
  30. flock/frontend/src/components/modules/HistoricalArtifactsModule.tsx +4 -14
  31. flock/frontend/src/components/modules/ModuleRegistry.ts +5 -3
  32. flock/frontend/src/hooks/useModules.ts +12 -4
  33. flock/frontend/src/hooks/usePersistence.ts +5 -3
  34. flock/frontend/src/services/api.ts +3 -19
  35. flock/frontend/src/services/graphService.test.ts +330 -0
  36. flock/frontend/src/services/graphService.ts +75 -0
  37. flock/frontend/src/services/websocket.ts +104 -268
  38. flock/frontend/src/store/filterStore.test.ts +89 -1
  39. flock/frontend/src/store/filterStore.ts +38 -16
  40. flock/frontend/src/store/graphStore.test.ts +538 -173
  41. flock/frontend/src/store/graphStore.ts +374 -465
  42. flock/frontend/src/store/moduleStore.ts +51 -33
  43. flock/frontend/src/store/uiStore.ts +23 -11
  44. flock/frontend/src/types/graph.ts +77 -44
  45. flock/frontend/src/utils/mockData.ts +16 -3
  46. flock/frontend/vite.config.ts +2 -2
  47. flock/orchestrator.py +27 -7
  48. flock/patches/__init__.py +5 -0
  49. flock/patches/dspy_streaming_patch.py +82 -0
  50. flock/service.py +2 -2
  51. flock/store.py +169 -4
  52. flock/themes/darkmatrix.toml +2 -2
  53. flock/themes/deep.toml +2 -2
  54. flock/themes/neopolitan.toml +4 -4
  55. {flock_core-0.5.0b71.dist-info → flock_core-0.5.1.dist-info}/METADATA +20 -13
  56. {flock_core-0.5.0b71.dist-info → flock_core-0.5.1.dist-info}/RECORD +59 -53
  57. flock/frontend/src/__tests__/e2e/critical-scenarios.test.tsx +0 -586
  58. flock/frontend/src/__tests__/integration/filtering-e2e.test.tsx +0 -391
  59. flock/frontend/src/__tests__/integration/graph-rendering.test.tsx +0 -640
  60. flock/frontend/src/services/websocket.test.ts +0 -595
  61. flock/frontend/src/utils/transforms.test.ts +0 -860
  62. flock/frontend/src/utils/transforms.ts +0 -323
  63. {flock_core-0.5.0b71.dist-info → flock_core-0.5.1.dist-info}/WHEEL +0 -0
  64. {flock_core-0.5.0b71.dist-info → flock_core-0.5.1.dist-info}/entry_points.txt +0 -0
  65. {flock_core-0.5.0b71.dist-info → flock_core-0.5.1.dist-info}/licenses/LICENSE +0 -0
flock/store.py CHANGED
@@ -109,6 +109,20 @@ class ArtifactEnvelope:
109
109
  consumptions: list[ConsumptionRecord] = field(default_factory=list)
110
110
 
111
111
 
112
+ @dataclass(slots=True)
113
+ class AgentSnapshotRecord:
114
+ """Persistent metadata about an agent's behaviour."""
115
+
116
+ agent_name: str
117
+ description: str
118
+ subscriptions: list[str]
119
+ output_types: list[str]
120
+ labels: list[str]
121
+ first_seen: datetime
122
+ last_seen: datetime
123
+ signature: str
124
+
125
+
112
126
  class BlackboardStore:
113
127
  async def publish(self, artifact: Artifact) -> None:
114
128
  raise NotImplementedError
@@ -155,6 +169,29 @@ class BlackboardStore:
155
169
  """Search artifacts with filtering and pagination."""
156
170
  raise NotImplementedError
157
171
 
172
+ async def fetch_graph_artifacts(
173
+ self,
174
+ filters: FilterConfig | None = None,
175
+ *,
176
+ limit: int = 500,
177
+ offset: int = 0,
178
+ ) -> tuple[list[ArtifactEnvelope], int]:
179
+ """Return artifact envelopes (artifact + consumptions) for graph assembly."""
180
+ artifacts, total = await self.query_artifacts(
181
+ filters=filters,
182
+ limit=limit,
183
+ offset=offset,
184
+ embed_meta=True,
185
+ )
186
+
187
+ envelopes: list[ArtifactEnvelope] = []
188
+ for item in artifacts:
189
+ if isinstance(item, ArtifactEnvelope):
190
+ envelopes.append(item)
191
+ elif isinstance(item, Artifact):
192
+ envelopes.append(ArtifactEnvelope(artifact=item))
193
+ return envelopes, total
194
+
158
195
  async def summarize_artifacts(
159
196
  self,
160
197
  filters: FilterConfig | None = None,
@@ -170,6 +207,18 @@ class BlackboardStore:
170
207
  """Return produced/consumed counts for the specified agent."""
171
208
  raise NotImplementedError
172
209
 
210
+ async def upsert_agent_snapshot(self, snapshot: AgentSnapshotRecord) -> None:
211
+ """Persist metadata describing an agent."""
212
+ raise NotImplementedError
213
+
214
+ async def load_agent_snapshots(self) -> list[AgentSnapshotRecord]:
215
+ """Return all persisted agent metadata records."""
216
+ raise NotImplementedError
217
+
218
+ async def clear_agent_snapshots(self) -> None:
219
+ """Remove all persisted agent metadata."""
220
+ raise NotImplementedError
221
+
173
222
 
174
223
  class InMemoryBlackboardStore(BlackboardStore):
175
224
  """Simple in-memory implementation suitable for local dev and tests."""
@@ -179,6 +228,7 @@ class InMemoryBlackboardStore(BlackboardStore):
179
228
  self._by_id: dict[UUID, Artifact] = {}
180
229
  self._by_type: dict[str, list[Artifact]] = defaultdict(list)
181
230
  self._consumptions_by_artifact: dict[UUID, list[ConsumptionRecord]] = defaultdict(list)
231
+ self._agent_snapshots: dict[str, AgentSnapshotRecord] = {}
182
232
 
183
233
  async def publish(self, artifact: Artifact) -> None:
184
234
  async with self._lock:
@@ -250,9 +300,7 @@ class InMemoryBlackboardStore(BlackboardStore):
250
300
  return False
251
301
  if filters.start and artifact.created_at < filters.start:
252
302
  return False
253
- if filters.end and artifact.created_at > filters.end:
254
- return False
255
- return True
303
+ return not (filters.end and artifact.created_at > filters.end)
256
304
 
257
305
  filtered = [artifact for artifact in artifacts if _matches(artifact)]
258
306
  filtered.sort(key=lambda a: (a.created_at, a.id))
@@ -371,8 +419,21 @@ class InMemoryBlackboardStore(BlackboardStore):
371
419
  "consumed": {"total": consumed_total, "by_type": dict(consumed_by_type)},
372
420
  }
373
421
 
422
+ async def upsert_agent_snapshot(self, snapshot: AgentSnapshotRecord) -> None:
423
+ async with self._lock:
424
+ self._agent_snapshots[snapshot.agent_name] = snapshot
425
+
426
+ async def load_agent_snapshots(self) -> list[AgentSnapshotRecord]:
427
+ async with self._lock:
428
+ return list(self._agent_snapshots.values())
429
+
430
+ async def clear_agent_snapshots(self) -> None:
431
+ async with self._lock:
432
+ self._agent_snapshots.clear()
433
+
374
434
 
375
435
  __all__ = [
436
+ "AgentSnapshotRecord",
376
437
  "BlackboardStore",
377
438
  "InMemoryBlackboardStore",
378
439
  "SQLiteBlackboardStore",
@@ -382,7 +443,7 @@ __all__ = [
382
443
  class SQLiteBlackboardStore(BlackboardStore):
383
444
  """SQLite-backed implementation of :class:`BlackboardStore`."""
384
445
 
385
- SCHEMA_VERSION = 2
446
+ SCHEMA_VERSION = 3
386
447
 
387
448
  def __init__(self, db_path: str, *, timeout: float = 5.0) -> None:
388
449
  self._db_path = Path(db_path)
@@ -498,6 +559,20 @@ class SQLiteBlackboardStore(BlackboardStore):
498
559
  )
499
560
  await conn.commit()
500
561
 
562
+ async def fetch_graph_artifacts( # type: ignore[override]
563
+ self,
564
+ filters: FilterConfig | None = None,
565
+ *,
566
+ limit: int = 500,
567
+ offset: int = 0,
568
+ ) -> tuple[list[ArtifactEnvelope], int]:
569
+ with tracer.start_as_current_span("sqlite_store.fetch_graph_artifacts"):
570
+ return await super().fetch_graph_artifacts(
571
+ filters,
572
+ limit=limit,
573
+ offset=offset,
574
+ )
575
+
501
576
  async def get(self, artifact_id: UUID) -> Artifact | None: # type: ignore[override]
502
577
  with tracer.start_as_current_span("sqlite_store.get"):
503
578
  conn = await self._get_connection()
@@ -835,6 +910,78 @@ class SQLiteBlackboardStore(BlackboardStore):
835
910
  "consumed": {"total": consumed_total, "by_type": consumed_by_type},
836
911
  }
837
912
 
913
+ async def upsert_agent_snapshot(self, snapshot: AgentSnapshotRecord) -> None:
914
+ with tracer.start_as_current_span("sqlite_store.upsert_agent_snapshot"):
915
+ conn = await self._get_connection()
916
+ payload = {
917
+ "agent_name": snapshot.agent_name,
918
+ "description": snapshot.description,
919
+ "subscriptions": json.dumps(snapshot.subscriptions),
920
+ "output_types": json.dumps(snapshot.output_types),
921
+ "labels": json.dumps(snapshot.labels),
922
+ "first_seen": snapshot.first_seen.isoformat(),
923
+ "last_seen": snapshot.last_seen.isoformat(),
924
+ "signature": snapshot.signature,
925
+ }
926
+ async with self._write_lock:
927
+ await conn.execute(
928
+ """
929
+ INSERT INTO agent_snapshots (
930
+ agent_name, description, subscriptions, output_types, labels,
931
+ first_seen, last_seen, signature
932
+ ) VALUES (
933
+ :agent_name, :description, :subscriptions, :output_types, :labels,
934
+ :first_seen, :last_seen, :signature
935
+ )
936
+ ON CONFLICT(agent_name) DO UPDATE SET
937
+ description=excluded.description,
938
+ subscriptions=excluded.subscriptions,
939
+ output_types=excluded.output_types,
940
+ labels=excluded.labels,
941
+ first_seen=excluded.first_seen,
942
+ last_seen=excluded.last_seen,
943
+ signature=excluded.signature
944
+ """,
945
+ payload,
946
+ )
947
+ await conn.commit()
948
+
949
+ async def load_agent_snapshots(self) -> list[AgentSnapshotRecord]:
950
+ with tracer.start_as_current_span("sqlite_store.load_agent_snapshots"):
951
+ conn = await self._get_connection()
952
+ cursor = await conn.execute(
953
+ """
954
+ SELECT agent_name, description, subscriptions, output_types, labels,
955
+ first_seen, last_seen, signature
956
+ FROM agent_snapshots
957
+ """
958
+ )
959
+ rows = await cursor.fetchall()
960
+ await cursor.close()
961
+
962
+ snapshots: list[AgentSnapshotRecord] = []
963
+ for row in rows:
964
+ snapshots.append(
965
+ AgentSnapshotRecord(
966
+ agent_name=row["agent_name"],
967
+ description=row["description"],
968
+ subscriptions=json.loads(row["subscriptions"] or "[]"),
969
+ output_types=json.loads(row["output_types"] or "[]"),
970
+ labels=json.loads(row["labels"] or "[]"),
971
+ first_seen=datetime.fromisoformat(row["first_seen"]),
972
+ last_seen=datetime.fromisoformat(row["last_seen"]),
973
+ signature=row["signature"],
974
+ )
975
+ )
976
+ return snapshots
977
+
978
+ async def clear_agent_snapshots(self) -> None:
979
+ with tracer.start_as_current_span("sqlite_store.clear_agent_snapshots"):
980
+ conn = await self._get_connection()
981
+ async with self._write_lock:
982
+ await conn.execute("DELETE FROM agent_snapshots")
983
+ await conn.commit()
984
+
838
985
  async def ensure_schema(self) -> None:
839
986
  conn = await self._ensure_connection()
840
987
  await self._apply_schema(conn)
@@ -977,6 +1124,24 @@ class SQLiteBlackboardStore(BlackboardStore):
977
1124
  ON artifact_consumptions(correlation_id)
978
1125
  """
979
1126
  )
1127
+ await conn.execute(
1128
+ """
1129
+ CREATE TABLE IF NOT EXISTS agent_snapshots (
1130
+ agent_name TEXT PRIMARY KEY,
1131
+ description TEXT NOT NULL,
1132
+ subscriptions TEXT NOT NULL,
1133
+ output_types TEXT NOT NULL,
1134
+ labels TEXT NOT NULL,
1135
+ first_seen TEXT NOT NULL,
1136
+ last_seen TEXT NOT NULL,
1137
+ signature TEXT NOT NULL
1138
+ )
1139
+ """
1140
+ )
1141
+ await conn.execute(
1142
+ "UPDATE schema_meta SET version=? WHERE id=1",
1143
+ (self.SCHEMA_VERSION,),
1144
+ )
980
1145
  await conn.commit()
981
1146
  self._schema_ready = True
982
1147
 
@@ -21,7 +21,7 @@ normal_green = "#6fa64c"
21
21
  normal_magenta = "#452d53"
22
22
  normal_red = "#006536"
23
23
  normal_white = "#006536"
24
- normal_yellow = "#7e8000"
24
+ normal_yellow = "#7e8344"
25
25
  cursor_cursor = "#9fa86e"
26
26
  cursor_text = "#00ff87"
27
27
  table_show_lines = true
@@ -66,7 +66,7 @@ green = "#6fa64c"
66
66
  magenta = "#452d53"
67
67
  red = "#006536"
68
68
  white = "#006536"
69
- yellow = "#7e8000"
69
+ yellow = "#7e8344"
70
70
 
71
71
  [colors.primary]
72
72
  background = "#070c0e"
flock/themes/deep.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [rich]
2
2
  panel_style = "on #090909"
3
- table_header_style = "bold #ececec on #780002"
3
+ table_header_style = "bold #ececec on #783442"
4
4
  table_title_style = "bold #cdcdcd"
5
5
  table_border_style = "#9fa9ff"
6
6
  panel_border_style = "#9fa9ff"
@@ -73,5 +73,5 @@ background = "#090909"
73
73
  foreground = "#cdcdcd"
74
74
 
75
75
  [colors.selection]
76
- background = "#780002"
76
+ background = "#783442"
77
77
  text = "#ececec"
@@ -11,7 +11,7 @@ bright_blue = "#253b76"
11
11
  bright_cyan = "#8da6ce"
12
12
  bright_green = "#61ce3c"
13
13
  bright_magenta = "#ff0080"
14
- bright_red = "#800000"
14
+ bright_red = "#834400"
15
15
  bright_white = "#f8f8f8"
16
16
  bright_yellow = "#fbde2d"
17
17
  normal_black = "#000000"
@@ -19,7 +19,7 @@ normal_blue = "#253b76"
19
19
  normal_cyan = "#8da6ce"
20
20
  normal_green = "#61ce3c"
21
21
  normal_magenta = "#ff0080"
22
- normal_red = "#800000"
22
+ normal_red = "#834400"
23
23
  normal_white = "#f8f8f8"
24
24
  normal_yellow = "#fbde2d"
25
25
  cursor_cursor = "#ffffff"
@@ -50,7 +50,7 @@ blue = "#253b76"
50
50
  cyan = "#8da6ce"
51
51
  green = "#61ce3c"
52
52
  magenta = "#ff0080"
53
- red = "#800000"
53
+ red = "#834400"
54
54
  white = "#f8f8f8"
55
55
  yellow = "#fbde2d"
56
56
 
@@ -64,7 +64,7 @@ blue = "#253b76"
64
64
  cyan = "#8da6ce"
65
65
  green = "#61ce3c"
66
66
  magenta = "#ff0080"
67
- red = "#800000"
67
+ red = "#834400"
68
68
  white = "#f8f8f8"
69
69
  yellow = "#fbde2d"
70
70
 
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flock-core
3
- Version: 0.5.0b71
4
- Summary: Add your description here
3
+ Version: 0.5.1
4
+ Summary: Flock: A declrative framework for building and orchestrating AI agents.
5
5
  Author-email: Andre Ratzenberger <andre.ratzenberger@whiteduck.de>
6
6
  License-File: LICENSE
7
7
  Requires-Python: >=3.10
8
8
  Requires-Dist: aiosqlite>=0.20.0
9
9
  Requires-Dist: devtools>=0.12.2
10
- Requires-Dist: dspy==3.0.0
10
+ Requires-Dist: dspy==3.0.4b1
11
11
  Requires-Dist: duckdb>=1.1.0
12
12
  Requires-Dist: fastapi>=0.117.1
13
13
  Requires-Dist: hanging-threads>=2.0.7
@@ -31,7 +31,7 @@ Requires-Dist: websockets>=15.0.1
31
31
  Description-Content-Type: text/markdown
32
32
 
33
33
  <p align="center">
34
- <img alt="Flock Banner" src="https://raw.githubusercontent.com/whiteducksoftware/flock/master/docs/assets/images/flock.png" width="800">
34
+ <img alt="Flock Banner" src="docs/assets/images/flock.png" width="800">
35
35
  </p>
36
36
  <p align="center">
37
37
  <a href="https://docs.flock.whiteduck.de" target="_blank"><img alt="Documentation" src="https://img.shields.io/badge/docs-online-blue?style=for-the-badge&logo=readthedocs"></a>
@@ -675,13 +675,15 @@ Flock uses a fundamentally different coordination pattern than most multi-agent
675
675
  - Type-safe retrieval API (`get_by_type()`)
676
676
 
677
677
  **⚠️ What's missing for large-scale production:**
678
- - **Persistent blackboard** - Currently in-memory only
679
- - **Advanced retry logic** - Basic only
678
+ - **Advanced retry logic** - Basic only (exponential backoff planned)
680
679
  - **Event replay** - No Kafka integration yet
681
680
  - **Kubernetes-native deployment** - No Helm chart yet
682
681
  - **OAuth/RBAC** - Dashboard has no auth
683
682
 
684
- All planned for v1.0
683
+ **✅ Available today:**
684
+ - **Persistent blackboard** - SQLiteBlackboardStore (see above)
685
+
686
+ All missing features planned for v1.0
685
687
 
686
688
  ### Recommended Use Cases Today
687
689
 
@@ -873,16 +875,21 @@ pip install flock-core
873
875
  # Set API key
874
876
  export OPENAI_API_KEY="sk-..."
875
877
 
876
- # Try the workshop
878
+ # Try the examples
877
879
  git clone https://github.com/whiteducksoftware/flock-flow.git
878
880
  cd flock-flow
879
- uv run python examples/05-claudes-workshop/lesson_01_code_detective.py
881
+
882
+ # CLI examples with detailed output
883
+ uv run python examples/01-cli/01_declarative_pizza.py
884
+
885
+ # Dashboard examples with visualization
886
+ uv run python examples/02-dashboard/01_declarative_pizza.py
880
887
  ```
881
888
 
882
889
  **Learn by doing:**
883
- - 📚 [7-Lesson Workshop](examples/05-claudes-workshop/) - Progressive lessons from basics to advanced
884
- - 🆚 [The Blackboard](examples/02-the-blackboard/) - See data-driven orchestration without graphs
885
- - 🎯 [Declarative Basics](examples/01-the-declarative-way/) - Understanding declarative programming
890
+ - 📚 [Examples README](examples/README.md) - 12-step learning path from basics to advanced
891
+ - 🖥️ [CLI Examples](examples/01-cli/) - Detailed console output examples (01-12)
892
+ - 📊 [Dashboard Examples](examples/02-dashboard/) - Interactive visualization examples (01-12)
886
893
  - 📖 [Documentation](https://docs.flock.whiteduck.de) - Complete online documentation
887
894
  - 📘 [AGENTS.md](AGENTS.md) - Development guide
888
895
 
@@ -959,6 +966,6 @@ We're calling this 0.5 to signal:
959
966
 
960
967
  ---
961
968
 
962
- **Last Updated:** October 8, 2025
969
+ **Last Updated:** October 13, 2025
963
970
  **Version:** Flock 0.5.0 (Blackboard Edition)
964
971
  **Status:** Production-Ready Core, Enterprise Features Roadmapped
@@ -1,41 +1,45 @@
1
1
  flock/__init__.py,sha256=fvp4ltfaAGmYliShuTY_XVIpOUN6bMXbWiBnwb1NBoM,310
2
- flock/agent.py,sha256=LHc2COiV_w0eKmGaq9IsTDaNg_gc6iTSKmGPk1FKbt0,39731
3
- flock/artifacts.py,sha256=Xnizu0V4Jbwd1yV_FhXjUZG8Em-5GYsLt7sMX0V2OKI,2222
4
- flock/cli.py,sha256=Ysr-u68QqY5YLjY7AKQSwzeJdYhNM4NMk9S5plmzg8w,4526
2
+ flock/agent.py,sha256=pYqVb1Z6BzIpM8kJoSl1XmirF8u7Gi0YIbUuGB0pcv4,41327
3
+ flock/artifacts.py,sha256=3vQQ1J7QxTzeQBUGaNLiyojlmBv1NfdhFC98-qj8fpU,2541
4
+ flock/cli.py,sha256=lPtKxEXnGtyuTh0gyG3ixEIFS4Ty6Y0xsPd6SpUTD3U,4526
5
5
  flock/components.py,sha256=17vhNMHKc3VUruEbSdb9YNKcDziIe0coS9jpfWBmX4o,6259
6
6
  flock/examples.py,sha256=eQb8k6EYBbUhauFuSN_0EIIu5KW0mTqJU0HM4-p14sc,3632
7
- flock/orchestrator.py,sha256=Im22Nw9BUC7Hcd8GzOR0oBP1m2wb35_-dE2Hw-d_bZ8,35898
7
+ flock/orchestrator.py,sha256=f7FD1i2bcpkHEER0w3DEgzcWp1AmmBSbegVODdhYxdY,36661
8
8
  flock/registry.py,sha256=s0-H-TMtOsDZiZQCc7T1tYiWQg3OZHn5T--jaI_INIc,4786
9
9
  flock/runtime.py,sha256=UG-38u578h628mSddBmyZn2VIzFQ0wlHCpCALFiScqA,8518
10
- flock/service.py,sha256=P_ntjfaCdRRTmdeOVe7vf6A9MResktLiqDu0x3SKSpg,11041
11
- flock/store.py,sha256=78QV5n8za-w1Toll3g29TynvhXUv3-0ExDgIL4aOP4o,39168
10
+ flock/service.py,sha256=JDdjjPTPH6NFezAr8x6svtqxIGXA7-AyHS11GF57g9Q,11041
11
+ flock/store.py,sha256=H6z1_y5uDp_4UnHWqrxNksyoSGlzeVTgLY3Sv-guSTU,45793
12
12
  flock/subscription.py,sha256=ylIOV2G37KNfncdexrl4kxZOjo7SLS3LmddTaoSkrIk,3103
13
13
  flock/utilities.py,sha256=bqTPnFF6E-pDqx1ISswDNEzTU2-ED_URlkyKWLjF3mU,12109
14
14
  flock/visibility.py,sha256=Cu2PMBjRtqjiWzlwHLCIC2AUFBjJ2augecG-jvK8ky0,2949
15
15
  flock/api/themes.py,sha256=BOj1e0LHx6BDLdnVdXh1LKsbQ_ZeubH9UCoj08dC1yc,1886
16
- flock/dashboard/__init__.py,sha256=6keizAfjuZJnM5S9wYVVqb2nJRVAa7nN1L0a288dbn8,734
17
- flock/dashboard/collector.py,sha256=dF8uddDMpOSdxGkhDSAvRNNaABo-TfOceipf1SQmLSU,10578
18
- flock/dashboard/events.py,sha256=ujdmRJK-GQubrv43qfQ73dnrTj7g39VzBkWfmskJ0j8,5234
19
- flock/dashboard/launcher.py,sha256=zXWVpyLNxCIu6fJ2L2j2sJ4oDWTvkxhT4FWz7K6eooM,8122
20
- flock/dashboard/service.py,sha256=30_uUxDhvX1jfy02G4muNuzbcMH5TujY_G5aXWNQa8Q,32104
21
- flock/dashboard/websocket.py,sha256=6piBJ92nSAeTgGFDUgAaQ8CthqThwRUC6aMUBB_2O6E,9508
16
+ flock/dashboard/__init__.py,sha256=_W6Id_Zb7mkSz0iHY1nfdUqF9p9uV_NyHsU7PFsRnFI,813
17
+ flock/dashboard/collector.py,sha256=ka29inyVWb3TpboboaZT3QQdviSNOKD8Wue7QCYO14w,21478
18
+ flock/dashboard/events.py,sha256=yULfn1H3BdjX_hO0echIpGXpbAj4sVfboeZwrlxMKN0,5571
19
+ flock/dashboard/graph_builder.py,sha256=u5Hp007Wr_v3aQI_0YzTit9hAGDc-gUiilnj-p114uo,21402
20
+ flock/dashboard/launcher.py,sha256=dCfwaeMLtyIkik3aVSEsbBdABS5ADRlKWYkih7sF5hM,8196
21
+ flock/dashboard/service.py,sha256=PzyJS3T3lSoC1sULdfKqUJyu2UUhtSV5xEG0LPhO4qI,39071
22
+ flock/dashboard/websocket.py,sha256=_DCZApJPXc8OQnxFDFS9TA9ozq7kM73QByRj-_a8n-8,9508
23
+ flock/dashboard/models/__init__.py,sha256=T4Yz8IXMm7lBqa2HLDSv7WJBtaKcdZIlTrz6GHNFZxs,68
24
+ flock/dashboard/models/graph.py,sha256=t159CMNavFYZB-qvSE5HRh9Zi_HOR4RYc8VzIngpx_E,5316
25
+ flock/dashboard/static_v2/index.html,sha256=iWL-fgTY2egom20DMvSOpuYZ6pC5AVvdNZcj-EvPm5w,422
26
+ flock/dashboard/static_v2/assets/index-DFRnI_mt.js,sha256=PVrBXxY3Igbf9dqtsWoCbhogEhibapLAwlMYV5Gv4pY,764870
27
+ flock/dashboard/static_v2/assets/index-fPLNdmp1.css,sha256=skpvfkkrlw7WbmBh7HN-rUKAtKP-gpuLUH4klUgFHT4,74529
22
28
  flock/engines/__init__.py,sha256=waNyObJ8PKCLFZL3WUFynxSK-V47m559P3Px-vl_OSc,124
23
- flock/engines/dspy_engine.py,sha256=bIfm5FzQV5v8vSlRLw-XftQ8YSKP0Cmf7EHgGSxb7a8,37545
24
- flock/frontend/README.md,sha256=bWElU0eKmVCYI6VHCqH5KQCi3Ysg6T808mkUXs2xoTY,26232
29
+ flock/engines/dspy_engine.py,sha256=o_k9mnWuxGN2jEL8KQmaBCGi6Aw8hQb9AZPsQRLRw3U,50921
30
+ flock/frontend/README.md,sha256=R1gqm524Xa5PZAkfl-IJDEf6VsBJ6ThrpY7SyDawjog,26232
25
31
  flock/frontend/index.html,sha256=BFg1VR_YVAJ_MGN16xa7sT6wTGwtFYUhfJhGuKv89VM,312
26
32
  flock/frontend/package-lock.json,sha256=1edo2JDle0if_MljnK4Xto7Q7hhGUEBQAvQFqKy9RzQ,150798
27
33
  flock/frontend/package.json,sha256=4hHxn3NhjZnHgVM4tooAC0LnePEuC2QlrdwfgFjIj9Y,1258
28
34
  flock/frontend/tsconfig.json,sha256=B9p9jXohg_jrCZAq5_yIHvznpeXHiHQkwUZrVE2oMRA,705
29
35
  flock/frontend/tsconfig.node.json,sha256=u5_YWSqeNkZBRBIZ8Q2E2q6bospcyF23mO-taRO7glc,233
30
- flock/frontend/vite.config.ts,sha256=OQOr6Hl75iW7EvEm2_GXFdicYWthgdLhp4lz3d7RkJA,566
36
+ flock/frontend/vite.config.ts,sha256=M76uTsyn7fvHI4NhaGyizOGmml0fJvuhSljOQm_UvGs,566
31
37
  flock/frontend/vitest.config.ts,sha256=xSWyGrBv2Cy_5eeZA68NCO5AXS6q8WKZXXzqu2JnXPY,244
32
38
  flock/frontend/docs/DESIGN_SYSTEM.md,sha256=xDTKBDikSIyJMP5Lk0gWSimQHeXv8IzIuJR7SLOEdPY,48503
33
- flock/frontend/src/App.tsx,sha256=E3l8SKAnFJb3RXuKomhSFXY49KUwf0SK6dhef57hRhk,5285
39
+ flock/frontend/src/App.tsx,sha256=3vwTT_WJP7OUb0LJDVMXfkb5hD-uZZmiGBK2wl1QgeM,5233
34
40
  flock/frontend/src/main.tsx,sha256=sfWsPgNn5AyDH4LJJLTz2c5OwOPl0o4oi-FArpqc-W4,354
35
41
  flock/frontend/src/vite-env.d.ts,sha256=tDjMtvUVN9uIgSCHe__Jhp0-nZiIV21pkcQuyOjaryw,344
36
- flock/frontend/src/__tests__/e2e/critical-scenarios.test.tsx,sha256=PTSuyTqQ1IfE6SVntWJMJLHw3HqbyUMZ0WycmujaJo8,21802
37
- flock/frontend/src/__tests__/integration/filtering-e2e.test.tsx,sha256=VrGOgI-4QaCIroIZIdtxxAP4Sw8UpPkMX5wMpcehmdU,11608
38
- flock/frontend/src/__tests__/integration/graph-rendering.test.tsx,sha256=BrXule_v1w-Y_xMR1V318_QH3mIpYstxIWDnWVI5HbI,19845
42
+ flock/frontend/src/__tests__/integration/graph-snapshot.test.tsx,sha256=aipd0xV6zbNKOd6B9l_LY7GhMtj5H-kPRoEmEKgQw2w,19967
39
43
  flock/frontend/src/__tests__/integration/indexeddb-persistence.test.tsx,sha256=LDbotzC9cyTvyIhng8m_2TckZehD9zHemR6Ng3lSyV8,21825
40
44
  flock/frontend/src/components/common/BuildInfo.tsx,sha256=9J5Fww8dhnrxywDvg6jVNrIlLbEGkuRD8Vv2naVQiWk,983
41
45
  flock/frontend/src/components/common/EmptyState.module.css,sha256=3JID0CUKZ3UstUrwWKtKDKXVk9oWPXzB0-20fkIEb94,2373
@@ -49,13 +53,14 @@ flock/frontend/src/components/common/LoadingSpinner.tsx,sha256=ZtI9BOGQg4t-n923y
49
53
  flock/frontend/src/components/controls/PublishControl.css,sha256=yr73R7lf1fnq22DoPsOOfe2vM_FiWr-ekr5pZE_-KxA,12504
50
54
  flock/frontend/src/components/controls/PublishControl.test.tsx,sha256=AZiFHmInNPidbXX1dSMOxZd2kDAOgxCVB_IuzQu4K2Q,17675
51
55
  flock/frontend/src/components/controls/PublishControl.tsx,sha256=P1l9TWkIjYJ2qawHSA-WlOuRsHOuGzKy6GosBfQialo,14729
52
- flock/frontend/src/components/details/DetailWindowContainer.tsx,sha256=HaD2ScKsO_VblFIsG-qykjFtUPuhYayEyxapJDmGdA0,1788
56
+ flock/frontend/src/components/details/DetailWindowContainer.tsx,sha256=eKfFNBoSSl_JYj6Aaij9a9n6H24oQrfzZtE1uiUr0k8,1868
53
57
  flock/frontend/src/components/details/LiveOutputTab.test.tsx,sha256=YyxsBP3QpbeWDGKNGZsOjqLLqUkvuI-L-5tB2Sh7ATc,24160
54
58
  flock/frontend/src/components/details/LiveOutputTab.tsx,sha256=4mmN4DxI6rF9g9fVIAqbC8UsTwf4uzdNbPqGvvvP2FM,6908
55
- flock/frontend/src/components/details/MessageHistoryTab.tsx,sha256=xAlaqlQnIIH9Fypev1BDJbSnG_S7YJQ0M48PrL3vrKc,10237
59
+ flock/frontend/src/components/details/MessageDetailWindow.tsx,sha256=iypJQ6UTlbx-b-sTOg7RKjB_I3Drz40TVOU1Z5wU95A,16314
60
+ flock/frontend/src/components/details/MessageHistoryTab.tsx,sha256=VrL6iFRktFgAwmu0HuH0pCJgI73Fy5hIP17o9ImArI0,12610
56
61
  flock/frontend/src/components/details/NodeDetailWindow.test.tsx,sha256=nmRhAN5NFXJzo-IybtjYc1RPctRZJizxg9gbgzIUcxg,18379
57
62
  flock/frontend/src/components/details/NodeDetailWindow.tsx,sha256=yAwtio36uobKq75BQWYE_aX2gNcxUmUo946YX50l5oQ,7675
58
- flock/frontend/src/components/details/RunStatusTab.tsx,sha256=D_6nz0oef3bvbuRMnzlcKroLDKV8t_wXCP4QJJB086g,9895
63
+ flock/frontend/src/components/details/RunStatusTab.tsx,sha256=_o4BD3tpSoHq-38W4iRZ8Cn67gLjjmwf7S49knBGxwY,11500
59
64
  flock/frontend/src/components/details/tabs.test.tsx,sha256=drC38YbfUEvfp5eXzDU04IdHL_TlyxNP_lWEEYA7IP4,30519
60
65
  flock/frontend/src/components/filters/ArtifactTypeFilter.tsx,sha256=fCB5KmF5phQ3vDVJ6XE_0TQQEMV0aZ1NIX3DbkS_mhs,690
61
66
  flock/frontend/src/components/filters/CorrelationIDFilter.module.css,sha256=c_GWPe7itor8AbUYKlBV10JSGvI8_lLaMEXBKkMVbjk,2236
@@ -75,24 +80,24 @@ flock/frontend/src/components/filters/TimeRangeFilter.module.css,sha256=iownJK2O
75
80
  flock/frontend/src/components/filters/TimeRangeFilter.test.tsx,sha256=4vkGYNecXcwOzp5Oikgyl3B2T0PHGrRpfSZ3Cwv0Tn4,4934
76
81
  flock/frontend/src/components/filters/TimeRangeFilter.tsx,sha256=4-INbQXk0RrDfP4NK1LBNcLQQWhNYos2Ken8cizb114,3311
77
82
  flock/frontend/src/components/filters/VisibilityFilter.tsx,sha256=rFS4U90ltzYIUyfVR8NFRDLuTOLZdk_rTIQsXlB9EuI,679
78
- flock/frontend/src/components/graph/AgentNode.test.tsx,sha256=Wd3AGe1E9GJ26wyRU1AUakki9AQ9euYsKx5lhi1xAfg,1966
79
- flock/frontend/src/components/graph/AgentNode.tsx,sha256=JOSMiR_YXq6MgME2DfhqHldS_4zZEPySEIEM6t4fg48,12447
80
- flock/frontend/src/components/graph/GraphCanvas.tsx,sha256=x8wBiXgfZjR9AhDhvEg8udZHHF7V9AuvTLE8dxUmRNc,21733
83
+ flock/frontend/src/components/graph/AgentNode.test.tsx,sha256=D2OirlLSd22Ae5ocLLiBkL2lLz3vXtcx0LWAnqRYc58,2058
84
+ flock/frontend/src/components/graph/AgentNode.tsx,sha256=F_lSnQJK8GR1x1US6C1ch-3MNVrzs_sF4IwwYjiy63I,12626
85
+ flock/frontend/src/components/graph/GraphCanvas.tsx,sha256=O1fQKp7B1paDvwlG1nuy0t02aZuiNnj4Cy-qglYj21g,22124
81
86
  flock/frontend/src/components/graph/MessageFlowEdge.tsx,sha256=OWYmmlS5P9yIxfCddEleEd27MA-djMd_3fcQmyT22r4,3914
82
- flock/frontend/src/components/graph/MessageNode.test.tsx,sha256=S0vmtk2r4HGm8844Pb65syim-ZsCqvia24CECGgq5SY,1828
83
- flock/frontend/src/components/graph/MessageNode.tsx,sha256=axwYof1z3UtLO0QDPfTKnZX6w_TNFlZvVJsun1aDD_k,3645
87
+ flock/frontend/src/components/graph/MessageNode.test.tsx,sha256=xFBdOPQuWGm7_QUROkV8B9iRHEpyqsosxG_6i4K7ThE,1922
88
+ flock/frontend/src/components/graph/MessageNode.tsx,sha256=cirokPB3MKKLwCPtssGbD3FdhpxX5Ie2h1mM4Vv97w0,4114
84
89
  flock/frontend/src/components/graph/MiniMap.tsx,sha256=i2lQ51EAp35mwo2C35U6zktwm8o54iKm4MBSN4UJh3Y,1305
85
90
  flock/frontend/src/components/graph/TransformEdge.tsx,sha256=dL-FH4a7ujNd7mBgzQvFXrj_KvZeyYXKoEALfnDDCxA,3737
86
91
  flock/frontend/src/components/layout/DashboardLayout.css,sha256=CPiz_GqEMx6WDR6FTtlnbLJJPVKezNxdKLM7DJ3ANv8,9409
87
- flock/frontend/src/components/layout/DashboardLayout.tsx,sha256=RX5_N2NkANyh8b1FC69HOkJaNV8DyBtuDyVfyS73JmE,10692
92
+ flock/frontend/src/components/layout/DashboardLayout.tsx,sha256=GyKvJZX-a3OwNsVgPxP26T-j6khh7B5tGpWrrRb0R1I,10906
88
93
  flock/frontend/src/components/layout/Header.module.css,sha256=BstB1qIzIbGiFmdLVWQnN0Q9iKteDJlBlWApGAcHfTo,1984
89
94
  flock/frontend/src/components/layout/Header.tsx,sha256=0Fkd2-KIvbhExizfAa05uSrUBkahD2CCadn0hGFrr1o,1486
90
95
  flock/frontend/src/components/modules/HistoricalArtifactsModule.module.css,sha256=uYZSaOhobVNAWiJ8xOgWNucjUhla86cTtkErEB3kDIc,5722
91
- flock/frontend/src/components/modules/HistoricalArtifactsModule.tsx,sha256=gREg5zUuGWsRsjRlnq5CaNbcn3TPR0tmVspJmRtJPWE,17567
96
+ flock/frontend/src/components/modules/HistoricalArtifactsModule.tsx,sha256=FIglwdVdIcZ1HRzV5Mvb1tjoNRZOitLTe7MHuBhZ5JI,17255
92
97
  flock/frontend/src/components/modules/HistoricalArtifactsModuleWrapper.tsx,sha256=2E9Uv0YqGw3oqbnw4sTkG5ZztX5Irh6TWj87XQkhFMw,451
93
98
  flock/frontend/src/components/modules/JsonAttributeRenderer.tsx,sha256=PyZAzcEpmVXkWVY4WU08haxY6aqEsaw2k3EPfFKYGF4,4835
94
99
  flock/frontend/src/components/modules/ModuleRegistry.test.ts,sha256=gwpRhu0cKp_V3cODpiVKNIMOs33Z6vUxuWpWGmm2Z7U,10419
95
- flock/frontend/src/components/modules/ModuleRegistry.ts,sha256=5d-a_7h_SC-vFi7ssMVBZDq6HjvG0zxCvcgbChVWog8,2563
100
+ flock/frontend/src/components/modules/ModuleRegistry.ts,sha256=axkqnpPNpGnSTdxdG0OzzJKHXQervOo9XSJIswHRazs,2809
96
101
  flock/frontend/src/components/modules/ModuleWindow.tsx,sha256=RCeWOHWRAWsz46rzGdaBJz61ZJn1rMs2_wePNLeu5OM,7746
97
102
  flock/frontend/src/components/modules/TraceModuleJaeger.tsx,sha256=V_QoDKiN4danykesL5suIVnGH2tz7U2fDr565t5ZSB4,78275
98
103
  flock/frontend/src/components/modules/TraceModuleJaegerWrapper.tsx,sha256=CLUVG79wEAWTXdMsoBAwR-fRmg_gdjBPcFSk8Zh80w8,390
@@ -108,41 +113,40 @@ flock/frontend/src/components/settings/TracingSettings.tsx,sha256=zHZrUuVQzUANcl
108
113
  flock/frontend/src/hooks/useKeyboardShortcuts.ts,sha256=Dsf64nPtJdW2kV-a-bBpaq1VXZkXyxpioBnI1WIGduM,5019
109
114
  flock/frontend/src/hooks/useModulePersistence.test.ts,sha256=kqYlFSzqYK_0jGxeRTeXORZ2KTDo3MdByJ2t2ivbg20,14323
110
115
  flock/frontend/src/hooks/useModulePersistence.ts,sha256=ShXIE-OkwJrMYUNRDGjbZQVs4TK97sI85uc0BG6NuWo,5338
111
- flock/frontend/src/hooks/useModules.ts,sha256=2Nmp0GmhWTThMeYkT241VQx0PmFL3BeF31886_n9DSU,5454
112
- flock/frontend/src/hooks/usePersistence.ts,sha256=J4vFL2a2cS_haQeAMXStzgJMKSvpC8XidzeuOZXaTog,4483
113
- flock/frontend/src/services/api.ts,sha256=7-p4CltdA4cyU7RIGrE-PEP6sBv_wFO8dRc-pUOPmOw,8881
116
+ flock/frontend/src/hooks/useModules.ts,sha256=3p47NfBIOWVuHP6tH5sYKhiqK7TuJIsdB5VFJTvxHJI,5777
117
+ flock/frontend/src/hooks/usePersistence.ts,sha256=_fHxWLCwNunESIeJVqGB3Z-ANosRGwyAiISCtF5TcmY,4728
118
+ flock/frontend/src/services/api.ts,sha256=kNHBHvbSk50M3pUtwDMNYwco5Cd4AbQbGGHkpROYHhw,8529
119
+ flock/frontend/src/services/graphService.test.ts,sha256=wftS4QX-Bw6hogTWXVYaV3F7z6AN94d7iI8jrMVwwkg,11493
120
+ flock/frontend/src/services/graphService.ts,sha256=kgrbNo2Y2UTz1K5NtoVtKrbRkODW3q1orCLBiB477sg,1821
114
121
  flock/frontend/src/services/indexeddb.test.ts,sha256=lY1JzyKRd4Kaw135JlO7njy5rpaAsRRXLM8SwYxDhAc,27452
115
122
  flock/frontend/src/services/indexeddb.ts,sha256=gSTkrR-JJlN9ovDuLK45uQrYSrS2dwgOcy14C1pvNdY,28708
116
123
  flock/frontend/src/services/layout.test.ts,sha256=-KwUxWCum_Rsyc5NIpk99UB3prfAkMO5ksJULhjOiwA,16174
117
124
  flock/frontend/src/services/layout.ts,sha256=5WzlOv7OBlQXiUxrv4l1JwaAfHbUK1C99JOT0fQCNRY,9503
118
125
  flock/frontend/src/services/themeApplicator.ts,sha256=utRFw-45e1IEOrI6lHkB_E_-5kc2kFKbN-veAUdXiOM,5802
119
126
  flock/frontend/src/services/themeService.ts,sha256=ltDAE30KzzVFDQJGm8awN0Go-l16NgTWYOxlvgxvx0E,1743
120
- flock/frontend/src/services/websocket.test.ts,sha256=Ix5dQI3lzKJPyFPcTs5yXxu8ZZoJ05f1CWgcQEpCOtg,17062
121
- flock/frontend/src/services/websocket.ts,sha256=u0wWytdtkmQAQ1IpdAbLGDeHSlRuD8v6kemcAt0neQc,29327
122
- flock/frontend/src/store/filterStore.test.ts,sha256=RUGFlpGe5DUb77Qw4HJvuXEt4vD8GrFUjub9FZMzJ40,5856
123
- flock/frontend/src/store/filterStore.ts,sha256=qq_iHF4pTyQ_tAbEavkjf9eTg1n4HmBqN_nETWgs8FE,8087
124
- flock/frontend/src/store/graphStore.test.ts,sha256=ji7r1tJghKEHfWGJ0u7fBiyyJCVbkkZ-6dwAxTvrxaM,5322
125
- flock/frontend/src/store/graphStore.ts,sha256=FYHDsi7kbV6d72nfOyES38izaJkQgdU3joyLfzM3n78,19621
127
+ flock/frontend/src/services/websocket.ts,sha256=P-qXMNfrC0kY3cOKhZBr_AG3lzEMcLUJ_fKyjU0xgyw,22753
128
+ flock/frontend/src/store/filterStore.test.ts,sha256=0KEaZI1aucfGwZSP76zmJUR2Xl0qqfXqImo-JuSdp4c,8868
129
+ flock/frontend/src/store/filterStore.ts,sha256=mJYzgdm_FFyq-irqfZ7O4-fLrPuRVPBgM7fcIRlP6_s,8967
130
+ flock/frontend/src/store/graphStore.test.ts,sha256=2Un9PaeoPyDqbodde8RPauWoTSc-Fb4ZOfXsvbe9uAY,19009
131
+ flock/frontend/src/store/graphStore.ts,sha256=eYRB-yIDzUdw9nMAKScyuEPTvGBfCaqQ2UJDGSxLL6E,15981
126
132
  flock/frontend/src/store/moduleStore.test.ts,sha256=VxkoEPu0-B3ln20oBk3xLN-c7J55hMYLN2wQQPs4q-k,7800
127
- flock/frontend/src/store/moduleStore.ts,sha256=rlC412QuCCrV7xAtcyaqU3eJkx0KNWR9OTewjniiT3g,1617
133
+ flock/frontend/src/store/moduleStore.ts,sha256=Y2iTxYikvzuZTGBHtFNofcenzljcHvDUDcrZ093XdPA,2361
128
134
  flock/frontend/src/store/settingsStore.ts,sha256=JNB25kkKxOlaSY1jFTM64BGynhUZ98jZL1mM87PLCF0,5995
129
135
  flock/frontend/src/store/streamStore.ts,sha256=yhwvyfaHCucrWeJE8pgTjKMU_2p3KdOqJqTupKaZ91w,1986
130
136
  flock/frontend/src/store/uiStore.test.ts,sha256=rBkPBMn5ZF776TCUtpUvhn_8bpAAVmxaqGWqmiMCkYg,1712
131
- flock/frontend/src/store/uiStore.ts,sha256=QgFHjx-BC7d94XoRMWgD32Hp-tD_V45vs2weOB5dzX8,3529
137
+ flock/frontend/src/store/uiStore.ts,sha256=H5aH8YfaxOTfm3zCrT9A1QdC2dnHJWPUUg8uVRZRwoQ,4197
132
138
  flock/frontend/src/store/wsStore.ts,sha256=vKaGd6H7UONN7A-8tCTOgdH8X2LxrZmVbZ7hRnfGQ2c,936
133
139
  flock/frontend/src/styles/index.css,sha256=HVMvVEMvlFk8_vqxBdt8CzkleXkV-oSUcQUzom588PM,231
134
140
  flock/frontend/src/styles/scrollbar.css,sha256=OHH2nryMANNvuJBloG_t1BPY_BtKMSb36Df4q2X47Rk,1207
135
141
  flock/frontend/src/styles/variables.css,sha256=EcOH8mb8ZIoGZU5c-K_2zcuGdtbu_vQWk_gC-X6vtmk,13889
136
142
  flock/frontend/src/test/setup.ts,sha256=pG1mhRrywFboBf3VdL9ew62xGBxDxeQfChxZLjOK_mQ,36
137
143
  flock/frontend/src/types/filters.ts,sha256=zPa4AvL9xudvB6RZsqJCllMoLTnvPuBhqU6vLeWO89Y,1041
138
- flock/frontend/src/types/graph.ts,sha256=c9H3cdc11Q1ToxUMetCUnbD68nrUWooI2DXVfS8YacE,1943
144
+ flock/frontend/src/types/graph.ts,sha256=dyvBEFXl490yGuCqBLMu-Pg82GuYBN-1E6hwE-OJpKM,2265
139
145
  flock/frontend/src/types/modules.ts,sha256=l5ThtDoD1AxXLjGya-EdQM3eAU55Q0J4XZHQsFrUWws,341
140
146
  flock/frontend/src/types/theme.ts,sha256=bjV2zWxBJilEXeosjSSirw05dL7zICShUDx2H0oA5J8,903
141
147
  flock/frontend/src/utils/artifacts.ts,sha256=JjbNXKgcBaUJdR7VKDi0LK0T3d-ltYt4HHbiQNB3rmI,790
142
- flock/frontend/src/utils/mockData.ts,sha256=kAYLkUZCmz09wj6p2q_ZqBUNNROyOFJz5uF3M4nBJRk,1961
148
+ flock/frontend/src/utils/mockData.ts,sha256=XysjTPAcq6P7BXD8yHv-zJ5vNsxG1T5TLJjX4phOU_w,2316
143
149
  flock/frontend/src/utils/performance.ts,sha256=ZcZjR8DKwF2ixveng2tKIRiW8wZ-ee_RPZFfi1jm4Zo,507
144
- flock/frontend/src/utils/transforms.test.ts,sha256=zqScvoEyXk_UPaQj2UuJGc5c85p1_8juBwHUF6slnxA,27171
145
- flock/frontend/src/utils/transforms.ts,sha256=a4SZJGchhnIjJugEIxvLqdvOgMlKIGZ3NsGTrhupE6A,10301
146
150
  flock/helper/cli_helper.py,sha256=b76d8tiGFMLAHHuOdIPqAbwUtQ_T9jQfYn6tlR2VM9Y,50063
147
151
  flock/logging/__init__.py,sha256=RyR9jTC0q02Fh0L8easQfki2uCOSTii5MPhrxcqQNsg,163
148
152
  flock/logging/auto_trace.py,sha256=XN7_8iRO46FOHiy23F5_Iw7KFYAbALDmau6HOZAM2XY,5543
@@ -178,6 +182,8 @@ flock/mcp/types/handlers.py,sha256=6ukkSMv1VZSfk2QDUiJnm8xifHnQvWZsxWXqN21BYSg,7
178
182
  flock/mcp/types/types.py,sha256=ZbzbVihABFnfmZz2X-CCN7hQDzaSY0T-en43PFbFwQQ,11469
179
183
  flock/mcp/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
180
184
  flock/mcp/util/helpers.py,sha256=jO8DqqSb_S4dyvsxv5vlMGRoMx92Su_5-Uv17gQNuLU,740
185
+ flock/patches/__init__.py,sha256=2turkIzq6C_DpIKDwah7aPd-1RFOAGX7dxTkaBd9X4w,193
186
+ flock/patches/dspy_streaming_patch.py,sha256=1vJ7t_PlBBza6MAQPiBhFn2A0k42tdYGs-WpC77BmDA,2762
181
187
  flock/themes/3024-day.toml,sha256=uOVHqEzSyHx0WlUk3D0lne4RBsNBAPCTy3C58yU7kEY,667
182
188
  flock/themes/3024-night.toml,sha256=qsXUwd6ZYz6J-R129_Ao2TKlvvK60svhZJJjB5c8Tfo,1667
183
189
  flock/themes/aardvark-blue.toml,sha256=5ZgsxP3pWLPN3yJ2Wd9ErCo7fy_VJpIfje4kriDKlqo,1667
@@ -250,10 +256,10 @@ flock/themes/cyberpunkscarletprotocol.toml,sha256=7FXK3Ib6KQmXzhZGCqCI8rPXaIJDQ_
250
256
  flock/themes/dark+.toml,sha256=vxlCM67BUd5D-KI5Jexwt8_ehGafn75vXQ340UHKKjg,1665
251
257
  flock/themes/dark-pastel.toml,sha256=L4P4pFVhXKVpkXyYpDZi-UXew_SGwjKP1VAs3ttSYsc,1666
252
258
  flock/themes/darkermatrix.toml,sha256=ywYr0sgPt3lNuFkvYsqhcEhaKhElbl1esqvUnqy4urw,1663
253
- flock/themes/darkmatrix.toml,sha256=RPTFjLWFKwyPCRtX17I7CgZc22iW8ge6zoYkUPVRPko,1664
259
+ flock/themes/darkmatrix.toml,sha256=DBOKRR4l4MOAIKC630OjX_hnjsE8mzFohhR8pQDH54o,1664
254
260
  flock/themes/darkside.toml,sha256=WEVFxq1Ck65Q2TxOv_XyHklq6y9YbYZSb_HZMreNNck,1665
255
261
  flock/themes/dayfox.toml,sha256=kbnXQGj_75GAuKHMYvT_ts7qCs3J-G_qXbzL-91Y1Yo,1664
256
- flock/themes/deep.toml,sha256=TsT2SzgbYfzjwGDo7tyU8a1tnZdBlFopzIkv-3tLVEQ,1667
262
+ flock/themes/deep.toml,sha256=7a_-BPwBdRn0Ihwm6fQTLG2KrKGtNzeO6tY2qYMF9_c,1667
257
263
  flock/themes/desert.toml,sha256=uC_zHSWHBY0J3su7D8ZVO59APKYyGnQcFECgxNdQmOg,1664
258
264
  flock/themes/dimidium.toml,sha256=rXRMrX618pbvYAUplKUaw-L91xldekPj_t0s3vv4w_k,1665
259
265
  flock/themes/dimmedmonokai.toml,sha256=HWSs3s7ExTeGaUQLTTy9zLKKSSv0WUIoWbKppEChUiI,1667
@@ -376,7 +382,7 @@ flock/themes/n0tch2k.toml,sha256=rCIZZGcBfxvmW5o33f__8fxj1Td8oVz-U_Z6ZzQRWRc,166
376
382
  flock/themes/neobones-dark.toml,sha256=8-K-IhLhDoNBugmidM6HpCfshjTebt92f2uIfP4cKwg,1674
377
383
  flock/themes/neobones-light.toml,sha256=_C8dwiUEStJJK6eIwJ2XGIjnRGt3PI4XPOV6u0FQw2Y,1667
378
384
  flock/themes/neon.toml,sha256=sS0HPAZvmkfJg8zjO7AWrckF2wUVPVOHppv748KS39s,1664
379
- flock/themes/neopolitan.toml,sha256=R6Q_AggztneBSnLvUc_68IyDFmKH-x1h6jsyInkf-PY,1664
385
+ flock/themes/neopolitan.toml,sha256=ZVUqrED6Hnkp2RYVNriOfX-B5NND745G-twqVJ7vo8M,1664
380
386
  flock/themes/neutron.toml,sha256=6-S0Ukn5VgHgdTAnSUOtiT0ns7PKkaTcKOG-VP3xV7k,1667
381
387
  flock/themes/night-owlish-light.toml,sha256=sY7zp_FGS4XI53K83uW1RU8xFOc5mSzDZ26RpHiJLr0,1673
382
388
  flock/themes/nightfox.toml,sha256=UkpMpHhwPIlgLRHjtTjLu2p4c8akEAd67_e3PyiFXQA,1665
@@ -515,8 +521,8 @@ flock/themes/zenburned.toml,sha256=UEmquBbcAO3Zj652XKUwCsNoC2iQSlIh-q5c6DH-7Kc,1
515
521
  flock/themes/zenwritten-dark.toml,sha256=-dgaUfg1iCr5Dv4UEeHv_cN4GrPUCWAiHSxWK20X1kI,1663
516
522
  flock/themes/zenwritten-light.toml,sha256=G1iEheCPfBNsMTGaVpEVpDzYBHA_T-MV27rolUYolmE,1666
517
523
  flock/utility/output_utility_component.py,sha256=yVHhlIIIoYKziI5UyT_zvQb4G-NsxCTgLwA1wXXTTj4,9047
518
- flock_core-0.5.0b71.dist-info/METADATA,sha256=xBcA6Pmp_GTEjwDRQLwIsuldvlBC4P91RVp94gb0h_k,36377
519
- flock_core-0.5.0b71.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
520
- flock_core-0.5.0b71.dist-info/entry_points.txt,sha256=UQdPmtHd97gSA_IdLt9MOd-1rrf_WO-qsQeIiHWVrp4,42
521
- flock_core-0.5.0b71.dist-info/licenses/LICENSE,sha256=U3IZuTbC0yLj7huwJdldLBipSOHF4cPf6cUOodFiaBE,1072
522
- flock_core-0.5.0b71.dist-info/RECORD,,
524
+ flock_core-0.5.1.dist-info/METADATA,sha256=1JRDjG80BKu6R0vwSpZRPXCGlYLKiHoDSVwpRLezdNQ,36531
525
+ flock_core-0.5.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
526
+ flock_core-0.5.1.dist-info/entry_points.txt,sha256=UQdPmtHd97gSA_IdLt9MOd-1rrf_WO-qsQeIiHWVrp4,42
527
+ flock_core-0.5.1.dist-info/licenses/LICENSE,sha256=U3IZuTbC0yLj7huwJdldLBipSOHF4cPf6cUOodFiaBE,1072
528
+ flock_core-0.5.1.dist-info/RECORD,,