flock-core 0.5.2__tar.gz → 0.5.3__tar.gz
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-0.5.2 → flock_core-0.5.3}/.gitignore +1 -1
- {flock_core-0.5.2 → flock_core-0.5.3}/AGENTS.md +9 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/PKG-INFO +62 -14
- {flock_core-0.5.2 → flock_core-0.5.3}/README.md +61 -13
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/getting-started/concepts.md +124 -1
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/agents.md +142 -0
- flock_core-0.5.3/docs/guides/batch-processing.md +782 -0
- flock_core-0.5.3/docs/guides/join-operations.md +786 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/patterns.md +182 -9
- flock_core-0.5.3/docs/guides/predicates.md +626 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/use-cases.md +6 -6
- flock_core-0.5.3/docs/internal/feature-analysis/00-executive-summary.md +200 -0
- flock_core-0.5.3/docs/internal/feature-analysis/01-core-orchestration-actual-behavior.md +656 -0
- flock_core-0.5.3/docs/internal/feature-analysis/02-agent-subscription-mechanics.md +1148 -0
- flock_core-0.5.3/docs/internal/feature-analysis/03-visibility-security-implementation.md +1048 -0
- flock_core-0.5.3/docs/internal/feature-analysis/04-blackboard-persistence-reality.md +1198 -0
- flock_core-0.5.3/docs/internal/feature-analysis/05-advanced-features-validation.md +1109 -0
- flock_core-0.5.3/docs/internal/feature-analysis/99-comprehensive-comparison-report.md +941 -0
- flock_core-0.5.3/docs/internal/logic-operations/api_design.md +1107 -0
- flock_core-0.5.3/docs/internal/ux-improvements/type-based-predicates.md +319 -0
- flock_core-0.5.3/docs/specs/003-logic-operations/PLAN.md +1252 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/01_declarative_pizza.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/02_input_and_output.py +1 -1
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/03_code_detective.py +2 -4
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/04_input_and_output.py +3 -3
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/05_mcp_and_tools.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/06_mcp_roots.py +1 -1
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/07_web_detective.py +22 -9
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/08_band_formation.py +1 -1
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/09_debate_club.py +28 -14
- flock_core-0.5.3/examples/01-cli/13_medical_diagnostics_joinspec.py +156 -0
- flock_core-0.5.3/examples/01-cli/14_ecommerce_batch_processing.py +148 -0
- flock_core-0.5.3/examples/01-cli/15_iot_sensor_batching.py +191 -0
- flock_core-0.5.3/examples/02-dashboard/09_debate_club.py +68 -0
- flock_core-0.5.3/examples/02-dashboard/13_medical_diagnostics_joinspec.py +74 -0
- flock_core-0.5.3/examples/02-dashboard/14_ecommerce_batch_processing.py +69 -0
- flock_core-0.5.3/examples/02-dashboard/15_iot_sensor_batching.py +84 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/README.md +36 -4
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/lesson_01_code_detective.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/lesson_02_band_formation.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/lesson_03_web_detective.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/lesson_04_debate_club.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/lesson_05_tracing_detective.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/lesson_06_secret_agents.py +2 -2
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/03-claudes-workshop/lesson_07_news_agency.py +2 -2
- flock_core-0.5.3/examples/03-claudes-workshop/lesson_08_the_matchmaker.py +218 -0
- flock_core-0.5.3/examples/03-claudes-workshop/lesson_09_the_batch_optimizer.py +226 -0
- flock_core-0.5.3/examples/03-claudes-workshop/lesson_10_the_smart_factory.py +307 -0
- flock_core-0.5.3/examples/04-misc/05_lm_studio.py +35 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/pyproject.toml +2 -1
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/agent.py +16 -3
- flock_core-0.5.3/src/flock/artifact_collector.py +159 -0
- flock_core-0.5.3/src/flock/batch_accumulator.py +252 -0
- flock_core-0.5.3/src/flock/correlation_engine.py +218 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/orchestrator.py +137 -3
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/subscription.py +70 -7
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/conftest.py +12 -9
- flock_core-0.5.3/tests/test_orchestrator_and_gate.py +1042 -0
- flock_core-0.5.3/tests/test_orchestrator_batchspec.py +556 -0
- flock_core-0.5.3/tests/test_orchestrator_combined.py +850 -0
- flock_core-0.5.3/tests/test_orchestrator_joinspec.py +747 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_store.py +3 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/uv.lock +15 -1
- flock_core-0.5.2/examples/02-dashboard/09_debate_club.py +0 -54
- {flock_core-0.5.2 → flock_core-0.5.3}/.devcontainer/devcontainer.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/.envtemplate +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/.github/workflows/deploy-documentation.yml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/.github/workflows/deploy-whiteduck-pypi.yml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/.github/workflows/quality.yml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/.pre-commit-config.yaml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/.python-version +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/.vscode/settings.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/AUTO_TRACING.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/CONTRIBUTING.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/LICENSE +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/ROADMAP.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/USECASES.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/about/changelog.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/about/contributing.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/about/roadmap.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/bug_diagnosis.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/flock.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/flock_ui_1.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/flock_ui_agent_view.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/flock_ui_blackboard_view.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/pizza.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/trace_1.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/trace_2.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/assets/images/trace_3.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/bugfixes/websocket-streaming-deadlock-fix.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/community/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/examples/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/getting-started/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/getting-started/installation.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/getting-started/quick-start.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/blackboard.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/components.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/dashboard.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/mcp-roots.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/persistent-blackboard.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/testing.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/tracing/auto-tracing.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/tracing/how_to_use_tracing_effectively.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/tracing/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/tracing/trace-module.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/tracing/tracing-production.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/tracing/tracing-quickstart.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/tracing/unified-tracing.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/guides/visibility.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/IMPLEMENTATION_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/PRE_COMMIT_HOOKS.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/UNIFIED_TRACING_DELIVERY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/VERSIONING.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ai-agents/architecture.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ai-agents/common-tasks.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ai-agents/dependencies.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ai-agents/development.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ai-agents/frontend.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/component-architecture.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/design_and_goals/landscape_analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/design_and_goals/motivation.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/design_and_goals/review.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/design_and_goals/server_side_graph_plan.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/design_and_goals/technical_design.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/ANALYSIS_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/AUDIT_QUICKREF.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/BROKEN_LINKS_REPORT.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/DOCUMENTATION_ANALYSIS.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/DOCUMENTATION_TRANSFORMATION_CHECKLIST.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/DOCUMENTATION_TRANSFORMATION_ROADMAP.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/MKDOCS_BEST_PRACTICES_RESEARCH.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/MKDOCS_QUICK_REFERENCE.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/PHASE_1_COMPLETION_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/PHASE_1_FINAL_REPORT.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/PHASE_2_COMPLETION_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/PHASE_3_COMPLETION_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/examples-analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/examples-quick-reference.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/documentation-analysis/examples-structure-diagram.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/domain/test-improvement-roadmap.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/002-fan-out-pattern/PLAN.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/002-fan-out-pattern/PRD.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/002-fan-out-pattern/SDD.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/dx-fanout-analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/fan-out-pattern-analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/fan-out-pattern.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/fanout-implementation-guide.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/fanout-ui-analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/img/image.png +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/parallel-streaming-architecture.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/parallel_streaming_implementation.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/parallel_streaming_implementation_v0.5.1.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/streaming_architecture_analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/ui-fanout-requirements.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/fan-out/websocket-fanout-event-design.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/implementation-summary-server-specific-mounts.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/mcp-server-config-typeddict.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/patterns/auto-layout-auto-zoom-removal.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/patterns/core-architecture.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/patterns/development-workflow.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/patterns/project-configuration.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/patterns/repository-structure.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/INDEX.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/RANKED_RESEARCH_AGENDA.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/benchmarks/BENCHMARK_DELIVERABLES.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/benchmarks/BENCHMARK_EXECUTIVE_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/benchmarks/BENCHMARK_RESEARCH.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/benchmarks/BENCHMARK_VISUAL_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/benchmarks/QUICK_START_BENCHMARKS.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/benchmarks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/01_contract_first_reliability.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/02_event_parallelism_batching.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/03_mcp_native_eval.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/04_formal_liveness_safety.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/05_stigmergic_patterns.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/06_observability_driven_scheduling.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/07_visibility_multitenant_infoflow.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/08_structured_generation_adversarial_schemas.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/09_web_agent_orchestration_bench.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/09x_alternatives_refs.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/10_distributed_blackboard_kafka.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/11_cost_optimal_bestof_cascade.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/12_human_in_the_loop_guardrails.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/13_trace_dataset_compression.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/14_mcp_latency_caching.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/15_market_bidding_blackboard.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/01_contract_first_reliability/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/02_event_parallelism_batching/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/03_mcp_native_eval/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/04_formal_liveness_safety/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/05_stigmergic_patterns/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/06_observability_driven_scheduling/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/07_visibility_multitenant_infoflow/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/08_structured_generation_adversarial_schemas/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/09_web_agent_orchestration_bench/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/10_distributed_blackboard_kafka/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/11_cost_optimal_bestof_cascade/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/12_human_in_the_loop_guardrails/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/13_trace_dataset_compression/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/14_mcp_latency_caching/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/configs/experiment.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/data/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/figures/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/notebooks/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/results/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/scripts/analyze.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/scripts/run.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/15_market_bidding_blackboard/scripts/run_local.sh +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/INDEX.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/_shared/analysis/queries.sql +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/_shared/harness/runner.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/boilerplate/_shared/scripts/analyze_template.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/extra_sources.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/kafka_implementation_plan.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/codex/needed_framework_implementation.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/emergence/EMERGENCE_RESEARCH_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/emergence/EMERGENT_BEHAVIOR_RESEARCH.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/emergence/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/emergence/emergence_toolkit.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/emergence/experiment_emergence_demo.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/formal-methods/FORMAL_METHODS_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/formal-methods/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/formal-methods/formal-methods-analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/formal-methods/formal-methods-quick-ref.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/formal-methods/formal-verification-examples.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/observability/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/observability/observability_research_opportunities.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/orchestration/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/orchestration/RESEARCH_BLACKBOARD_ORCHESTRATION.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/orchestration/RESEARCH_EXAMPLES.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/research/orchestration/RESEARCH_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/specs/001-test-coverage-improvement/PLAN.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/specs/001-test-coverage-improvement/PRD.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/specs/001-test-coverage-improvement/SDD.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/sqlite-blackboard-store/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/sqlite-blackboard-store/dashboard-playwright-mcp.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/sqlite-blackboard-store/domain.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/sqlite-blackboard-store/interfaces.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/sqlite-blackboard-store/patterns.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/troubleshooting/codex_bug_analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/troubleshooting/event-log-memory-leak-analysis.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ui-optimization/01-current-frontend-complexity.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ui-optimization/02-backend-contract-completeness.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ui-optimization/03-migration-implementation-guide.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/internal/ui-optimization/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/javascripts/extra.js +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/reference/api.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/reference/configuration.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/reference/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/specs/001-sqlite-blackboard-store/PLAN.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/specs/001-sqlite-blackboard-store/PRD.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/specs/002-ui-optimization-migration/PHASE_4.1_AFTERMATH_AUDIT.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/specs/002-ui-optimization-migration/PHASE_4.1_TASK_LIST.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/specs/002-ui-optimization-migration/PLAN.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/specs/002-ui-optimization-migration/PRD.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/stylesheets/extra.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/tags.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/troubleshooting/streaming-freeze-fix.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/troubleshooting/streaming-freeze-with-dashboard-fix.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/tutorials/advanced-patterns.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/tutorials/conditional-routing.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/tutorials/connect_with_ollama.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/tutorials/index.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/tutorials/multi-agent-workflow.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/tutorials/your-first-agent.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/docs/whiteducksoftware/versions.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/10_news_agency.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/11_tracing_detective.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/01-cli/12_secret_agents.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/01_declarative_pizza.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/02_input_and_output.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/03_code_detective.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/04_input_and_output.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/05_mcp_and_tools.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/06_mcp_roots.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/07_web_detective.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/08_band_formation.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/10_news_agency.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/11_tracing_detective.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/02-dashboard/12_secret_agents.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/04-misc/01_persistent_pizza.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/04-misc/02-dashboard-edge-cases.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/04-misc/03-scale-test-100-agents.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/04-misc/04_persistent_pizza_dashboard.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/examples/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/mkdocs.yml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/requirements.txt +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/scripts/build_dashboard.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/scripts/bump_version.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/scripts/check_version_bump.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/scripts/ensure_uv.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/scripts/gen_ref_pages.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/scripts/generate_llm_codebase.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/api/themes.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/artifacts.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/cli.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/components.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/collector.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/events.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/graph_builder.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/launcher.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/models/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/models/graph.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/service.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/static_v2/assets/index-DFRnI_mt.js +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/static_v2/assets/index-fPLNdmp1.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/static_v2/index.html +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/dashboard/websocket.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/engines/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/engines/dspy_engine.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/examples.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/docs/DESIGN_SYSTEM.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/index.html +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/package-lock.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/package.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/App.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/__tests__/integration/graph-snapshot.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/__tests__/integration/indexeddb-persistence.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/BuildInfo.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/EmptyState.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/EmptyState.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/ErrorBoundary.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/ErrorBoundary.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/KeyboardShortcutsDialog.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/KeyboardShortcutsDialog.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/LoadingSpinner.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/common/LoadingSpinner.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/controls/PublishControl.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/controls/PublishControl.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/controls/PublishControl.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/DetailWindowContainer.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/LiveOutputTab.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/LiveOutputTab.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/MessageDetailWindow.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/MessageHistoryTab.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/NodeDetailWindow.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/NodeDetailWindow.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/RunStatusTab.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/details/tabs.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/ArtifactTypeFilter.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/CorrelationIDFilter.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/CorrelationIDFilter.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/CorrelationIDFilter.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/FilterFlyout.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/FilterFlyout.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/FilterPills.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/FilterPills.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/FilterPills.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/ProducerFilter.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/SavedFiltersControl.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/SavedFiltersControl.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/SavedFiltersControl.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/TagFilter.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/TimeRangeFilter.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/TimeRangeFilter.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/TimeRangeFilter.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/filters/VisibilityFilter.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/AgentNode.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/AgentNode.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/GraphCanvas.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/MessageFlowEdge.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/MessageNode.test.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/MessageNode.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/MiniMap.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/graph/TransformEdge.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/layout/DashboardLayout.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/layout/DashboardLayout.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/layout/Header.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/layout/Header.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/HistoricalArtifactsModule.module.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/HistoricalArtifactsModule.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/HistoricalArtifactsModuleWrapper.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/JsonAttributeRenderer.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/ModuleRegistry.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/ModuleRegistry.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/ModuleWindow.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/TraceModuleJaeger.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/TraceModuleJaegerWrapper.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/modules/registerModules.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/AdvancedSettings.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/AppearanceSettings.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/GraphSettings.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/MultiSelect.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/SettingsPanel.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/SettingsPanel.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/ThemeSelector.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/components/settings/TracingSettings.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/hooks/useKeyboardShortcuts.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/hooks/useModulePersistence.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/hooks/useModulePersistence.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/hooks/useModules.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/hooks/usePersistence.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/main.tsx +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/api.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/graphService.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/graphService.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/indexeddb.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/indexeddb.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/layout.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/layout.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/themeApplicator.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/themeService.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/services/websocket.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/filterStore.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/filterStore.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/graphStore.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/graphStore.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/moduleStore.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/moduleStore.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/settingsStore.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/streamStore.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/uiStore.test.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/uiStore.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/store/wsStore.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/styles/index.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/styles/scrollbar.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/styles/variables.css +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/test/setup.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/types/filters.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/types/graph.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/types/modules.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/types/theme.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/utils/artifacts.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/utils/mockData.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/utils/performance.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/src/vite-env.d.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/tsconfig.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/tsconfig.node.json +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/vite.config.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/frontend/vitest.config.ts +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/helper/cli_helper.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/auto_trace.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/formatters/enum_builder.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/formatters/theme_builder.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/formatters/themed_formatter.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/formatters/themes.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/logging.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/span_middleware/baggage_span_processor.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/telemetry.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/telemetry_exporter/base_exporter.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/telemetry_exporter/duckdb_exporter.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/telemetry_exporter/file_exporter.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/telemetry_exporter/sqlite_exporter.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/logging/trace_and_logged.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/client.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/config.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/manager.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/sse/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/sse/flock_sse_server.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/stdio/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/stdio/flock_stdio_server.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/streamable_http/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/streamable_http/flock_streamable_http_server.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/websockets/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/servers/websockets/flock_websocket_server.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/tool.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/types/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/types/callbacks.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/types/factories.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/types/handlers.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/types/types.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/util/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/mcp/util/helpers.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/patches/__init__.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/patches/dspy_streaming_patch.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/registry.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/runtime.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/service.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/store.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/3024-day.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/3024-night.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/aardvark-blue.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/abernathy.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/adventure.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/adventuretime.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/afterglow.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/alabaster.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/alienblood.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/andromeda.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/apple-classic.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/apple-system-colors.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/arcoiris.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/argonaut copy.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/argonaut.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/arthur.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ateliersulphurpool.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/atom.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/atom_test.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/atomonelight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/aurora.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ayu copy.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ayu-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ayu-mirage.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ayu.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/banana-blueberry.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/batman.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/belafonte-day.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/belafonte-night.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/birdsofparadise.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/blazer.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/blue-matrix.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/blueberrypie.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/bluedolphin.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/blulocodark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/blulocolight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/borland.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/breeze.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/bright-lights.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/broadcast.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/brogrammer.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/builtin-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/builtin-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/builtin-pastel-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/builtin-solarized-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/builtin-solarized-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/builtin-tango-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/builtin-tango-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/c64.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/calamity.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/catppuccin-frappe.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/catppuccin-latte.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/catppuccin-macchiato.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/catppuccin-mocha.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/cga.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/chalk.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/chalkboard.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/challengerdeep.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/chester.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ciapre.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/clrs.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/cobalt-neon.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/cobalt2.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/coffee-theme.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/crayonponyfish.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/cutiepro.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/cyberdyne.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/cyberpunk.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/cyberpunkscarletprotocol.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dark+.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dark-pastel.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/darkermatrix.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/darkmatrix.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/darkside.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dayfox.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/deep.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/desert.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dimidium.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dimmedmonokai.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/django.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/djangorebornagain.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/djangosmooth.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/doom-peacock.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/doomone.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dotgov.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dracula+.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/dracula.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/duckbones.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/duotone-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/earthsong.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/elemental.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/elementary.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/encom.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/espresso-libre.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/espresso.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/everblush.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/fahrenheit.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/fairyfloss.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/farmhouse-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/farmhouse-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/fideloper.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/firefly-traditional.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/firefoxdev.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/firewatch.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/fishtank.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/flat.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/flatland.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/flexoki-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/flexoki-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/floraverse.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/forestblue.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/framer.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/frontenddelight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/funforrest.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/galaxy.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/galizur.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/github-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/github.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/glacier.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/grape.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/grass.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/grey-green.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/gruber-darker.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/gruvboxdark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/gruvboxdarkhard.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/gruvboxlight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/guezwhoz.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hacktober.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hardcore.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/harper.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hax0r-blue.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hax0r-gr33n.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hax0r-r3d.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/highway.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hipster-green.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hivacruz.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/homebrew.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hopscotch.256.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hopscotch.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hurtado.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/hybrid.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ic-green-ppl.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ic-orange-ppl.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iceberg-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iceberg-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/idea.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/idletoes.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ir-black.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-dark-background.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-default.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-light-background.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-pastel-dark-background.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-smoooooth.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-solarized-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-solarized-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-tango-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/iterm2-tango-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/jackie-brown.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/japanesque.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/jellybeans.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/jetbrains-darcula.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/jubi.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/kanagawabones.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/kibble.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/kolorit.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/konsolas.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/kurokula.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/lab-fox.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/laser.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/later-this-evening.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/lavandula.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/liquidcarbon.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/liquidcarbontransparent.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/liquidcarbontransparentinverse.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/lovelace.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/man-page.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/mariana.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/material.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/materialdark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/materialdarker.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/materialdesigncolors.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/materialocean.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/mathias.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/matrix.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/medallion.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/mellifluous.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/midnight-in-mojave.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/mirage.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/misterioso.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/molokai.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/monalisa.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/monokai-remastered.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/monokai-soda.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/monokai-vivid.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/n0tch2k.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/neobones-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/neobones-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/neon.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/neopolitan.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/neutron.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/night-owlish-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nightfox.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nightlion-v1.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nightlion-v2.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/niji.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nocturnal-winter.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nord-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nord.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/novel.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nvimdark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/nvimlight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/obsidian.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ocean.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/oceanic-next.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/oceanicmaterial.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ollie.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/onehalfdark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/onehalflight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/operator-mono-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/overnight-slumber.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/oxocarbon.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/palenighthc.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/pandora.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/paraiso-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/paulmillr.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/pencildark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/pencillight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/peppermint.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/piatto-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/pnevma.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/popping-and-locking.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/primary.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/pro-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/pro.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/purple-rain.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/purplepeter.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/rapture.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/raycast-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/raycast-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/rebecca.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/red-alert.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/red-planet.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/red-sands.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/relaxed.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/retro.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/rippedcasts.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/rose-pine-dawn.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/rose-pine-moon.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/rose-pine.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/rouge-2.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/royal.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ryuuko.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/sakura.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/scarlet-protocol.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/seafoam-pastel.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/seashells.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/seoulbones-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/seoulbones-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/seti.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/shades-of-purple.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/shaman.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/slate.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/sleepyhollow.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/smyck.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/snazzy.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/softserver.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/solarized-darcula.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/solarized-dark---patched.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/solarized-dark-higher-contrast.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/spacedust.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/spacegray-eighties-dull.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/spacegray-eighties.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/spacegray.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/spiderman.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/spring.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/square.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/sublette.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/subliminal.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/sugarplum.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/sundried.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/symfonic.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/synthwave-everything.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/synthwave.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/synthwavealpha.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tango-adapted.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tango-half-adapted.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/teerb.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/terafox.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/terminal-basic.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/thayer-bright.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/the-hulk.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tinacious-design-(dark).toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tinacious-design-(light).toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tokyonight-day.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tokyonight-storm.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tokyonight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tomorrow-night-blue.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tomorrow-night-bright.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tomorrow-night-burns.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tomorrow-night-eighties.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tomorrow-night.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/tomorrow.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/toychest.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/treehouse.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/twilight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ubuntu.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ultradark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/ultraviolent.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/underthesea.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/unikitty.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/urple.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/vaughn.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/vesper.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/vibrantink.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/vimbones.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/violet-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/violet-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/warmneon.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/wez.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/whimsy.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/wildcherry.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/wilmersdorf.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/wombat.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/wryan.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/xcodedark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/xcodedarkhc.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/xcodelight.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/xcodelighthc.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/xcodewwdc.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/zenbones-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/zenbones-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/zenbones.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/zenburn.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/zenburned.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/zenwritten-dark.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/themes/zenwritten-light.toml +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/utilities.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/utility/output_utility_component.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/src/flock/visibility.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/contract/test_agent_payload_selection_contract.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/contract/test_artifact_storage_contract.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/contract/test_type_normalization_contract.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/e2e/README.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/e2e/TESTING_SUMMARY.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/e2e/test_critical_scenarios.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/integration/test_collector_orchestrator.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/integration/test_orchestrator_dashboard.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/integration/test_sqlite_store_integration.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/integration/test_websocket_protocol.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_agent.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_agent_mcp.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_agent_server_specific_mounts.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_artifacts.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_cli.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_cli_helper.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_components.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dashboard_api.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dashboard_collector.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dashboard_graph.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dashboard_launcher.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dashboard_service.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dspy_engine.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dspy_engine_mcp.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_dspy_streaming_events.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_engines.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_logging_config.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_mcp_client.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_mcp_config.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_mcp_coverage_summary.md +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_mcp_imports.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_mcp_manager.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_mcp_server_config_typeddict.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_mcp_tool_handlers.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_orchestrator.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_orchestrator_mcp.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_registry.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_runtime.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_service.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_service_extended.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_store_graph.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_subscription.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_telemetry.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_trace_clearing.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_unified_tracing.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_utilities.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_version_endpoint.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_visibility.py +0 -0
- {flock_core-0.5.2 → flock_core-0.5.3}/tests/test_websocket_manager.py +0 -0
|
@@ -92,7 +92,16 @@ uv run python examples/02-dashboard/03_code_detective.py
|
|
|
92
92
|
|
|
93
93
|
For deep dives into specific topics, see:
|
|
94
94
|
|
|
95
|
+
**Core Architecture:**
|
|
95
96
|
- **[Architecture & Blackboard](docs/guides/blackboard.md)** - Core pattern, structure, and behavior
|
|
97
|
+
- **[Agent Guide](docs/guides/agents.md)** - Complete agent development reference
|
|
98
|
+
|
|
99
|
+
**Logic Operations (Advanced Subscriptions):**
|
|
100
|
+
- **[Predicates](docs/guides/predicates.md)** - Conditional consumption with `where=` filters
|
|
101
|
+
- **[Join Operations](docs/guides/join-operations.md)** - Correlate related artifacts with JoinSpec
|
|
102
|
+
- **[Batch Processing](docs/guides/batch-processing.md)** - Efficient bulk operations with BatchSpec
|
|
103
|
+
|
|
104
|
+
**Development & Operations:**
|
|
96
105
|
- **[Development Workflow](docs/about/contributing.md)** - Testing, quality, versioning, pre-commit
|
|
97
106
|
- **[Frontend/Dashboard](docs/guides/dashboard.md)** - Dashboard usage and development
|
|
98
107
|
- **[Configuration & Dependencies](docs/reference/configuration.md)** - Environment and setup
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flock-core
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.3
|
|
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
|
|
@@ -266,7 +266,7 @@ flock = Flock(os.getenv("DEFAULT_MODEL", "openai/gpt-4.1"))
|
|
|
266
266
|
bug_detector = flock.agent("bug_detector").consumes(CodeSubmission).publishes(BugAnalysis)
|
|
267
267
|
security_auditor = flock.agent("security_auditor").consumes(CodeSubmission).publishes(SecurityAnalysis)
|
|
268
268
|
|
|
269
|
-
# This agent AUTOMATICALLY waits for
|
|
269
|
+
# AND gate: This agent AUTOMATICALLY waits for BOTH analyses before triggering
|
|
270
270
|
final_reviewer = flock.agent("final_reviewer").consumes(BugAnalysis, SecurityAnalysis).publishes(FinalReview)
|
|
271
271
|
|
|
272
272
|
# 4. Run with real-time dashboard
|
|
@@ -343,29 +343,77 @@ analyzer = (
|
|
|
343
343
|
)
|
|
344
344
|
```
|
|
345
345
|
|
|
346
|
-
**
|
|
346
|
+
**Logic Operations (AND/OR Gates):**
|
|
347
|
+
|
|
348
|
+
Flock provides intuitive syntax for coordinating multiple input types:
|
|
349
|
+
|
|
350
|
+
```python
|
|
351
|
+
# AND gate: Wait for BOTH types before triggering
|
|
352
|
+
diagnostician = flock.agent("diagnostician").consumes(XRayAnalysis, LabResults).publishes(Diagnosis)
|
|
353
|
+
# Agent triggers only when both XRayAnalysis AND LabResults are available
|
|
354
|
+
|
|
355
|
+
# OR gate: Trigger on EITHER type (via chaining)
|
|
356
|
+
alert_handler = flock.agent("alerts").consumes(SystemAlert).consumes(UserAlert).publishes(Response)
|
|
357
|
+
# Agent triggers when SystemAlert OR UserAlert is published
|
|
358
|
+
|
|
359
|
+
# Count-based AND gate: Wait for MULTIPLE instances of the same type
|
|
360
|
+
aggregator = flock.agent("aggregator").consumes(Order, Order, Order).publishes(BatchSummary)
|
|
361
|
+
# Agent triggers when THREE Order artifacts are available
|
|
362
|
+
|
|
363
|
+
# Mixed counts: Different requirements per type
|
|
364
|
+
validator = flock.agent("validator").consumes(Image, Image, Metadata).publishes(ValidationResult)
|
|
365
|
+
# Agent triggers when TWO Images AND ONE Metadata are available
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**What just happened:**
|
|
369
|
+
- ✅ **Natural syntax** - Code clearly expresses intent ("wait for 3 orders")
|
|
370
|
+
- ✅ **Order-independent** - Artifacts can arrive in any sequence
|
|
371
|
+
- ✅ **Latest wins** - If 4 As arrive but need 3, uses the 3 most recent
|
|
372
|
+
- ✅ **Zero configuration** - No manual coordination logic needed
|
|
373
|
+
|
|
374
|
+
**Advanced subscriptions unlock crazy powerful patterns:**
|
|
347
375
|
|
|
348
376
|
```python
|
|
349
|
-
#
|
|
377
|
+
# 🎯 Predicates - Smart filtering (only process critical cases)
|
|
350
378
|
urgent_care = flock.agent("urgent").consumes(
|
|
351
379
|
Diagnosis,
|
|
352
|
-
where=lambda d: d.severity in ["Critical", "High"]
|
|
380
|
+
where=lambda d: d.severity in ["Critical", "High"] # Conditional routing!
|
|
353
381
|
)
|
|
354
382
|
|
|
355
|
-
#
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
batch=BatchSpec(size=
|
|
383
|
+
# 📦 BatchSpec - Cost optimization (process 10 at once = 90% cheaper API calls)
|
|
384
|
+
payment_processor = flock.agent("payments").consumes(
|
|
385
|
+
Transaction,
|
|
386
|
+
batch=BatchSpec(size=25, timeout=timedelta(seconds=30)) # $5 saved per batch!
|
|
359
387
|
)
|
|
360
388
|
|
|
361
|
-
#
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
join=JoinSpec(within=timedelta(
|
|
389
|
+
# 🔗 JoinSpec - Data correlation (match orders + shipments by ID)
|
|
390
|
+
customer_service = flock.agent("notifications").consumes(
|
|
391
|
+
Order,
|
|
392
|
+
Shipment,
|
|
393
|
+
join=JoinSpec(by=lambda x: x.order_id, within=timedelta(hours=24)) # Correlated!
|
|
394
|
+
)
|
|
395
|
+
|
|
396
|
+
# 🏭 Combined Features - Correlate sensors, THEN batch for analysis
|
|
397
|
+
quality_control = flock.agent("qc").consumes(
|
|
398
|
+
TemperatureSensor,
|
|
399
|
+
PressureSensor,
|
|
400
|
+
join=JoinSpec(by=lambda x: x.device_id, within=timedelta(seconds=30)),
|
|
401
|
+
batch=BatchSpec(size=5, timeout=timedelta(seconds=45)) # IoT at scale!
|
|
366
402
|
)
|
|
367
403
|
```
|
|
368
404
|
|
|
405
|
+
**What just happened:**
|
|
406
|
+
- ✅ **Predicates** route work by business rules ("only critical severity")
|
|
407
|
+
- ✅ **BatchSpec** optimizes costs (25 transactions = 1 API call instead of 25)
|
|
408
|
+
- ✅ **JoinSpec** correlates related data (orders ↔ shipments, sensors ↔ readings)
|
|
409
|
+
- ✅ **Combined** delivers production-grade multi-stage pipelines
|
|
410
|
+
|
|
411
|
+
**Real-world impact:**
|
|
412
|
+
- 💰 E-commerce: Save $5 per batch on payment processing fees
|
|
413
|
+
- 🏥 Healthcare: Correlate patient scans + lab results for diagnosis
|
|
414
|
+
- 🏭 Manufacturing: Monitor 1000+ IoT sensors with efficient batching
|
|
415
|
+
- 📊 Finance: Match trades + confirmations within 5-minute windows
|
|
416
|
+
|
|
369
417
|
### Visibility Controls (The Security)
|
|
370
418
|
|
|
371
419
|
**Unlike other frameworks, Flock has zero-trust security built-in:**
|
|
@@ -233,7 +233,7 @@ flock = Flock(os.getenv("DEFAULT_MODEL", "openai/gpt-4.1"))
|
|
|
233
233
|
bug_detector = flock.agent("bug_detector").consumes(CodeSubmission).publishes(BugAnalysis)
|
|
234
234
|
security_auditor = flock.agent("security_auditor").consumes(CodeSubmission).publishes(SecurityAnalysis)
|
|
235
235
|
|
|
236
|
-
# This agent AUTOMATICALLY waits for
|
|
236
|
+
# AND gate: This agent AUTOMATICALLY waits for BOTH analyses before triggering
|
|
237
237
|
final_reviewer = flock.agent("final_reviewer").consumes(BugAnalysis, SecurityAnalysis).publishes(FinalReview)
|
|
238
238
|
|
|
239
239
|
# 4. Run with real-time dashboard
|
|
@@ -310,29 +310,77 @@ analyzer = (
|
|
|
310
310
|
)
|
|
311
311
|
```
|
|
312
312
|
|
|
313
|
-
**
|
|
313
|
+
**Logic Operations (AND/OR Gates):**
|
|
314
|
+
|
|
315
|
+
Flock provides intuitive syntax for coordinating multiple input types:
|
|
316
|
+
|
|
317
|
+
```python
|
|
318
|
+
# AND gate: Wait for BOTH types before triggering
|
|
319
|
+
diagnostician = flock.agent("diagnostician").consumes(XRayAnalysis, LabResults).publishes(Diagnosis)
|
|
320
|
+
# Agent triggers only when both XRayAnalysis AND LabResults are available
|
|
321
|
+
|
|
322
|
+
# OR gate: Trigger on EITHER type (via chaining)
|
|
323
|
+
alert_handler = flock.agent("alerts").consumes(SystemAlert).consumes(UserAlert).publishes(Response)
|
|
324
|
+
# Agent triggers when SystemAlert OR UserAlert is published
|
|
325
|
+
|
|
326
|
+
# Count-based AND gate: Wait for MULTIPLE instances of the same type
|
|
327
|
+
aggregator = flock.agent("aggregator").consumes(Order, Order, Order).publishes(BatchSummary)
|
|
328
|
+
# Agent triggers when THREE Order artifacts are available
|
|
329
|
+
|
|
330
|
+
# Mixed counts: Different requirements per type
|
|
331
|
+
validator = flock.agent("validator").consumes(Image, Image, Metadata).publishes(ValidationResult)
|
|
332
|
+
# Agent triggers when TWO Images AND ONE Metadata are available
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**What just happened:**
|
|
336
|
+
- ✅ **Natural syntax** - Code clearly expresses intent ("wait for 3 orders")
|
|
337
|
+
- ✅ **Order-independent** - Artifacts can arrive in any sequence
|
|
338
|
+
- ✅ **Latest wins** - If 4 As arrive but need 3, uses the 3 most recent
|
|
339
|
+
- ✅ **Zero configuration** - No manual coordination logic needed
|
|
340
|
+
|
|
341
|
+
**Advanced subscriptions unlock crazy powerful patterns:**
|
|
314
342
|
|
|
315
343
|
```python
|
|
316
|
-
#
|
|
344
|
+
# 🎯 Predicates - Smart filtering (only process critical cases)
|
|
317
345
|
urgent_care = flock.agent("urgent").consumes(
|
|
318
346
|
Diagnosis,
|
|
319
|
-
where=lambda d: d.severity in ["Critical", "High"]
|
|
347
|
+
where=lambda d: d.severity in ["Critical", "High"] # Conditional routing!
|
|
320
348
|
)
|
|
321
349
|
|
|
322
|
-
#
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
batch=BatchSpec(size=
|
|
350
|
+
# 📦 BatchSpec - Cost optimization (process 10 at once = 90% cheaper API calls)
|
|
351
|
+
payment_processor = flock.agent("payments").consumes(
|
|
352
|
+
Transaction,
|
|
353
|
+
batch=BatchSpec(size=25, timeout=timedelta(seconds=30)) # $5 saved per batch!
|
|
326
354
|
)
|
|
327
355
|
|
|
328
|
-
#
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
join=JoinSpec(within=timedelta(
|
|
356
|
+
# 🔗 JoinSpec - Data correlation (match orders + shipments by ID)
|
|
357
|
+
customer_service = flock.agent("notifications").consumes(
|
|
358
|
+
Order,
|
|
359
|
+
Shipment,
|
|
360
|
+
join=JoinSpec(by=lambda x: x.order_id, within=timedelta(hours=24)) # Correlated!
|
|
361
|
+
)
|
|
362
|
+
|
|
363
|
+
# 🏭 Combined Features - Correlate sensors, THEN batch for analysis
|
|
364
|
+
quality_control = flock.agent("qc").consumes(
|
|
365
|
+
TemperatureSensor,
|
|
366
|
+
PressureSensor,
|
|
367
|
+
join=JoinSpec(by=lambda x: x.device_id, within=timedelta(seconds=30)),
|
|
368
|
+
batch=BatchSpec(size=5, timeout=timedelta(seconds=45)) # IoT at scale!
|
|
333
369
|
)
|
|
334
370
|
```
|
|
335
371
|
|
|
372
|
+
**What just happened:**
|
|
373
|
+
- ✅ **Predicates** route work by business rules ("only critical severity")
|
|
374
|
+
- ✅ **BatchSpec** optimizes costs (25 transactions = 1 API call instead of 25)
|
|
375
|
+
- ✅ **JoinSpec** correlates related data (orders ↔ shipments, sensors ↔ readings)
|
|
376
|
+
- ✅ **Combined** delivers production-grade multi-stage pipelines
|
|
377
|
+
|
|
378
|
+
**Real-world impact:**
|
|
379
|
+
- 💰 E-commerce: Save $5 per batch on payment processing fees
|
|
380
|
+
- 🏥 Healthcare: Correlate patient scans + lab results for diagnosis
|
|
381
|
+
- 🏭 Manufacturing: Monitor 1000+ IoT sensors with efficient batching
|
|
382
|
+
- 📊 Finance: Match trades + confirmations within 5-minute windows
|
|
383
|
+
|
|
336
384
|
### Visibility Controls (The Security)
|
|
337
385
|
|
|
338
386
|
**Unlike other frameworks, Flock has zero-trust security built-in:**
|
|
@@ -433,6 +433,107 @@ analyzer = (
|
|
|
433
433
|
|
|
434
434
|
---
|
|
435
435
|
|
|
436
|
+
## Logic Operations (AND/OR Gates)
|
|
437
|
+
|
|
438
|
+
**Control how agents wait for multiple artifacts with declarative logic gates.**
|
|
439
|
+
|
|
440
|
+
Flock Flow supports three coordination patterns for multi-artifact subscriptions:
|
|
441
|
+
|
|
442
|
+
### AND Gates: Wait for ALL Types
|
|
443
|
+
|
|
444
|
+
**Syntax:** `.consumes(TypeA, TypeB)` in a single call
|
|
445
|
+
|
|
446
|
+
```python
|
|
447
|
+
# Diagnostician waits for BOTH X-ray AND lab results
|
|
448
|
+
diagnostician = (
|
|
449
|
+
flock.agent("diagnostician")
|
|
450
|
+
.consumes(XRayAnalysis, LabResults) # AND gate: waits for both
|
|
451
|
+
.publishes(Diagnosis)
|
|
452
|
+
)
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**Timeline:**
|
|
456
|
+
```
|
|
457
|
+
t0: XRayAnalysis published → diagnostician WAITS (needs LabResults too)
|
|
458
|
+
t1: LabResults published → diagnostician TRIGGERS with both artifacts
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
### OR Gates: Trigger on ANY Type
|
|
462
|
+
|
|
463
|
+
**Syntax:** Chain multiple `.consumes()` calls
|
|
464
|
+
|
|
465
|
+
```python
|
|
466
|
+
# Alert handler triggers on EITHER system OR user alert
|
|
467
|
+
alert_handler = (
|
|
468
|
+
flock.agent("alert_handler")
|
|
469
|
+
.consumes(SystemAlert) # OR
|
|
470
|
+
.consumes(UserAlert) # OR
|
|
471
|
+
.publishes(AlertResponse)
|
|
472
|
+
)
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
**Timeline:**
|
|
476
|
+
```
|
|
477
|
+
t0: SystemAlert published → alert_handler TRIGGERS (doesn't need UserAlert)
|
|
478
|
+
t1: UserAlert published → alert_handler TRIGGERS AGAIN (independent subscription)
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
### Count-Based AND Gates: Wait for MULTIPLE Instances
|
|
482
|
+
|
|
483
|
+
**Syntax:** `.consumes(TypeA, TypeA, TypeA)` (repeat type N times)
|
|
484
|
+
|
|
485
|
+
```python
|
|
486
|
+
# Batch processor waits for THREE orders
|
|
487
|
+
batch_processor = (
|
|
488
|
+
flock.agent("batch_processor")
|
|
489
|
+
.consumes(Order, Order, Order) # AND gate: waits for 3 Orders
|
|
490
|
+
.publishes(BatchSummary)
|
|
491
|
+
)
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
**Timeline:**
|
|
495
|
+
```
|
|
496
|
+
t0: Order #1 published → batch_processor WAITS (needs 2 more)
|
|
497
|
+
t1: Order #2 published → batch_processor WAITS (needs 1 more)
|
|
498
|
+
t2: Order #3 published → batch_processor TRIGGERS with all 3 Orders
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**Mixed Counts:**
|
|
502
|
+
```python
|
|
503
|
+
# Wait for 2 images AND 1 metadata document
|
|
504
|
+
validator = (
|
|
505
|
+
flock.agent("validator")
|
|
506
|
+
.consumes(Image, Image, Metadata) # 2 Images + 1 Metadata
|
|
507
|
+
.publishes(ValidationResult)
|
|
508
|
+
)
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
### Combining AND/OR Logic
|
|
512
|
+
|
|
513
|
+
**AND + OR Pattern:**
|
|
514
|
+
```python
|
|
515
|
+
# Trigger on (TypeA AND TypeB) OR TypeC
|
|
516
|
+
agent = (
|
|
517
|
+
flock.agent("flexible_agent")
|
|
518
|
+
.consumes(TypeA, TypeB) # AND gate (waits for both)
|
|
519
|
+
.consumes(TypeC) # OR (independent trigger)
|
|
520
|
+
.publishes(Result)
|
|
521
|
+
)
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
**Timeline:**
|
|
525
|
+
```
|
|
526
|
+
Scenario 1: TypeA + TypeB published → agent TRIGGERS
|
|
527
|
+
Scenario 2: TypeC published alone → agent TRIGGERS
|
|
528
|
+
Scenario 3: TypeA alone → agent WAITS (needs TypeB for AND gate)
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
**Key Principle:** Each `.consumes()` call creates a separate subscription (OR). Multiple types in one call create an AND gate.
|
|
532
|
+
|
|
533
|
+
[**👉 See complete AND/OR gate examples**](../guides/agents.md#logic-operations-andor-gates)
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
436
537
|
## Visibility Controls (Zero-Trust Security)
|
|
437
538
|
|
|
438
539
|
**Unlike other frameworks, Flock has zero-trust security built-in.** Control who sees what on the blackboard.
|
|
@@ -611,13 +712,35 @@ editor = flock.agent("editor").consumes(Draft).publishes(EditedDraft)
|
|
|
611
712
|
publisher = flock.agent("publisher").consumes(EditedDraft).publishes(Article)
|
|
612
713
|
```
|
|
613
714
|
|
|
614
|
-
**Parallel-Then-Join (A+B → C):**
|
|
715
|
+
**Parallel-Then-Join with AND Gate (A+B → C):**
|
|
615
716
|
```python
|
|
616
717
|
bugs = flock.agent("bugs").consumes(Code).publishes(BugReport)
|
|
617
718
|
security = flock.agent("security").consumes(Code).publishes(SecurityReport)
|
|
719
|
+
# AND gate: reviewer waits for BOTH BugReport AND SecurityReport
|
|
618
720
|
reviewer = flock.agent("reviewer").consumes(BugReport, SecurityReport).publishes(FinalReview)
|
|
619
721
|
```
|
|
620
722
|
|
|
723
|
+
**OR Gate via Chaining (A OR B → C):**
|
|
724
|
+
```python
|
|
725
|
+
# OR gate: handler triggers on EITHER SystemAlert OR UserAlert
|
|
726
|
+
alert_handler = (
|
|
727
|
+
flock.agent("alert_handler")
|
|
728
|
+
.consumes(SystemAlert) # Triggers on SystemAlert
|
|
729
|
+
.consumes(UserAlert) # OR triggers on UserAlert
|
|
730
|
+
.publishes(AlertResponse)
|
|
731
|
+
)
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
**Count-Based AND Gate (3× A → B):**
|
|
735
|
+
```python
|
|
736
|
+
# Wait for THREE Order artifacts before triggering
|
|
737
|
+
batch_processor = (
|
|
738
|
+
flock.agent("batch_processor")
|
|
739
|
+
.consumes(Order, Order, Order) # AND gate: waits for 3 Orders
|
|
740
|
+
.publishes(BatchSummary)
|
|
741
|
+
)
|
|
742
|
+
```
|
|
743
|
+
|
|
621
744
|
**Fan-Out (A → B1, B2, ..., Bn):**
|
|
622
745
|
```python
|
|
623
746
|
editor = flock.agent("editor").consumes(Topic).publishes(StoryIdea)
|
|
@@ -152,6 +152,148 @@ code_reviewer = (
|
|
|
152
152
|
|
|
153
153
|
---
|
|
154
154
|
|
|
155
|
+
## Logic Operations (AND/OR Gates)
|
|
156
|
+
|
|
157
|
+
Flock provides intuitive syntax for coordinating multiple input types through **AND gates**, **OR gates**, and **count-based logic**. This enables powerful coordination patterns without manual wiring.
|
|
158
|
+
|
|
159
|
+
### AND Gates: Wait for ALL types
|
|
160
|
+
|
|
161
|
+
**Use `.consumes(A, B)` to wait for multiple types before triggering:**
|
|
162
|
+
|
|
163
|
+
```python
|
|
164
|
+
# Diagnostician waits for BOTH inputs
|
|
165
|
+
diagnostician = (
|
|
166
|
+
flock.agent("diagnostician")
|
|
167
|
+
.consumes(XRayAnalysis, LabResults) # AND gate: waits for both
|
|
168
|
+
.publishes(Diagnosis)
|
|
169
|
+
)
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**How it works:**
|
|
173
|
+
- Agent collects artifacts as they arrive
|
|
174
|
+
- Triggers only when **ALL required types** are present
|
|
175
|
+
- Order-independent: `XRay → Lab` or `Lab → XRay` both work
|
|
176
|
+
- After triggering, the waiting pool clears for next cycle
|
|
177
|
+
|
|
178
|
+
**Example timeline:**
|
|
179
|
+
```
|
|
180
|
+
Time 0: XRayAnalysis published → diagnostician waits...
|
|
181
|
+
Time 1: LabResults published → diagnostician triggers! ✅
|
|
182
|
+
Time 2: Agent executes with BOTH artifacts
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Use cases:**
|
|
186
|
+
- Multi-modal fusion (images + text + metadata)
|
|
187
|
+
- Parallel analysis aggregation (multiple perspectives → final decision)
|
|
188
|
+
- Dependency coordination (wait for prerequisites)
|
|
189
|
+
|
|
190
|
+
### OR Gates: Trigger on ANY type
|
|
191
|
+
|
|
192
|
+
**Use chained `.consumes()` to trigger on multiple types independently:**
|
|
193
|
+
|
|
194
|
+
```python
|
|
195
|
+
# Alert handler triggers on EITHER alert type
|
|
196
|
+
alert_handler = (
|
|
197
|
+
flock.agent("alert_handler")
|
|
198
|
+
.consumes(SystemAlert) # OR
|
|
199
|
+
.consumes(UserAlert) # OR
|
|
200
|
+
.consumes(SecurityAlert) # OR
|
|
201
|
+
.publishes(AlertResponse)
|
|
202
|
+
)
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**How it works:**
|
|
206
|
+
- Each `.consumes()` creates a **separate subscription**
|
|
207
|
+
- Agent triggers independently for each type
|
|
208
|
+
- Single artifact per trigger (not accumulated)
|
|
209
|
+
|
|
210
|
+
**Example timeline:**
|
|
211
|
+
```
|
|
212
|
+
Time 0: SystemAlert published → alert_handler triggers ✅
|
|
213
|
+
Time 1: UserAlert published → alert_handler triggers AGAIN ✅
|
|
214
|
+
Time 2: SystemAlert published → alert_handler triggers AGAIN ✅
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Use cases:**
|
|
218
|
+
- Polymorphic handling (multiple input types, same logic)
|
|
219
|
+
- Event routing (different triggers, same response)
|
|
220
|
+
- Flexible inputs (accept various formats)
|
|
221
|
+
|
|
222
|
+
### Count-Based AND Gates: Wait for MULTIPLE instances
|
|
223
|
+
|
|
224
|
+
**Use duplicate types to wait for multiple instances:**
|
|
225
|
+
|
|
226
|
+
```python
|
|
227
|
+
# Wait for THREE orders before processing
|
|
228
|
+
batch_processor = (
|
|
229
|
+
flock.agent("batch_processor")
|
|
230
|
+
.consumes(Order, Order, Order) # Waits for 3 Orders
|
|
231
|
+
.publishes(BatchSummary)
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
# Mixed counts: 2 Images + 1 Metadata
|
|
235
|
+
validator = (
|
|
236
|
+
flock.agent("validator")
|
|
237
|
+
.consumes(Image, Image, Metadata) # Waits for 2 Images AND 1 Metadata
|
|
238
|
+
.publishes(ValidationResult)
|
|
239
|
+
)
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
**How it works:**
|
|
243
|
+
- Flock counts required instances per type
|
|
244
|
+
- Artifacts collected until counts satisfied
|
|
245
|
+
- Order-independent (any arrival sequence works)
|
|
246
|
+
- **Latest wins**: If 4 Orders arrive but need 3, uses 3 most recent
|
|
247
|
+
|
|
248
|
+
**Example timeline:**
|
|
249
|
+
```
|
|
250
|
+
Time 0: Order #1 published → batch_processor waits... (need 3)
|
|
251
|
+
Time 1: Order #2 published → batch_processor waits... (need 1 more)
|
|
252
|
+
Time 2: Order #3 published → batch_processor triggers! ✅
|
|
253
|
+
Time 3: Agent executes with all 3 Orders
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Use cases:**
|
|
257
|
+
- Batch aggregation ("wait for 10 reviews before analyzing")
|
|
258
|
+
- Quorum logic ("need 3 validator approvals")
|
|
259
|
+
- Data fusion ("need 5 sensor readings before prediction")
|
|
260
|
+
|
|
261
|
+
### Combining Logic Operations
|
|
262
|
+
|
|
263
|
+
**Mix AND, OR, and count-based logic:**
|
|
264
|
+
|
|
265
|
+
```python
|
|
266
|
+
# Complex: (2 Images AND 1 Metadata) OR (3 Scans)
|
|
267
|
+
processor = (
|
|
268
|
+
flock.agent("processor")
|
|
269
|
+
.consumes(Image, Image, Metadata) # AND gate with counts
|
|
270
|
+
.consumes(Scan, Scan, Scan) # OR gate: separate trigger path
|
|
271
|
+
.publishes(ProcessedData)
|
|
272
|
+
)
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**How it works:**
|
|
276
|
+
- First `.consumes()` creates AND gate waiting for 2 Images + 1 Metadata
|
|
277
|
+
- Second `.consumes()` creates OR gate waiting for 3 Scans
|
|
278
|
+
- Agent triggers when **either condition** satisfied
|
|
279
|
+
|
|
280
|
+
### Best Practices
|
|
281
|
+
|
|
282
|
+
**✅ Do:**
|
|
283
|
+
- Use AND gates for multi-modal fusion
|
|
284
|
+
- Use OR gates for polymorphic inputs
|
|
285
|
+
- Use count-based logic for batch operations
|
|
286
|
+
- Choose syntax that matches your intent
|
|
287
|
+
|
|
288
|
+
**❌ Don't:**
|
|
289
|
+
- Mix AND/OR without understanding separate subscriptions
|
|
290
|
+
- Forget that OR gates create independent triggers
|
|
291
|
+
- Assume specific artifact ordering
|
|
292
|
+
|
|
293
|
+
[**👉 See AND/OR gates in action: Debate Club**](https://github.com/whiteducksoftware/flock/blob/main/examples/02-dashboard/09_debate_club.py)
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
155
297
|
## Advanced Subscriptions
|
|
156
298
|
|
|
157
299
|
### Conditional Consumption (Filtering)
|