fastworkflow 2.15.1__tar.gz → 2.15.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.
Files changed (174) hide show
  1. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/PKG-INFO +1 -1
  2. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/chat_session.py +16 -1
  3. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/workflow_agent.py +33 -6
  4. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/pyproject.toml +1 -1
  5. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/LICENSE +0 -0
  6. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/README.md +0 -0
  7. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/.DS_Store +0 -0
  8. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/__init__.py +0 -0
  9. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_commands/.gitkeep +0 -0
  10. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/__init__.py +0 -0
  11. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/__init__.py +0 -0
  12. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/abort.py +0 -0
  13. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/ErrorCorrection/you_misunderstood.py +0 -0
  14. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/go_up.py +0 -0
  15. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/reset_context.py +0 -0
  16. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_can_i_do.py +0 -0
  17. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/IntentDetection/what_is_current_context.py +0 -0
  18. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/__init__.py +0 -0
  19. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/_commands/wildcard.py +0 -0
  20. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/_workflows/command_metadata_extraction/command_context_model.json +0 -0
  21. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/__main__.py +0 -0
  22. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/ast_class_extractor.py +0 -0
  23. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/class_analysis_structures.py +0 -0
  24. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/cli_specification.md +0 -0
  25. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/command_dependency_resolver.py +0 -0
  26. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/command_file_generator.py +0 -0
  27. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/command_file_template.py +0 -0
  28. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/command_import_utils.py +0 -0
  29. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/command_stub_generator.py +0 -0
  30. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/context_folder_generator.py +0 -0
  31. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/context_model_generator.py +0 -0
  32. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/dependency_manager.py +0 -0
  33. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/dir_scanner.py +0 -0
  34. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/documentation_generator.py +0 -0
  35. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/genai_postprocessor.py +0 -0
  36. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/inheritance_block_regenerator.py +0 -0
  37. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/libcst_transformers.py +0 -0
  38. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/navigator_stub_generator.py +0 -0
  39. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/pydantic_model_generator.py +0 -0
  40. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/build/utterance_generator.py +0 -0
  41. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/cache_matching.py +0 -0
  42. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/cli.py +0 -0
  43. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/command_context_model.py +0 -0
  44. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/command_directory.py +0 -0
  45. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/command_executor.py +0 -0
  46. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/command_interfaces.py +0 -0
  47. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/command_metadata_api.py +0 -0
  48. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/command_routing.py +0 -0
  49. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/docs/context_modules_prd.txt +0 -0
  50. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/extended_workflow_example/README.md +0 -0
  51. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/extended_workflow_example/_commands/WorkItem/get_status.py +0 -0
  52. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/extended_workflow_example/_commands/generate_report.py +0 -0
  53. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/extended_workflow_example/_commands/startup.py +0 -0
  54. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/extended_workflow_example/simple_workflow_template.json +0 -0
  55. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/extended_workflow_example/workflow_inheritance_model.json +0 -0
  56. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/fastworkflow.env +0 -0
  57. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/fastworkflow.passwords.env +0 -0
  58. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/hello_world/_commands/README.md +0 -0
  59. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/hello_world/_commands/add_two_numbers.py +0 -0
  60. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/hello_world/_commands/context_inheritance_model.json +0 -0
  61. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/hello_world/application/add_two_numbers.py +0 -0
  62. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_1/_commands/context_inheritance_model.json +0 -0
  63. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_1/_commands/send_message.py +0 -0
  64. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_1/application/send_message.py +0 -0
  65. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_2/_commands/User/send_message.py +0 -0
  66. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_2/_commands/context_inheritance_model.json +0 -0
  67. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_2/_commands/startup.py +0 -0
  68. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_2/application/user.py +0 -0
  69. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_3/_commands/PremiumUser/send_priority_message.py +0 -0
  70. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_3/_commands/User/send_message.py +0 -0
  71. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_3/_commands/context_inheritance_model.json +0 -0
  72. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_3/_commands/initialize_user.py +0 -0
  73. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_3/application/user.py +0 -0
  74. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/_ChatRoom.py +0 -0
  75. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/add_user.py +0 -0
  76. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/broadcast_message.py +0 -0
  77. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/get_current_user.py +0 -0
  78. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/list_users.py +0 -0
  79. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/ChatRoom/set_current_user.py +0 -0
  80. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/_PremiumUser.py +0 -0
  81. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/PremiumUser/send_priority_message.py +0 -0
  82. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/User/_User.py +0 -0
  83. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/User/send_message.py +0 -0
  84. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/context_inheritance_model.json +0 -0
  85. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/_commands/set_root_context.py +0 -0
  86. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/application/chatroom.py +0 -0
  87. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/application/user.py +0 -0
  88. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/context_hierarchy_model.json +0 -0
  89. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/messaging_app_4/startup_action.json +0 -0
  90. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/calculate.py +0 -0
  91. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/cancel_pending_order.py +0 -0
  92. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/exchange_delivered_order_items.py +0 -0
  93. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_email.py +0 -0
  94. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/find_user_id_by_name_zip.py +0 -0
  95. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/get_order_details.py +0 -0
  96. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/get_product_details.py +0 -0
  97. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/get_user_details.py +0 -0
  98. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/list_all_product_types.py +0 -0
  99. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_address.py +0 -0
  100. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_items.py +0 -0
  101. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/modify_pending_order_payment.py +0 -0
  102. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/modify_user_address.py +0 -0
  103. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/return_delivered_order_items.py +0 -0
  104. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/_commands/transfer_to_human_agents.py +0 -0
  105. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/context_inheritance_model.json +0 -0
  106. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/retail_data/__init__.py +0 -0
  107. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/retail_data/orders.json +0 -0
  108. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/retail_data/products.json +0 -0
  109. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/retail_data/users.json +0 -0
  110. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/calculate.py +0 -0
  111. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/cancel_pending_order.py +0 -0
  112. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/exchange_delivered_order_items.py +0 -0
  113. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_email.py +0 -0
  114. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/find_user_id_by_name_zip.py +0 -0
  115. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/get_order_details.py +0 -0
  116. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/get_product_details.py +0 -0
  117. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/get_user_details.py +0 -0
  118. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/list_all_product_types.py +0 -0
  119. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_address.py +0 -0
  120. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_items.py +0 -0
  121. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/modify_pending_order_payment.py +0 -0
  122. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/modify_user_address.py +0 -0
  123. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/return_delivered_order_items.py +0 -0
  124. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/think.py +0 -0
  125. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/tool.py +0 -0
  126. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/tools/transfer_to_human_agents.py +0 -0
  127. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/retail_workflow/workflow_description.txt +0 -0
  128. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/__init__.py +0 -0
  129. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/_WorkItem.py +0 -0
  130. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/add_child_workitem.py +0 -0
  131. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/get_status.py +0 -0
  132. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/go_to_workitem.py +0 -0
  133. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/mark_as_complete.py +0 -0
  134. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_first_child_workitem.py +0 -0
  135. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_last_child_workitem.py +0 -0
  136. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_next_workitem.py +0 -0
  137. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/move_to_previous_workitem.py +0 -0
  138. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_all_child_workitems.py +0 -0
  139. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/remove_child_workitem.py +0 -0
  140. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/WorkItem/show_schema.py +0 -0
  141. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/_commands/startup.py +0 -0
  142. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/application/__init__.py +0 -0
  143. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/application/workitem.py +0 -0
  144. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/simple_workflow_template.json +0 -0
  145. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/examples/simple_workflow_template/startup_action.json +0 -0
  146. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/mcp_server.py +0 -0
  147. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/model_pipeline_training.py +0 -0
  148. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/refine/__main__.py +0 -0
  149. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/run/__init__.py +0 -0
  150. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/run/__main__.py +0 -0
  151. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/run_agent/__init__.py +0 -0
  152. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/run_agent/__main__.py +0 -0
  153. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/run_agent/agent_module.py +0 -0
  154. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/train/__init__.py +0 -0
  155. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/train/__main__.py +0 -0
  156. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/train/generate_synthetic.py +0 -0
  157. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/user_message_queues.py +0 -0
  158. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/__init__.py +0 -0
  159. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/command_dependency_graph.py +0 -0
  160. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/context_utils.py +0 -0
  161. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/dspy_cache_utils.py +0 -0
  162. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/dspy_logger.py +0 -0
  163. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/dspy_utils.py +0 -0
  164. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/env.py +0 -0
  165. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/fuzzy_match.py +0 -0
  166. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/generate_param_examples.py +0 -0
  167. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/logging.py +0 -0
  168. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/parameterize_func_decorator.py +0 -0
  169. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/pydantic_model_2_dspy_signature_class.py +0 -0
  170. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/python_utils.py +0 -0
  171. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/signatures.py +0 -0
  172. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/utils/startup_progress.py +0 -0
  173. {fastworkflow-2.15.1 → fastworkflow-2.15.2}/fastworkflow/workflow.py +0 -0
  174. {fastworkflow-2.15.1 → fastworkflow-2.15.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.15.1
3
+ Version: 2.15.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
@@ -121,6 +121,8 @@ class ChatSession:
121
121
  self._command_output_queue = Queue()
122
122
  self._status = SessionStatus.STOPPED
123
123
  self._chat_worker = None
124
+
125
+ self._conversation_history = dspy.History(messages=[])
124
126
 
125
127
  # Import here to avoid circular imports
126
128
  from fastworkflow.command_executor import CommandExecutor
@@ -297,6 +299,11 @@ class ChatSession:
297
299
  def workflow_is_complete(self, value: bool) -> None:
298
300
  if workflow := ChatSession.get_active_workflow():
299
301
  workflow.is_complete = value
302
+
303
+ @property
304
+ def conversation_history(self) -> dspy.History:
305
+ """Return the conversation history."""
306
+ return self._conversation_history
300
307
 
301
308
 
302
309
  def _run_workflow_loop(self) -> Optional[fastworkflow.CommandOutput]:
@@ -421,7 +428,10 @@ class ChatSession:
421
428
 
422
429
  lm = dspy_utils.get_lm("LLM_AGENT", "LITELLM_API_KEY_AGENT")
423
430
  with dspy.context(lm=lm):
424
- agent_result = self._workflow_tool_agent(user_query=refined_message)
431
+ agent_result = self._workflow_tool_agent(
432
+ user_query=refined_message,
433
+ conversation_history=self.conversation_history
434
+ )
425
435
  # dspy.inspect_history(n=1)
426
436
 
427
437
  # Extract the final result from the agent
@@ -431,6 +441,11 @@ class ChatSession:
431
441
  else str(agent_result)
432
442
  )
433
443
 
444
+ self.conversation_history.messages.append(
445
+ {"user_query": message,
446
+ "agent_response": result_text}
447
+ )
448
+
434
449
  # Create CommandOutput with the agent's response
435
450
  command_response = fastworkflow.CommandResponse(response=result_text)
436
451
  # Attach actions captured during agent execution as artifacts if available
@@ -18,6 +18,7 @@ class WorkflowAgentSignature(dspy.Signature):
18
18
  All the tasks in the todo list must be completed before returning the final answer.
19
19
  """
20
20
  user_query = dspy.InputField(desc="The natural language user query.")
21
+ conversation_history: dspy.History = dspy.InputField()
21
22
  final_answer = dspy.OutputField(desc="Comprehensive final answer with supporting evidence to demonstrate that all the tasks in the todo list have been completed.")
22
23
 
23
24
  def _what_can_i_do(chat_session_obj: fastworkflow.ChatSession) -> str:
@@ -119,7 +120,8 @@ def _ask_user_tool(clarification_request: str, chat_session_obj: fastworkflow.Ch
119
120
  command_responses=[fastworkflow.CommandResponse(response=clarification_request)]
120
121
  )
121
122
  chat_session_obj.command_output_queue.put(command_output)
122
- return chat_session_obj.user_message_queue.get()
123
+ user_query = chat_session_obj.user_message_queue.get()
124
+ return _think_and_plan(user_query, chat_session_obj)
123
125
 
124
126
  def initialize_workflow_tool_agent(mcp_server: FastWorkflowMCPServer, max_iters: int = 25):
125
127
  """
@@ -133,11 +135,6 @@ def initialize_workflow_tool_agent(mcp_server: FastWorkflowMCPServer, max_iters:
133
135
  Returns:
134
136
  DSPy ReAct agent configured with workflow tools
135
137
  """
136
- # available_tools = mcp_server.list_tools()
137
-
138
- # if not available_tools:
139
- # return None
140
-
141
138
  chat_session_obj = mcp_server.chat_session
142
139
  if not chat_session_obj:
143
140
  return None
@@ -225,3 +222,33 @@ def initialize_workflow_tool_agent(mcp_server: FastWorkflowMCPServer, max_iters:
225
222
  tools=tools,
226
223
  max_iters=max_iters,
227
224
  )
225
+
226
+ def _think_and_plan(user_query: str, chat_session_obj: fastworkflow.ChatSession) -> str:
227
+ """
228
+ Returns a refined plan by breaking down a user_query into simpler tasks based only on available commands and returns a todo list.
229
+ """
230
+ class TaskPlannerSignature(dspy.Signature):
231
+ """
232
+ Break down a user_query into simpler tasks based only on available commands and return a todo list.
233
+ If user_query is simple, return a single todo that is the user_query as-is
234
+ """
235
+ user_query: str = dspy.InputField()
236
+ available_commands: list[str] = dspy.InputField()
237
+ todo_list: list[str] = dspy.OutputField(desc="task descriptions as short sentences")
238
+
239
+ current_workflow = chat_session_obj.get_active_workflow()
240
+ available_commands = CommandMetadataAPI.get_command_display_text(
241
+ subject_workflow_path=current_workflow.folderpath,
242
+ cme_workflow_path=fastworkflow.get_internal_workflow_path("command_metadata_extraction"),
243
+ active_context_name=current_workflow.current_command_context_name,
244
+ )
245
+
246
+ planner_lm = dspy_utils.get_lm("LLM_PLANNER", "LITELLM_API_KEY_PLANNER")
247
+ with dspy.context(lm=planner_lm):
248
+ task_planner_func = dspy.ChainOfThought(TaskPlannerSignature)
249
+ prediction = task_planner_func(user_query=user_query, available_commands=available_commands)
250
+
251
+ if not prediction.todo_list or (len(prediction.todo_list) == 1 and prediction.todo_list[0] == user_query):
252
+ return user_query
253
+
254
+ return f"{user_query}\nNext steps:\n{'\n'.join([f'{i + 1}. {task}' for i, task in enumerate(prediction.todo_list)])}"
@@ -9,7 +9,7 @@ repository = "https://github.com/radiantlogicinc/fastworkflow"
9
9
 
10
10
  [tool.poetry]
11
11
  name = "fastworkflow"
12
- version = "2.15.1"
12
+ version = "2.15.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"
File without changes
File without changes