hexdag 0.7.0.dev5__tar.gz → 0.7.0.dev6__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 (333) hide show
  1. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/PKG-INFO +50 -53
  2. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/README.md +49 -52
  3. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/__init__.py +16 -4
  4. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/components.py +9 -15
  5. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/execution.py +4 -4
  6. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/export.py +1 -1
  7. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/validation.py +5 -5
  8. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/build_cmd.py +1 -1
  9. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/init_cmd.py +40 -66
  10. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/lint_cmd.py +1 -1
  11. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/validate_cmd.py +5 -5
  12. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/__init__.py +19 -2
  13. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/component_instantiator.py +17 -20
  14. hexdag-0.7.0.dev5/hexdag/kernel/config/loader.py → hexdag-0.7.0.dev6/hexdag/compiler/config_loader.py +174 -70
  15. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/include_tag.py +3 -9
  16. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/plugins/__init__.py +6 -3
  17. hexdag-0.7.0.dev6/hexdag/compiler/plugins/config_definition.py +69 -0
  18. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/plugins/macro_definition.py +12 -6
  19. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/plugins/macro_entity.py +47 -10
  20. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/plugins/node_entity.py +55 -4
  21. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/preprocessing/__init__.py +3 -3
  22. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/preprocessing/env_vars.py +3 -3
  23. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/preprocessing/include.py +2 -4
  24. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/preprocessing/template.py +2 -3
  25. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/py_tag.py +3 -9
  26. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/tag_discovery.py +7 -7
  27. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/yaml_builder.py +67 -42
  28. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/yaml_validator.py +36 -7
  29. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/docs/extractors.py +1 -1
  30. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/docs/generators.py +337 -2
  31. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/executors/local_executor.py +8 -8
  32. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/http_client/http_client.py +37 -24
  33. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/observer_manager/local.py +37 -5
  34. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/pipeline_spawner/local.py +2 -2
  35. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/vfs/local.py +53 -0
  36. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/vfs/providers/proc_entities_provider.py +2 -2
  37. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/__init__.py +2 -0
  38. hexdag-0.7.0.dev6/hexdag/kernel/config/__init__.py +34 -0
  39. hexdag-0.7.0.dev6/hexdag/kernel/config/loader.py +35 -0
  40. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/config/models.py +68 -0
  41. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/configurable.py +5 -3
  42. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/discovery.py +8 -13
  43. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/domain/dag.py +89 -73
  44. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/domain/entity_state.py +28 -6
  45. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/domain/pipeline_run.py +13 -0
  46. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/domain/scheduled_task.py +14 -0
  47. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/exceptions.py +190 -0
  48. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/expression_parser.py +2 -11
  49. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/linting/models.py +16 -1
  50. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/linting/pipeline_rules.py +3 -5
  51. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/body_executor.py +12 -16
  52. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/adapter_lifecycle_manager.py +3 -3
  53. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/checkpoint_manager.py +3 -3
  54. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/execution_coordinator.py +7 -9
  55. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/health_check_manager.py +4 -4
  56. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/lifecycle_manager.py +35 -39
  57. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/node_executor.py +4 -18
  58. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/secret_manager.py +8 -6
  59. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/decorators.py +12 -7
  60. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/observers/core_observers.py +4 -4
  61. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/hooks.py +24 -35
  62. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/orchestrator.py +30 -22
  63. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/orchestrator_factory.py +7 -4
  64. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/port_wrappers.py +4 -3
  65. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/prompt/template.py +4 -10
  66. hexdag-0.7.0.dev6/hexdag/kernel/pipeline_builder/__init__.py +34 -0
  67. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/pipeline_runner.py +6 -10
  68. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/__init__.py +2 -0
  69. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/data_store.py +74 -0
  70. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/detection.py +31 -11
  71. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/llm.py +12 -7
  72. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/secret.py +4 -4
  73. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/tool_router.py +3 -6
  74. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports_builder.py +4 -2
  75. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/protocols.py +3 -4
  76. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/resolver.py +14 -18
  77. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/schema/generator.py +80 -5
  78. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/secrets.py +15 -12
  79. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/types.py +4 -4
  80. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/utils/schema_conversion.py +7 -3
  81. hexdag-0.7.0.dev6/hexdag/kernel/utils/serialization.py +42 -0
  82. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/utils/sql_validation.py +3 -2
  83. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/validation/sanitized_types.py +7 -3
  84. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/validation/secure_json.py +19 -9
  85. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/yaml_macro.py +44 -26
  86. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/mcp_server.py +23 -19
  87. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/anthropic/anthropic_adapter.py +1 -1
  88. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/database/csv/csv_adapter.py +3 -2
  89. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/database/pgvector/pgvector_adapter.py +5 -4
  90. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/database/sqlalchemy/sqlalchemy_adapter.py +2 -2
  91. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/database/sqlite/sqlite_adapter.py +7 -6
  92. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/memory/__init__.py +2 -0
  93. hexdag-0.7.0.dev6/hexdag/stdlib/adapters/memory/collection_memory.py +54 -0
  94. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/memory/file_memory_adapter.py +9 -9
  95. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/memory/in_memory_memory.py +5 -3
  96. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/memory/session_memory.py +2 -2
  97. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/memory/sqlite_memory_adapter.py +10 -11
  98. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/memory/state_memory.py +2 -2
  99. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/mock/mock_database.py +2 -2
  100. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/mock/mock_embedding.py +3 -1
  101. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/mock/mock_llm.py +9 -3
  102. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/openai/openai_adapter.py +11 -10
  103. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/secret/local_secret_adapter.py +12 -8
  104. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib/__init__.py +2 -0
  105. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib/entity_state.py +146 -42
  106. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib/process_registry.py +59 -8
  107. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib/process_registry_observer.py +12 -12
  108. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib/scheduler.py +98 -6
  109. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/macros/__init__.py +0 -3
  110. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/macros/conversation_agent.py +15 -13
  111. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/macros/reasoning_agent.py +5 -3
  112. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/__init__.py +2 -0
  113. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/_discovery.py +2 -3
  114. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/agent_node.py +3 -5
  115. hexdag-0.7.0.dev6/hexdag/stdlib/nodes/api_call_node.py +339 -0
  116. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/composite_node.py +2 -2
  117. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/function_node.py +1 -11
  118. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/llm_node.py +5 -39
  119. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/port_call_node.py +1 -1
  120. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/tool_call_node.py +3 -6
  121. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/prompts/tool_prompts.py +3 -9
  122. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/routes/execute.py +2 -2
  123. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/routes/export.py +1 -1
  124. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/routes/validate.py +1 -1
  125. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/examples/01_simple_pandas_transform.py +1 -1
  126. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/examples/02_simple_pandas_only.py +1 -1
  127. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/examples/test_pandas_transform.py +1 -1
  128. hexdag-0.7.0.dev6/hexdag_plugins/storage/adapters/sql/__init__.py +8 -0
  129. hexdag-0.7.0.dev6/hexdag_plugins/storage/adapters/sql/collection_storage.py +155 -0
  130. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/pyproject.toml +2 -2
  131. hexdag-0.7.0.dev5/hexdag/kernel/config/__init__.py +0 -20
  132. hexdag-0.7.0.dev5/hexdag/stdlib/macros/tool_macro.py +0 -380
  133. hexdag-0.7.0.dev5/hexdag_plugins/storage/adapters/sql/__init__.py +0 -7
  134. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/.gitignore +0 -0
  135. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/LICENSE +0 -0
  136. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/__main__.py +0 -0
  137. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/__init__.py +0 -0
  138. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/documentation.py +0 -0
  139. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/pipeline.py +0 -0
  140. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/processes.py +0 -0
  141. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/api/vfs.py +0 -0
  142. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/__init__.py +0 -0
  143. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/__main__.py +0 -0
  144. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/__init__.py +0 -0
  145. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/create_cmd.py +0 -0
  146. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/docs_cmd.py +0 -0
  147. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/generate_types_cmd.py +0 -0
  148. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/pipeline_cmd.py +0 -0
  149. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/plugin_dev_cmd.py +0 -0
  150. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/plugins_cmd.py +0 -0
  151. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/commands/studio_cmd.py +0 -0
  152. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/cli/main.py +0 -0
  153. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/pipeline_config.py +0 -0
  154. {hexdag-0.7.0.dev5/hexdag/kernel/pipeline_builder → hexdag-0.7.0.dev6/hexdag/compiler}/preprocessing/_type_guards.py +0 -0
  155. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/docs/__init__.py +0 -0
  156. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/docs/models.py +0 -0
  157. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/executors/__init__.py +0 -0
  158. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/http_client/__init__.py +0 -0
  159. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/observer_manager/__init__.py +0 -0
  160. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/pipeline_spawner/__init__.py +0 -0
  161. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/vfs/__init__.py +0 -0
  162. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/vfs/providers/__init__.py +0 -0
  163. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/vfs/providers/lib_provider.py +0 -0
  164. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/vfs/providers/proc_runs_provider.py +0 -0
  165. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/drivers/vfs/providers/proc_scheduled_provider.py +0 -0
  166. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/context/__init__.py +0 -0
  167. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/context/execution_context.py +0 -0
  168. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/domain/__init__.py +0 -0
  169. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/domain/agent_tools.py +0 -0
  170. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/domain/vfs.py +0 -0
  171. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/lib_base.py +0 -0
  172. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/linting/__init__.py +0 -0
  173. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/linting/rules.py +0 -0
  174. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/logging.py +0 -0
  175. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/models/__init__.py +0 -0
  176. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/models/base.py +0 -0
  177. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/__init__.py +0 -0
  178. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/__init__.py +0 -0
  179. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/components/input_mapper.py +0 -0
  180. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/constants.py +0 -0
  181. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/README.md +0 -0
  182. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/__init__.py +0 -0
  183. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/batching.py +0 -0
  184. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/events.py +0 -0
  185. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/observers/__init__.py +0 -0
  186. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/observers/cost_profiler.py +0 -0
  187. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/events/observers/models.py +0 -0
  188. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/hook_context.py +0 -0
  189. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/models.py +0 -0
  190. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/orchestration/prompt/__init__.py +0 -0
  191. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/api_call.py +0 -0
  192. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/database.py +0 -0
  193. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/executor.py +0 -0
  194. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/file_storage.py +0 -0
  195. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/healthcheck.py +0 -0
  196. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/memory.py +0 -0
  197. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/observer_manager.py +0 -0
  198. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/pipeline_spawner.py +0 -0
  199. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/vector_search.py +0 -0
  200. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/ports/vfs.py +0 -0
  201. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/schema/__init__.py +0 -0
  202. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/utils/async_warnings.py +0 -0
  203. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/utils/caching.py +0 -0
  204. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/utils/input_normalization.py +0 -0
  205. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/utils/node_timer.py +0 -0
  206. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/validation/__init__.py +0 -0
  207. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/kernel/validation/retry.py +0 -0
  208. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/py.typed +0 -0
  209. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/__init__.py +0 -0
  210. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/__init__.py +0 -0
  211. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/_discovery.py +0 -0
  212. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/anthropic/__init__.py +0 -0
  213. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/database/__init__.py +0 -0
  214. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/database/pgvector/__init__.py +0 -0
  215. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/database/sqlite/__init__.py +0 -0
  216. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/local/README.md +0 -0
  217. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/local/__init__.py +0 -0
  218. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/memory/schemas.py +0 -0
  219. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/mock/README.md +0 -0
  220. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/mock/__init__.py +0 -0
  221. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/mock/hexdag.toml +0 -0
  222. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/mock/mock_http.py +0 -0
  223. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/openai/__init__.py +0 -0
  224. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/adapters/secret/__init__.py +0 -0
  225. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib/database_tools.py +0 -0
  226. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib/vfs_tools.py +0 -0
  227. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/lib_base.py +0 -0
  228. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/macros/_discovery.py +0 -0
  229. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/macros/llm_macro.py +0 -0
  230. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/base_node_factory.py +0 -0
  231. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/data_node.py +0 -0
  232. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/expression_node.py +0 -0
  233. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/mapped_input.py +0 -0
  234. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/nodes/tool_utils.py +0 -0
  235. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/prompts/__init__.py +0 -0
  236. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/prompts/base.py +0 -0
  237. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/prompts/chat_prompts.py +0 -0
  238. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/stdlib/prompts/error_correction_prompts.py +0 -0
  239. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/__init__.py +0 -0
  240. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/build_ui.py +0 -0
  241. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/__init__.py +0 -0
  242. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/main.py +0 -0
  243. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/routes/__init__.py +0 -0
  244. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/routes/files.py +0 -0
  245. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/server/routes/plugins.py +0 -0
  246. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/index.html +0 -0
  247. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/package-lock.json +0 -0
  248. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/package.json +0 -0
  249. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/postcss.config.js +0 -0
  250. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/public/hexdag.svg +0 -0
  251. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/App.tsx +0 -0
  252. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/Canvas.tsx +0 -0
  253. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/ContextMenu.tsx +0 -0
  254. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/FileBrowser.tsx +0 -0
  255. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/Header.tsx +0 -0
  256. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/HexdagNode.tsx +0 -0
  257. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/NodeInspector.tsx +0 -0
  258. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/NodePalette.tsx +0 -0
  259. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/NodePortsSection.tsx +0 -0
  260. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/PluginManager.tsx +0 -0
  261. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/PortsEditor.tsx +0 -0
  262. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/PythonEditor.tsx +0 -0
  263. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/ValidationPanel.tsx +0 -0
  264. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/YamlEditor.tsx +0 -0
  265. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/components/index.ts +0 -0
  266. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/index.css +0 -0
  267. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/lib/api.ts +0 -0
  268. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/lib/nodeTemplates.ts +0 -0
  269. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/lib/store.ts +0 -0
  270. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/main.tsx +0 -0
  271. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/types/index.ts +0 -0
  272. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/src/vite-env.d.ts +0 -0
  273. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/tailwind.config.js +0 -0
  274. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/tsconfig.json +0 -0
  275. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/tsconfig.node.json +0 -0
  276. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag/studio/ui/vite.config.ts +0 -0
  277. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/.gitignore +0 -0
  278. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/README.md +0 -0
  279. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/__init__.py +0 -0
  280. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/LICENSE +0 -0
  281. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/README.md +0 -0
  282. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/__init__.py +0 -0
  283. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/adapters/__init__.py +0 -0
  284. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/adapters/blob.py +0 -0
  285. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/adapters/cosmos.py +0 -0
  286. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/adapters/keyvault.py +0 -0
  287. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/adapters/openai.py +0 -0
  288. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/pyproject.toml +0 -0
  289. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/tests/__init__.py +0 -0
  290. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/tests/test_azure_blob_adapter.py +0 -0
  291. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/tests/test_azure_cosmos_adapter.py +0 -0
  292. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/tests/test_azure_keyvault_adapter.py +0 -0
  293. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/azure/tests/test_azure_openai_adapter.py +0 -0
  294. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/README.md +0 -0
  295. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/__init__.py +0 -0
  296. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/examples/03_file_io_pipeline.py +0 -0
  297. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag.toml +0 -0
  298. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag_etl/__init__.py +0 -0
  299. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag_etl/nodes/__init__.py +0 -0
  300. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag_etl/nodes/api_extract.py +0 -0
  301. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag_etl/nodes/base_node_factory.py +0 -0
  302. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag_etl/nodes/file_io.py +0 -0
  303. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag_etl/nodes/pandas_transform.py +0 -0
  304. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/hexdag_etl/nodes/sql_extract_load.py +0 -0
  305. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/pyproject.toml +0 -0
  306. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/test_transform.py +0 -0
  307. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/hexdag_etl/tests/test_plugin_integration.py +0 -0
  308. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/LICENSE +0 -0
  309. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/README.md +0 -0
  310. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/__init__.py +0 -0
  311. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/adapters/__init__.py +0 -0
  312. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/adapters/mysql.py +0 -0
  313. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/mysql_adapter.py +0 -0
  314. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/pyproject.toml +0 -0
  315. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/mysql_adapter/tests/test_mysql_adapter.py +0 -0
  316. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/pyproject.toml +0 -0
  317. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/README.md +0 -0
  318. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/__init__.py +0 -0
  319. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/__init__.py +0 -0
  320. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/file/__init__.py +0 -0
  321. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/file/local.py +0 -0
  322. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/sql/base.py +0 -0
  323. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/sql/mysql.py +0 -0
  324. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/sql/postgresql.py +0 -0
  325. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/vector/__init__.py +0 -0
  326. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/vector/chromadb.py +0 -0
  327. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/vector/in_memory.py +0 -0
  328. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/adapters/vector/pgvector.py +0 -0
  329. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/ports/__init__.py +0 -0
  330. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/ports/vector_store.py +0 -0
  331. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/tests/__init__.py +0 -0
  332. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/tests/test_local_file_storage.py +0 -0
  333. {hexdag-0.7.0.dev5 → hexdag-0.7.0.dev6}/hexdag_plugins/storage/tests/test_sql_adapters.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hexdag
3
- Version: 0.7.0.dev5
3
+ Version: 0.7.0.dev6
4
4
  Summary: Lightweight DAG orchestration framework with enterprise pipeline capabilities
5
5
  Project-URL: Homepage, https://hexdag.ai
6
6
  Project-URL: Repository, https://github.com/omniviser/hexdag
@@ -102,18 +102,18 @@ infrastructure dependency without touching business logic.
102
102
 
103
103
  ## The OS Analogy
104
104
 
105
- | Linux | hexDAG | Purpose |
106
- |-------|--------|---------|
107
- | Kernel | `kernel/` | Core execution engine, system call interfaces (Protocols), domain models |
108
- | System calls | `kernel/ports/` | Contracts for external capabilities (LLM, Memory, Database, etc.) |
109
- | Drivers | `drivers/` | Low-level infrastructure (executor, observer manager, pipeline spawner) |
110
- | `/lib` | `stdlib/` | Standard library -- built-in nodes, adapters, macros, system libs |
111
- | Processes | Pipeline runs | Tracked by `ProcessRegistry` (like `ps`) |
112
- | `fork`/`exec` | `PipelineSpawner` | Launch sub-pipelines from within a running pipeline |
113
- | Process scheduler | `Scheduler` | Delayed and recurring pipeline execution |
114
- | State machines | `EntityState` | Business entity lifecycle management |
115
- | `/usr/bin` | `api/` | User-facing tools (MCP + Studio REST) |
116
- | Shell | `cli/` | Command-line interface (`hexdag init`, `hexdag lint`, etc.) |
105
+ | Linux | hexDAG | Purpose |
106
+ | ----------------- | ----------------- | ------------------------------------------------------------------------ |
107
+ | Kernel | `kernel/` | Core execution engine, system call interfaces (Protocols), domain models |
108
+ | System calls | `kernel/ports/` | Contracts for external capabilities (LLM, Memory, Database, etc.) |
109
+ | Drivers | `drivers/` | Low-level infrastructure (executor, observer manager, pipeline spawner) |
110
+ | `/lib` | `stdlib/` | Standard library -- built-in nodes, adapters, macros, system libs |
111
+ | Processes | Pipeline runs | Tracked by `ProcessRegistry` (like `ps`) |
112
+ | `fork`/`exec` | `PipelineSpawner` | Launch sub-pipelines from within a running pipeline |
113
+ | Process scheduler | `Scheduler` | Delayed and recurring pipeline execution |
114
+ | State machines | `EntityState` | Business entity lifecycle management |
115
+ | `/usr/bin` | `api/` | User-facing tools (MCP + Studio REST) |
116
+ | Shell | `cli/` | Command-line interface (`hexdag init`, `hexdag lint`, etc.) |
117
117
 
118
118
  ---
119
119
 
@@ -248,14 +248,14 @@ When adding something new:
248
248
 
249
249
  All framework entities follow one pattern: **kernel defines contract, stdlib ships builtins, users write their own.**
250
250
 
251
- | Entity | Kernel Contract | Stdlib Builtins | User Custom |
252
- |--------|----------------|-----------------|-------------|
253
- | Ports | `kernel/ports/llm.py` | -- | `myapp.ports.X` |
254
- | Adapters | Protocol in `kernel/ports/` | `stdlib/adapters/openai/` | `myapp.adapters.X` |
255
- | Nodes | `NodeSpec` + `BaseNodeFactory` | `LLMNode`, `AgentNode`, `FunctionNode` | `myapp.nodes.X` |
256
- | Macros | (convention) | `ReasoningAgent`, `ConversationAgent` | `myapp.macros.X` |
257
- | Prompts | (convention) | `tool_prompts`, `error_correction` | `myapp.prompts.X` |
258
- | Libs | `HexDAGLib` base class | `ProcessRegistry`, `EntityState`, `Scheduler` | `myapp.lib.X` |
251
+ | Entity | Kernel Contract | Stdlib Builtins | User Custom |
252
+ | -------- | ------------------------------ | --------------------------------------------- | ------------------ |
253
+ | Ports | `kernel/ports/llm.py` | -- | `myapp.ports.X` |
254
+ | Adapters | Protocol in `kernel/ports/` | `stdlib/adapters/openai/` | `myapp.adapters.X` |
255
+ | Nodes | `NodeSpec` + `BaseNodeFactory` | `LLMNode`, `AgentNode`, `FunctionNode` | `myapp.nodes.X` |
256
+ | Macros | (convention) | `ReasoningAgent`, `ConversationAgent` | `myapp.macros.X` |
257
+ | Prompts | (convention) | `tool_prompts`, `error_correction` | `myapp.prompts.X` |
258
+ | Libs | `HexDAGLib` base class | `ProcessRegistry`, `EntityState`, `Scheduler` | `myapp.lib.X` |
259
259
 
260
260
  Components are referenced by full Python module path in YAML:
261
261
 
@@ -273,12 +273,12 @@ nodes:
273
273
  Libs are system-level capabilities for multi-pipeline coordination. Every public async
274
274
  method on a `HexDAGLib` subclass auto-becomes an agent-callable tool.
275
275
 
276
- | Lib | Linux Analogy | Purpose |
277
- |-----|--------------|---------|
278
- | **ProcessRegistry** | `ps` | Track pipeline runs -- status, duration, results, parent/child relationships |
279
- | **EntityState** | State machines | Declarative state machines for business entities with validated transitions and audit trails |
280
- | **Scheduler** | `cron` / `at` | Delayed and recurring pipeline execution via asyncio timers |
281
- | **DatabaseTools** | `sqlite3` CLI | Agent-callable SQL query tools wrapping any `SupportsQuery` adapter |
276
+ | Lib | Linux Analogy | Purpose |
277
+ | ------------------- | -------------- | -------------------------------------------------------------------------------------------- |
278
+ | **ProcessRegistry** | `ps` | Track pipeline runs -- status, duration, results, parent/child relationships |
279
+ | **EntityState** | State machines | Declarative state machines for business entities with validated transitions and audit trails |
280
+ | **Scheduler** | `cron` / `at` | Delayed and recurring pipeline execution via asyncio timers |
281
+ | **DatabaseTools** | `sqlite3` CLI | Agent-callable SQL query tools wrapping any `SupportsQuery` adapter |
282
282
 
283
283
  ```python
284
284
  from hexdag.kernel.lib_base import HexDAGLib
@@ -316,7 +316,7 @@ hexdag lint my_pipeline.yaml
316
316
 
317
317
  ### Macro System
318
318
  Reusable pipeline templates that expand into full DAG subgraphs at build time.
319
- Built-in macros: `ReasoningAgent`, `ConversationAgent`, `LLMMacro`, `ToolMacro`.
319
+ Built-in macros: `ReasoningAgent`, `ConversationAgent`, `LLMMacro`.
320
320
 
321
321
  ### Event-Driven Observability
322
322
  Comprehensive event system (`PipelineStarted`, `NodeCompleted`, `NodeFailed`, etc.)
@@ -378,17 +378,17 @@ export HEXDAG_PLUGIN_PATHS="./my_adapters:./my_nodes"
378
378
 
379
379
  ## CLI
380
380
 
381
- | Command | Purpose |
382
- |---------|---------|
383
- | `hexdag init` | Initialize a new hexDAG project |
384
- | `hexdag pipeline validate` | Validate a YAML pipeline |
385
- | `hexdag pipeline execute` | Execute a pipeline |
386
- | `hexdag lint` | Lint YAML for best practices and security |
387
- | `hexdag create` | Create pipeline templates from schemas |
388
- | `hexdag build` | Build Docker containers for pipelines |
389
- | `hexdag studio` | Launch the visual pipeline editor |
390
- | `hexdag plugins` | Manage plugins and adapters |
391
- | `hexdag docs` | Generate and serve documentation |
381
+ | Command | Purpose |
382
+ | -------------------------- | ----------------------------------------- |
383
+ | `hexdag init` | Initialize a new hexDAG project |
384
+ | `hexdag pipeline validate` | Validate a YAML pipeline |
385
+ | `hexdag pipeline execute` | Execute a pipeline |
386
+ | `hexdag lint` | Lint YAML for best practices and security |
387
+ | `hexdag create` | Create pipeline templates from schemas |
388
+ | `hexdag build` | Build Docker containers for pipelines |
389
+ | `hexdag studio` | Launch the visual pipeline editor |
390
+ | `hexdag plugins` | Manage plugins and adapters |
391
+ | `hexdag docs` | Generate and serve documentation |
392
392
 
393
393
  ---
394
394
 
@@ -396,23 +396,20 @@ export HEXDAG_PLUGIN_PATHS="./my_adapters:./my_nodes"
396
396
 
397
397
  ### Interactive Notebooks
398
398
 
399
- | Notebook | Topic | Time |
400
- |----------|-------|------|
401
- | [01. Introduction](notebooks/01_introduction.ipynb) | Your first pipeline | 15 min |
402
- | [02. YAML Pipelines](notebooks/02_yaml_pipelines.ipynb) | Declarative workflows | 25 min |
403
- | [03. Practical Workflow](notebooks/03_practical_workflow.ipynb) | Real-world patterns | 30 min |
404
- | [06. Dynamic Reasoning Agent](notebooks/06_dynamic_reasoning_agent.ipynb) | Advanced agent patterns | -- |
405
- | [YAML Includes & Composition](notebooks/03_yaml_includes_and_composition.ipynb) | Modular pipeline composition | -- |
399
+ | Notebook | Topic | Time |
400
+ | ------------------------------------------------------------------------------- | ---------------------------- | ------ |
401
+ | [01. Introduction](notebooks/01_introduction.ipynb) | Your first pipeline | 15 min |
402
+ | [02. YAML Pipelines](notebooks/02_yaml_pipelines.ipynb) | Declarative workflows | 25 min |
403
+ | [03. Practical Workflow](notebooks/03_practical_workflow.ipynb) | Real-world patterns | 30 min |
404
+ | [06. Dynamic Reasoning Agent](notebooks/06_dynamic_reasoning_agent.ipynb) | Advanced agent patterns | -- |
405
+ | [YAML Includes & Composition](notebooks/03_yaml_includes_and_composition.ipynb) | Modular pipeline composition | -- |
406
406
 
407
407
  ### Docs
408
408
 
409
- - [Architecture](docs/ARCHITECTURE.md) -- System architecture and the four layers
410
- - [Philosophy & Design](docs/PHILOSOPHY.md) -- Six pillars and design principles
411
- - [Hexagonal Architecture](docs/HEXAGONAL_ARCHITECTURE.md) -- Ports and adapters explained
412
- - [Implementation Guide](docs/IMPLEMENTATION_GUIDE.md) -- Production-ready workflows
413
- - [Plugin System](docs/PLUGIN_SYSTEM.md) -- Custom component development
414
- - [CLI Reference](docs/CLI_REFERENCE.md) -- Complete CLI documentation
415
- - [Roadmap](ARCHITECTURE_ROADMAP.md) -- Planned kernel extensions (EventBus, LockPort, CentralAgent)
409
+ - [Architecture](docs/ARCHITECTURE.md) -- System architecture and the OS analogy
410
+ - [Roadmap](docs/ROADMAP.md) -- Development roadmap and planned kernel extensions
411
+ - [Quick Start](docs/quickstart.md) -- Build your first workflow
412
+ - [All Documentation](docs/README.md) -- Full documentation index
416
413
 
417
414
  ### Examples
418
415
 
@@ -19,18 +19,18 @@ infrastructure dependency without touching business logic.
19
19
 
20
20
  ## The OS Analogy
21
21
 
22
- | Linux | hexDAG | Purpose |
23
- |-------|--------|---------|
24
- | Kernel | `kernel/` | Core execution engine, system call interfaces (Protocols), domain models |
25
- | System calls | `kernel/ports/` | Contracts for external capabilities (LLM, Memory, Database, etc.) |
26
- | Drivers | `drivers/` | Low-level infrastructure (executor, observer manager, pipeline spawner) |
27
- | `/lib` | `stdlib/` | Standard library -- built-in nodes, adapters, macros, system libs |
28
- | Processes | Pipeline runs | Tracked by `ProcessRegistry` (like `ps`) |
29
- | `fork`/`exec` | `PipelineSpawner` | Launch sub-pipelines from within a running pipeline |
30
- | Process scheduler | `Scheduler` | Delayed and recurring pipeline execution |
31
- | State machines | `EntityState` | Business entity lifecycle management |
32
- | `/usr/bin` | `api/` | User-facing tools (MCP + Studio REST) |
33
- | Shell | `cli/` | Command-line interface (`hexdag init`, `hexdag lint`, etc.) |
22
+ | Linux | hexDAG | Purpose |
23
+ | ----------------- | ----------------- | ------------------------------------------------------------------------ |
24
+ | Kernel | `kernel/` | Core execution engine, system call interfaces (Protocols), domain models |
25
+ | System calls | `kernel/ports/` | Contracts for external capabilities (LLM, Memory, Database, etc.) |
26
+ | Drivers | `drivers/` | Low-level infrastructure (executor, observer manager, pipeline spawner) |
27
+ | `/lib` | `stdlib/` | Standard library -- built-in nodes, adapters, macros, system libs |
28
+ | Processes | Pipeline runs | Tracked by `ProcessRegistry` (like `ps`) |
29
+ | `fork`/`exec` | `PipelineSpawner` | Launch sub-pipelines from within a running pipeline |
30
+ | Process scheduler | `Scheduler` | Delayed and recurring pipeline execution |
31
+ | State machines | `EntityState` | Business entity lifecycle management |
32
+ | `/usr/bin` | `api/` | User-facing tools (MCP + Studio REST) |
33
+ | Shell | `cli/` | Command-line interface (`hexdag init`, `hexdag lint`, etc.) |
34
34
 
35
35
  ---
36
36
 
@@ -165,14 +165,14 @@ When adding something new:
165
165
 
166
166
  All framework entities follow one pattern: **kernel defines contract, stdlib ships builtins, users write their own.**
167
167
 
168
- | Entity | Kernel Contract | Stdlib Builtins | User Custom |
169
- |--------|----------------|-----------------|-------------|
170
- | Ports | `kernel/ports/llm.py` | -- | `myapp.ports.X` |
171
- | Adapters | Protocol in `kernel/ports/` | `stdlib/adapters/openai/` | `myapp.adapters.X` |
172
- | Nodes | `NodeSpec` + `BaseNodeFactory` | `LLMNode`, `AgentNode`, `FunctionNode` | `myapp.nodes.X` |
173
- | Macros | (convention) | `ReasoningAgent`, `ConversationAgent` | `myapp.macros.X` |
174
- | Prompts | (convention) | `tool_prompts`, `error_correction` | `myapp.prompts.X` |
175
- | Libs | `HexDAGLib` base class | `ProcessRegistry`, `EntityState`, `Scheduler` | `myapp.lib.X` |
168
+ | Entity | Kernel Contract | Stdlib Builtins | User Custom |
169
+ | -------- | ------------------------------ | --------------------------------------------- | ------------------ |
170
+ | Ports | `kernel/ports/llm.py` | -- | `myapp.ports.X` |
171
+ | Adapters | Protocol in `kernel/ports/` | `stdlib/adapters/openai/` | `myapp.adapters.X` |
172
+ | Nodes | `NodeSpec` + `BaseNodeFactory` | `LLMNode`, `AgentNode`, `FunctionNode` | `myapp.nodes.X` |
173
+ | Macros | (convention) | `ReasoningAgent`, `ConversationAgent` | `myapp.macros.X` |
174
+ | Prompts | (convention) | `tool_prompts`, `error_correction` | `myapp.prompts.X` |
175
+ | Libs | `HexDAGLib` base class | `ProcessRegistry`, `EntityState`, `Scheduler` | `myapp.lib.X` |
176
176
 
177
177
  Components are referenced by full Python module path in YAML:
178
178
 
@@ -190,12 +190,12 @@ nodes:
190
190
  Libs are system-level capabilities for multi-pipeline coordination. Every public async
191
191
  method on a `HexDAGLib` subclass auto-becomes an agent-callable tool.
192
192
 
193
- | Lib | Linux Analogy | Purpose |
194
- |-----|--------------|---------|
195
- | **ProcessRegistry** | `ps` | Track pipeline runs -- status, duration, results, parent/child relationships |
196
- | **EntityState** | State machines | Declarative state machines for business entities with validated transitions and audit trails |
197
- | **Scheduler** | `cron` / `at` | Delayed and recurring pipeline execution via asyncio timers |
198
- | **DatabaseTools** | `sqlite3` CLI | Agent-callable SQL query tools wrapping any `SupportsQuery` adapter |
193
+ | Lib | Linux Analogy | Purpose |
194
+ | ------------------- | -------------- | -------------------------------------------------------------------------------------------- |
195
+ | **ProcessRegistry** | `ps` | Track pipeline runs -- status, duration, results, parent/child relationships |
196
+ | **EntityState** | State machines | Declarative state machines for business entities with validated transitions and audit trails |
197
+ | **Scheduler** | `cron` / `at` | Delayed and recurring pipeline execution via asyncio timers |
198
+ | **DatabaseTools** | `sqlite3` CLI | Agent-callable SQL query tools wrapping any `SupportsQuery` adapter |
199
199
 
200
200
  ```python
201
201
  from hexdag.kernel.lib_base import HexDAGLib
@@ -233,7 +233,7 @@ hexdag lint my_pipeline.yaml
233
233
 
234
234
  ### Macro System
235
235
  Reusable pipeline templates that expand into full DAG subgraphs at build time.
236
- Built-in macros: `ReasoningAgent`, `ConversationAgent`, `LLMMacro`, `ToolMacro`.
236
+ Built-in macros: `ReasoningAgent`, `ConversationAgent`, `LLMMacro`.
237
237
 
238
238
  ### Event-Driven Observability
239
239
  Comprehensive event system (`PipelineStarted`, `NodeCompleted`, `NodeFailed`, etc.)
@@ -295,17 +295,17 @@ export HEXDAG_PLUGIN_PATHS="./my_adapters:./my_nodes"
295
295
 
296
296
  ## CLI
297
297
 
298
- | Command | Purpose |
299
- |---------|---------|
300
- | `hexdag init` | Initialize a new hexDAG project |
301
- | `hexdag pipeline validate` | Validate a YAML pipeline |
302
- | `hexdag pipeline execute` | Execute a pipeline |
303
- | `hexdag lint` | Lint YAML for best practices and security |
304
- | `hexdag create` | Create pipeline templates from schemas |
305
- | `hexdag build` | Build Docker containers for pipelines |
306
- | `hexdag studio` | Launch the visual pipeline editor |
307
- | `hexdag plugins` | Manage plugins and adapters |
308
- | `hexdag docs` | Generate and serve documentation |
298
+ | Command | Purpose |
299
+ | -------------------------- | ----------------------------------------- |
300
+ | `hexdag init` | Initialize a new hexDAG project |
301
+ | `hexdag pipeline validate` | Validate a YAML pipeline |
302
+ | `hexdag pipeline execute` | Execute a pipeline |
303
+ | `hexdag lint` | Lint YAML for best practices and security |
304
+ | `hexdag create` | Create pipeline templates from schemas |
305
+ | `hexdag build` | Build Docker containers for pipelines |
306
+ | `hexdag studio` | Launch the visual pipeline editor |
307
+ | `hexdag plugins` | Manage plugins and adapters |
308
+ | `hexdag docs` | Generate and serve documentation |
309
309
 
310
310
  ---
311
311
 
@@ -313,23 +313,20 @@ export HEXDAG_PLUGIN_PATHS="./my_adapters:./my_nodes"
313
313
 
314
314
  ### Interactive Notebooks
315
315
 
316
- | Notebook | Topic | Time |
317
- |----------|-------|------|
318
- | [01. Introduction](notebooks/01_introduction.ipynb) | Your first pipeline | 15 min |
319
- | [02. YAML Pipelines](notebooks/02_yaml_pipelines.ipynb) | Declarative workflows | 25 min |
320
- | [03. Practical Workflow](notebooks/03_practical_workflow.ipynb) | Real-world patterns | 30 min |
321
- | [06. Dynamic Reasoning Agent](notebooks/06_dynamic_reasoning_agent.ipynb) | Advanced agent patterns | -- |
322
- | [YAML Includes & Composition](notebooks/03_yaml_includes_and_composition.ipynb) | Modular pipeline composition | -- |
316
+ | Notebook | Topic | Time |
317
+ | ------------------------------------------------------------------------------- | ---------------------------- | ------ |
318
+ | [01. Introduction](notebooks/01_introduction.ipynb) | Your first pipeline | 15 min |
319
+ | [02. YAML Pipelines](notebooks/02_yaml_pipelines.ipynb) | Declarative workflows | 25 min |
320
+ | [03. Practical Workflow](notebooks/03_practical_workflow.ipynb) | Real-world patterns | 30 min |
321
+ | [06. Dynamic Reasoning Agent](notebooks/06_dynamic_reasoning_agent.ipynb) | Advanced agent patterns | -- |
322
+ | [YAML Includes & Composition](notebooks/03_yaml_includes_and_composition.ipynb) | Modular pipeline composition | -- |
323
323
 
324
324
  ### Docs
325
325
 
326
- - [Architecture](docs/ARCHITECTURE.md) -- System architecture and the four layers
327
- - [Philosophy & Design](docs/PHILOSOPHY.md) -- Six pillars and design principles
328
- - [Hexagonal Architecture](docs/HEXAGONAL_ARCHITECTURE.md) -- Ports and adapters explained
329
- - [Implementation Guide](docs/IMPLEMENTATION_GUIDE.md) -- Production-ready workflows
330
- - [Plugin System](docs/PLUGIN_SYSTEM.md) -- Custom component development
331
- - [CLI Reference](docs/CLI_REFERENCE.md) -- Complete CLI documentation
332
- - [Roadmap](ARCHITECTURE_ROADMAP.md) -- Planned kernel extensions (EventBus, LockPort, CentralAgent)
326
+ - [Architecture](docs/ARCHITECTURE.md) -- System architecture and the OS analogy
327
+ - [Roadmap](docs/ROADMAP.md) -- Development roadmap and planned kernel extensions
328
+ - [Quick Start](docs/quickstart.md) -- Build your first workflow
329
+ - [All Documentation](docs/README.md) -- Full documentation index
333
330
 
334
331
  ### Examples
335
332
 
@@ -36,12 +36,13 @@ DatabasePort = Database
36
36
  # Define placeholders for lazy-loaded adapters to satisfy __all__ checking
37
37
  # These will be replaced by __getattr__ when accessed
38
38
  if TYPE_CHECKING:
39
+ from hexdag.compiler.yaml_builder import YamlPipelineBuilder
40
+ from hexdag.drivers.http_client import HttpClientDriver
39
41
  from hexdag.kernel.domain import DirectedGraph, NodeSpec
40
42
  from hexdag.kernel.orchestration.orchestrator import Orchestrator
41
- from hexdag.kernel.pipeline_builder.yaml_builder import YamlPipelineBuilder
42
43
  from hexdag.kernel.resolver import resolve, resolve_function
43
44
  from hexdag.stdlib.adapters.memory import InMemoryMemory
44
- from hexdag.stdlib.adapters.mock import MockDatabaseAdapter, MockLLM
45
+ from hexdag.stdlib.adapters.mock import MockDatabaseAdapter, MockHttpClient, MockLLM
45
46
 
46
47
 
47
48
  # Deprecated top-level exports — use submodule imports or PipelineRunner instead.
@@ -51,8 +52,8 @@ _DEPRECATED_IMPORTS: dict[str, tuple[str, str]] = {
51
52
  "Use PipelineRunner or import from 'hexdag.kernel.orchestration.orchestrator'.",
52
53
  ),
53
54
  "YamlPipelineBuilder": (
54
- "hexdag.kernel.pipeline_builder.yaml_builder",
55
- "Use PipelineRunner or import from 'hexdag.kernel.pipeline_builder.yaml_builder'.",
55
+ "hexdag.compiler.yaml_builder",
56
+ "Use PipelineRunner or import from 'hexdag.compiler.yaml_builder'.",
56
57
  ),
57
58
  "DirectedGraph": (
58
59
  "hexdag.kernel.domain",
@@ -104,6 +105,14 @@ def __getattr__(name: str) -> Any:
104
105
  from hexdag.stdlib.adapters.mock import MockDatabaseAdapter as _MockDatabaseAdapter
105
106
 
106
107
  return _MockDatabaseAdapter
108
+ if name == "MockHttpClient":
109
+ from hexdag.stdlib.adapters.mock import MockHttpClient as _MockHttpClient
110
+
111
+ return _MockHttpClient
112
+ if name == "HttpClientDriver":
113
+ from hexdag.drivers.http_client import HttpClientDriver as _HttpClientDriver
114
+
115
+ return _HttpClientDriver
107
116
  raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
108
117
 
109
118
 
@@ -125,10 +134,13 @@ __all__ = [
125
134
  "ToolRouter",
126
135
  "Database",
127
136
  "DatabasePort",
137
+ # Drivers
138
+ "HttpClientDriver",
128
139
  # Testing and Development Adapters
129
140
  "InMemoryMemory",
130
141
  "MockLLM",
131
142
  "MockDatabaseAdapter",
143
+ "MockHttpClient",
132
144
  # Deprecated (still importable with warning)
133
145
  "Orchestrator",
134
146
  "DirectedGraph",
@@ -14,7 +14,15 @@ from __future__ import annotations
14
14
  import logging
15
15
  from typing import Any
16
16
 
17
- from hexdag.kernel.pipeline_builder.tag_discovery import discover_tags, get_tag_schema
17
+ from hexdag.compiler.tag_discovery import discover_tags, get_tag_schema
18
+ from hexdag.kernel.discovery import (
19
+ discover_adapters_in_package,
20
+ discover_macros_in_module,
21
+ discover_plugins,
22
+ discover_tools_in_module,
23
+ discover_user_modules,
24
+ discover_user_plugins,
25
+ )
18
26
  from hexdag.kernel.ports.detection import detect_port_type as detect_port_type
19
27
  from hexdag.kernel.resolver import get_builtin_aliases, resolve
20
28
  from hexdag.kernel.schema import SchemaGenerator
@@ -67,7 +75,6 @@ def list_nodes(include_deprecated: bool = False) -> list[dict[str, Any]]:
67
75
  >>> any(n["kind"] == "llm_node" for n in nodes)
68
76
  True
69
77
  """
70
- from hexdag.kernel.discovery import discover_user_plugins
71
78
 
72
79
  aliases = get_builtin_aliases()
73
80
  seen_classes: set[str] = set()
@@ -198,13 +205,6 @@ def list_adapters(port_type: str | None = None) -> list[dict[str, Any]]:
198
205
  >>> all(a["port_type"] == "llm" for a in adapters)
199
206
  True
200
207
  """
201
- from hexdag.kernel.discovery import (
202
- discover_adapters_in_package,
203
- discover_plugins,
204
- discover_user_modules,
205
- discover_user_plugins,
206
- )
207
-
208
208
  adapters: list[dict[str, Any]] = []
209
209
 
210
210
  # 1. Discover builtin adapters dynamically
@@ -279,8 +279,6 @@ def _discover_entities(
279
279
  Discovers from builtins, plugins, and optionally user modules.
280
280
  Deduplicates by ``module_path`` and sorts by *sort_key*.
281
281
  """
282
- from hexdag.kernel.discovery import discover_plugins, discover_user_modules
283
-
284
282
  entities: list[dict[str, Any]] = []
285
283
  seen: set[str] = set()
286
284
 
@@ -333,8 +331,6 @@ def list_tools() -> list[dict[str, Any]]:
333
331
  >>> any(t["name"] == "tool_end" for t in tools)
334
332
  True
335
333
  """
336
- from hexdag.kernel.discovery import discover_tools_in_module
337
-
338
334
  return _discover_entities(
339
335
  discover_tools_in_module,
340
336
  builtin_modules=["hexdag.kernel.domain.agent_tools"],
@@ -366,8 +362,6 @@ def list_macros() -> list[dict[str, Any]]:
366
362
  >>> any(m["name"] == "ReasoningAgentMacro" for m in macros)
367
363
  True
368
364
  """
369
- from hexdag.kernel.discovery import discover_macros_in_module
370
-
371
365
  return _discover_entities(
372
366
  discover_macros_in_module,
373
367
  builtin_modules=["hexdag.stdlib.macros"],
@@ -185,7 +185,7 @@ def dry_run(yaml_content: str, inputs: dict[str, Any] | None = None) -> dict[str
185
185
  2
186
186
  """
187
187
  try:
188
- from hexdag.kernel.pipeline_builder import YamlPipelineBuilder
188
+ from hexdag.compiler import YamlPipelineBuilder
189
189
 
190
190
  builder = YamlPipelineBuilder()
191
191
  graph, config = builder.build_from_yaml_string(yaml_content)
@@ -245,7 +245,7 @@ def create_ports_from_config(port_config: dict[str, Any]) -> dict[str, Any]:
245
245
  >>> "llm" in ports
246
246
  True
247
247
  """
248
- from hexdag.kernel.pipeline_builder.component_instantiator import ComponentInstantiator
248
+ from hexdag.compiler.component_instantiator import ComponentInstantiator
249
249
 
250
250
  instantiator = ComponentInstantiator()
251
251
  try:
@@ -292,9 +292,9 @@ async def _execute_with_node_ports(
292
292
  node_results: list[dict[str, Any]] = []
293
293
 
294
294
  try:
295
+ from hexdag.compiler import YamlPipelineBuilder
295
296
  from hexdag.kernel.orchestration.models import PortConfig, PortsConfiguration
296
297
  from hexdag.kernel.orchestration.orchestrator import Orchestrator
297
- from hexdag.kernel.pipeline_builder import YamlPipelineBuilder
298
298
 
299
299
  builder = YamlPipelineBuilder()
300
300
  graph, config = builder.build_from_yaml_string(yaml_content)
@@ -408,6 +408,7 @@ async def execute_streaming(
408
408
  start_time = time.perf_counter()
409
409
 
410
410
  try:
411
+ from hexdag.compiler import YamlPipelineBuilder
411
412
  from hexdag.drivers.observer_manager import LocalObserverManager
412
413
  from hexdag.kernel.orchestration.events import (
413
414
  NodeCompleted,
@@ -419,7 +420,6 @@ async def execute_streaming(
419
420
  )
420
421
  from hexdag.kernel.orchestration.models import PortConfig, PortsConfiguration
421
422
  from hexdag.kernel.orchestration.orchestrator import Orchestrator
422
- from hexdag.kernel.pipeline_builder import YamlPipelineBuilder
423
423
 
424
424
  builder = YamlPipelineBuilder()
425
425
  graph, config = builder.build_from_yaml_string(yaml_content)
@@ -352,7 +352,7 @@ def _generate_main_py(project_name: str, pipeline: dict[str, Any]) -> str:
352
352
  "",
353
353
  "from dotenv import load_dotenv",
354
354
  "",
355
- "from hexdag.kernel.pipeline_builder import YamlPipelineBuilder",
355
+ "from hexdag.compiler import YamlPipelineBuilder",
356
356
  "from hexdag.kernel.orchestration.orchestrator import Orchestrator",
357
357
  ]
358
358
 
@@ -10,8 +10,8 @@ from typing import Any
10
10
 
11
11
  import yaml
12
12
 
13
- from hexdag.kernel.pipeline_builder import YamlPipelineBuilder
14
- from hexdag.kernel.pipeline_builder.yaml_validator import YamlValidator
13
+ from hexdag.compiler import YamlPipelineBuilder
14
+ from hexdag.compiler.yaml_validator import YamlValidator
15
15
 
16
16
 
17
17
  def validate(yaml_content: str, lenient: bool = False) -> dict[str, Any]:
@@ -70,8 +70,8 @@ def _validate_full(yaml_content: str) -> dict[str, Any]:
70
70
  return {
71
71
  "valid": True,
72
72
  "message": "Pipeline is valid",
73
- "node_count": len(graph.nodes),
74
- "nodes": [node.name for node in graph.nodes.values()],
73
+ "node_count": len(graph),
74
+ "nodes": [node.name for node in graph.values()],
75
75
  "ports": list(config.ports.keys()) if config.ports else [],
76
76
  }
77
77
  except Exception as e:
@@ -104,7 +104,7 @@ def _validate_lenient(yaml_content: str) -> dict[str, Any]:
104
104
  validator = YamlValidator()
105
105
  report = validator.validate(parsed)
106
106
 
107
- if not report.is_valid:
107
+ if not report:
108
108
  return {
109
109
  "valid": False,
110
110
  "error": report.errors[0] if report.errors else "Validation failed",
@@ -295,7 +295,7 @@ import json
295
295
  import sys
296
296
  from pathlib import Path
297
297
 
298
- from hexdag.kernel.pipeline_builder import YamlPipelineBuilder
298
+ from hexdag.compiler import YamlPipelineBuilder
299
299
 
300
300
  async def main():
301
301
  try: