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.
@@ -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
- base_dir = Path(__file__).resolve().parents[3]
11
- file_path = base_dir / "data" / "db" / "issue_tracker.json"
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()
@@ -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
- _DEFAULT_AGENT_STATE_PATH = (
91
- Path(__file__).resolve().parents[3]
92
- / "state"
93
- / ".agent_state"
94
- / "agent_state.json"
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
- self.log_dir = Path(log_dir) if log_dir else Path(__file__).resolve().parents[3] / "logs"
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.5.0
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.92.3
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=0eo289hn94yCoFCkLaYiDOIJBjk33i2dk6eLeYe_9YE,1659
47
- diagram_to_iac/core/memory.py,sha256=P9URX8m2nab65ZPF36uf6Z9hEXQGXrjrXa8dPXG7pm8,4444
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=yxbnjMc4TO1SM8RZZMHf2E8uVOLpxFhiTjsTkymDi6Y,1856
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.5.0.dist-info/METADATA,sha256=pa4hTMPN6O46XRq028RNvRKZEiR9deqiFhawCUIPwws,10689
78
- diagram_to_iac-1.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
79
- diagram_to_iac-1.5.0.dist-info/entry_points.txt,sha256=DfGCnmgWWGHtQpqU8VqcUWs5k_be-bfO67z1vOuTitA,277
80
- diagram_to_iac-1.5.0.dist-info/top_level.txt,sha256=k1cV0YODiCUU46qlmbQaquMcbMXhNm05NZLxsinDUBA,15
81
- diagram_to_iac-1.5.0.dist-info/RECORD,,
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,,