fastworkflow 2.18.1__tar.gz → 2.18.2__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.
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/PKG-INFO +24 -11
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/README.md +15 -1
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/cli.py +33 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/pyproject.toml +30 -13
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/LICENSE +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/.DS_Store +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_commands/.gitkeep +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/abort.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/you_misunderstood.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/go_up.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/reset_context.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_can_i_do.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_is_current_context.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/wildcard.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/command_context_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/intent_detection.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/_workflows/command_metadata_extraction/parameter_extraction.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/__main__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/ast_class_extractor.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/class_analysis_structures.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/cli_specification.md +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/command_dependency_resolver.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/command_file_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/command_file_template.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/command_import_utils.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/command_stub_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/context_folder_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/context_model_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/dependency_manager.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/dir_scanner.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/documentation_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/genai_postprocessor.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/inheritance_block_regenerator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/libcst_transformers.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/navigator_stub_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/pydantic_model_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/utterance_generator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/cache_matching.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/chat_session.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/command_context_model.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/command_directory.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/command_executor.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/command_interfaces.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/command_metadata_api.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/command_routing.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/docs/context_modules_prd.txt +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/extended_workflow_example/README.md +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/extended_workflow_example/_commands/WorkItem/get_status.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/extended_workflow_example/_commands/generate_report.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/extended_workflow_example/_commands/startup.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/extended_workflow_example/simple_workflow_template.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/extended_workflow_example/workflow_inheritance_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/fastworkflow.env +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/fastworkflow.passwords.env +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/hello_world/_commands/README.md +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/hello_world/_commands/add_two_numbers.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/hello_world/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/hello_world/application/add_two_numbers.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_1/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_1/_commands/send_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_1/application/send_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_2/_commands/User/send_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_2/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_2/_commands/startup.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_2/application/user.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_3/_commands/PremiumUser/send_priority_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_3/_commands/User/send_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_3/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_3/_commands/initialize_user.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_3/application/user.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/_ChatRoom.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/add_user.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/broadcast_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/get_current_user.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/list_users.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/set_current_user.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/_PremiumUser.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/send_priority_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/User/_User.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/User/send_message.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/_commands/set_root_context.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/application/chatroom.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/application/user.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/context_hierarchy_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/messaging_app_4/startup_action.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/calculate.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/cancel_pending_order.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/exchange_delivered_order_items.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_email.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_name_zip.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/get_order_details.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/get_product_details.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/get_user_details.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/list_all_product_types.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_address.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_items.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_payment.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/modify_user_address.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/return_delivered_order_items.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/_commands/transfer_to_human_agents.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/context_inheritance_model.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/retail_data/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/retail_data/orders.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/retail_data/products.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/retail_data/users.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/calculate.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/cancel_pending_order.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/exchange_delivered_order_items.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_email.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_name_zip.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/get_order_details.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/get_product_details.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/get_user_details.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/list_all_product_types.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_address.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_items.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_payment.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/modify_user_address.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/return_delivered_order_items.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/think.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/tool.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/transfer_to_human_agents.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/workflow_description.txt +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/_WorkItem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/add_child_workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/get_status.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/go_to_workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/mark_as_complete.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_first_child_workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_last_child_workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_next_workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_previous_workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_all_child_workitems.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_child_workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/show_schema.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/_commands/startup.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/application/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/application/workitem.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/simple_workflow_template.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/simple_workflow_template/startup_action.json +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/intent_clarification_agent.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/mcp_server.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/model_pipeline_training.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/refine/__main__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run/__main__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/README.md +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/__main__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/conversation_store.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/jwt_manager.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/mcp_specific.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/redoc_2_standalone_html.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/utils.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/train/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/train/__main__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/train/generate_synthetic.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/user_message_queues.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/__init__.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/chat_adapter.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/context_utils.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/dspy_cache_utils.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/dspy_logger.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/dspy_utils.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/env.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/fuzzy_match.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/generate_param_examples.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/logging.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/parameterize_func_decorator.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/pydantic_model_2_dspy_signature_class.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/python_utils.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/react.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/signatures.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/startup_progress.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/workflow.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/workflow_agent.py +0 -0
- {fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/workflow_inheritance_model.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastworkflow
|
|
3
|
-
Version: 2.18.
|
|
3
|
+
Version: 2.18.2
|
|
4
4
|
Summary: A framework for rapidly building large-scale, deterministic, interactive workflows with a fault-tolerant, conversational UX
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: fastworkflow,ai,workflow,llm,openai
|
|
@@ -12,19 +12,19 @@ Classifier: Programming Language :: Python :: 3
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Provides-Extra: fastapi
|
|
15
|
+
Provides-Extra: server
|
|
15
16
|
Provides-Extra: training
|
|
16
17
|
Requires-Dist: aiohttp (>=3.13.4)
|
|
17
18
|
Requires-Dist: colorama (>=0.4.6,<0.5.0)
|
|
18
19
|
Requires-Dist: cryptography (>=46.0.7)
|
|
19
20
|
Requires-Dist: datasets (>=4.0.0,<5.0.0) ; extra == "training"
|
|
20
21
|
Requires-Dist: dspy (>=3.0.1,<4.0.0)
|
|
21
|
-
Requires-Dist: fastapi (>=0.120.1) ; extra == "fastapi"
|
|
22
|
-
Requires-Dist: fastapi-mcp (>=0.4.0,<0.5.0) ; extra == "fastapi"
|
|
22
|
+
Requires-Dist: fastapi (>=0.120.1) ; extra == "server" or extra == "fastapi"
|
|
23
|
+
Requires-Dist: fastapi-mcp (>=0.4.0,<0.5.0) ; extra == "server" or extra == "fastapi"
|
|
23
24
|
Requires-Dist: filelock (>=3.20.1)
|
|
24
25
|
Requires-Dist: idna (>=3.15)
|
|
25
26
|
Requires-Dist: libcst (>=1.8.2,<2.0.0)
|
|
26
|
-
Requires-Dist: litellm
|
|
27
|
-
Requires-Dist: mako (>=1.3.12)
|
|
27
|
+
Requires-Dist: litellm (>=1.83.7,<2.0.0)
|
|
28
28
|
Requires-Dist: mmh3 (>=5.1.0,<6.0.0)
|
|
29
29
|
Requires-Dist: openai (>=2.8.0)
|
|
30
30
|
Requires-Dist: orjson (>=3.11.6)
|
|
@@ -33,20 +33,19 @@ Requires-Dist: pyarrow (>=23.0.1)
|
|
|
33
33
|
Requires-Dist: pyasn1 (>=0.6.3)
|
|
34
34
|
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
|
|
35
35
|
Requires-Dist: pygments (>=2.20.0)
|
|
36
|
-
Requires-Dist: pyjwt[crypto] (>=2.13.0) ; extra == "fastapi"
|
|
37
|
-
Requires-Dist: pynacl (>=1.6.2)
|
|
36
|
+
Requires-Dist: pyjwt[crypto] (>=2.13.0) ; extra == "server" or extra == "fastapi"
|
|
38
37
|
Requires-Dist: python-dotenv (>=1.2.2,<2.0.0)
|
|
39
38
|
Requires-Dist: python-levenshtein (>=0.27.1,<0.28.0)
|
|
40
|
-
Requires-Dist: python-multipart (>=0.0.27)
|
|
39
|
+
Requires-Dist: python-multipart (>=0.0.27) ; extra == "server" or extra == "fastapi"
|
|
41
40
|
Requires-Dist: requests (>=2.33.0)
|
|
42
41
|
Requires-Dist: scikit-learn (>=1.6.1,<2.0.0)
|
|
43
42
|
Requires-Dist: sentencepiece (>=0.2.0,<0.3.0)
|
|
44
43
|
Requires-Dist: speedict (>=0.3.12,<0.4.0)
|
|
45
|
-
Requires-Dist: starlette (>=0.49.1)
|
|
44
|
+
Requires-Dist: starlette (>=0.49.1) ; extra == "server" or extra == "fastapi"
|
|
46
45
|
Requires-Dist: torch (>=2.7.1,<3.0.0)
|
|
47
46
|
Requires-Dist: transformers (>=4.48.2,<6.0.0)
|
|
48
47
|
Requires-Dist: urllib3 (>=2.7.0)
|
|
49
|
-
Requires-Dist: uvicorn (>=0.33.0
|
|
48
|
+
Requires-Dist: uvicorn (>=0.33.0) ; extra == "server" or extra == "fastapi"
|
|
50
49
|
Project-URL: homepage, https://github.com/radiantlogicinc/fastworkflow
|
|
51
50
|
Project-URL: repository, https://github.com/radiantlogicinc/fastworkflow
|
|
52
51
|
Description-Content-Type: text/markdown
|
|
@@ -202,6 +201,17 @@ uv pip install fastworkflow
|
|
|
202
201
|
- `fastWorkflow` requires Python 3.11+ or higher.
|
|
203
202
|
- Training (`fastworkflow train`) also expects the optional Hugging Face `datasets` package. Install it by including the dev group when using Poetry.
|
|
204
203
|
|
|
204
|
+
### Optional extras
|
|
205
|
+
|
|
206
|
+
The core install depends on **plain** `litellm` (used only as a client via `dspy.LM`) and pulls **no** proxy-server packages, so it stays lean and co-installs cleanly with downstream apps that pin a plain `litellm` (e.g. `litellm>=1.83.11,<1.84.0`). Server- and training-only dependencies are gated behind extras:
|
|
207
|
+
|
|
208
|
+
| Extra | Install | Provides |
|
|
209
|
+
| --- | --- | --- |
|
|
210
|
+
| `server` | `pip install "fastworkflow[server]"` | The FastAPI-MCP HTTP service (`fastworkflow run_fastapi_mcp`): `fastapi`, `uvicorn`, `fastapi-mcp`, `pyjwt[crypto]`, `python-multipart`, `starlette` (with security-patched floors). |
|
|
211
|
+
| `training` | `pip install "fastworkflow[training]"` | The Hugging Face `datasets` package required by `fastworkflow train` for synthetic-utterance / parameter-example generation. |
|
|
212
|
+
|
|
213
|
+
The `server` extra is only needed to *host* the FastAPI-MCP service.
|
|
214
|
+
|
|
205
215
|
### Dependency compatibility
|
|
206
216
|
|
|
207
217
|
`fastWorkflow` is designed to co-install with modern ML/LLM stacks. The key supported ranges are:
|
|
@@ -211,7 +221,7 @@ uv pip install fastworkflow
|
|
|
211
221
|
| `transformers` | `>=4.48.2,<6.0.0` | Works on transformers 5.x. The intent-detection base models are BERT/DistilBERT checkpoints that load natively on 5.x (no slow→fast tokenizer conversion required). |
|
|
212
222
|
| `dspy` | `>=3.0.1,<4.0.0` | Migrated off the dspy 2.x API. |
|
|
213
223
|
| `openai` | `>=2.8.0` | Compatible with openai 2.x. |
|
|
214
|
-
| `litellm` | `>=1.
|
|
224
|
+
| `litellm` | `>=1.83.7,<2.0.0` | Core depends on **plain** `litellm` (client only, no `[proxy]` extra), so downstreams can pin e.g. `litellm>=1.83.11,<1.84.0` without pulling the proxy server stack. The FastAPI-MCP server deps live in the optional `fastworkflow[server]` extra. |
|
|
215
225
|
| `sentence-transformers` | not a dependency | `fastWorkflow` does not depend on `sentence-transformers`, so it imposes no constraint (use any 5.x version downstream). |
|
|
216
226
|
|
|
217
227
|
`sentencepiece` is bundled as a dependency because transformers 5.x can require it to instantiate certain tokenizers.
|
|
@@ -620,6 +630,9 @@ For workflows with complex initialization requirements, creating a dedicated sta
|
|
|
620
630
|
|
|
621
631
|
For production deployments and integrations, fastWorkflow provides a FastAPI-based HTTP service via the `run_fastapi_mcp` module. This exposes your workflow as REST endpoints with JWT authentication, SSE streaming, and MCP (Model Context Protocol) support.
|
|
622
632
|
|
|
633
|
+
> [!note]
|
|
634
|
+
> The FastAPI-MCP service requires the optional `server` extra: `pip install "fastworkflow[server]"` (or `poetry install --extras server`). Running `fastworkflow run_fastapi_mcp` without it fails fast with a clear install hint.
|
|
635
|
+
|
|
623
636
|
```sh
|
|
624
637
|
# Run the FastAPI service
|
|
625
638
|
python -m fastworkflow.run_fastapi_mcp \
|
|
@@ -149,6 +149,17 @@ uv pip install fastworkflow
|
|
|
149
149
|
- `fastWorkflow` requires Python 3.11+ or higher.
|
|
150
150
|
- Training (`fastworkflow train`) also expects the optional Hugging Face `datasets` package. Install it by including the dev group when using Poetry.
|
|
151
151
|
|
|
152
|
+
### Optional extras
|
|
153
|
+
|
|
154
|
+
The core install depends on **plain** `litellm` (used only as a client via `dspy.LM`) and pulls **no** proxy-server packages, so it stays lean and co-installs cleanly with downstream apps that pin a plain `litellm` (e.g. `litellm>=1.83.11,<1.84.0`). Server- and training-only dependencies are gated behind extras:
|
|
155
|
+
|
|
156
|
+
| Extra | Install | Provides |
|
|
157
|
+
| --- | --- | --- |
|
|
158
|
+
| `server` | `pip install "fastworkflow[server]"` | The FastAPI-MCP HTTP service (`fastworkflow run_fastapi_mcp`): `fastapi`, `uvicorn`, `fastapi-mcp`, `pyjwt[crypto]`, `python-multipart`, `starlette` (with security-patched floors). |
|
|
159
|
+
| `training` | `pip install "fastworkflow[training]"` | The Hugging Face `datasets` package required by `fastworkflow train` for synthetic-utterance / parameter-example generation. |
|
|
160
|
+
|
|
161
|
+
The `server` extra is only needed to *host* the FastAPI-MCP service.
|
|
162
|
+
|
|
152
163
|
### Dependency compatibility
|
|
153
164
|
|
|
154
165
|
`fastWorkflow` is designed to co-install with modern ML/LLM stacks. The key supported ranges are:
|
|
@@ -158,7 +169,7 @@ uv pip install fastworkflow
|
|
|
158
169
|
| `transformers` | `>=4.48.2,<6.0.0` | Works on transformers 5.x. The intent-detection base models are BERT/DistilBERT checkpoints that load natively on 5.x (no slow→fast tokenizer conversion required). |
|
|
159
170
|
| `dspy` | `>=3.0.1,<4.0.0` | Migrated off the dspy 2.x API. |
|
|
160
171
|
| `openai` | `>=2.8.0` | Compatible with openai 2.x. |
|
|
161
|
-
| `litellm` | `>=1.
|
|
172
|
+
| `litellm` | `>=1.83.7,<2.0.0` | Core depends on **plain** `litellm` (client only, no `[proxy]` extra), so downstreams can pin e.g. `litellm>=1.83.11,<1.84.0` without pulling the proxy server stack. The FastAPI-MCP server deps live in the optional `fastworkflow[server]` extra. |
|
|
162
173
|
| `sentence-transformers` | not a dependency | `fastWorkflow` does not depend on `sentence-transformers`, so it imposes no constraint (use any 5.x version downstream). |
|
|
163
174
|
|
|
164
175
|
`sentencepiece` is bundled as a dependency because transformers 5.x can require it to instantiate certain tokenizers.
|
|
@@ -567,6 +578,9 @@ For workflows with complex initialization requirements, creating a dedicated sta
|
|
|
567
578
|
|
|
568
579
|
For production deployments and integrations, fastWorkflow provides a FastAPI-based HTTP service via the `run_fastapi_mcp` module. This exposes your workflow as REST endpoints with JWT authentication, SSE streaming, and MCP (Model Context Protocol) support.
|
|
569
580
|
|
|
581
|
+
> [!note]
|
|
582
|
+
> The FastAPI-MCP service requires the optional `server` extra: `pip install "fastworkflow[server]"` (or `poetry install --extras server`). Running `fastworkflow run_fastapi_mcp` without it fails fast with a clear install hint.
|
|
583
|
+
|
|
570
584
|
```sh
|
|
571
585
|
# Run the FastAPI service
|
|
572
586
|
python -m fastworkflow.run_fastapi_mcp \
|
|
@@ -381,8 +381,41 @@ def run_with_defaults(args): # sourcery skip: extract-duplicate-method
|
|
|
381
381
|
from .run.__main__ import run_main as _run_main
|
|
382
382
|
return _run_main(args)
|
|
383
383
|
|
|
384
|
+
def _require_server_extra():
|
|
385
|
+
"""Ensure the optional `server` extra is installed before launching the FastAPI-MCP service.
|
|
386
|
+
|
|
387
|
+
The FastAPI-MCP server (`fastworkflow run_fastapi_mcp`) is the only feature that
|
|
388
|
+
needs the server-only dependencies (fastapi, uvicorn, fastapi-mcp, pyjwt). These
|
|
389
|
+
live behind the optional `fastworkflow[server]` extra so that the core/client
|
|
390
|
+
install (and `fastworkflow train`) stays lean. Fail early with a clear, actionable
|
|
391
|
+
message instead of letting the subprocess die with a bare ImportError.
|
|
392
|
+
"""
|
|
393
|
+
import importlib.util
|
|
394
|
+
|
|
395
|
+
if missing := [
|
|
396
|
+
pkg
|
|
397
|
+
for pkg, mod in (
|
|
398
|
+
("fastapi", "fastapi"),
|
|
399
|
+
("uvicorn", "uvicorn"),
|
|
400
|
+
("fastapi-mcp", "fastapi_mcp"),
|
|
401
|
+
("pyjwt", "jwt"),
|
|
402
|
+
)
|
|
403
|
+
if importlib.util.find_spec(mod) is None
|
|
404
|
+
]:
|
|
405
|
+
rprint(
|
|
406
|
+
"[bold red]Error:[/bold red] the FastAPI-MCP server requires the optional "
|
|
407
|
+
"'server' extra, which is not installed.\n"
|
|
408
|
+
f"Missing packages: {', '.join(missing)}\n\n"
|
|
409
|
+
"Install it with one of:\n"
|
|
410
|
+
" pip install \"fastworkflow[server]\"\n"
|
|
411
|
+
" poetry install --extras server"
|
|
412
|
+
)
|
|
413
|
+
sys.exit(1)
|
|
414
|
+
|
|
415
|
+
|
|
384
416
|
def run_fastapi_mcp_with_defaults(args): # sourcery skip: extract-duplicate-method
|
|
385
417
|
"""Wrapper for fastapi mcp server that sets default env file paths based on context."""
|
|
418
|
+
_require_server_extra()
|
|
386
419
|
if args.env_file_path is None or args.passwords_file_path is None:
|
|
387
420
|
default_env, default_passwords = find_default_env_files(args.workflow_path)
|
|
388
421
|
if args.env_file_path is None:
|
|
@@ -9,7 +9,7 @@ repository = "https://github.com/radiantlogicinc/fastworkflow"
|
|
|
9
9
|
|
|
10
10
|
[tool.poetry]
|
|
11
11
|
name = "fastworkflow"
|
|
12
|
-
version = "2.18.
|
|
12
|
+
version = "2.18.2"
|
|
13
13
|
description = "A framework for rapidly building large-scale, deterministic, interactive workflows with a fault-tolerant, conversational UX"
|
|
14
14
|
authors = ["Dhar Rawal <drawal@radiantlogic.com>"]
|
|
15
15
|
license = "Apache-2.0"
|
|
@@ -52,31 +52,43 @@ torch = "^2.7.1"
|
|
|
52
52
|
prompt_toolkit = "^3.0.43"
|
|
53
53
|
libcst = "^1.8.2"
|
|
54
54
|
openai = ">=2.8.0"
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
# CORE depends on PLAIN litellm (no proxy extra). fastworkflow uses litellm only
|
|
56
|
+
# as a client (via dspy.LM and litellm.completion); it never runs a litellm proxy
|
|
57
|
+
# SERVER. The old `litellm[proxy]` extra dragged in the full proxy stack
|
|
58
|
+
# (fastapi-sso, gunicorn, apscheduler, litellm-enterprise, mcp, ...) AND pinned
|
|
59
|
+
# python-multipart, which combined with our python-multipart>=0.0.27 floor forced
|
|
60
|
+
# a prerelease (1.88.0rc1). Plain litellm lets the resolver pick a STABLE release
|
|
61
|
+
# and lets downstreams pin e.g. litellm>=1.83.11,<1.84.0 without the proxy extra.
|
|
62
|
+
# CVE coverage (CVE-2026-35029/35030/42203/42271 + GHSA-69x8-hrgq-fjj8) is satisfied
|
|
63
|
+
# by stable litellm >=1.83.7. Proxy-server deps now live in the optional `server` extra.
|
|
64
|
+
litellm = ">=1.83.7,<2.0.0"
|
|
65
|
+
# ---- Optional `server` extra (FastAPI-MCP service: `fastworkflow run_fastapi_mcp`) ----
|
|
66
|
+
uvicorn = {version = ">=0.33.0", optional = true}
|
|
57
67
|
fastapi = {version = ">=0.120.1", optional = true}
|
|
58
68
|
fastapi-mcp = {version = "^0.4.0", optional = true}
|
|
59
|
-
pyjwt = {extras = ["crypto"], version = ">=2.13.0", optional = true} # Replaces python-jose (CVE-2024-23342); >=2.13.0 fixes alg allow-list bypass (PYSEC-2026-176) + DoS (PYSEC-2026-175/177/178/179)
|
|
69
|
+
pyjwt = {extras = ["crypto"], version = ">=2.13.0", optional = true} # Replaces python-jose (CVE-2024-23342); >=2.13.0 fixes alg allow-list bypass (PYSEC-2026-176) + DoS (PYSEC-2026-175/177/178/179)
|
|
70
|
+
python-multipart = {version = ">=0.0.27", optional = true} # CVE-2026-40347, CVE-2026-42561 (multipart parsing DoS). Only pulled by the `server` extra (FastAPI form parsing); not needed by the client/core install.
|
|
71
|
+
starlette = {version = ">=0.49.1", optional = true} # CVE-2025-62727, CVE-2025-54121 (Range header DoS). Pulled transitively by fastapi in the `server` extra.
|
|
60
72
|
datasets = {version = "^4.0.0", optional = true}
|
|
61
73
|
|
|
62
|
-
# Security floor constraints for transitive dependencies
|
|
63
|
-
# These ensure users get patched versions even though these are not direct deps
|
|
74
|
+
# Security floor constraints for transitive dependencies of the CORE (client) install.
|
|
75
|
+
# These ensure users get patched versions even though these are not direct deps.
|
|
76
|
+
# NOTE: floors that only applied to the litellm proxy SERVER (python-multipart,
|
|
77
|
+
# pyjwt, uvicorn, starlette) are scoped to the `server` extra above. Floors that
|
|
78
|
+
# only existed because `litellm[proxy]` pulled the package (mako -> alembic,
|
|
79
|
+
# pynacl, fastapi-sso) have been dropped: with the proxy extra gone those packages
|
|
80
|
+
# are no longer in the dependency graph for any fastworkflow install (core OR
|
|
81
|
+
# server), so there is nothing to patch and no CVE regression.
|
|
64
82
|
orjson = ">=3.11.6" # CVE-2024-27454 (loads recursion) + CVE-2025-67221 (dumps recursion DoS, fixed in 3.11.6)
|
|
65
83
|
urllib3 = ">=2.7.0" # CVE-2025-66418, CVE-2025-66471 (decompression chain) + PYSEC-2026-141/142
|
|
66
84
|
aiohttp = ">=3.13.4" # CVE-2025-69223 + 7 others (zip bomb, DoS) + CVE-2026-22815/34513-34525 (3.13.4)
|
|
67
|
-
starlette = ">=0.49.1" # CVE-2025-62727, CVE-2025-54121 (Range header DoS)
|
|
68
85
|
pyasn1 = ">=0.6.3" # CVE-2026-23490 + CVE-2026-30922 (decoder DoS)
|
|
69
86
|
filelock = ">=3.20.1" # CVE-2025-68146 (TOCTOU symlink)
|
|
70
|
-
pynacl = ">=1.6.2" # CVE-2025-69277 (libsodium validation)
|
|
71
87
|
cryptography = ">=46.0.7" # CVE-2026-26007 + PYSEC-2026-35/36
|
|
72
88
|
requests = ">=2.33.0" # CVE-2026-25645 (extract_zipped_paths temp reuse)
|
|
73
89
|
idna = ">=3.15" # CVE-2026-45409
|
|
74
|
-
mako = ">=1.3.12" # CVE-2026-44307
|
|
75
|
-
python-multipart = ">=0.0.27" # CVE-2026-40347, CVE-2026-42561 (multipart parsing DoS)
|
|
76
90
|
pygments = ">=2.20.0" # CVE-2026-4539 (ReDoS in AdlLexer)
|
|
77
91
|
pyarrow = ">=23.0.1" # PYSEC-2026-113 (use-after-free; only via datasets/training extra)
|
|
78
|
-
# NOTE: fastapi-sso CSRF vuln (CVE-2025-14546, needs >=0.19.0) now resolved - litellm 1.88.x relaxes its
|
|
79
|
-
# fastapi-sso pin so the lock pulls fastapi-sso 0.21.0 (previously blocked by litellm <0.17.0)
|
|
80
92
|
|
|
81
93
|
[tool.poetry.group.dev.dependencies]
|
|
82
94
|
isort = "^5.13.2"
|
|
@@ -97,4 +109,9 @@ boto3 = {version = ">=1.36.0", optional = true}
|
|
|
97
109
|
|
|
98
110
|
[tool.poetry.extras]
|
|
99
111
|
training = ["datasets"]
|
|
100
|
-
|
|
112
|
+
# Full FastAPI-MCP server feature set (`fastworkflow run_fastapi_mcp`) with the
|
|
113
|
+
# security-patched server deps. `litellm_proxy/` client routing does NOT require
|
|
114
|
+
# this extra (plain litellm handles it via api_base).
|
|
115
|
+
server = ["uvicorn", "fastapi", "fastapi-mcp", "pyjwt", "python-multipart", "starlette"]
|
|
116
|
+
# Backward-compatible alias for the pre-2.18.2 extra name.
|
|
117
|
+
fastapi = ["uvicorn", "fastapi", "fastapi-mcp", "pyjwt", "python-multipart", "starlette"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/command_dependency_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/build/inheritance_block_regenerator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/fastworkflow.passwords.env
RENAMED
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/hello_world/_commands/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/calculate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/think.py
RENAMED
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/examples/retail_workflow/tools/tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/conversation_store.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/run_fastapi_mcp/redoc_2_standalone_html.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.18.1 → fastworkflow-2.18.2}/fastworkflow/utils/parameterize_func_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|