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.
Files changed (183) hide show
  1. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/PKG-INFO +1 -1
  2. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run/__main__.py +6 -2
  3. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/train/__main__.py +26 -0
  4. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/train/generate_synthetic.py +17 -1
  5. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/workflow_agent.py +4 -1
  6. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/pyproject.toml +1 -1
  7. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/LICENSE +0 -0
  8. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/README.md +0 -0
  9. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/.DS_Store +0 -0
  10. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/__init__.py +0 -0
  11. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_commands/.gitkeep +0 -0
  12. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/__init__.py +0 -0
  13. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/__init__.py +0 -0
  14. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/abort.py +0 -0
  15. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/you_misunderstood.py +0 -0
  16. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/go_up.py +0 -0
  17. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/reset_context.py +0 -0
  18. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_can_i_do.py +0 -0
  19. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_is_current_context.py +0 -0
  20. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/__init__.py +0 -0
  21. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/_commands/wildcard.py +0 -0
  22. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/command_context_model.json +0 -0
  23. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/intent_detection.py +0 -0
  24. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/_workflows/command_metadata_extraction/parameter_extraction.py +0 -0
  25. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/__main__.py +0 -0
  26. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/ast_class_extractor.py +0 -0
  27. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/class_analysis_structures.py +0 -0
  28. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/cli_specification.md +0 -0
  29. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_dependency_resolver.py +0 -0
  30. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_file_generator.py +0 -0
  31. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_file_template.py +0 -0
  32. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_import_utils.py +0 -0
  33. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/command_stub_generator.py +0 -0
  34. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/context_folder_generator.py +0 -0
  35. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/context_model_generator.py +0 -0
  36. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/dependency_manager.py +0 -0
  37. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/dir_scanner.py +0 -0
  38. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/documentation_generator.py +0 -0
  39. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/genai_postprocessor.py +0 -0
  40. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/inheritance_block_regenerator.py +0 -0
  41. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/libcst_transformers.py +0 -0
  42. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/navigator_stub_generator.py +0 -0
  43. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/pydantic_model_generator.py +0 -0
  44. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/build/utterance_generator.py +0 -0
  45. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/cache_matching.py +0 -0
  46. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/chat_session.py +0 -0
  47. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/cli.py +0 -0
  48. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_context_model.py +0 -0
  49. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_directory.py +0 -0
  50. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_executor.py +0 -0
  51. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_interfaces.py +0 -0
  52. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_metadata_api.py +0 -0
  53. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/command_routing.py +0 -0
  54. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/docs/context_modules_prd.txt +0 -0
  55. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/README.md +0 -0
  56. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/_commands/WorkItem/get_status.py +0 -0
  57. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/_commands/generate_report.py +0 -0
  58. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/_commands/startup.py +0 -0
  59. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/simple_workflow_template.json +0 -0
  60. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/extended_workflow_example/workflow_inheritance_model.json +0 -0
  61. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/fastworkflow.env +0 -0
  62. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/fastworkflow.passwords.env +0 -0
  63. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/_commands/README.md +0 -0
  64. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/_commands/add_two_numbers.py +0 -0
  65. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/_commands/context_inheritance_model.json +0 -0
  66. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/hello_world/application/add_two_numbers.py +0 -0
  67. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_1/_commands/context_inheritance_model.json +0 -0
  68. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_1/_commands/send_message.py +0 -0
  69. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_1/application/send_message.py +0 -0
  70. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/_commands/User/send_message.py +0 -0
  71. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/_commands/context_inheritance_model.json +0 -0
  72. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/_commands/startup.py +0 -0
  73. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_2/application/user.py +0 -0
  74. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/PremiumUser/send_priority_message.py +0 -0
  75. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/User/send_message.py +0 -0
  76. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/context_inheritance_model.json +0 -0
  77. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/_commands/initialize_user.py +0 -0
  78. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_3/application/user.py +0 -0
  79. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/_ChatRoom.py +0 -0
  80. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/add_user.py +0 -0
  81. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/broadcast_message.py +0 -0
  82. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/get_current_user.py +0 -0
  83. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/list_users.py +0 -0
  84. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/set_current_user.py +0 -0
  85. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/_PremiumUser.py +0 -0
  86. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/send_priority_message.py +0 -0
  87. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/User/_User.py +0 -0
  88. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/User/send_message.py +0 -0
  89. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/context_inheritance_model.json +0 -0
  90. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/_commands/set_root_context.py +0 -0
  91. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/application/chatroom.py +0 -0
  92. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/application/user.py +0 -0
  93. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/context_hierarchy_model.json +0 -0
  94. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/messaging_app_4/startup_action.json +0 -0
  95. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/calculate.py +0 -0
  96. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/cancel_pending_order.py +0 -0
  97. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/exchange_delivered_order_items.py +0 -0
  98. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_email.py +0 -0
  99. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_name_zip.py +0 -0
  100. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/get_order_details.py +0 -0
  101. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/get_product_details.py +0 -0
  102. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/get_user_details.py +0 -0
  103. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/list_all_product_types.py +0 -0
  104. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_address.py +0 -0
  105. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_items.py +0 -0
  106. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_payment.py +0 -0
  107. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/modify_user_address.py +0 -0
  108. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/return_delivered_order_items.py +0 -0
  109. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/_commands/transfer_to_human_agents.py +0 -0
  110. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/context_inheritance_model.json +0 -0
  111. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/__init__.py +0 -0
  112. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/orders.json +0 -0
  113. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/products.json +0 -0
  114. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/retail_data/users.json +0 -0
  115. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/calculate.py +0 -0
  116. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/cancel_pending_order.py +0 -0
  117. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/exchange_delivered_order_items.py +0 -0
  118. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_email.py +0 -0
  119. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_name_zip.py +0 -0
  120. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/get_order_details.py +0 -0
  121. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/get_product_details.py +0 -0
  122. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/get_user_details.py +0 -0
  123. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/list_all_product_types.py +0 -0
  124. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_address.py +0 -0
  125. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_items.py +0 -0
  126. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_payment.py +0 -0
  127. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/modify_user_address.py +0 -0
  128. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/return_delivered_order_items.py +0 -0
  129. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/think.py +0 -0
  130. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/tool.py +0 -0
  131. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/tools/transfer_to_human_agents.py +0 -0
  132. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/retail_workflow/workflow_description.txt +0 -0
  133. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/__init__.py +0 -0
  134. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/_WorkItem.py +0 -0
  135. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/add_child_workitem.py +0 -0
  136. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/get_status.py +0 -0
  137. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/go_to_workitem.py +0 -0
  138. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/mark_as_complete.py +0 -0
  139. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_first_child_workitem.py +0 -0
  140. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_last_child_workitem.py +0 -0
  141. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_next_workitem.py +0 -0
  142. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_previous_workitem.py +0 -0
  143. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_all_child_workitems.py +0 -0
  144. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_child_workitem.py +0 -0
  145. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/show_schema.py +0 -0
  146. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/_commands/startup.py +0 -0
  147. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/application/__init__.py +0 -0
  148. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/application/workitem.py +0 -0
  149. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/simple_workflow_template.json +0 -0
  150. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/examples/simple_workflow_template/startup_action.json +0 -0
  151. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/intent_clarification_agent.py +0 -0
  152. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/mcp_server.py +0 -0
  153. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/model_pipeline_training.py +0 -0
  154. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/refine/__main__.py +0 -0
  155. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run/__init__.py +0 -0
  156. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/README.md +0 -0
  157. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/__init__.py +0 -0
  158. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/__main__.py +0 -0
  159. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/conversation_store.py +0 -0
  160. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/jwt_manager.py +0 -0
  161. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/mcp_specific.py +0 -0
  162. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/redoc_2_standalone_html.py +0 -0
  163. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/run_fastapi_mcp/utils.py +0 -0
  164. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/train/__init__.py +0 -0
  165. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/user_message_queues.py +0 -0
  166. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/__init__.py +0 -0
  167. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/chat_adapter.py +0 -0
  168. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/context_utils.py +0 -0
  169. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/dspy_cache_utils.py +0 -0
  170. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/dspy_logger.py +0 -0
  171. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/dspy_utils.py +0 -0
  172. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/env.py +0 -0
  173. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/fuzzy_match.py +0 -0
  174. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/generate_param_examples.py +0 -0
  175. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/logging.py +0 -0
  176. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/parameterize_func_decorator.py +0 -0
  177. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/pydantic_model_2_dspy_signature_class.py +0 -0
  178. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/python_utils.py +0 -0
  179. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/react.py +0 -0
  180. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/signatures.py +0 -0
  181. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/utils/startup_progress.py +0 -0
  182. {fastworkflow-2.17.19 → fastworkflow-2.17.21}/fastworkflow/workflow.py +0 -0
  183. {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.19
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
- if command_output := fastworkflow.chat_session.command_output_queue.get(
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 f'{response_text}\n{abort_confirmation}'
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.19"
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