gitextract_1kfwxukd/ ├── .cursor/ │ └── rules/ │ ├── core_abstraction/ │ │ ├── async.mdc │ │ ├── batch.mdc │ │ ├── communication.mdc │ │ ├── flow.mdc │ │ ├── node.mdc │ │ └── parallel.mdc │ ├── design_pattern/ │ │ ├── agent.mdc │ │ ├── mapreduce.mdc │ │ ├── multi_agent.mdc │ │ ├── rag.mdc │ │ ├── structure.mdc │ │ └── workflow.mdc │ ├── guide_for_pocketflow.mdc │ └── utility_function/ │ ├── chunking.mdc │ ├── embedding.mdc │ ├── llm.mdc │ ├── text_to_speech.mdc │ ├── vector.mdc │ ├── viz.mdc │ └── websearch.mdc ├── .cursorrules ├── .gitignore ├── LICENSE ├── README.md ├── cookbook/ │ ├── README.md │ ├── data/ │ │ └── PaulGrahamEssaysLarge/ │ │ ├── addiction.txt │ │ ├── aord.txt │ │ ├── apple.txt │ │ ├── avg.txt │ │ └── before.txt │ ├── pocketflow-a2a/ │ │ ├── README.md │ │ ├── a2a_client.py │ │ ├── a2a_server.py │ │ ├── common/ │ │ │ ├── __init__.py │ │ │ ├── client/ │ │ │ │ ├── __init__.py │ │ │ │ ├── card_resolver.py │ │ │ │ └── client.py │ │ │ ├── server/ │ │ │ │ ├── __init__.py │ │ │ │ ├── server.py │ │ │ │ ├── task_manager.py │ │ │ │ └── utils.py │ │ │ ├── types.py │ │ │ └── utils/ │ │ │ ├── in_memory_cache.py │ │ │ └── push_notification_auth.py │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── task_manager.py │ │ └── utils.py │ ├── pocketflow-agent/ │ │ ├── README.md │ │ ├── demo.ipynb │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-agent-skills/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── skills/ │ │ │ ├── checklist_writer.md │ │ │ └── executive_brief.md │ │ └── utils.py │ ├── pocketflow-async-basic/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-batch/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ ├── translations/ │ │ │ ├── README_CHINESE.md │ │ │ ├── README_FRENCH.md │ │ │ ├── README_GERMAN.md │ │ │ ├── README_JAPANESE.md │ │ │ ├── README_KOREAN.md │ │ │ ├── README_PORTUGUESE.md │ │ │ ├── README_RUSSIAN.md │ │ │ └── README_SPANISH.md │ │ └── utils.py │ ├── pocketflow-batch-flow/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ └── requirements.txt │ ├── pocketflow-batch-node/ │ │ ├── README.md │ │ ├── data/ │ │ │ └── sales.csv │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ └── requirements.txt │ ├── pocketflow-chat/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-chat-guardrail/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-chat-memory/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils/ │ │ ├── __init__.py │ │ ├── call_llm.py │ │ ├── get_embedding.py │ │ └── vector_index.py │ ├── pocketflow-cli-hitl/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils/ │ │ ├── __init__.py │ │ └── call_llm.py │ ├── pocketflow-code-generator/ │ │ ├── README.md │ │ ├── doc/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils/ │ │ ├── __init__.py │ │ ├── call_llm.py │ │ └── code_executor.py │ ├── pocketflow-communication/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ └── requirements.txt │ ├── pocketflow-fastapi-background/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── static/ │ │ │ ├── index.html │ │ │ └── progress.html │ │ └── utils/ │ │ ├── __init__.py │ │ └── call_llm.py │ ├── pocketflow-fastapi-hitl/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── server.py │ │ ├── static/ │ │ │ └── style.css │ │ ├── templates/ │ │ │ └── index.html │ │ └── utils/ │ │ ├── __init__.py │ │ └── process_task.py │ ├── pocketflow-fastapi-websocket/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── static/ │ │ │ └── index.html │ │ └── utils/ │ │ ├── __init__.py │ │ └── stream_llm.py │ ├── pocketflow-flow/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ └── requirements.txt │ ├── pocketflow-google-calendar/ │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── README.md │ │ ├── main.py │ │ ├── nodes.py │ │ └── utils/ │ │ ├── __init__.py │ │ └── google_calendar.py │ ├── pocketflow-gradio-hitl/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils/ │ │ ├── call_llm.py │ │ ├── call_mock_api.py │ │ ├── conversation.py │ │ └── format_chat_history.py │ ├── pocketflow-hello-world/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── main.py │ │ └── utils/ │ │ ├── __init__.py │ │ └── call_llm.py │ ├── pocketflow-llm-streaming/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-majority-vote/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-map-reduce/ │ │ ├── README.md │ │ ├── data/ │ │ │ ├── resume1.txt │ │ │ ├── resume2.txt │ │ │ ├── resume3.txt │ │ │ ├── resume4.txt │ │ │ └── resume5.txt │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-mcp/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ ├── simple_server.py │ │ └── utils.py │ ├── pocketflow-multi-agent/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-nested-batch/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── school/ │ │ ├── class_a/ │ │ │ ├── student1.txt │ │ │ └── student2.txt │ │ └── class_b/ │ │ ├── student3.txt │ │ └── student4.txt │ ├── pocketflow-node/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── requirements.txt │ │ └── utils/ │ │ └── call_llm.py │ ├── pocketflow-parallel-batch/ │ │ ├── README.md │ │ ├── main.py │ │ ├── requirements.txt │ │ ├── translations/ │ │ │ ├── README_CHINESE.md │ │ │ ├── README_FRENCH.md │ │ │ ├── README_GERMAN.md │ │ │ ├── README_JAPANESE.md │ │ │ ├── README_KOREAN.md │ │ │ ├── README_PORTUGUESE.md │ │ │ ├── README_RUSSIAN.md │ │ │ └── README_SPANISH.md │ │ └── utils.py │ ├── pocketflow-parallel-batch-flow/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ └── requirements.txt │ ├── pocketflow-rag/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-streamlit-fsm/ │ │ ├── README.md │ │ ├── app.py │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils/ │ │ ├── __init__.py │ │ └── generate_image.py │ ├── pocketflow-structured-output/ │ │ ├── README.md │ │ ├── data.txt │ │ ├── main.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-supervisor/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-tao/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ └── utils.py │ ├── pocketflow-text2sql/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── populate_db.py │ │ ├── requirements.txt │ │ └── utils/ │ │ └── call_llm.py │ ├── pocketflow-thinking/ │ │ ├── README.md │ │ ├── design.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils.py │ ├── pocketflow-tool-crawler/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── tools/ │ │ │ ├── crawler.py │ │ │ └── parser.py │ │ └── utils/ │ │ ├── __init__.py │ │ └── call_llm.py │ ├── pocketflow-tool-database/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── tools/ │ │ │ └── database.py │ │ └── utils/ │ │ └── __init__.py │ ├── pocketflow-tool-embeddings/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── tools/ │ │ │ └── embeddings.py │ │ └── utils/ │ │ ├── __init__.py │ │ └── call_llm.py │ ├── pocketflow-tool-pdf-vision/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── tools/ │ │ │ ├── pdf.py │ │ │ └── vision.py │ │ └── utils/ │ │ ├── __init__.py │ │ └── call_llm.py │ ├── pocketflow-tool-search/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ ├── tools/ │ │ │ ├── parser.py │ │ │ └── search.py │ │ └── utils/ │ │ ├── __init__.py │ │ └── call_llm.py │ ├── pocketflow-tracing/ │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── async_example.py │ │ │ └── basic_example.py │ │ ├── requirements.txt │ │ ├── setup.py │ │ ├── test_tracing.py │ │ ├── tracing/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── core.py │ │ │ └── decorator.py │ │ └── utils/ │ │ ├── __init__.py │ │ └── setup.py │ ├── pocketflow-visualization/ │ │ ├── README.md │ │ ├── async_flow.py │ │ ├── async_loop_flow.py │ │ ├── visualize.py │ │ └── viz/ │ │ ├── flow_visualization.html │ │ └── flow_visualization.json │ ├── pocketflow-voice-chat/ │ │ ├── README.md │ │ ├── docs/ │ │ │ └── design.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils/ │ │ ├── __init__.py │ │ ├── audio_utils.py │ │ ├── call_llm.py │ │ ├── speech_to_text.py │ │ └── text_to_speech.py │ ├── pocketflow-workflow/ │ │ ├── README.md │ │ ├── flow.py │ │ ├── main.py │ │ ├── nodes.py │ │ ├── requirements.txt │ │ └── utils/ │ │ └── call_llm.py │ └── pocketflow_demo.ipynb ├── docs/ │ ├── _config.yml │ ├── _includes/ │ │ └── footer_custom.html │ ├── core_abstraction/ │ │ ├── async.md │ │ ├── batch.md │ │ ├── communication.md │ │ ├── flow.md │ │ ├── index.md │ │ ├── node.md │ │ └── parallel.md │ ├── design_pattern/ │ │ ├── agent.md │ │ ├── index.md │ │ ├── mapreduce.md │ │ ├── multi_agent.md │ │ ├── rag.md │ │ ├── structure.md │ │ └── workflow.md │ ├── guide.md │ ├── index.md │ └── utility_function/ │ ├── chunking.md │ ├── embedding.md │ ├── index.md │ ├── llm.md │ ├── text_to_speech.md │ ├── vector.md │ ├── viz.md │ └── websearch.md ├── pocketflow/ │ ├── __init__.py │ └── __init__.pyi ├── setup.py ├── tests/ │ ├── test_async_batch_flow.py │ ├── test_async_batch_node.py │ ├── test_async_flow.py │ ├── test_async_parallel_batch_flow.py │ ├── test_async_parallel_batch_node.py │ ├── test_batch_flow.py │ ├── test_batch_node.py │ ├── test_fall_back.py │ ├── test_flow_basic.py │ └── test_flow_composition.py └── utils/ └── update_pocketflow_mdc.py