LICENSE
README.md
pyproject.toml
examples/__init__.py
examples/controller_multihop/__init__.py
examples/controller_multihop/flow.py
examples/fanout_join/__init__.py
examples/fanout_join/flow.py
examples/map_concurrent/__init__.py
examples/map_concurrent/flow.py
examples/metadata_propagation/flow.py
examples/mlflow_metrics/__init__.py
examples/mlflow_metrics/flow.py
examples/planner_enterprise_agent/__init__.py
examples/planner_enterprise_agent/config.py
examples/planner_enterprise_agent/main.py
examples/planner_enterprise_agent/nodes.py
examples/planner_enterprise_agent/telemetry.py
examples/planner_enterprise_agent_v2/__init__.py
examples/planner_enterprise_agent_v2/config.py
examples/planner_enterprise_agent_v2/main.py
examples/planner_enterprise_agent_v2/nodes.py
examples/planner_enterprise_agent_v2/telemetry.py
examples/playbook_retrieval/__init__.py
examples/playbook_retrieval/flow.py
examples/policy_filtering/main.py
examples/quickstart/__init__.py
examples/quickstart/flow.py
examples/react_memory_context/main.py
examples/react_minimal/main.py
examples/react_parallel/main.py
examples/react_parallel_join/__init__.py
examples/react_parallel_join/main.py
examples/react_pause_resume/main.py
examples/react_replan/main.py
examples/react_typed_tools/__init__.py
examples/react_typed_tools/main.py
examples/reliability_middleware/__init__.py
examples/reliability_middleware/flow.py
examples/roadmap_status_updates/__init__.py
examples/roadmap_status_updates/flow.py
examples/roadmap_status_updates_subflows/__init__.py
examples/roadmap_status_updates_subflows/flow.py
examples/routing_policy/__init__.py
examples/routing_policy/flow.py
examples/routing_predicate/__init__.py
examples/routing_predicate/flow.py
examples/routing_union/__init__.py
examples/routing_union/flow.py
examples/routing_with_playbooks/__init__.py
examples/routing_with_playbooks/flow.py
examples/status_roadmap_flow/__init__.py
examples/status_roadmap_flow/flow.py
examples/streaming_llm/__init__.py
examples/streaming_llm/flow.py
examples/streaming_llm/stream_answer.py
examples/testkit_demo/flow.py
examples/trace_cancel/flow.py
examples/traceable_errors/flow.py
examples/visualizer/flow.py
penguiflow/__init__.py
penguiflow/admin.py
penguiflow/bus.py
penguiflow/catalog.py
penguiflow/core.py
penguiflow/debug.py
penguiflow/errors.py
penguiflow/metrics.py
penguiflow/middlewares.py
penguiflow/node.py
penguiflow/patterns.py
penguiflow/policies.py
penguiflow/registry.py
penguiflow/remote.py
penguiflow/state.py
penguiflow/streaming.py
penguiflow/testkit.py
penguiflow/types.py
penguiflow/viz.py
penguiflow.egg-info/PKG-INFO
penguiflow.egg-info/SOURCES.txt
penguiflow.egg-info/dependency_links.txt
penguiflow.egg-info/entry_points.txt
penguiflow.egg-info/requires.txt
penguiflow.egg-info/top_level.txt
penguiflow/cli/__init__.py
penguiflow/cli/dev.py
penguiflow/cli/generate.py
penguiflow/cli/init.py
penguiflow/cli/main.py
penguiflow/cli/new.py
penguiflow/cli/playground.py
penguiflow/cli/playground_sse.py
penguiflow/cli/playground_state.py
penguiflow/cli/playground_wrapper.py
penguiflow/cli/spec.py
penguiflow/cli/spec_errors.py
penguiflow/cli/playground_ui/dist/index.html
penguiflow/cli/playground_ui/dist/vite.svg
penguiflow/cli/playground_ui/dist/assets/index-CjbKhuyy.js
penguiflow/cli/playground_ui/dist/assets/index-DW2RVuZU.css
penguiflow/cli/templates/ENV_SETUP.md.jinja
penguiflow/cli/templates/README.md.jinja
penguiflow/cli/templates/__init__.py
penguiflow/cli/templates/config.py.jinja
penguiflow/cli/templates/conftest.py.jinja
penguiflow/cli/templates/env.example.jinja
penguiflow/cli/templates/flow.py.jinja
penguiflow/cli/templates/flow_orchestrator.py.jinja
penguiflow/cli/templates/flows_init.py.jinja
penguiflow/cli/templates/planner.py.jinja
penguiflow/cli/templates/test_flow.py.jinja
penguiflow/cli/templates/test_tool.py.jinja
penguiflow/cli/templates/tool.py.jinja
penguiflow/cli/templates/tools_init.py.jinja
penguiflow/cli/templates/init/AGENTS.md.jinja
penguiflow/cli/templates/init/PENGUIFLOW.md.jinja
penguiflow/cli/templates/init/sample_spec.yaml.jinja
penguiflow/planner/__init__.py
penguiflow/planner/constraints.py
penguiflow/planner/context.py
penguiflow/planner/dspy_client.py
penguiflow/planner/hints.py
penguiflow/planner/llm.py
penguiflow/planner/models.py
penguiflow/planner/parallel.py
penguiflow/planner/pause.py
penguiflow/planner/prompts.py
penguiflow/planner/react.py
penguiflow/planner/reflection_prompts.py
penguiflow/planner/trajectory.py
penguiflow/templates/__init__.py
penguiflow/templates/spec.template.yaml
penguiflow/templates/new/__init__.py
penguiflow/templates/new/analyst/ENV_SETUP.md
penguiflow/templates/new/analyst/README.md.jinja
penguiflow/templates/new/analyst/pyproject.toml.jinja
penguiflow/templates/new/analyst/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/config.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/models.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/planner.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/clients/__init__.py
penguiflow/templates/new/analyst/src/__package_name__/clients/analyst.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/tools/__init__.py.jinja
penguiflow/templates/new/analyst/src/__package_name__/tools/analysis.py.jinja
penguiflow/templates/new/analyst/tests/__init__.py
penguiflow/templates/new/analyst/tests/conftest.py.jinja
penguiflow/templates/new/analyst/tests/test_orchestrator.py.jinja
penguiflow/templates/new/analyst/tests/test_tools.py.jinja
penguiflow/templates/new/controller/README.md.jinja
penguiflow/templates/new/controller/pyproject.toml.jinja
penguiflow/templates/new/controller/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/controller/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/controller/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/controller/src/__package_name__/config.py.jinja
penguiflow/templates/new/controller/src/__package_name__/flow.py.jinja
penguiflow/templates/new/controller/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/controller/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/controller/src/__package_name__/clients/__init__.py
penguiflow/templates/new/controller/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/controller/tests/__init__.py
penguiflow/templates/new/controller/tests/conftest.py.jinja
penguiflow/templates/new/controller/tests/test_flow.py.jinja
penguiflow/templates/new/controller/tests/test_orchestrator.py.jinja
penguiflow/templates/new/enterprise/ENV_SETUP.md
penguiflow/templates/new/enterprise/README.md.jinja
penguiflow/templates/new/enterprise/pyproject.toml.jinja
penguiflow/templates/new/enterprise/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/config.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/models.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/planner.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/resilience.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/clients/__init__.py
penguiflow/templates/new/enterprise/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/clients/registry.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/server/__init__.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/server/handlers.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/tools/__init__.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/tools/diagnostics.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/tools/resolve.py.jinja
penguiflow/templates/new/enterprise/src/__package_name__/tools/validate.py.jinja
penguiflow/templates/new/enterprise/tests/__init__.py
penguiflow/templates/new/enterprise/tests/conftest.py.jinja
penguiflow/templates/new/enterprise/tests/test_orchestrator.py.jinja
penguiflow/templates/new/enterprise/tests/test_registry.py.jinja
penguiflow/templates/new/enterprise/tests/test_resilience.py.jinja
penguiflow/templates/new/enterprise/tests/test_server.py.jinja
penguiflow/templates/new/enterprise/tests/test_telemetry.py.jinja
penguiflow/templates/new/enterprise/tests/test_tools.py.jinja
penguiflow/templates/new/enterprise/tests/test_validation.py.jinja
penguiflow/templates/new/flow/README.md.jinja
penguiflow/templates/new/flow/pyproject.toml.jinja
penguiflow/templates/new/flow/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/flow/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/flow/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/flow/src/__package_name__/config.py.jinja
penguiflow/templates/new/flow/src/__package_name__/flow.py.jinja
penguiflow/templates/new/flow/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/flow/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/flow/src/__package_name__/clients/__init__.py
penguiflow/templates/new/flow/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/flow/tests/__init__.py
penguiflow/templates/new/flow/tests/conftest.py.jinja
penguiflow/templates/new/flow/tests/test_flow.py.jinja
penguiflow/templates/new/flow/tests/test_orchestrator.py.jinja
penguiflow/templates/new/lighthouse/ENV_SETUP.md
penguiflow/templates/new/lighthouse/README.md.jinja
penguiflow/templates/new/lighthouse/pyproject.toml.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/config.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/models.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/planner.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/clients/__init__.py
penguiflow/templates/new/lighthouse/src/__package_name__/clients/lighthouse.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/tools/__init__.py.jinja
penguiflow/templates/new/lighthouse/src/__package_name__/tools/rag.py.jinja
penguiflow/templates/new/lighthouse/tests/__init__.py
penguiflow/templates/new/lighthouse/tests/conftest.py.jinja
penguiflow/templates/new/lighthouse/tests/test_orchestrator.py.jinja
penguiflow/templates/new/lighthouse/tests/test_tools.py.jinja
penguiflow/templates/new/minimal/ENV_SETUP.md
penguiflow/templates/new/minimal/README.md.jinja
penguiflow/templates/new/minimal/pyproject.toml.jinja
penguiflow/templates/new/minimal/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/minimal/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/minimal/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/minimal/src/__package_name__/config.py.jinja
penguiflow/templates/new/minimal/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/minimal/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/minimal/src/__package_name__/tools.py.jinja
penguiflow/templates/new/minimal/src/__package_name__/clients/__init__.py
penguiflow/templates/new/minimal/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/minimal/tests/__init__.py
penguiflow/templates/new/minimal/tests/conftest.py.jinja
penguiflow/templates/new/minimal/tests/test_orchestrator.py.jinja
penguiflow/templates/new/minimal/tests/test_tools.py.jinja
penguiflow/templates/new/parallel/ENV_SETUP.md
penguiflow/templates/new/parallel/README.md.jinja
penguiflow/templates/new/parallel/pyproject.toml.jinja
penguiflow/templates/new/parallel/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/config.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/models.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/planner.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/clients/__init__.py
penguiflow/templates/new/parallel/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/tools/__init__.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/tools/fetch.py.jinja
penguiflow/templates/new/parallel/src/__package_name__/tools/merge.py.jinja
penguiflow/templates/new/parallel/tests/__init__.py
penguiflow/templates/new/parallel/tests/conftest.py.jinja
penguiflow/templates/new/parallel/tests/test_orchestrator.py.jinja
penguiflow/templates/new/parallel/tests/test_tools/__init__.py
penguiflow/templates/new/parallel/tests/test_tools/test_fetch.py.jinja
penguiflow/templates/new/parallel/tests/test_tools/test_merge.py.jinja
penguiflow/templates/new/react/ENV_SETUP.md
penguiflow/templates/new/react/README.md.jinja
penguiflow/templates/new/react/pyproject.toml.jinja
penguiflow/templates/new/react/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/react/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/react/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/react/src/__package_name__/config.py.jinja
penguiflow/templates/new/react/src/__package_name__/models.py.jinja
penguiflow/templates/new/react/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/react/src/__package_name__/planner.py.jinja
penguiflow/templates/new/react/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/react/src/__package_name__/clients/__init__.py
penguiflow/templates/new/react/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/react/src/__package_name__/tools/__init__.py.jinja
penguiflow/templates/new/react/src/__package_name__/tools/analyze.py.jinja
penguiflow/templates/new/react/src/__package_name__/tools/search.py.jinja
penguiflow/templates/new/react/tests/__init__.py
penguiflow/templates/new/react/tests/conftest.py.jinja
penguiflow/templates/new/react/tests/test_orchestrator.py.jinja
penguiflow/templates/new/react/tests/test_tools/__init__.py
penguiflow/templates/new/react/tests/test_tools/test_analyze.py.jinja
penguiflow/templates/new/react/tests/test_tools/test_search.py.jinja
penguiflow/templates/new/wayfinder/ENV_SETUP.md
penguiflow/templates/new/wayfinder/README.md.jinja
penguiflow/templates/new/wayfinder/pyproject.toml.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/__init__.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/__main__.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/a2a.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/config.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/models.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/orchestrator.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/planner.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/telemetry.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/clients/__init__.py
penguiflow/templates/new/wayfinder/src/__package_name__/clients/memory.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/clients/wayfinder.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/tools/__init__.py.jinja
penguiflow/templates/new/wayfinder/src/__package_name__/tools/nlq.py.jinja
penguiflow/templates/new/wayfinder/tests/__init__.py
penguiflow/templates/new/wayfinder/tests/conftest.py.jinja
penguiflow/templates/new/wayfinder/tests/test_orchestrator.py.jinja
penguiflow/templates/new/wayfinder/tests/test_tools.py.jinja
penguiflow/templates/vscode/__init__.py
penguiflow/templates/vscode/launch.json
penguiflow/templates/vscode/penguiflow.code-snippets
penguiflow/templates/vscode/settings.json
penguiflow/templates/vscode/tasks.json
penguiflow_a2a/__init__.py
penguiflow_a2a/server.py
tests/test_a2a_server.py
tests/test_budgets.py
tests/test_cancel.py
tests/test_catalog.py
tests/test_cli_init.py
tests/test_cli_new.py
tests/test_controller.py
tests/test_core.py
tests/test_distribution_hooks.py
tests/test_errors.py
tests/test_examples_roadmap.py
tests/test_llm_client.py
tests/test_metadata.py
tests/test_metrics.py
tests/test_middlewares.py
tests/test_node.py
tests/test_patterns.py
tests/test_planner_prompts.py
tests/test_property_based.py
tests/test_react_planner.py
tests/test_react_policy.py
tests/test_react_reflection.py
tests/test_registry.py
tests/test_remote.py
tests/test_routing_policy.py
tests/test_streaming.py
tests/test_testkit.py
tests/test_types.py
tests/test_viz.py