fastworkflow 2.17.19__tar.gz → 2.17.21__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.17.19 → fastworkflow-2.17.21}/PKG-INFO +1 -1
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run/__main__.py +6 -2
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/train/__main__.py +26 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/train/generate_synthetic.py +17 -1
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/workflow_agent.py +4 -1
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/pyproject.toml +1 -1
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/LICENSE +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/README.md +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/.DS_Store +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_commands/.gitkeep +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/abort.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/you_misunderstood.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/go_up.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/reset_context.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_can_i_do.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_is_current_context.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/wildcard.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/command_context_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/intent_detection.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/parameter_extraction.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/__main__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/ast_class_extractor.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/class_analysis_structures.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/cli_specification.md +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_dependency_resolver.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_file_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_file_template.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_import_utils.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_stub_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/context_folder_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/context_model_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/dependency_manager.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/dir_scanner.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/documentation_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/genai_postprocessor.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/inheritance_block_regenerator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/libcst_transformers.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/navigator_stub_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/pydantic_model_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/utterance_generator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/cache_matching.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/chat_session.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/cli.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_context_model.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_directory.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_executor.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_interfaces.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_metadata_api.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_routing.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/docs/context_modules_prd.txt +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/README.md +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/_commands/WorkItem/get_status.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/_commands/generate_report.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/_commands/startup.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/simple_workflow_template.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/workflow_inheritance_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/fastworkflow.env +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/fastworkflow.passwords.env +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/_commands/README.md +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/_commands/add_two_numbers.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/application/add_two_numbers.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_1/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_1/_commands/send_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_1/application/send_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/_commands/User/send_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/_commands/startup.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/application/user.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/PremiumUser/send_priority_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/User/send_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/initialize_user.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/application/user.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/_ChatRoom.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/add_user.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/broadcast_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/get_current_user.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/list_users.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/set_current_user.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/_PremiumUser.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/send_priority_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/User/_User.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/User/send_message.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/set_root_context.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/application/chatroom.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/application/user.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/context_hierarchy_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/startup_action.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/calculate.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/cancel_pending_order.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/exchange_delivered_order_items.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_email.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_name_zip.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/get_order_details.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/get_product_details.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/get_user_details.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/list_all_product_types.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_address.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_items.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_payment.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_user_address.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/return_delivered_order_items.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/transfer_to_human_agents.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/context_inheritance_model.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/orders.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/products.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/users.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/calculate.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/cancel_pending_order.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/exchange_delivered_order_items.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_email.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_name_zip.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/get_order_details.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/get_product_details.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/get_user_details.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/list_all_product_types.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_address.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_items.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_payment.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_user_address.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/return_delivered_order_items.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/think.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/tool.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/transfer_to_human_agents.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/workflow_description.txt +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/_WorkItem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/add_child_workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/get_status.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/go_to_workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/mark_as_complete.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_first_child_workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_last_child_workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_next_workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_previous_workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_all_child_workitems.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_child_workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/show_schema.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/startup.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/application/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/application/workitem.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/simple_workflow_template.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/startup_action.json +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/intent_clarification_agent.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/mcp_server.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/model_pipeline_training.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/refine/__main__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/README.md +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/__main__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/conversation_store.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/jwt_manager.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/mcp_specific.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/redoc_2_standalone_html.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/utils.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/train/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/user_message_queues.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/__init__.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/chat_adapter.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/context_utils.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/dspy_cache_utils.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/dspy_logger.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/dspy_utils.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/env.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/fuzzy_match.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/generate_param_examples.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/logging.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/parameterize_func_decorator.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/pydantic_model_2_dspy_signature_class.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/python_utils.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/react.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/signatures.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/startup_progress.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/workflow.py +0 -0
- {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/workflow_inheritance_model.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastworkflow
|
|
3
|
-
Version: 2.17.
|
|
3
|
+
Version: 2.17.21
|
|
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
|
|
@@ -181,12 +181,16 @@ def run_main(args):
|
|
|
181
181
|
|
|
182
182
|
StartupProgress.advance("ChatSession ready")
|
|
183
183
|
StartupProgress.end()
|
|
184
|
-
|
|
184
|
+
|
|
185
185
|
with contextlib.suppress(queue.Empty):
|
|
186
|
-
|
|
186
|
+
timeout: float | None = None
|
|
187
|
+
if args.startup_command or args.startup_action:
|
|
187
188
|
timeout=180.0
|
|
189
|
+
if command_output := fastworkflow.chat_session.command_output_queue.get(
|
|
190
|
+
timeout=timeout
|
|
188
191
|
):
|
|
189
192
|
print_command_output(command_output)
|
|
193
|
+
|
|
190
194
|
while not fastworkflow.chat_session.workflow_is_complete or args.keep_alive:
|
|
191
195
|
with patch_stdout():
|
|
192
196
|
user_command = prompt_session.prompt()
|
|
@@ -3,6 +3,7 @@ import os
|
|
|
3
3
|
import json
|
|
4
4
|
import shutil
|
|
5
5
|
from dotenv import dotenv_values
|
|
6
|
+
import importlib.util
|
|
6
7
|
|
|
7
8
|
from colorama import Fore, Style
|
|
8
9
|
|
|
@@ -16,6 +17,21 @@ from fastworkflow.command_directory import CommandDirectory, get_cached_command_
|
|
|
16
17
|
from fastworkflow.command_routing import RoutingDefinition, RoutingRegistry
|
|
17
18
|
from fastworkflow.command_context_model import CommandContextModel
|
|
18
19
|
|
|
20
|
+
# Cache the datasets availability check result
|
|
21
|
+
_DATASETS_AVAILABLE = None
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def _datasets_available() -> bool:
|
|
25
|
+
"""Check if the datasets package is available in the environment.
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
bool: True if datasets can be imported, False otherwise.
|
|
29
|
+
"""
|
|
30
|
+
global _DATASETS_AVAILABLE
|
|
31
|
+
if _DATASETS_AVAILABLE is None:
|
|
32
|
+
_DATASETS_AVAILABLE = importlib.util.find_spec("datasets") is not None
|
|
33
|
+
return _DATASETS_AVAILABLE
|
|
34
|
+
|
|
19
35
|
|
|
20
36
|
def train_workflow(workflow_path: str):
|
|
21
37
|
# Ensure context model is parsed so downstream helpers have contexts
|
|
@@ -44,6 +60,16 @@ def train_workflow(workflow_path: str):
|
|
|
44
60
|
logger.info(f"No _commands directory found at {workflow_path}, skipping training")
|
|
45
61
|
return
|
|
46
62
|
|
|
63
|
+
# Check if datasets package is available for training
|
|
64
|
+
# Command directory and routing artifacts are generated above regardless
|
|
65
|
+
if not _datasets_available():
|
|
66
|
+
logger.warning(
|
|
67
|
+
f"datasets package not found in environment. Skipping intent detection training "
|
|
68
|
+
f"and DSPy few-shot parameter extraction for workflow: {workflow_path}. "
|
|
69
|
+
f"Other artifacts such as command_directory.json and routing_definition.json have been generated successfully."
|
|
70
|
+
)
|
|
71
|
+
return
|
|
72
|
+
|
|
47
73
|
# create a workflow and train the main workflow
|
|
48
74
|
workflow = fastworkflow.Workflow.create(
|
|
49
75
|
workflow_path,
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
from typing import List
|
|
2
|
-
from datasets import load_dataset
|
|
3
2
|
import random
|
|
4
3
|
import fastworkflow
|
|
5
4
|
import litellm
|
|
6
5
|
|
|
6
|
+
# Conditional import of datasets - only required at runtime during training
|
|
7
|
+
try:
|
|
8
|
+
from datasets import load_dataset
|
|
9
|
+
_DATASETS_AVAILABLE = True
|
|
10
|
+
except ImportError:
|
|
11
|
+
_DATASETS_AVAILABLE = False
|
|
12
|
+
load_dataset = None
|
|
13
|
+
|
|
7
14
|
NUMOF_PERSONAS=fastworkflow.get_env_var('SYNTHETIC_UTTERANCE_GEN_NUMOF_PERSONAS', int)
|
|
8
15
|
UTTERANCES_PER_PERSONA=fastworkflow.get_env_var('SYNTHETIC_UTTERANCE_GEN_UTTERANCES_PER_PERSONA', int)
|
|
9
16
|
PERSONAS_PER_BATCH=fastworkflow.get_env_var('SYNTHETIC_UTTERANCE_GEN_PERSONAS_PER_BATCH', int)
|
|
@@ -15,6 +22,15 @@ def generate_diverse_utterances(
|
|
|
15
22
|
utterances_per_persona: int = UTTERANCES_PER_PERSONA,
|
|
16
23
|
personas_per_batch: int = PERSONAS_PER_BATCH
|
|
17
24
|
) -> list[str]:
|
|
25
|
+
# If datasets is not available, return only the seed utterances
|
|
26
|
+
if not _DATASETS_AVAILABLE:
|
|
27
|
+
from fastworkflow.utils.logging import logger
|
|
28
|
+
logger.warning(
|
|
29
|
+
f"datasets package not available. Skipping synthetic utterance generation "
|
|
30
|
+
f"for command '{command_name}'. Using only seed utterances."
|
|
31
|
+
)
|
|
32
|
+
return [command_name] + seed_utterances
|
|
33
|
+
|
|
18
34
|
# Initialize LiteLLM with API key
|
|
19
35
|
api_key = fastworkflow.get_env_var("LITELLM_API_KEY_SYNDATA_GEN")
|
|
20
36
|
model=fastworkflow.get_env_var("LLM_SYNDATA_GEN")
|
|
@@ -182,7 +182,10 @@ def _execute_workflow_query(command: str, chat_session_obj: fastworkflow.ChatSes
|
|
|
182
182
|
# Handle parameter extraction errors with abort
|
|
183
183
|
if nlu_stage == fastworkflow.NLUPipelineStage.PARAMETER_EXTRACTION:
|
|
184
184
|
abort_confirmation = _execute_workflow_query('abort', chat_session_obj=chat_session_obj)
|
|
185
|
-
return
|
|
185
|
+
return build_query_with_next_steps(
|
|
186
|
+
f'{response_text}\n{abort_confirmation}',
|
|
187
|
+
chat_session_obj, with_agent_inputs_and_trajectory = True
|
|
188
|
+
)
|
|
186
189
|
|
|
187
190
|
# Clean up the context flag after command execution
|
|
188
191
|
workflow = chat_session_obj.get_active_workflow()
|
|
@@ -9,7 +9,7 @@ repository = "https://github.com/radiantlogicinc/fastworkflow"
|
|
|
9
9
|
|
|
10
10
|
[tool.poetry]
|
|
11
11
|
name = "fastworkflow"
|
|
12
|
-
version = "2.17.
|
|
12
|
+
version = "2.17.21"
|
|
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"
|
|
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.17.19 → fastworkflow-2.17.21}/fastworkflow/build/class_analysis_structures.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_dependency_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/context_folder_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/inheritance_block_regenerator.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/navigator_stub_generator.py
RENAMED
|
File without changes
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/pydantic_model_generator.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
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/fastworkflow.passwords.env
RENAMED
|
File without changes
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/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
|
|
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.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/think.py
RENAMED
|
File without changes
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/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
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/conversation_store.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
|
{fastworkflow-2.17.19 → fastworkflow-2.17.21}/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
|