flock-core 0.5.9__py3-none-any.whl → 0.5.10__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/agent.py +149 -62
- flock/api/themes.py +6 -2
- flock/artifact_collector.py +6 -3
- flock/batch_accumulator.py +3 -1
- flock/cli.py +3 -1
- flock/components.py +45 -56
- flock/context_provider.py +531 -0
- flock/correlation_engine.py +8 -4
- flock/dashboard/collector.py +48 -29
- flock/dashboard/events.py +10 -4
- flock/dashboard/launcher.py +3 -1
- flock/dashboard/models/graph.py +9 -3
- flock/dashboard/service.py +143 -72
- flock/dashboard/websocket.py +17 -4
- flock/engines/dspy_engine.py +174 -98
- flock/engines/examples/simple_batch_engine.py +9 -3
- flock/examples.py +6 -2
- flock/frontend/src/services/indexeddb.test.ts +4 -4
- flock/frontend/src/services/indexeddb.ts +1 -1
- flock/helper/cli_helper.py +14 -1
- flock/logging/auto_trace.py +6 -1
- flock/logging/formatters/enum_builder.py +3 -1
- flock/logging/formatters/theme_builder.py +32 -17
- flock/logging/formatters/themed_formatter.py +38 -22
- flock/logging/logging.py +21 -7
- flock/logging/telemetry.py +9 -3
- flock/logging/telemetry_exporter/duckdb_exporter.py +27 -25
- flock/logging/trace_and_logged.py +14 -5
- flock/mcp/__init__.py +3 -6
- flock/mcp/client.py +49 -19
- flock/mcp/config.py +12 -6
- flock/mcp/manager.py +6 -2
- flock/mcp/servers/sse/flock_sse_server.py +9 -3
- flock/mcp/servers/streamable_http/flock_streamable_http_server.py +6 -2
- flock/mcp/tool.py +18 -6
- flock/mcp/types/handlers.py +3 -1
- flock/mcp/types/types.py +9 -3
- flock/orchestrator.py +204 -50
- flock/orchestrator_component.py +15 -5
- flock/patches/dspy_streaming_patch.py +12 -4
- flock/registry.py +9 -3
- flock/runtime.py +69 -18
- flock/service.py +19 -6
- flock/store.py +29 -10
- flock/subscription.py +6 -4
- flock/utilities.py +41 -13
- flock/utility/output_utility_component.py +31 -11
- {flock_core-0.5.9.dist-info → flock_core-0.5.10.dist-info}/METADATA +132 -2
- {flock_core-0.5.9.dist-info → flock_core-0.5.10.dist-info}/RECORD +52 -51
- {flock_core-0.5.9.dist-info → flock_core-0.5.10.dist-info}/WHEEL +0 -0
- {flock_core-0.5.9.dist-info → flock_core-0.5.10.dist-info}/entry_points.txt +0 -0
- {flock_core-0.5.9.dist-info → flock_core-0.5.10.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.10
|
|
4
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: MIT
|
|
@@ -37,7 +37,7 @@ Description-Content-Type: text/markdown
|
|
|
37
37
|
<p align="center">
|
|
38
38
|
<a href="https://whiteducksoftware.github.io/flock/" target="_blank"><img alt="Documentation" src="https://img.shields.io/badge/docs-online-blue?style=for-the-badge&logo=readthedocs"></a>
|
|
39
39
|
<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>
|
|
40
|
-
<img alt="Python Version" src="https://img.shields.io/badge/python-3.
|
|
40
|
+
<img alt="Python Version" src="https://img.shields.io/badge/python-3.12%2B-blue?style=for-the-badge&logo=python">
|
|
41
41
|
<a href="LICENSE" target="_blank"><img alt="License" src="https://img.shields.io/github/license/whiteducksoftware/flock?style=for-the-badge"></a>
|
|
42
42
|
<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>
|
|
43
43
|
<a href="https://codecov.io/gh/whiteducksoftware/flock" target="_blank"><img alt="Test Coverage" src="https://codecov.io/gh/whiteducksoftware/flock/branch/main/graph/badge.svg?token=YOUR_TOKEN_HERE&style=for-the-badge"></a>
|
|
@@ -287,6 +287,39 @@ asyncio.run(main())
|
|
|
287
287
|
|
|
288
288
|
---
|
|
289
289
|
|
|
290
|
+
## Context Provider Primer (Security + Cost)
|
|
291
|
+
|
|
292
|
+
Context Providers are the security and efficiency layer between agents and the blackboard. They decide what each agent sees in its historical context and always enforce visibility rules.
|
|
293
|
+
|
|
294
|
+
Why use them
|
|
295
|
+
- Enforce access control (visibility is applied before engines see data)
|
|
296
|
+
- Cut context size (often 90%+) by filtering to what matters
|
|
297
|
+
- Specialize per agent or set a global default
|
|
298
|
+
|
|
299
|
+
Copy/paste examples
|
|
300
|
+
```python
|
|
301
|
+
from flock import Flock
|
|
302
|
+
from flock.context_provider import FilteredContextProvider
|
|
303
|
+
from flock.store import FilterConfig
|
|
304
|
+
|
|
305
|
+
# Global: show only urgent items (limit context size)
|
|
306
|
+
flock = Flock(
|
|
307
|
+
"openai/gpt-4.1",
|
|
308
|
+
context_provider=FilteredContextProvider(FilterConfig(tags={"urgent"}), limit=50)
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
# Per-agent: override global for a specific role
|
|
312
|
+
senior = flock.agent("senior").consumes(LogEntry).publishes(Analysis)
|
|
313
|
+
senior.context_provider = FilteredContextProvider(
|
|
314
|
+
FilterConfig(tags={"ERROR", "WARN"}),
|
|
315
|
+
limit=200
|
|
316
|
+
)
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Learn more: docs/guides/context-providers.md
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
290
323
|
## Persistent Blackboard History
|
|
291
324
|
|
|
292
325
|
The in-memory store is still great for local tinkering, but production teams now have a durable option. Plugging in `SQLiteBlackboardStore` turns the blackboard into a persistent event log with first-class ergonomics:
|
|
@@ -541,8 +574,105 @@ artifact.visibility = AfterVisibility(ttl=timedelta(hours=24), then=PublicVisibi
|
|
|
541
574
|
agent.publishes(PublicReport, visibility=PublicVisibility())
|
|
542
575
|
```
|
|
543
576
|
|
|
577
|
+
**Visibility has a dual purpose:** It controls both which agents can be **triggered** by an artifact AND which artifacts agents can **see** in their context. This ensures consistent security across agent execution and data access—agents cannot bypass visibility controls through subscription filters or context providers.
|
|
578
|
+
|
|
544
579
|
**Why this matters:** Financial services, healthcare, defense, SaaS platforms all need this for compliance. Other frameworks make you build it yourself.
|
|
545
580
|
|
|
581
|
+
---
|
|
582
|
+
|
|
583
|
+
### 🔒 Architecturally Impossible to Bypass Security
|
|
584
|
+
|
|
585
|
+
**Here's what makes Flock different:** In most frameworks, security is something you remember to add. In Flock, **it's architecturally impossible to forget.**
|
|
586
|
+
|
|
587
|
+
Every context provider in Flock inherits from `BaseContextProvider`, which enforces visibility filtering **automatically**. You literally cannot create a provider that forgets to check permissions—the security logic is baked into the base class and executes before your custom code even runs.
|
|
588
|
+
|
|
589
|
+
**What this means in practice:**
|
|
590
|
+
|
|
591
|
+
```python
|
|
592
|
+
# ❌ Other frameworks: Security is your responsibility (easy to forget!)
|
|
593
|
+
class MyProvider:
|
|
594
|
+
async def get_context(self, agent):
|
|
595
|
+
artifacts = store.get_all() # OOPS! Forgot to check visibility!
|
|
596
|
+
return artifacts # 🔥 Security vulnerability
|
|
597
|
+
|
|
598
|
+
# ✅ Flock: Security is enforced automatically (impossible to bypass!)
|
|
599
|
+
class MyProvider(BaseContextProvider):
|
|
600
|
+
async def get_artifacts(self, request):
|
|
601
|
+
artifacts = await store.query_artifacts(...)
|
|
602
|
+
return artifacts # ✨ Visibility filtering happens automatically!
|
|
603
|
+
# BaseContextProvider calls .visibility.allows() for you
|
|
604
|
+
# You CANNOT bypass this - it's enforced by the architecture
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
**Built-in providers (all inherit BaseContextProvider):**
|
|
608
|
+
- `DefaultContextProvider` - Full blackboard access (visibility-filtered)
|
|
609
|
+
- `CorrelatedContextProvider` - Workflow isolation (visibility-filtered)
|
|
610
|
+
- `RecentContextProvider` - Token cost control (visibility-filtered)
|
|
611
|
+
- `TimeWindowContextProvider` - Time-based filtering (visibility-filtered)
|
|
612
|
+
- `EmptyContextProvider` - Stateless agents (zero context)
|
|
613
|
+
- `FilteredContextProvider` - Custom filtering (visibility-filtered)
|
|
614
|
+
|
|
615
|
+
**Every single one enforces visibility automatically. Zero chance of accidentally leaking data.**
|
|
616
|
+
|
|
617
|
+
This isn't just convenient—it's **security by design**. When you're building HIPAA-compliant healthcare systems or SOC2-certified SaaS platforms, "impossible to bypass even by accident" is the only acceptable standard.
|
|
618
|
+
|
|
619
|
+
---
|
|
620
|
+
|
|
621
|
+
### Context Providers (The Smart Filter)
|
|
622
|
+
|
|
623
|
+
**Control what agents see with custom Context Providers:**
|
|
624
|
+
|
|
625
|
+
```python
|
|
626
|
+
from flock.context_provider import FilteredContextProvider, PasswordRedactorProvider
|
|
627
|
+
from flock.store import FilterConfig
|
|
628
|
+
|
|
629
|
+
# Global filtering - all agents see only urgent items
|
|
630
|
+
flock = Flock(
|
|
631
|
+
"openai/gpt-4.1",
|
|
632
|
+
context_provider=FilteredContextProvider(FilterConfig(tags={"urgent"}))
|
|
633
|
+
)
|
|
634
|
+
|
|
635
|
+
# Per-agent overrides - specialized context per agent
|
|
636
|
+
error_agent = flock.agent("errors").consumes(Log).publishes(Alert)
|
|
637
|
+
error_agent.context_provider = FilteredContextProvider(FilterConfig(tags={"ERROR"}))
|
|
638
|
+
|
|
639
|
+
# Production-ready password filtering
|
|
640
|
+
from examples.context_provider import PasswordRedactorProvider
|
|
641
|
+
flock = Flock(
|
|
642
|
+
"openai/gpt-4.1",
|
|
643
|
+
context_provider=PasswordRedactorProvider() # Auto-redacts sensitive data!
|
|
644
|
+
)
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
**What just happened:**
|
|
648
|
+
- ✅ **Filtered context** - Agents see only relevant artifacts (save tokens, improve performance)
|
|
649
|
+
- ✅ **Security boundary** - Visibility enforcement + custom filtering (mandatory, cannot bypass)
|
|
650
|
+
- ✅ **Sensitive data protection** - Auto-redact passwords, API keys, credit cards, SSN, JWT tokens
|
|
651
|
+
- ✅ **Per-agent specialization** - Different agents, different context rules
|
|
652
|
+
|
|
653
|
+
**Production patterns:**
|
|
654
|
+
```python
|
|
655
|
+
# Password/secret redaction (copy-paste ready!)
|
|
656
|
+
provider = PasswordRedactorProvider(
|
|
657
|
+
custom_patterns={"internal_id": r"ID-\d{6}"},
|
|
658
|
+
redaction_text="[REDACTED]"
|
|
659
|
+
)
|
|
660
|
+
|
|
661
|
+
# Role-based access control
|
|
662
|
+
junior_agent.context_provider = FilteredContextProvider(FilterConfig(tags={"ERROR"}))
|
|
663
|
+
senior_agent.context_provider = FilteredContextProvider(FilterConfig(tags={"ERROR", "WARN"}))
|
|
664
|
+
admin_agent.context_provider = None # See everything (uses default)
|
|
665
|
+
|
|
666
|
+
# Multi-tenant isolation
|
|
667
|
+
agent.context_provider = FilteredContextProvider(
|
|
668
|
+
FilterConfig(tags={"tenant:customer_123"})
|
|
669
|
+
)
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
**Why this matters:** Reduce token costs (90%+ with smart filtering), protect sensitive data (auto-redact secrets), improve performance (agents see only what they need).
|
|
673
|
+
|
|
674
|
+
**📖 [Learn more: Context Providers Guide](https://whiteducksoftware.github.io/flock/guides/context-providers/) | [Steal production code →](examples/08-context-provider/)**
|
|
675
|
+
|
|
546
676
|
### Batching Pattern: Parallel Execution Control
|
|
547
677
|
|
|
548
678
|
**A key differentiator:** The separation of `publish()` and `run_until_idle()` enables parallel execution.
|
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
flock/__init__.py,sha256=fvp4ltfaAGmYliShuTY_XVIpOUN6bMXbWiBnwb1NBoM,310
|
|
2
|
-
flock/agent.py,sha256=
|
|
3
|
-
flock/artifact_collector.py,sha256=
|
|
2
|
+
flock/agent.py,sha256=luggPsY2pAnjt4TQ-S-ez1us5R2qk6UC-12ccjP6cMk,62607
|
|
3
|
+
flock/artifact_collector.py,sha256=j9p0qvu9IrmMTvOwdX3PGhEnj1-A3uMx0bMfG9zBdgo,6410
|
|
4
4
|
flock/artifacts.py,sha256=QIUlol5hzUZO_8SINCqsN_Xr8fHixsc01QbFV_WIIj0,2527
|
|
5
|
-
flock/batch_accumulator.py,sha256=
|
|
6
|
-
flock/cli.py,sha256=
|
|
7
|
-
flock/components.py,sha256=
|
|
8
|
-
flock/
|
|
9
|
-
flock/
|
|
10
|
-
flock/
|
|
11
|
-
flock/
|
|
12
|
-
flock/
|
|
13
|
-
flock/
|
|
14
|
-
flock/
|
|
15
|
-
flock/
|
|
16
|
-
flock/
|
|
17
|
-
flock/
|
|
5
|
+
flock/batch_accumulator.py,sha256=4ZZLERkpH0XzN87-z2b5Tyjubheo_yCxoXz4lsjxUuk,8017
|
|
6
|
+
flock/cli.py,sha256=lSx9qvK0AzfnGPjbMh2Jdsr8TlDA44huxUg_8tdlH_c,4564
|
|
7
|
+
flock/components.py,sha256=SpqFmYBLNIGkKkVrfGpi-9eFj7jKA0N8VJHL-HiyzRc,8092
|
|
8
|
+
flock/context_provider.py,sha256=Le01ZilMobaaPqZVJiBGFWkv1XnN3K6CtnPVD5Ewphk,20245
|
|
9
|
+
flock/correlation_engine.py,sha256=pFD1y13bSMZ9HpUpp6RHWr5vb39gd0mf-rRQIFI0R5Q,8055
|
|
10
|
+
flock/examples.py,sha256=z83GXjtroxRKplt57ur3v8UJFwf9cCHtZ3gj7QHiigs,3688
|
|
11
|
+
flock/orchestrator.py,sha256=g9Vv0Dhd1Ls_Nm_MiTFL7si4LH14owzTiM6fccX9umA,68645
|
|
12
|
+
flock/orchestrator_component.py,sha256=lBn8WXiLzw3MXcU5JrNC3uH2SruLBCj8bSnSzH9txes,25210
|
|
13
|
+
flock/registry.py,sha256=eCSK1yOgcY53vzaNFG4qnlLP3H9R4NWi9fTq_WUNjus,4846
|
|
14
|
+
flock/runtime.py,sha256=DCClW_53ped_M0uMravPXmEGgVn_tOsyynNVYjZyM3c,10771
|
|
15
|
+
flock/service.py,sha256=lwOIlm-nSOHDnjvWFKL7vrAmk6MdGmSJVAihK0wcia4,11287
|
|
16
|
+
flock/store.py,sha256=hvecQqmx1xov7FyRCTwnyFJTpGb_7LHrHHQhGRWRUIE,46029
|
|
17
|
+
flock/subscription.py,sha256=2_0jCxOlk-G1jsD6tiVILmKdmx-Wm1qGYzCZVbz_ktg,5424
|
|
18
|
+
flock/utilities.py,sha256=PNIIBrtvwAkW6cI_OxF2dPS151ZjDNbFOaCfsul2BpE,12473
|
|
18
19
|
flock/visibility.py,sha256=uwscg32t6Dp9LuA_EVDT5-_1lotzZWWS9Dl1foyJDxo,2926
|
|
19
|
-
flock/api/themes.py,sha256=
|
|
20
|
+
flock/api/themes.py,sha256=7L-Bxhh8N1FXYsyTy7B_n8mSCGl_wDZXrvyY2llkF-A,1938
|
|
20
21
|
flock/dashboard/__init__.py,sha256=_W6Id_Zb7mkSz0iHY1nfdUqF9p9uV_NyHsU7PFsRnFI,813
|
|
21
|
-
flock/dashboard/collector.py,sha256=
|
|
22
|
-
flock/dashboard/events.py,sha256=
|
|
22
|
+
flock/dashboard/collector.py,sha256=zMDv1OYWrDz5obNVMrc7uLImUH5yWIYCaMB0h-Uu2kY,21822
|
|
23
|
+
flock/dashboard/events.py,sha256=ptKNaeHcgYnIO8rBTEK56ZC5w-dUWakXhNzDep1XaL4,7653
|
|
23
24
|
flock/dashboard/graph_builder.py,sha256=jdiaruce5uRybndlA4aiOXW-gKkHeGtnndzYQ1WyU9Y,32006
|
|
24
|
-
flock/dashboard/launcher.py,sha256=
|
|
25
|
-
flock/dashboard/service.py,sha256=
|
|
26
|
-
flock/dashboard/websocket.py,sha256=
|
|
25
|
+
flock/dashboard/launcher.py,sha256=qnl1sFm9g2dAyzhyLPrfqAfld63G9aTNRHchgNuGnoo,8218
|
|
26
|
+
flock/dashboard/service.py,sha256=iEhI9W7Z1Z9UHq9DLjAzvDmgaWUr0qac2FPJiu9IcDI,53607
|
|
27
|
+
flock/dashboard/websocket.py,sha256=qv2cbX9DBhglYgGGPFsD9ryehkBsIcJQGg7tJTIDyMM,9689
|
|
27
28
|
flock/dashboard/models/__init__.py,sha256=T4Yz8IXMm7lBqa2HLDSv7WJBtaKcdZIlTrz6GHNFZxs,68
|
|
28
|
-
flock/dashboard/models/graph.py,sha256=
|
|
29
|
+
flock/dashboard/models/graph.py,sha256=mQBzaogaOV1sss4aI3yNK8Kg4SdztPwIu3VQfrB3zLU,5444
|
|
29
30
|
flock/dashboard/static_v2/index.html,sha256=0KNfWwmpr0JmVNbalnsaQta0y3XlVhOQ_HSts2LuU3A,423
|
|
30
31
|
flock/dashboard/static_v2/assets/index-DFRnI_mt.js,sha256=qeezaWLISr_EKNBBh8v0jzspd2KRcz8jW1r0p7z0Ht0,764860
|
|
31
32
|
flock/dashboard/static_v2/assets/index-fPLNdmp1.css,sha256=skpvfkkrlw7WbmBh7HN-rUKAtKP-gpuLUH4klUgFHT4,74529
|
|
32
33
|
flock/engines/__init__.py,sha256=waNyObJ8PKCLFZL3WUFynxSK-V47m559P3Px-vl_OSc,124
|
|
33
|
-
flock/engines/dspy_engine.py,sha256=
|
|
34
|
+
flock/engines/dspy_engine.py,sha256=b3PkeyBzcKI1ijR3ojR4FOisdKrxE_hxZhF5WhxKDmQ,75000
|
|
34
35
|
flock/engines/examples/__init__.py,sha256=cDAjF8_NPL7nhpwa_xxgnPYRAXZWppKE2HkxmL8LGAI,126
|
|
35
|
-
flock/engines/examples/simple_batch_engine.py,sha256=
|
|
36
|
+
flock/engines/examples/simple_batch_engine.py,sha256=0zQozoiNFq_UcBU5plAqg1VjtP6g6eib7VKATEjnRf8,2902
|
|
36
37
|
flock/frontend/README.md,sha256=0dEzu4UxacGfSstz9_R0KSeFWJ1vNRi0p-KLIay_TfU,26212
|
|
37
38
|
flock/frontend/index.html,sha256=BFg1VR_YVAJ_MGN16xa7sT6wTGwtFYUhfJhGuKv89VM,312
|
|
38
39
|
flock/frontend/package-lock.json,sha256=vNOaISeq3EfEDDEsFYPWFaMsqypDgQIE0P_u6tzE0g4,150798
|
|
@@ -127,8 +128,8 @@ flock/frontend/src/hooks/usePersistence.ts,sha256=_fHxWLCwNunESIeJVqGB3Z-ANosRGw
|
|
|
127
128
|
flock/frontend/src/services/api.ts,sha256=kNHBHvbSk50M3pUtwDMNYwco5Cd4AbQbGGHkpROYHhw,8529
|
|
128
129
|
flock/frontend/src/services/graphService.test.ts,sha256=wftS4QX-Bw6hogTWXVYaV3F7z6AN94d7iI8jrMVwwkg,11493
|
|
129
130
|
flock/frontend/src/services/graphService.ts,sha256=MaFdj8S2l7UOkQBkACDv29BuroMy1vJEhliVnsYkmwM,1964
|
|
130
|
-
flock/frontend/src/services/indexeddb.test.ts,sha256=
|
|
131
|
-
flock/frontend/src/services/indexeddb.ts,sha256=
|
|
131
|
+
flock/frontend/src/services/indexeddb.test.ts,sha256=KMKtBcliXIaVHAZRxwbcip329shJ0g5AysEAj4VULpw,27436
|
|
132
|
+
flock/frontend/src/services/indexeddb.ts,sha256=0tqiyFa-G1P-TctIeV1PUPMOCv5gWvfdJDmLi1hLon0,28699
|
|
132
133
|
flock/frontend/src/services/layout.test.ts,sha256=-KwUxWCum_Rsyc5NIpk99UB3prfAkMO5ksJULhjOiwA,16174
|
|
133
134
|
flock/frontend/src/services/layout.ts,sha256=5WzlOv7OBlQXiUxrv4l1JwaAfHbUK1C99JOT0fQCNRY,9503
|
|
134
135
|
flock/frontend/src/services/themeApplicator.ts,sha256=utRFw-45e1IEOrI6lHkB_E_-5kc2kFKbN-veAUdXiOM,5802
|
|
@@ -156,43 +157,43 @@ flock/frontend/src/types/theme.ts,sha256=bjV2zWxBJilEXeosjSSirw05dL7zICShUDx2H0o
|
|
|
156
157
|
flock/frontend/src/utils/artifacts.ts,sha256=JjbNXKgcBaUJdR7VKDi0LK0T3d-ltYt4HHbiQNB3rmI,790
|
|
157
158
|
flock/frontend/src/utils/mockData.ts,sha256=XysjTPAcq6P7BXD8yHv-zJ5vNsxG1T5TLJjX4phOU_w,2316
|
|
158
159
|
flock/frontend/src/utils/performance.ts,sha256=ZcZjR8DKwF2ixveng2tKIRiW8wZ-ee_RPZFfi1jm4Zo,507
|
|
159
|
-
flock/helper/cli_helper.py,sha256=
|
|
160
|
+
flock/helper/cli_helper.py,sha256=IfhD0CZzRnhsyLzjzWEZBAFqLIHIFeedYTwW48KfnmM,50476
|
|
160
161
|
flock/logging/__init__.py,sha256=RyR9jTC0q02Fh0L8easQfki2uCOSTii5MPhrxcqQNsg,163
|
|
161
|
-
flock/logging/auto_trace.py,sha256=
|
|
162
|
-
flock/logging/logging.py,sha256=
|
|
163
|
-
flock/logging/telemetry.py,sha256=
|
|
164
|
-
flock/logging/trace_and_logged.py,sha256=
|
|
165
|
-
flock/logging/formatters/enum_builder.py,sha256=
|
|
166
|
-
flock/logging/formatters/theme_builder.py,sha256=
|
|
167
|
-
flock/logging/formatters/themed_formatter.py,sha256
|
|
162
|
+
flock/logging/auto_trace.py,sha256=iNx4LZsXjykOQOubBoGpOhldJQeRO94rarS9bFjZ_pM,5562
|
|
163
|
+
flock/logging/logging.py,sha256=Jdei9EYMX_4mSQmJu5plETVaqQ8BBu211DAkmqKhRhk,20270
|
|
164
|
+
flock/logging/telemetry.py,sha256=KWkqB-aMuD7gv2ABMwRjiiJ_DwDtPcOraLWJCB4jRXI,8324
|
|
165
|
+
flock/logging/trace_and_logged.py,sha256=uVOFU0iyl0LzrCi3dWjDHTwastCFN2WTMAtaUJeFYn4,11504
|
|
166
|
+
flock/logging/formatters/enum_builder.py,sha256=y8SjIHPs7ajT9QHR6wjjBmmL7ZrxFzegaBTb5ApOHvY,975
|
|
167
|
+
flock/logging/formatters/theme_builder.py,sha256=i4PjknUKvFAXCAg2NwSE3qi_IOqObUVTWzD5f7HBqdM,17165
|
|
168
|
+
flock/logging/formatters/themed_formatter.py,sha256=-UXx-Z0XcZ1oRXXLr380S8tbjhzaG3nn2OV7mVqEK6Y,20295
|
|
168
169
|
flock/logging/formatters/themes.py,sha256=80BRJJB0LZr11N0yQw2f8vdb_9179qjQO8PoeBaLMN0,10680
|
|
169
170
|
flock/logging/span_middleware/baggage_span_processor.py,sha256=gJfRl8FeB6jdtghTaRHCrOaTo4fhPMRKgjqtZj-8T48,1118
|
|
170
171
|
flock/logging/telemetry_exporter/base_exporter.py,sha256=T8l7GwjIulc2KbkgmhJbQ_psrLNwTGNSi23jvw6MKVA,1205
|
|
171
|
-
flock/logging/telemetry_exporter/duckdb_exporter.py,sha256=
|
|
172
|
+
flock/logging/telemetry_exporter/duckdb_exporter.py,sha256=Fu-tuXb1HtTvYMui3GpMpjcQl0H77KtLq1uPAMJjJ-E,8488
|
|
172
173
|
flock/logging/telemetry_exporter/file_exporter.py,sha256=uTgQZSKfbLjzypirBbiVnccaKBDkiRzhFvUdV26pKEY,3126
|
|
173
174
|
flock/logging/telemetry_exporter/sqlite_exporter.py,sha256=754G8s4X-JHHpCdoNydJnPX4NZijZk9URutfPWFIT7s,3479
|
|
174
|
-
flock/mcp/__init__.py,sha256=
|
|
175
|
-
flock/mcp/client.py,sha256=
|
|
176
|
-
flock/mcp/config.py,sha256=
|
|
177
|
-
flock/mcp/manager.py,sha256=
|
|
178
|
-
flock/mcp/tool.py,sha256=
|
|
175
|
+
flock/mcp/__init__.py,sha256=B-8CKTOxC4-i348EEdkwtJlS0AmYqHJZ3dRZ_c8F6Rc,2483
|
|
176
|
+
flock/mcp/client.py,sha256=WVqod_eYHKKxjueRvcM32_fSNct6c6bQ37ZGyz0794A,26334
|
|
177
|
+
flock/mcp/config.py,sha256=1SPgSjkyoUDHGcfu2id1Z4mNO37xtPBUK54kTq5YtJ8,14911
|
|
178
|
+
flock/mcp/manager.py,sha256=FmpJubEvG3QrUG7Yc_QJK_Gs61IbCL348lNEaAf5efA,10976
|
|
179
|
+
flock/mcp/tool.py,sha256=9v_EQEYC5b8a6VONFjuHxgGl4DGwTmVVECd821hcQQA,5476
|
|
179
180
|
flock/mcp/servers/sse/__init__.py,sha256=qyfDdkZkgscHOkFREvsvoNtzA-CCnXPNma5w9uaIUCo,51
|
|
180
|
-
flock/mcp/servers/sse/flock_sse_server.py,sha256=
|
|
181
|
+
flock/mcp/servers/sse/flock_sse_server.py,sha256=CT7QVCmFj_53cTceQHbqr6bNsoudRw5gtSMlOkrIBA0,3783
|
|
181
182
|
flock/mcp/servers/stdio/__init__.py,sha256=jgWpJAJ3cV1klZ70gasXrdrpUCsMkVtEAeX0QoVhMGQ,53
|
|
182
183
|
flock/mcp/servers/stdio/flock_stdio_server.py,sha256=TuJXRqd5nGQk0_DgxLrnIAd8qDZsKYCmFnpeVhO8szE,3551
|
|
183
184
|
flock/mcp/servers/streamable_http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
184
|
-
flock/mcp/servers/streamable_http/flock_streamable_http_server.py,sha256=
|
|
185
|
+
flock/mcp/servers/streamable_http/flock_streamable_http_server.py,sha256=KknMXbw3tVRMDRMsyXaLuze7czF19uvTFIZlcVz_KXA,4475
|
|
185
186
|
flock/mcp/servers/websockets/__init__.py,sha256=KeNgNQRdeCQ9xgpaHB1I0-HyYeBhkifAuZPTIA8eDqM,47
|
|
186
187
|
flock/mcp/servers/websockets/flock_websocket_server.py,sha256=UywSLftw3stbg_b-3Ygn_tNMo5Btm6I3bmSebcprfjk,3118
|
|
187
188
|
flock/mcp/types/__init__.py,sha256=iwO7MXRjA-WhIyHSCI9fR6KF_UhzjqXJWT13f_8w4HM,1274
|
|
188
189
|
flock/mcp/types/callbacks.py,sha256=8S-ZhWTnR7dzUtxTc9nFcKCDbNyhnE3Bsm1QpA_ArEg,2607
|
|
189
190
|
flock/mcp/types/factories.py,sha256=B7h8apMDT2nR6POOj7aWWn39UbELt6nxHluPhRmemGw,3424
|
|
190
|
-
flock/mcp/types/handlers.py,sha256=
|
|
191
|
-
flock/mcp/types/types.py,sha256=
|
|
191
|
+
flock/mcp/types/handlers.py,sha256=MaUNpjfLFi7sozoj-nQDUOCLeoaFD8tdos6XkjBUCzI,7820
|
|
192
|
+
flock/mcp/types/types.py,sha256=EG2YuDlFCHzE4k4XIMur9QPn_6i7N621s90OXeAVRfc,11511
|
|
192
193
|
flock/mcp/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
193
194
|
flock/mcp/util/helpers.py,sha256=jO8DqqSb_S4dyvsxv5vlMGRoMx92Su_5-Uv17gQNuLU,740
|
|
194
195
|
flock/patches/__init__.py,sha256=KfRTpO_rz547iKxJDknymar1P3lS_8AhDh-sR1BkcZ0,194
|
|
195
|
-
flock/patches/dspy_streaming_patch.py,sha256=
|
|
196
|
+
flock/patches/dspy_streaming_patch.py,sha256=OQeLYWmL-7rqudphMwERnpvXhXamnvYn3xNcySajacY,2879
|
|
196
197
|
flock/themes/3024-day.toml,sha256=uOVHqEzSyHx0WlUk3D0lne4RBsNBAPCTy3C58yU7kEY,667
|
|
197
198
|
flock/themes/3024-night.toml,sha256=qsXUwd6ZYz6J-R129_Ao2TKlvvK60svhZJJjB5c8Tfo,1667
|
|
198
199
|
flock/themes/aardvark-blue.toml,sha256=5ZgsxP3pWLPN3yJ2Wd9ErCo7fy_VJpIfje4kriDKlqo,1667
|
|
@@ -529,9 +530,9 @@ flock/themes/zenburn.toml,sha256=NxOAR3cx-Z9PVErEKHFZ6jsjfKBtPmfyN_vGSri5_qo,171
|
|
|
529
530
|
flock/themes/zenburned.toml,sha256=UEmquBbcAO3Zj652XKUwCsNoC2iQSlIh-q5c6DH-7Kc,1664
|
|
530
531
|
flock/themes/zenwritten-dark.toml,sha256=-dgaUfg1iCr5Dv4UEeHv_cN4GrPUCWAiHSxWK20X1kI,1663
|
|
531
532
|
flock/themes/zenwritten-light.toml,sha256=G1iEheCPfBNsMTGaVpEVpDzYBHA_T-MV27rolUYolmE,1666
|
|
532
|
-
flock/utility/output_utility_component.py,sha256=
|
|
533
|
-
flock_core-0.5.
|
|
534
|
-
flock_core-0.5.
|
|
535
|
-
flock_core-0.5.
|
|
536
|
-
flock_core-0.5.
|
|
537
|
-
flock_core-0.5.
|
|
533
|
+
flock/utility/output_utility_component.py,sha256=YXzVy4EZXTrz0o6DjlE6tna4N79T5S5b98qDS42KqXM,9316
|
|
534
|
+
flock_core-0.5.10.dist-info/METADATA,sha256=STc1MF57LI48929-B1uzmvLQACqRnTQLtpz-4iXgybQ,50917
|
|
535
|
+
flock_core-0.5.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
536
|
+
flock_core-0.5.10.dist-info/entry_points.txt,sha256=UQdPmtHd97gSA_IdLt9MOd-1rrf_WO-qsQeIiHWVrp4,42
|
|
537
|
+
flock_core-0.5.10.dist-info/licenses/LICENSE,sha256=U3IZuTbC0yLj7huwJdldLBipSOHF4cPf6cUOodFiaBE,1072
|
|
538
|
+
flock_core-0.5.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|