fastworkflow 2.15.9__tar.gz → 2.15.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fastworkflow might be problematic. Click here for more details.
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/PKG-INFO +1 -1
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/wildcard.py +7 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/intent_detection.py +2 -2
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/parameter_extraction.py +15 -3
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/chat_session.py +8 -1
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/command_executor.py +13 -4
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_email.py +6 -5
- fastworkflow-2.15.11/fastworkflow/utils/signatures.py +654 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/workflow.py +1 -5
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/pyproject.toml +1 -1
- fastworkflow-2.15.9/fastworkflow/utils/signatures.py +0 -477
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/LICENSE +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/README.md +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/.DS_Store +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_commands/.gitkeep +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/abort.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/you_misunderstood.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/go_up.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/reset_context.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_can_i_do.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_is_current_context.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/_commands/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/_workflows/command_metadata_extraction/command_context_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/__main__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/ast_class_extractor.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/class_analysis_structures.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/cli_specification.md +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/command_dependency_resolver.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/command_file_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/command_file_template.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/command_import_utils.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/command_stub_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/context_folder_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/context_model_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/dependency_manager.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/dir_scanner.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/documentation_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/genai_postprocessor.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/inheritance_block_regenerator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/libcst_transformers.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/navigator_stub_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/pydantic_model_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/build/utterance_generator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/cache_matching.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/cli.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/command_context_model.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/command_directory.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/command_interfaces.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/command_metadata_api.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/command_routing.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/docs/context_modules_prd.txt +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/extended_workflow_example/README.md +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/extended_workflow_example/_commands/WorkItem/get_status.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/extended_workflow_example/_commands/generate_report.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/extended_workflow_example/_commands/startup.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/extended_workflow_example/simple_workflow_template.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/extended_workflow_example/workflow_inheritance_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/fastworkflow.env +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/fastworkflow.passwords.env +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/hello_world/_commands/README.md +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/hello_world/_commands/add_two_numbers.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/hello_world/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/hello_world/application/add_two_numbers.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_1/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_1/_commands/send_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_1/application/send_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_2/_commands/User/send_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_2/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_2/_commands/startup.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_2/application/user.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_3/_commands/PremiumUser/send_priority_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_3/_commands/User/send_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_3/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_3/_commands/initialize_user.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_3/application/user.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/_ChatRoom.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/add_user.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/broadcast_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/get_current_user.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/list_users.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/set_current_user.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/_PremiumUser.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/send_priority_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/User/_User.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/User/send_message.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/context_inheritance_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/_commands/set_root_context.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/application/chatroom.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/application/user.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/context_hierarchy_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/messaging_app_4/startup_action.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/calculate.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/cancel_pending_order.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/exchange_delivered_order_items.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_name_zip.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/get_order_details.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/get_product_details.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/get_user_details.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/list_all_product_types.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_address.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_items.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_payment.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/modify_user_address.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/return_delivered_order_items.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/_commands/transfer_to_human_agents.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/context_inheritance_model.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/retail_data/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/retail_data/orders.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/retail_data/products.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/retail_data/users.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/calculate.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/cancel_pending_order.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/exchange_delivered_order_items.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_email.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_name_zip.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/get_order_details.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/get_product_details.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/get_user_details.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/list_all_product_types.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_address.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_items.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_payment.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/modify_user_address.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/return_delivered_order_items.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/think.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/tool.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/tools/transfer_to_human_agents.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/retail_workflow/workflow_description.txt +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/_WorkItem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/add_child_workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/get_status.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/go_to_workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/mark_as_complete.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_first_child_workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_last_child_workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_next_workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_previous_workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_all_child_workitems.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_child_workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/show_schema.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/_commands/startup.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/application/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/application/workitem.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/simple_workflow_template.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/examples/simple_workflow_template/startup_action.json +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/mcp_server.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/model_pipeline_training.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/refine/__main__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/run/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/run/__main__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/run_agent/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/run_agent/__main__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/run_agent/agent_module.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/train/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/train/__main__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/train/generate_synthetic.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/user_message_queues.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/__init__.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/command_dependency_graph.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/context_utils.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/dspy_cache_utils.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/dspy_logger.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/dspy_utils.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/env.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/fuzzy_match.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/generate_param_examples.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/logging.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/parameterize_func_decorator.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/pydantic_model_2_dspy_signature_class.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/python_utils.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/react.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/utils/startup_progress.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/workflow_agent.py +0 -0
- {fastworkflow-2.15.9 → fastworkflow-2.15.11}/fastworkflow/workflow_inheritance_model.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastworkflow
|
|
3
|
-
Version: 2.15.
|
|
3
|
+
Version: 2.15.11
|
|
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
|
|
@@ -130,6 +130,13 @@ class ResponseGenerator:
|
|
|
130
130
|
workflow_context["NLU_Pipeline_Stage"] = NLUPipelineStage.PARAMETER_EXTRACTION
|
|
131
131
|
workflow.context = workflow_context
|
|
132
132
|
|
|
133
|
+
if nlu_pipeline_stage == NLUPipelineStage.PARAMETER_EXTRACTION:
|
|
134
|
+
cnp_output.command_name = workflow.context["command_name"]
|
|
135
|
+
else:
|
|
136
|
+
workflow_context = workflow.context
|
|
137
|
+
workflow_context["command_name"] = cnp_output.command_name
|
|
138
|
+
workflow.context = workflow_context
|
|
139
|
+
|
|
133
140
|
command_name = cnp_output.command_name
|
|
134
141
|
extractor = ParameterExtraction(workflow, app_workflow, command_name, command)
|
|
135
142
|
pe_output = extractor.extract()
|
|
@@ -96,8 +96,8 @@ class CommandNamePrediction:
|
|
|
96
96
|
].plain_utterances
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
# See if the command starts with a command name followed by a space
|
|
100
|
-
tentative_command_name = command.split(" ", 1)[0]
|
|
99
|
+
# See if the command starts with a command name followed by a space or a '('
|
|
100
|
+
tentative_command_name = command.split(" ", 1)[0].split("(", 1)[0]
|
|
101
101
|
normalized_command_name = tentative_command_name.lower()
|
|
102
102
|
command_name = None
|
|
103
103
|
if normalized_command_name in command_name_dict:
|
|
@@ -65,12 +65,24 @@ class ParameterExtraction:
|
|
|
65
65
|
self.command_name,
|
|
66
66
|
app_workflow_folderpath)
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
is_valid, error_msg, suggestions = input_for_param_extraction.validate_parameters(
|
|
68
|
+
is_valid, error_msg, suggestions, missing_invalid_fields = \
|
|
69
|
+
input_for_param_extraction.validate_parameters(
|
|
71
70
|
self.app_workflow, self.command_name, new_params
|
|
72
71
|
)
|
|
73
72
|
|
|
73
|
+
# Set all the missing and invalid fields to None before storing
|
|
74
|
+
current_values = {
|
|
75
|
+
field_name: getattr(new_params, field_name, None)
|
|
76
|
+
for field_name in list(type(new_params).model_fields.keys())
|
|
77
|
+
}
|
|
78
|
+
for field_name in missing_invalid_fields:
|
|
79
|
+
if field_name in current_values:
|
|
80
|
+
current_values[field_name] = NOT_FOUND
|
|
81
|
+
# Reconstruct the model instance without validation
|
|
82
|
+
new_params = new_params.__class__.model_construct(**current_values)
|
|
83
|
+
|
|
84
|
+
self._store_parameters(self.cme_workflow, new_params)
|
|
85
|
+
|
|
74
86
|
if not is_valid:
|
|
75
87
|
if params_str := self._format_parameters_for_display(new_params):
|
|
76
88
|
error_msg = f"Extracted parameters so far:\n{params_str}\n\n{error_msg}"
|
|
@@ -345,9 +345,16 @@ class ChatSession:
|
|
|
345
345
|
) and self._status != SessionStatus.STOPPING:
|
|
346
346
|
try:
|
|
347
347
|
message = self.user_message_queue.get()
|
|
348
|
+
|
|
349
|
+
if ((
|
|
350
|
+
"NLU_Pipeline_Stage" not in self._cme_workflow.context or
|
|
351
|
+
self._cme_workflow.context["NLU_Pipeline_Stage"] == fastworkflow.NLUPipelineStage.INTENT_DETECTION) and
|
|
352
|
+
message.startswith('/')
|
|
353
|
+
):
|
|
354
|
+
self._cme_workflow.context["is_assistant_mode_command"] = True
|
|
348
355
|
|
|
349
356
|
# Route based on mode and message type
|
|
350
|
-
if self._run_as_agent and not
|
|
357
|
+
if self._run_as_agent and "is_assistant_mode_command" not in self._cme_workflow.context:
|
|
351
358
|
# In agent mode, use workflow tool agent for processing
|
|
352
359
|
last_output = self._process_agent_message(message)
|
|
353
360
|
# elif self._is_mcp_tool_call(message):
|
|
@@ -45,7 +45,12 @@ class CommandExecutor(CommandExecutorInterface):
|
|
|
45
45
|
command = command)
|
|
46
46
|
)
|
|
47
47
|
|
|
48
|
-
if command_output.command_handled
|
|
48
|
+
if command_output.command_handled:
|
|
49
|
+
# important to clear the current command mode from the workflow context
|
|
50
|
+
if "is_assistant_mode_command" in chat_session.cme_workflow._context:
|
|
51
|
+
del chat_session.cme_workflow._context["is_assistant_mode_command"]
|
|
52
|
+
return command_output
|
|
53
|
+
elif not command_output.success:
|
|
49
54
|
return command_output
|
|
50
55
|
|
|
51
56
|
command_name = command_output.command_responses[0].artifacts["command_name"]
|
|
@@ -54,7 +59,7 @@ class CommandExecutor(CommandExecutorInterface):
|
|
|
54
59
|
workflow = ChatSession.get_active_workflow()
|
|
55
60
|
workflow_name = workflow.folderpath.split('/')[-1]
|
|
56
61
|
context = workflow.current_command_context_displayname
|
|
57
|
-
|
|
62
|
+
|
|
58
63
|
command_routing_definition = fastworkflow.RoutingRegistry.get_definition(
|
|
59
64
|
workflow.folderpath
|
|
60
65
|
)
|
|
@@ -77,13 +82,17 @@ class CommandExecutor(CommandExecutorInterface):
|
|
|
77
82
|
command_output = response_generation_object(workflow, command, input_obj)
|
|
78
83
|
else:
|
|
79
84
|
command_output = response_generation_object(workflow, command)
|
|
80
|
-
|
|
85
|
+
|
|
81
86
|
# Set the additional attributes
|
|
82
87
|
command_output.workflow_name = workflow_name
|
|
83
88
|
command_output.context = context
|
|
84
89
|
command_output.command_name = command_name
|
|
85
90
|
command_output.command_parameters = input_obj or None
|
|
86
91
|
|
|
92
|
+
# important to clear the current command mode from the workflow context
|
|
93
|
+
if "is_assistant_mode_command" in chat_session.cme_workflow._context:
|
|
94
|
+
del chat_session.cme_workflow._context["is_assistant_mode_command"]
|
|
95
|
+
|
|
87
96
|
return command_output
|
|
88
97
|
|
|
89
98
|
@classmethod
|
|
@@ -134,7 +143,7 @@ class CommandExecutor(CommandExecutorInterface):
|
|
|
134
143
|
input_obj = command_parameters_class(**action.parameters)
|
|
135
144
|
|
|
136
145
|
input_for_param_extraction = InputForParamExtraction(command=action.command)
|
|
137
|
-
is_valid, error_msg, _ = input_for_param_extraction.validate_parameters(
|
|
146
|
+
is_valid, error_msg, _, _ = input_for_param_extraction.validate_parameters(
|
|
138
147
|
workflow, action.command_name, input_obj
|
|
139
148
|
)
|
|
140
149
|
if not is_valid:
|
|
@@ -11,16 +11,17 @@ from ..tools.find_user_id_by_email import FindUserIdByEmail
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class Signature:
|
|
14
|
-
"""
|
|
14
|
+
"""
|
|
15
|
+
Find user id by email.
|
|
16
|
+
If email is not available, use `find_user_id_by_name_zip` instead.
|
|
17
|
+
As a last resort transfer to a human agent
|
|
18
|
+
"""
|
|
15
19
|
class Input(BaseModel):
|
|
16
20
|
"""Parameters taken from user utterance."""
|
|
17
21
|
|
|
18
22
|
email: str = Field(
|
|
19
23
|
default="NOT_FOUND",
|
|
20
|
-
description=
|
|
21
|
-
"The email address to search for. If email is not available, "
|
|
22
|
-
"use `find_user_id_by_name_zip` instead. As a last resort transfer to a human agent"
|
|
23
|
-
),
|
|
24
|
+
description="The email address to search for",
|
|
24
25
|
pattern=r"^(NOT_FOUND|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$",
|
|
25
26
|
examples=["user@example.com"],
|
|
26
27
|
)
|