graphon 0.2.1__tar.gz → 0.2.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 (262) hide show
  1. {graphon-0.2.1 → graphon-0.2.2}/PKG-INFO +1 -1
  2. {graphon-0.2.1 → graphon-0.2.2}/pyproject.toml +1 -1
  3. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/base/node.py +25 -11
  4. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/code/code_node.py +2 -3
  5. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/document_extractor/node.py +2 -3
  6. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/http_request/node.py +2 -3
  7. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/human_input/human_input_node.py +9 -10
  8. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/if_else/entities.py +1 -1
  9. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/if_else/if_else_node.py +4 -42
  10. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/node.py +2 -3
  11. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/parameter_extractor/parameter_extractor_node.py +2 -3
  12. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/question_classifier/question_classifier_node.py +2 -3
  13. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/template_transform/template_transform_node.py +2 -3
  14. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/tool/tool_node.py +6 -7
  15. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v1/node.py +2 -2
  16. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v2/node.py +2 -2
  17. {graphon-0.2.1 → graphon-0.2.2}/LICENSE +0 -0
  18. {graphon-0.2.1 → graphon-0.2.2}/README.md +0 -0
  19. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/__init__.py +0 -0
  20. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/__init__.py +0 -0
  21. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/base_node_data.py +0 -0
  22. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/exc.py +0 -0
  23. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/graph_config.py +0 -0
  24. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/graph_init_params.py +0 -0
  25. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/pause_reason.py +0 -0
  26. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/workflow_execution.py +0 -0
  27. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/workflow_node_execution.py +0 -0
  28. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/entities/workflow_start_reason.py +0 -0
  29. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/enums.py +0 -0
  30. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/errors.py +0 -0
  31. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/__init__.py +0 -0
  32. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/constants.py +0 -0
  33. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/enums.py +0 -0
  34. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/file_factory.py +0 -0
  35. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/file_manager.py +0 -0
  36. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/helpers.py +0 -0
  37. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/models.py +0 -0
  38. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/protocols.py +0 -0
  39. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/runtime.py +0 -0
  40. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/file/tool_file_parser.py +0 -0
  41. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph/__init__.py +0 -0
  42. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph/edge.py +0 -0
  43. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph/graph.py +0 -0
  44. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph/graph_template.py +0 -0
  45. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph/validation.py +0 -0
  46. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/__init__.py +0 -0
  47. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/_engine_utils.py +0 -0
  48. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_channels/README.md +0 -0
  49. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_channels/__init__.py +0 -0
  50. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_channels/in_memory_channel.py +0 -0
  51. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_channels/protocol.py +0 -0
  52. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_channels/redis_channel.py +0 -0
  53. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_processing/__init__.py +0 -0
  54. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_processing/command_handlers.py +0 -0
  55. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/command_processing/command_processor.py +0 -0
  56. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/config.py +0 -0
  57. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/domain/__init__.py +0 -0
  58. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/domain/graph_execution.py +0 -0
  59. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/domain/node_execution.py +0 -0
  60. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/entities/__init__.py +0 -0
  61. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/entities/commands.py +0 -0
  62. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/error_handler.py +0 -0
  63. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/event_management/__init__.py +0 -0
  64. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/event_management/event_handlers.py +0 -0
  65. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/event_management/event_manager.py +0 -0
  66. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/graph_engine.py +0 -0
  67. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/graph_state_manager.py +0 -0
  68. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/graph_traversal/__init__.py +0 -0
  69. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/graph_traversal/edge_processor.py +0 -0
  70. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/graph_traversal/skip_propagator.py +0 -0
  71. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/layers/README.md +0 -0
  72. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/layers/__init__.py +0 -0
  73. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/layers/base.py +0 -0
  74. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/layers/debug_logging.py +0 -0
  75. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/layers/execution_limits.py +0 -0
  76. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/manager.py +0 -0
  77. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/orchestration/__init__.py +0 -0
  78. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/orchestration/dispatcher.py +0 -0
  79. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/orchestration/execution_coordinator.py +0 -0
  80. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/ready_queue/__init__.py +0 -0
  81. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/ready_queue/factory.py +0 -0
  82. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/ready_queue/in_memory.py +0 -0
  83. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/ready_queue/protocol.py +0 -0
  84. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/response_coordinator/__init__.py +0 -0
  85. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/response_coordinator/coordinator.py +0 -0
  86. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/response_coordinator/path.py +0 -0
  87. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/response_coordinator/session.py +0 -0
  88. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/worker.py +0 -0
  89. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/worker_management/__init__.py +0 -0
  90. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_engine/worker_management/worker_pool.py +0 -0
  91. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/__init__.py +0 -0
  92. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/agent.py +0 -0
  93. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/base.py +0 -0
  94. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/graph.py +0 -0
  95. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/human_input.py +0 -0
  96. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/iteration.py +0 -0
  97. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/loop.py +0 -0
  98. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/graph_events/node.py +0 -0
  99. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/http/__init__.py +0 -0
  100. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/http/client.py +0 -0
  101. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/http/protocols.py +0 -0
  102. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/http/response.py +0 -0
  103. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/http/runtime.py +0 -0
  104. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/README.md +0 -0
  105. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/README_CN.md +0 -0
  106. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/__init__.py +0 -0
  107. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/callbacks/__init__.py +0 -0
  108. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/callbacks/base_callback.py +0 -0
  109. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/callbacks/logging_callback.py +0 -0
  110. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/__init__.py +0 -0
  111. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/common_entities.py +0 -0
  112. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/defaults.py +0 -0
  113. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/llm_entities.py +0 -0
  114. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/message_entities.py +0 -0
  115. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/model_entities.py +0 -0
  116. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/provider_entities.py +0 -0
  117. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/rerank_entities.py +0 -0
  118. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/entities/text_embedding_entities.py +0 -0
  119. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/errors/__init__.py +0 -0
  120. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/errors/invoke.py +0 -0
  121. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/errors/validate.py +0 -0
  122. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/memory/__init__.py +0 -0
  123. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/memory/prompt_message_memory.py +0 -0
  124. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/__init__.py +0 -0
  125. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/_position.yaml +0 -0
  126. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/__init__.py +0 -0
  127. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/ai_model.py +0 -0
  128. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/large_language_model.py +0 -0
  129. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/moderation_model.py +0 -0
  130. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/rerank_model.py +0 -0
  131. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/speech2text_model.py +0 -0
  132. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/text_embedding_model.py +0 -0
  133. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/tokenizers/__init__.py +0 -0
  134. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/tokenizers/gpt2_tokenizer.py +0 -0
  135. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/base/tts_model.py +0 -0
  136. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/model_providers/model_provider_factory.py +0 -0
  137. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/runtime.py +0 -0
  138. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/schema_validators/__init__.py +0 -0
  139. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/schema_validators/common_validator.py +0 -0
  140. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/schema_validators/model_credential_schema_validator.py +0 -0
  141. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/schema_validators/provider_credential_schema_validator.py +0 -0
  142. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/slim/__init__.py +0 -0
  143. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/slim/config.py +0 -0
  144. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/slim/package_loader.py +0 -0
  145. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/slim/prepared_llm.py +0 -0
  146. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/slim/runtime.py +0 -0
  147. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/utils/__init__.py +0 -0
  148. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/model_runtime/utils/encoders.py +0 -0
  149. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/node_events/__init__.py +0 -0
  150. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/node_events/agent.py +0 -0
  151. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/node_events/base.py +0 -0
  152. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/node_events/iteration.py +0 -0
  153. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/node_events/loop.py +0 -0
  154. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/node_events/node.py +0 -0
  155. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/__init__.py +0 -0
  156. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/answer/__init__.py +0 -0
  157. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/answer/answer_node.py +0 -0
  158. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/answer/entities.py +0 -0
  159. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/base/__init__.py +0 -0
  160. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/base/entities.py +0 -0
  161. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/base/template.py +0 -0
  162. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/base/usage_tracking_mixin.py +0 -0
  163. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/base/variable_template_parser.py +0 -0
  164. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/code/__init__.py +0 -0
  165. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/code/entities.py +0 -0
  166. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/code/exc.py +0 -0
  167. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/code/limits.py +0 -0
  168. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/document_extractor/__init__.py +0 -0
  169. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/document_extractor/entities.py +0 -0
  170. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/document_extractor/exc.py +0 -0
  171. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/end/__init__.py +0 -0
  172. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/end/end_node.py +0 -0
  173. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/end/entities.py +0 -0
  174. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/http_request/__init__.py +0 -0
  175. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/http_request/config.py +0 -0
  176. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/http_request/entities.py +0 -0
  177. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/http_request/exc.py +0 -0
  178. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/http_request/executor.py +0 -0
  179. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/human_input/__init__.py +0 -0
  180. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/human_input/entities.py +0 -0
  181. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/human_input/enums.py +0 -0
  182. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/if_else/__init__.py +0 -0
  183. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/iteration/__init__.py +0 -0
  184. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/iteration/entities.py +0 -0
  185. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/iteration/exc.py +0 -0
  186. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/iteration/iteration_node.py +0 -0
  187. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/iteration/iteration_start_node.py +0 -0
  188. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/list_operator/__init__.py +0 -0
  189. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/list_operator/entities.py +0 -0
  190. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/list_operator/exc.py +0 -0
  191. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/list_operator/node.py +0 -0
  192. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/__init__.py +0 -0
  193. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/entities.py +0 -0
  194. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/exc.py +0 -0
  195. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/file_saver.py +0 -0
  196. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/llm_utils.py +0 -0
  197. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/protocols.py +0 -0
  198. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/llm/runtime_protocols.py +0 -0
  199. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/loop/__init__.py +0 -0
  200. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/loop/entities.py +0 -0
  201. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/loop/loop_end_node.py +0 -0
  202. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/loop/loop_node.py +0 -0
  203. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/loop/loop_start_node.py +0 -0
  204. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/parameter_extractor/__init__.py +0 -0
  205. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/parameter_extractor/entities.py +0 -0
  206. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/parameter_extractor/exc.py +0 -0
  207. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/parameter_extractor/prompts.py +0 -0
  208. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/protocols.py +0 -0
  209. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/question_classifier/__init__.py +0 -0
  210. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/question_classifier/entities.py +0 -0
  211. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/question_classifier/exc.py +0 -0
  212. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/question_classifier/template_prompts.py +0 -0
  213. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/runtime.py +0 -0
  214. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/start/__init__.py +0 -0
  215. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/start/entities.py +0 -0
  216. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/start/start_node.py +0 -0
  217. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/template_transform/__init__.py +0 -0
  218. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/template_transform/entities.py +0 -0
  219. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/tool/__init__.py +0 -0
  220. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/tool/entities.py +0 -0
  221. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/tool/exc.py +0 -0
  222. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/tool_runtime_entities.py +0 -0
  223. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_aggregator/__init__.py +0 -0
  224. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_aggregator/entities.py +0 -0
  225. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_aggregator/variable_aggregator_node.py +0 -0
  226. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/__init__.py +0 -0
  227. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/common/__init__.py +0 -0
  228. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/common/exc.py +0 -0
  229. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/common/helpers.py +0 -0
  230. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v1/__init__.py +0 -0
  231. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v1/node_data.py +0 -0
  232. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v2/__init__.py +0 -0
  233. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v2/entities.py +0 -0
  234. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v2/enums.py +0 -0
  235. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v2/exc.py +0 -0
  236. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/nodes/variable_assigner/v2/helpers.py +0 -0
  237. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/prompt_entities.py +0 -0
  238. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/protocols/__init__.py +0 -0
  239. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/py.typed +0 -0
  240. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/runtime/__init__.py +0 -0
  241. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/runtime/graph_runtime_state.py +0 -0
  242. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/runtime/graph_runtime_state_protocol.py +0 -0
  243. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/runtime/read_only_wrappers.py +0 -0
  244. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/runtime/variable_pool.py +0 -0
  245. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/template_rendering.py +0 -0
  246. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/utils/__init__.py +0 -0
  247. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/utils/condition/__init__.py +0 -0
  248. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/utils/condition/entities.py +0 -0
  249. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/utils/condition/processor.py +0 -0
  250. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/utils/json_in_md_parser.py +0 -0
  251. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variable_loader.py +0 -0
  252. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/__init__.py +0 -0
  253. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/consts.py +0 -0
  254. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/exc.py +0 -0
  255. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/factory.py +0 -0
  256. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/input_entities.py +0 -0
  257. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/segment_group.py +0 -0
  258. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/segments.py +0 -0
  259. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/types.py +0 -0
  260. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/utils.py +0 -0
  261. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/variables/variables.py +0 -0
  262. {graphon-0.2.1 → graphon-0.2.2}/src/graphon/workflow_type_encoder.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphon
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: Graph execution engine for agentic AI workflows.
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = 'graphon'
3
- version = "0.2.1"
3
+ version = "0.2.2"
4
4
  description = 'Graph execution engine for agentic AI workflows.'
5
5
  readme = 'README.md'
6
6
  license = 'Apache-2.0'
@@ -174,6 +174,23 @@ class _NodeRegistryMixin[NodeDataT: BaseNodeData]:
174
174
  class _NodeDataModelMixin[NodeDataT: BaseNodeData]:
175
175
  """Typed node-data hydration helpers."""
176
176
 
177
+ @classmethod
178
+ def node_data_from_mapping(
179
+ cls: type[Node[NodeDataT]],
180
+ node_data: Mapping[str, Any],
181
+ ) -> NodeDataT:
182
+ """Build the concrete node-data instance from a Python mapping.
183
+
184
+ This convenience wrapper keeps direct node construction ergonomic for
185
+ callers that naturally start from plain dictionaries while preserving the
186
+ stricter `Node.__init__(..., config=NodeDataT, ...)` contract.
187
+
188
+ Returns:
189
+ The validated node data instance for the concrete node subclass.
190
+
191
+ """
192
+ return cls.validate_node_data(node_data)
193
+
177
194
  @classmethod
178
195
  def validate_node_data(
179
196
  cls: type[Node[NodeDataT]],
@@ -523,10 +540,15 @@ class Node[NodeDataT: BaseNodeData](
523
540
  def __init__(
524
541
  self,
525
542
  node_id: str,
526
- config: NodeConfigDict,
543
+ config: NodeDataT,
544
+ *,
527
545
  graph_init_params: GraphInitParams,
528
546
  graph_runtime_state: GraphRuntimeState,
529
547
  ) -> None:
548
+ if not node_id:
549
+ msg = "node_id is required"
550
+ raise ValueError(msg)
551
+
530
552
  self._graph_init_params = graph_init_params
531
553
  self._run_context = MappingProxyType(dict(graph_init_params.run_context))
532
554
  self.id = node_id
@@ -536,19 +558,11 @@ class Node[NodeDataT: BaseNodeData](
536
558
  self.graph_runtime_state = graph_runtime_state
537
559
  self.state: NodeState = NodeState.UNKNOWN # node execution state
538
560
 
539
- config_node_id = config["id"]
540
- if node_id != config_node_id:
541
- msg = (
542
- "node_id must match config['id'], "
543
- f"got node_id={node_id!r}, config['id']={config_node_id!r}"
544
- )
545
- raise ValueError(msg)
546
-
547
- self._node_id = config_node_id
561
+ self._node_id = node_id
548
562
  self._node_execution_id: str = ""
549
563
  self._start_at = datetime.now(UTC).replace(tzinfo=None)
550
564
 
551
- self._node_data = self.validate_node_data(config["data"])
565
+ self._node_data = self.validate_node_data(config)
552
566
 
553
567
  self.post_init()
554
568
 
@@ -3,7 +3,6 @@ from decimal import Decimal
3
3
  from textwrap import dedent
4
4
  from typing import TYPE_CHECKING, Any, Protocol, cast, override
5
5
 
6
- from graphon.entities.graph_config import NodeConfigDict
7
6
  from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
8
7
  from graphon.node_events.base import NodeRunResult
9
8
  from graphon.nodes.base.node import Node
@@ -83,10 +82,10 @@ class CodeNode(Node[CodeNodeData]):
83
82
  def __init__(
84
83
  self,
85
84
  node_id: str,
86
- config: NodeConfigDict,
85
+ config: CodeNodeData,
86
+ *,
87
87
  graph_init_params: "GraphInitParams",
88
88
  graph_runtime_state: "GraphRuntimeState",
89
- *,
90
89
  code_executor: WorkflowCodeExecutor,
91
90
  code_limits: CodeNodeLimits,
92
91
  ) -> None:
@@ -21,7 +21,6 @@ from docx.oxml.text.paragraph import CT_P
21
21
  from docx.table import Table
22
22
  from docx.text.paragraph import Paragraph
23
23
 
24
- from graphon.entities.graph_config import NodeConfigDict
25
24
  from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
26
25
  from graphon.file import file_manager
27
26
  from graphon.file.enums import FileTransferMethod
@@ -193,10 +192,10 @@ class DocumentExtractorNode(Node[DocumentExtractorNodeData]):
193
192
  def __init__(
194
193
  self,
195
194
  node_id: str,
196
- config: NodeConfigDict,
195
+ config: DocumentExtractorNodeData,
196
+ *,
197
197
  graph_init_params: "GraphInitParams",
198
198
  graph_runtime_state: "GraphRuntimeState",
199
- *,
200
199
  unstructured_api_config: UnstructuredApiConfig | None = None,
201
200
  http_client: HttpClientProtocol | None = None,
202
201
  ) -> None:
@@ -3,7 +3,6 @@ import mimetypes
3
3
  from collections.abc import Callable, Mapping, Sequence
4
4
  from typing import TYPE_CHECKING, Any, override
5
5
 
6
- from graphon.entities.graph_config import NodeConfigDict
7
6
  from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
8
7
  from graphon.file.enums import FileTransferMethod
9
8
  from graphon.file.models import File
@@ -45,10 +44,10 @@ class HttpRequestNode(Node[HttpRequestNodeData]):
45
44
  def __init__(
46
45
  self,
47
46
  node_id: str,
48
- config: NodeConfigDict,
47
+ config: HttpRequestNodeData,
48
+ *,
49
49
  graph_init_params: "GraphInitParams",
50
50
  graph_runtime_state: "GraphRuntimeState",
51
- *,
52
51
  http_request_config: HttpRequestNodeConfig,
53
52
  http_client: HttpClientProtocol | None = None,
54
53
  tool_file_manager_factory: Callable[[], ToolFileManagerProtocol],
@@ -4,7 +4,6 @@ from collections.abc import Generator, Mapping, Sequence
4
4
  from datetime import UTC, datetime
5
5
  from typing import TYPE_CHECKING, Any, override
6
6
 
7
- from graphon.entities.graph_config import NodeConfigDict
8
7
  from graphon.entities.pause_reason import HumanInputRequired
9
8
  from graphon.enums import (
10
9
  BuiltinNodeTypes,
@@ -64,10 +63,14 @@ class HumanInputNode(Node[HumanInputNodeData]):
64
63
  def __init__(
65
64
  self,
66
65
  node_id: str,
67
- config: NodeConfigDict,
66
+ config: HumanInputNodeData,
67
+ *,
68
68
  graph_init_params: "GraphInitParams",
69
69
  graph_runtime_state: "GraphRuntimeState",
70
- runtime: HumanInputNodeRuntimeProtocol | None = None,
70
+ # TODO @-LAN: See https://github.com/langgenius/graphon/issues/new/choose. # noqa: FIX002
71
+ # Make `runtime` optional once Graphon provides a default human-input
72
+ # runtime adapter instead of requiring an embedding-specific implementation.
73
+ runtime: HumanInputNodeRuntimeProtocol,
71
74
  form_repository: object | None = None,
72
75
  ) -> None:
73
76
  super().__init__(
@@ -76,13 +79,9 @@ class HumanInputNode(Node[HumanInputNodeData]):
76
79
  graph_init_params=graph_init_params,
77
80
  graph_runtime_state=graph_runtime_state,
78
81
  )
79
- resolved_runtime = runtime
80
- if resolved_runtime is None:
81
- msg = "runtime is required"
82
- raise ValueError(msg)
83
82
  if form_repository is not None:
84
83
  with_form_repository = getattr(
85
- resolved_runtime,
84
+ runtime,
86
85
  "with_form_repository",
87
86
  None,
88
87
  )
@@ -91,8 +90,8 @@ class HumanInputNode(Node[HumanInputNodeData]):
91
90
  if not isinstance(updated_runtime, HumanInputNodeRuntimeProtocol):
92
91
  msg = "with_form_repository() must return a HumanInput runtime"
93
92
  raise TypeError(msg)
94
- resolved_runtime = updated_runtime
95
- self._runtime: HumanInputNodeRuntimeProtocol = resolved_runtime
93
+ runtime = updated_runtime
94
+ self._runtime: HumanInputNodeRuntimeProtocol = runtime
96
95
 
97
96
  @classmethod
98
97
  @override
@@ -25,7 +25,7 @@ class IfElseNodeData(BaseNodeData):
25
25
  cases: list[Case] | None = None
26
26
 
27
27
  def iter_cases(self) -> list[Case]:
28
- if self.cases:
28
+ if self.cases is not None:
29
29
  return list(self.cases)
30
30
  legacy_conditions = self.__dict__.get("conditions") or []
31
31
  return [
@@ -1,7 +1,5 @@
1
1
  from collections.abc import Mapping, Sequence
2
- from typing import Any, Literal, override
3
-
4
- from typing_extensions import deprecated
2
+ from typing import Any, override
5
3
 
6
4
  from graphon.enums import (
7
5
  BuiltinNodeTypes,
@@ -11,9 +9,7 @@ from graphon.enums import (
11
9
  from graphon.node_events.base import NodeRunResult
12
10
  from graphon.nodes.base.node import Node
13
11
  from graphon.nodes.if_else.entities import IfElseNodeData
14
- from graphon.runtime.variable_pool import VariablePool
15
- from graphon.utils.condition.entities import Condition
16
- from graphon.utils.condition.processor import ConditionCheckResult, ConditionProcessor
12
+ from graphon.utils.condition.processor import ConditionProcessor
17
13
 
18
14
 
19
15
  class IfElseNode(Node[IfElseNodeData]):
@@ -37,7 +33,7 @@ class IfElseNode(Node[IfElseNodeData]):
37
33
  selected_case_id = "false"
38
34
  condition_processor = ConditionProcessor()
39
35
  try:
40
- uses_legacy_shape = not self.node_data.cases
36
+ uses_legacy_shape = self.node_data.cases is None
41
37
  for case in self.node_data.iter_cases():
42
38
  input_conditions, group_result, final_result = (
43
39
  condition_processor.process_conditions(
@@ -58,25 +54,6 @@ class IfElseNode(Node[IfElseNodeData]):
58
54
  selected_case_id = "true" if uses_legacy_shape else case.case_id
59
55
  break
60
56
 
61
- else:
62
- # Keep the legacy fallback until all graph definitions use `cases`.
63
- input_conditions, group_result, final_result = (
64
- _should_not_use_old_function(
65
- condition_processor=condition_processor,
66
- variable_pool=self.graph_runtime_state.variable_pool,
67
- conditions=self.node_data.conditions or [],
68
- operator=self.node_data.logical_operator or "and",
69
- )
70
- )
71
-
72
- selected_case_id = "true" if final_result else "false"
73
-
74
- process_data["condition_results"].append({
75
- "group": "default",
76
- "results": group_result,
77
- "final_result": final_result,
78
- })
79
-
80
57
  node_inputs["conditions"] = input_conditions
81
58
 
82
59
  except (TypeError, ValueError) as e:
@@ -93,7 +70,7 @@ class IfElseNode(Node[IfElseNodeData]):
93
70
  status=WorkflowNodeExecutionStatus.SUCCEEDED,
94
71
  inputs=node_inputs,
95
72
  process_data=process_data,
96
- edge_source_handle=selected_case_id or "false", # Use case ID or 'default'
73
+ edge_source_handle=selected_case_id or "false",
97
74
  outputs=outputs,
98
75
  )
99
76
 
@@ -114,18 +91,3 @@ class IfElseNode(Node[IfElseNodeData]):
114
91
  var_mapping[key] = condition.variable_selector
115
92
 
116
93
  return var_mapping
117
-
118
-
119
- @deprecated("This function is deprecated. You should use the new cases structure.")
120
- def _should_not_use_old_function(
121
- *,
122
- condition_processor: ConditionProcessor,
123
- variable_pool: VariablePool,
124
- conditions: list[Condition],
125
- operator: Literal["and", "or"],
126
- ) -> ConditionCheckResult:
127
- return condition_processor.process_conditions(
128
- variable_pool=variable_pool,
129
- conditions=conditions,
130
- operator=operator,
131
- )
@@ -10,7 +10,6 @@ from collections.abc import Generator, Mapping, Sequence
10
10
  from dataclasses import dataclass, field
11
11
  from typing import TYPE_CHECKING, Any, Literal, override
12
12
 
13
- from graphon.entities.graph_config import NodeConfigDict
14
13
  from graphon.entities.graph_init_params import GraphInitParams
15
14
  from graphon.enums import (
16
15
  BuiltinNodeTypes,
@@ -132,10 +131,10 @@ class LLMNode(Node[LLMNodeData]):
132
131
  def __init__(
133
132
  self,
134
133
  node_id: str,
135
- config: NodeConfigDict,
134
+ config: LLMNodeData,
135
+ *,
136
136
  graph_init_params: GraphInitParams,
137
137
  graph_runtime_state: GraphRuntimeState,
138
- *,
139
138
  credentials_provider: object | None = None,
140
139
  model_factory: object | None = None,
141
140
  model_instance: PreparedLLMProtocol,
@@ -6,7 +6,6 @@ from collections.abc import Mapping, Sequence
6
6
  from dataclasses import dataclass
7
7
  from typing import TYPE_CHECKING, Any, override
8
8
 
9
- from graphon.entities.graph_config import NodeConfigDict
10
9
  from graphon.enums import (
11
10
  BuiltinNodeTypes,
12
11
  WorkflowNodeExecutionMetadataKey,
@@ -139,10 +138,10 @@ class ParameterExtractorNode(Node[ParameterExtractorNodeData]):
139
138
  def __init__(
140
139
  self,
141
140
  node_id: str,
142
- config: NodeConfigDict,
141
+ config: ParameterExtractorNodeData,
142
+ *,
143
143
  graph_init_params: "GraphInitParams",
144
144
  graph_runtime_state: "GraphRuntimeState",
145
- *,
146
145
  credentials_provider: object | None = None,
147
146
  model_factory: object | None = None,
148
147
  model_instance: PreparedLLMProtocol,
@@ -4,7 +4,6 @@ from collections.abc import Mapping, Sequence
4
4
  from dataclasses import dataclass
5
5
  from typing import TYPE_CHECKING, Any, override
6
6
 
7
- from graphon.entities.graph_config import NodeConfigDict
8
7
  from graphon.entities.graph_init_params import GraphInitParams
9
8
  from graphon.enums import (
10
9
  BuiltinNodeTypes,
@@ -87,10 +86,10 @@ class QuestionClassifierNode(Node[QuestionClassifierNodeData]):
87
86
  def __init__(
88
87
  self,
89
88
  node_id: str,
90
- config: NodeConfigDict,
89
+ config: QuestionClassifierNodeData,
90
+ *,
91
91
  graph_init_params: "GraphInitParams",
92
92
  graph_runtime_state: "GraphRuntimeState",
93
- *,
94
93
  credentials_provider: object | None = None,
95
94
  model_factory: object | None = None,
96
95
  model_instance: PreparedLLMProtocol,
@@ -1,7 +1,6 @@
1
1
  from collections.abc import Mapping, Sequence
2
2
  from typing import TYPE_CHECKING, Any, cast, override
3
3
 
4
- from graphon.entities.graph_config import NodeConfigDict
5
4
  from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
6
5
  from graphon.node_events.base import NodeRunResult
7
6
  from graphon.nodes.base.entities import VariableSelector
@@ -28,10 +27,10 @@ class TemplateTransformNode(Node[TemplateTransformNodeData]):
28
27
  def __init__(
29
28
  self,
30
29
  node_id: str,
31
- config: NodeConfigDict,
30
+ config: TemplateTransformNodeData,
31
+ *,
32
32
  graph_init_params: "GraphInitParams",
33
33
  graph_runtime_state: "GraphRuntimeState",
34
- *,
35
34
  jinja2_template_renderer: Jinja2TemplateRenderer,
36
35
  max_output_length: int | None = None,
37
36
  ) -> None:
@@ -2,7 +2,6 @@ from collections.abc import Generator, Mapping, Sequence
2
2
  from dataclasses import dataclass, field
3
3
  from typing import TYPE_CHECKING, Any, override
4
4
 
5
- from graphon.entities.graph_config import NodeConfigDict
6
5
  from graphon.enums import (
7
6
  BuiltinNodeTypes,
8
7
  WorkflowNodeExecutionMetadataKey,
@@ -61,12 +60,15 @@ class ToolNode(Node[ToolNodeData]):
61
60
  def __init__(
62
61
  self,
63
62
  node_id: str,
64
- config: NodeConfigDict,
63
+ config: ToolNodeData,
64
+ *,
65
65
  graph_init_params: "GraphInitParams",
66
66
  graph_runtime_state: "GraphRuntimeState",
67
- *,
68
67
  tool_file_manager_factory: ToolFileManagerProtocol,
69
- runtime: ToolNodeRuntimeProtocol | None = None,
68
+ # TODO @-LAN: See https://github.com/langgenius/graphon/issues/new/choose. # noqa: FIX002
69
+ # Make `runtime` optional once Graphon provides a default tool runtime
70
+ # adapter at the workflow boundary.
71
+ runtime: ToolNodeRuntimeProtocol,
70
72
  ) -> None:
71
73
  super().__init__(
72
74
  node_id=node_id,
@@ -75,9 +77,6 @@ class ToolNode(Node[ToolNodeData]):
75
77
  graph_runtime_state=graph_runtime_state,
76
78
  )
77
79
  self._tool_file_manager_factory = tool_file_manager_factory
78
- if runtime is None:
79
- msg = "runtime is required"
80
- raise ValueError(msg)
81
80
  self._runtime = runtime
82
81
 
83
82
  def init_tool_runtime(
@@ -1,7 +1,6 @@
1
1
  from collections.abc import Generator, Mapping, Sequence
2
2
  from typing import TYPE_CHECKING, Any, cast, override
3
3
 
4
- from graphon.entities.graph_config import NodeConfigDict
5
4
  from graphon.entities.graph_init_params import GraphInitParams
6
5
  from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
7
6
  from graphon.node_events.base import (
@@ -34,7 +33,8 @@ class VariableAssignerNode(Node[VariableAssignerData]):
34
33
  def __init__(
35
34
  self,
36
35
  node_id: str,
37
- config: NodeConfigDict,
36
+ config: VariableAssignerData,
37
+ *,
38
38
  graph_init_params: "GraphInitParams",
39
39
  graph_runtime_state: "GraphRuntimeState",
40
40
  ) -> None:
@@ -2,7 +2,6 @@ import json
2
2
  from collections.abc import Generator, Mapping, MutableMapping, Sequence
3
3
  from typing import TYPE_CHECKING, Any, cast, override
4
4
 
5
- from graphon.entities.graph_config import NodeConfigDict
6
5
  from graphon.enums import BuiltinNodeTypes, WorkflowNodeExecutionStatus
7
6
  from graphon.node_events.base import (
8
7
  NodeEventBase,
@@ -84,7 +83,8 @@ class VariableAssignerNode(Node[VariableAssignerNodeData]):
84
83
  def __init__(
85
84
  self,
86
85
  node_id: str,
87
- config: NodeConfigDict,
86
+ config: VariableAssignerNodeData,
87
+ *,
88
88
  graph_init_params: "GraphInitParams",
89
89
  graph_runtime_state: "GraphRuntimeState",
90
90
  ) -> None:
File without changes
File without changes
File without changes
File without changes
File without changes