versionhq 1.2.1.9__tar.gz → 1.2.1.10__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 (137) hide show
  1. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/PKG-INFO +1 -1
  2. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/pyproject.toml +1 -1
  3. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/__init__.py +1 -1
  4. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task_graph/draft.py +14 -4
  5. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task_graph/model.py +8 -5
  6. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq.egg-info/PKG-INFO +1 -1
  7. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task_graph/doc_test.py +1 -1
  8. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task_graph/task_graph_test.py +1 -0
  9. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/uv.lock +1 -1
  10. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.env.sample +0 -0
  11. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.github/workflows/deploy_docs.yml +0 -0
  12. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.github/workflows/publish.yml +0 -0
  13. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.github/workflows/publish_testpypi.yml +0 -0
  14. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.github/workflows/run_tests.yml +0 -0
  15. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.github/workflows/security_check.yml +0 -0
  16. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.gitignore +0 -0
  17. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.pre-commit-config.yaml +0 -0
  18. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/.python-version +0 -0
  19. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/LICENSE +0 -0
  20. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/README.md +0 -0
  21. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/SECURITY.md +0 -0
  22. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/db/preprocess.py +0 -0
  23. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/CNAME +0 -0
  24. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/_logos/favicon.ico +0 -0
  25. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/_logos/logo192.png +0 -0
  26. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/core/agent/index.md +0 -0
  27. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/core/task/evaluation.md +0 -0
  28. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/core/task/index.md +0 -0
  29. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/core/task/response-field.md +0 -0
  30. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/core/task/task-output.md +0 -0
  31. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/core/task-graph/index.md +0 -0
  32. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/core/tool.md +0 -0
  33. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/index.md +0 -0
  34. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/quickstart.md +0 -0
  35. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/stylesheets/main.css +0 -0
  36. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/docs/tags.md +0 -0
  37. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/mkdocs.yml +0 -0
  38. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/requirements-dev.txt +0 -0
  39. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/requirements.txt +0 -0
  40. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/runtime.txt +0 -0
  41. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/setup.cfg +0 -0
  42. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/_utils/__init__.py +0 -0
  43. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/_utils/i18n.py +0 -0
  44. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/_utils/logger.py +0 -0
  45. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/_utils/process_config.py +0 -0
  46. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/_utils/usage_metrics.py +0 -0
  47. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/_utils/vars.py +0 -0
  48. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent/TEMPLATES/Backstory.py +0 -0
  49. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent/TEMPLATES/__init__.py +0 -0
  50. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent/__init__.py +0 -0
  51. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent/inhouse_agents.py +0 -0
  52. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent/model.py +0 -0
  53. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent/parser.py +0 -0
  54. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent/rpm_controller.py +0 -0
  55. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent_network/__init__.py +0 -0
  56. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/agent_network/model.py +0 -0
  57. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/cli/__init__.py +0 -0
  58. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/clients/__init__.py +0 -0
  59. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/clients/customer/__init__.py +0 -0
  60. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/clients/customer/model.py +0 -0
  61. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/clients/product/__init__.py +0 -0
  62. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/clients/product/model.py +0 -0
  63. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/clients/workflow/__init__.py +0 -0
  64. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/clients/workflow/model.py +0 -0
  65. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/knowledge/__init__.py +0 -0
  66. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/knowledge/_utils.py +0 -0
  67. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/knowledge/embedding.py +0 -0
  68. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/knowledge/model.py +0 -0
  69. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/knowledge/source.py +0 -0
  70. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/knowledge/source_docling.py +0 -0
  71. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/knowledge/storage.py +0 -0
  72. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/llm/__init__.py +0 -0
  73. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/llm/llm_vars.py +0 -0
  74. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/llm/model.py +0 -0
  75. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/memory/__init__.py +0 -0
  76. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/memory/contextual_memory.py +0 -0
  77. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/memory/model.py +0 -0
  78. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/storage/__init__.py +0 -0
  79. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/storage/base.py +0 -0
  80. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/storage/ltm_sqlite_storage.py +0 -0
  81. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/storage/mem0_storage.py +0 -0
  82. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/storage/rag_storage.py +0 -0
  83. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/storage/task_output_storage.py +0 -0
  84. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/storage/utils.py +0 -0
  85. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/TEMPLATES/Description.py +0 -0
  86. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/__init__.py +0 -0
  87. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/evaluate.py +0 -0
  88. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/formation.py +0 -0
  89. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/formatter.py +0 -0
  90. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/log_handler.py +0 -0
  91. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/model.py +0 -0
  92. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task/structured_response.py +0 -0
  93. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task_graph/__init__.py +0 -0
  94. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/task_graph/colors.py +0 -0
  95. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/tool/__init__.py +0 -0
  96. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/tool/cache_handler.py +0 -0
  97. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/tool/composio_tool.py +0 -0
  98. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/tool/composio_tool_vars.py +0 -0
  99. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/tool/decorator.py +0 -0
  100. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/tool/model.py +0 -0
  101. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq/tool/tool_handler.py +0 -0
  102. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq.egg-info/SOURCES.txt +0 -0
  103. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq.egg-info/dependency_links.txt +0 -0
  104. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq.egg-info/requires.txt +0 -0
  105. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/src/versionhq.egg-info/top_level.txt +0 -0
  106. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/__init__.py +0 -0
  107. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/agent/__init__.py +0 -0
  108. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/agent/agent_test.py +0 -0
  109. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/agent/doc_test.py +0 -0
  110. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/agent_network/Prompts/Demo_test.py +0 -0
  111. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/agent_network/__init__.py +0 -0
  112. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/agent_network/agent_network_test.py +0 -0
  113. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/cli/__init__.py +0 -0
  114. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/clients/customer_test.py +0 -0
  115. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/clients/product_test.py +0 -0
  116. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/clients/workflow_test.py +0 -0
  117. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/conftest.py +0 -0
  118. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/doc_test.py +0 -0
  119. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/formation_test.py +0 -0
  120. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/knowledge/__init__.py +0 -0
  121. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/knowledge/knowledge_test.py +0 -0
  122. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/knowledge/mock_report_compressed.pdf +0 -0
  123. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/llm/__init__.py +0 -0
  124. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/llm/llm_test.py +0 -0
  125. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/memory/__init__.py +0 -0
  126. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/memory/memory_test.py +0 -0
  127. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task/__init__.py +0 -0
  128. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task/doc_taskoutput_test.py +0 -0
  129. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task/doc_test.py +0 -0
  130. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task/llm_connection_test.py +0 -0
  131. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task/task_test.py +0 -0
  132. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/task_graph/__init__.py +0 -0
  133. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/tool/__init__.py +0 -0
  134. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/tool/composio_test.py +0 -0
  135. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/tool/doc_test.py +0 -0
  136. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/tool/tool_test.py +0 -0
  137. {versionhq-1.2.1.9 → versionhq-1.2.1.10}/tests/usecase_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: versionhq
3
- Version: 1.2.1.9
3
+ Version: 1.2.1.10
4
4
  Summary: An agentic orchestration framework for building agent networks that handle task automation.
5
5
  Author-email: Kuriko Iwai <kuriko@versi0n.io>
6
6
  License: MIT License
@@ -15,7 +15,7 @@ exclude = ["test*", "__pycache__", "*.egg-info"]
15
15
 
16
16
  [project]
17
17
  name = "versionhq"
18
- version = "1.2.1.9"
18
+ version = "1.2.1.10"
19
19
  authors = [{ name = "Kuriko Iwai", email = "kuriko@versi0n.io" }]
20
20
  description = "An agentic orchestration framework for building agent networks that handle task automation."
21
21
  readme = "README.md"
@@ -31,7 +31,7 @@ from versionhq.task.formation import form_agent_network
31
31
  from versionhq.task_graph.draft import workflow
32
32
 
33
33
 
34
- __version__ = "1.2.1.9"
34
+ __version__ = "1.2.1.10"
35
35
  __all__ = [
36
36
  "Agent",
37
37
 
@@ -49,11 +49,12 @@ def workflow(final_output: Type[BaseModel], context: Any = None, human: bool = T
49
49
  )
50
50
 
51
51
  task = Task(
52
- description=dedent(f"Design a resource-efficient workflow to achieve the following goal: {final_output_prompt}. The workflow should consist of a list of detailed tasks that represent decision making points, each with the following information:\nname: A concise name of the task\ndescription: A concise description of the task.\nconnections: A list of target tasks that this task connects to.\ndependency_types: The type of dependency between this task and each of its connected task. Use the following dependency types: {dep_type_prompt}.\n\nPrioritize minimizing resource consumption (computation, memory, and data transfer) when defining tasks, connections, and dependencies. Consider how data is passed between tasks and aim to reduce unnecessary data duplication or transfer. Explain any design choices made to optimize resource usage."),
52
+ description=dedent(f"Design a resource-efficient workflow to achieve the following goal: {final_output_prompt}. The workflow should consist of a list of detailed tasks that represent decision making points, each with the following information:\nname: A concise name of the task\ndescription: A concise description of the task.\nconnections: A list of target tasks that this task connects to.\ndependency_types: The type of dependency between this task and each of its connected task. \noutput: key output from the task.\n\nUse the following dependency types: {dep_type_prompt}.\n\nPrioritize minimizing resource consumption (computation, memory, and data transfer) when defining tasks, connections, and dependencies. Consider how data is passed between tasks and aim to reduce unnecessary data duplication or transfer. Explain any design choices made to optimize resource usage."),
53
53
  response_fields=[
54
54
  ResponseField(title="tasks", data_type=list, items=dict, properties=[
55
55
  ResponseField(title="name", data_type=str),
56
56
  ResponseField(title="description", data_type=str),
57
+ ResponseField(title="output", data_type=str),
57
58
  ResponseField(title="connections", data_type=list, items=str),
58
59
  ResponseField(title="dependency_types", data_type=list, items=str),
59
60
  ]
@@ -66,11 +67,20 @@ def workflow(final_output: Type[BaseModel], context: Any = None, human: bool = T
66
67
  return None
67
68
 
68
69
  task_items = res.json_dict["tasks"]
69
- tasks = [Task(name=item["name"], description=item["description"]) for item in task_items]
70
- nodes = [Node(task=task) for task in tasks]
70
+ tasks, nodes = [], []
71
+ for item in task_items:
72
+ class Output(BaseModel):
73
+ item["output"]: str
74
+
75
+ task = Task(name=item["name"], description=item["description"], pydantic_output=Output)
76
+ tasks.append(task)
77
+ nodes.append(Node(task=task))
78
+
79
+
71
80
  task_graph = TaskGraph(
72
81
  nodes={node.identifier: node for node in nodes},
73
- concl=final_output,
82
+ concl_format=final_output,
83
+ concl=None,
74
84
  should_reform=True,
75
85
  )
76
86
 
@@ -1,12 +1,14 @@
1
+ import matplotlib
2
+ matplotlib.use('agg')
3
+
1
4
  import enum
2
5
  import uuid
3
6
  import networkx as nx
4
7
  import matplotlib.pyplot as plt
5
8
  from abc import ABC
6
9
  from typing import List, Any, Optional, Callable, Dict, Type, Tuple
7
- from typing_extensions import Self
8
10
 
9
- from pydantic import BaseModel, InstanceOf, Field, UUID4, field_validator, model_validator
11
+ from pydantic import BaseModel, InstanceOf, Field, UUID4, field_validator
10
12
  from pydantic_core import PydanticCustomError
11
13
 
12
14
  from versionhq.task.model import Task, TaskOutput
@@ -60,7 +62,7 @@ class Node(BaseModel):
60
62
  def is_independent(self) -> bool:
61
63
  return not self.in_degree_nodes and not self.out_degree_nodes
62
64
 
63
- def handle_task_execution(self, agent: Agent = None, context: str = None) -> TaskOutput | None:
65
+ def handle_task_execution(self, agent: Agent = None, context: str = None, format: Type[BaseModel] = None) -> TaskOutput | None:
64
66
  """
65
67
  Start task execution and update status accordingly.
66
68
  """
@@ -72,6 +74,7 @@ class Node(BaseModel):
72
74
  self.status = TaskStatus.ERROR
73
75
  return None
74
76
 
77
+ self.task.pydantic_output = self.task.pydantic_output if self.task.pydantic_output else format if type(format) == BaseModel else None
75
78
  res = self.task.execute(agent=agent, context=context)
76
79
  self.status = TaskStatus.COMPLETED if res else TaskStatus.ERROR
77
80
  return res
@@ -176,7 +179,7 @@ class Edge(BaseModel):
176
179
  return False
177
180
 
178
181
 
179
- def activate(self) -> TaskOutput | None:
182
+ def activate(self, format: Type[BaseModel] = None) -> TaskOutput | None:
180
183
  """
181
184
  Activates the edge to initiate task execution of the target node.
182
185
  """
@@ -194,7 +197,7 @@ class Edge(BaseModel):
194
197
  time.sleep(self.lag)
195
198
 
196
199
  context = self.source.task.output.raw if self.data_transfer else None
197
- res = self.target.handle_task_execution(context=context)
200
+ res = self.target.handle_task_execution(context=context, format=format)
198
201
  return res
199
202
 
200
203
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: versionhq
3
- Version: 1.2.1.9
3
+ Version: 1.2.1.10
4
4
  Summary: An agentic orchestration framework for building agent networks that handle task automation.
5
5
  Author-email: Kuriko Iwai <kuriko@versi0n.io>
6
6
  License: MIT License
@@ -1,4 +1,4 @@
1
- def test_create_and_activate_network(monkeypatch):
1
+ def test_create_and_activate_network():
2
2
  import versionhq as vhq
3
3
 
4
4
  task_graph = vhq.TaskGraph(directed=False, should_reform=True)
@@ -20,6 +20,7 @@ def test_draft():
20
20
  context="Planning a suprise day trip for my friend to celebrate her birthday. We live in CA and we like to have Korean food.",
21
21
  human=True
22
22
  )
23
+
23
24
  assert task_graph
24
25
  assert [k == node.identifier and node.task and isinstance(node, vhq.Node) for k, node in task_graph.nodes.items()]
25
26
  assert [isinstance(edge.dependency_type, vhq.DependencyType) and isinstance(edge, vhq.Edge) for k, edge in task_graph.edges.items()]
@@ -3980,7 +3980,7 @@ wheels = [
3980
3980
 
3981
3981
  [[package]]
3982
3982
  name = "versionhq"
3983
- version = "1.2.1.9"
3983
+ version = "1.2.1.10"
3984
3984
  source = { editable = "." }
3985
3985
  dependencies = [
3986
3986
  { name = "appdirs" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes