diagram-to-iac 1.5.0__py3-none-any.whl → 1.7.0__py3-none-any.whl
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.
- diagram_to_iac/core/issue_tracker.py +13 -2
- diagram_to_iac/core/memory.py +9 -6
- diagram_to_iac/services/observability.py +12 -1
- {diagram_to_iac-1.5.0.dist-info → diagram_to_iac-1.7.0.dist-info}/METADATA +2 -2
- {diagram_to_iac-1.5.0.dist-info → diagram_to_iac-1.7.0.dist-info}/RECORD +8 -8
- {diagram_to_iac-1.5.0.dist-info → diagram_to_iac-1.7.0.dist-info}/WHEEL +0 -0
- {diagram_to_iac-1.5.0.dist-info → diagram_to_iac-1.7.0.dist-info}/entry_points.txt +0 -0
- {diagram_to_iac-1.5.0.dist-info → diagram_to_iac-1.7.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,5 @@
|
|
1
1
|
import json
|
2
|
+
import os
|
2
3
|
from pathlib import Path
|
3
4
|
from typing import Dict, Optional
|
4
5
|
|
@@ -7,8 +8,18 @@ class IssueTracker:
|
|
7
8
|
|
8
9
|
def __init__(self, file_path: Optional[str] = None):
|
9
10
|
if file_path is None:
|
10
|
-
|
11
|
-
|
11
|
+
# Check environment variable first
|
12
|
+
if os.environ.get('ISSUE_TRACKER_FILE'):
|
13
|
+
file_path = os.environ['ISSUE_TRACKER_FILE']
|
14
|
+
else:
|
15
|
+
# Check for workspace-based path first (for containers)
|
16
|
+
workspace_base = os.environ.get('WORKSPACE_BASE', '/workspace')
|
17
|
+
if os.path.exists(workspace_base):
|
18
|
+
base_dir = Path(workspace_base)
|
19
|
+
else:
|
20
|
+
# Fallback to package-relative path
|
21
|
+
base_dir = Path(__file__).resolve().parents[3]
|
22
|
+
file_path = base_dir / "data" / "db" / "issue_tracker.json"
|
12
23
|
self.file_path = Path(file_path)
|
13
24
|
self._table: Dict[str, Dict[str, int]] = {}
|
14
25
|
self._load()
|
diagram_to_iac/core/memory.py
CHANGED
@@ -87,12 +87,15 @@ class EnhancedMemory(Memory):
|
|
87
87
|
|
88
88
|
# Default path for the persistent agent state JSON file. Allows override via
|
89
89
|
# `AGENT_STATE_FILE` environment variable for testing.
|
90
|
-
|
91
|
-
|
92
|
-
/
|
93
|
-
|
94
|
-
|
95
|
-
|
90
|
+
def _get_default_agent_state_path():
|
91
|
+
"""Get the default agent state path, checking workspace first."""
|
92
|
+
workspace_base = os.environ.get('WORKSPACE_BASE', '/workspace')
|
93
|
+
if os.path.exists(workspace_base):
|
94
|
+
return Path(workspace_base) / "data" / "state" / "agent_state.json"
|
95
|
+
else:
|
96
|
+
return Path(__file__).resolve().parents[3] / "state" / ".agent_state" / "agent_state.json"
|
97
|
+
|
98
|
+
_DEFAULT_AGENT_STATE_PATH = _get_default_agent_state_path()
|
96
99
|
AGENT_STATE_PATH = Path(os.environ.get("AGENT_STATE_FILE", _DEFAULT_AGENT_STATE_PATH))
|
97
100
|
|
98
101
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import json
|
4
|
+
import os
|
4
5
|
from datetime import datetime, timezone
|
5
6
|
from pathlib import Path
|
6
7
|
import threading
|
@@ -11,7 +12,17 @@ class LogBus:
|
|
11
12
|
"""Simple JSONL logging service."""
|
12
13
|
|
13
14
|
def __init__(self, log_dir: str | Path | None = None) -> None:
|
14
|
-
|
15
|
+
if log_dir:
|
16
|
+
self.log_dir = Path(log_dir)
|
17
|
+
else:
|
18
|
+
# Check for workspace-based path first (for containers)
|
19
|
+
workspace_base = os.environ.get('WORKSPACE_BASE', '/workspace')
|
20
|
+
if os.path.exists(workspace_base):
|
21
|
+
self.log_dir = Path(workspace_base) / "logs"
|
22
|
+
else:
|
23
|
+
# Fallback to package-relative path
|
24
|
+
self.log_dir = Path(__file__).resolve().parents[3] / "logs"
|
25
|
+
|
15
26
|
self.log_dir.mkdir(parents=True, exist_ok=True)
|
16
27
|
timestamp = datetime.now().strftime("%Y%m%d-%H%M%S")
|
17
28
|
self.log_path = self.log_dir / f"run-{timestamp}.jsonl"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: diagram-to-iac
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.7.0
|
4
4
|
Summary: Convert architecture diagrams into IaC modules
|
5
5
|
Author-email: vindpro <admin@vindpro.com>
|
6
6
|
Description-Content-Type: text/markdown
|
@@ -11,7 +11,7 @@ Requires-Dist: langchain-core<1.0.0,>=0.3.62
|
|
11
11
|
Requires-Dist: langchain_google_genai==2.1.5
|
12
12
|
Requires-Dist: langchain_openai==0.3.27
|
13
13
|
Requires-Dist: langgraph==0.5.0
|
14
|
-
Requires-Dist: openai==1.
|
14
|
+
Requires-Dist: openai==1.93.0
|
15
15
|
Requires-Dist: protobuf>=5.27.0
|
16
16
|
Requires-Dist: pydantic==2.11.7
|
17
17
|
Requires-Dist: PyYAML==6.0.2
|
@@ -43,13 +43,13 @@ diagram_to_iac/core/agent_base.py,sha256=DjZjcfzDpEhfIOki00XwQ-4lPli3OBcQ_7RNKsT
|
|
43
43
|
diagram_to_iac/core/config_loader.py,sha256=6WWOp6G7_xYUhm1x62sVa-7kFlCthcthbppmeGz1YsM,9276
|
44
44
|
diagram_to_iac/core/enhanced_memory.py,sha256=fJ8r-MREZRnm6Rg01CDCicMEx-dDxDEjJgrk8rnVc5Y,11761
|
45
45
|
diagram_to_iac/core/errors.py,sha256=gZwZocnIcBlS4YccIBdjG8XztRCtMe4Cu6KWxLzebDM,115
|
46
|
-
diagram_to_iac/core/issue_tracker.py,sha256=
|
47
|
-
diagram_to_iac/core/memory.py,sha256=
|
46
|
+
diagram_to_iac/core/issue_tracker.py,sha256=WLp2cJD9PNV0WwWqU0dyHtuNiyKHI9HQvGmRsdnh2c8,2193
|
47
|
+
diagram_to_iac/core/memory.py,sha256=nV0LxDnU1Or41oF3sZzmxpYPknu8lICqkjFGJ8fBs9c,4772
|
48
48
|
diagram_to_iac/core/registry.py,sha256=ibdMz68W7qkwF0dprt4ni5pekgJfAPuRgL85uRU7wHY,26632
|
49
49
|
diagram_to_iac/core/test_config.py,sha256=hktJ2NcRK2i24xinN4slHpH2-WV8w8PoMXgJnDYeCtQ,3467
|
50
50
|
diagram_to_iac/services/__init__.py,sha256=I5R8g7vYX4tCldRf1Jf9vEhm5mylc-MfFicqLnY6a3E,238
|
51
51
|
diagram_to_iac/services/commenter.py,sha256=iXvHXOeih64FbE34PuGPk6fhI4RmC62ZSVtFwmMqiOA,22146
|
52
|
-
diagram_to_iac/services/observability.py,sha256=
|
52
|
+
diagram_to_iac/services/observability.py,sha256=ci2EV7IlC-RinDL8u8S8JGB78ZBN39Q2EXCyiqIbWWc,2250
|
53
53
|
diagram_to_iac/services/step_summary.py,sha256=g3MuMZ51IDubI0oWcF7qMvseNgDS6D90AsKK_1s5xDQ,2808
|
54
54
|
diagram_to_iac/templates/issue_frontmatter.yml,sha256=qjyjUT8jszRIbiX6wmACfhzF-4yTvY1cRtY371o4Ung,7012
|
55
55
|
diagram_to_iac/tools/__init__.py,sha256=F2pcKhoPP5KDeQIGcqKXD1J30KFKc9qxMw1jxzrs9qY,434
|
@@ -74,8 +74,8 @@ diagram_to_iac/tools/shell/shell.py,sha256=ZOJ7Vo3l_R2Gm6Ml2FL0RX__-C_JOsUrLJVvB
|
|
74
74
|
diagram_to_iac/tools/shell/shell_config.yaml,sha256=9mV1mpOD9mwOx50TXF-ACafeJmBSZaqPo4v-TQxB5U4,1722
|
75
75
|
diagram_to_iac/tools/tf/terraform.py,sha256=j1boWRo6JKpNGf1OwnWoWboO0gMYTizCOHDSxozoFZw,37343
|
76
76
|
diagram_to_iac/tools/tf/terraform_config.yaml,sha256=Mj5rp5hwLLZ3VmKIqwnjoKvPlaA20OX5plH40DfGG7k,610
|
77
|
-
diagram_to_iac-1.
|
78
|
-
diagram_to_iac-1.
|
79
|
-
diagram_to_iac-1.
|
80
|
-
diagram_to_iac-1.
|
81
|
-
diagram_to_iac-1.
|
77
|
+
diagram_to_iac-1.7.0.dist-info/METADATA,sha256=7LEXDyQFY1bmCQqvHSS6QKG9yY-i42wniRK_rpHcle0,10689
|
78
|
+
diagram_to_iac-1.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
79
|
+
diagram_to_iac-1.7.0.dist-info/entry_points.txt,sha256=DfGCnmgWWGHtQpqU8VqcUWs5k_be-bfO67z1vOuTitA,277
|
80
|
+
diagram_to_iac-1.7.0.dist-info/top_level.txt,sha256=k1cV0YODiCUU46qlmbQaquMcbMXhNm05NZLxsinDUBA,15
|
81
|
+
diagram_to_iac-1.7.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|