diagram-to-iac 0.7.0__py3-none-any.whl → 0.9.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/__init__.py +10 -0
- diagram_to_iac/actions/__init__.py +7 -0
- diagram_to_iac/actions/git_entry.py +174 -0
- diagram_to_iac/actions/supervisor_entry.py +116 -0
- diagram_to_iac/actions/terraform_agent_entry.py +207 -0
- diagram_to_iac/agents/__init__.py +26 -0
- diagram_to_iac/agents/demonstrator_langgraph/__init__.py +10 -0
- diagram_to_iac/agents/demonstrator_langgraph/agent.py +826 -0
- diagram_to_iac/agents/git_langgraph/__init__.py +10 -0
- diagram_to_iac/agents/git_langgraph/agent.py +1018 -0
- diagram_to_iac/agents/git_langgraph/pr.py +146 -0
- diagram_to_iac/agents/hello_langgraph/__init__.py +9 -0
- diagram_to_iac/agents/hello_langgraph/agent.py +621 -0
- diagram_to_iac/agents/policy_agent/__init__.py +15 -0
- diagram_to_iac/agents/policy_agent/agent.py +507 -0
- diagram_to_iac/agents/policy_agent/integration_example.py +191 -0
- diagram_to_iac/agents/policy_agent/tools/__init__.py +14 -0
- diagram_to_iac/agents/policy_agent/tools/tfsec_tool.py +259 -0
- diagram_to_iac/agents/shell_langgraph/__init__.py +21 -0
- diagram_to_iac/agents/shell_langgraph/agent.py +122 -0
- diagram_to_iac/agents/shell_langgraph/detector.py +50 -0
- diagram_to_iac/agents/supervisor_langgraph/__init__.py +17 -0
- diagram_to_iac/agents/supervisor_langgraph/agent.py +1947 -0
- diagram_to_iac/agents/supervisor_langgraph/demonstrator.py +22 -0
- diagram_to_iac/agents/supervisor_langgraph/guards.py +23 -0
- diagram_to_iac/agents/supervisor_langgraph/pat_loop.py +49 -0
- diagram_to_iac/agents/supervisor_langgraph/router.py +9 -0
- diagram_to_iac/agents/terraform_langgraph/__init__.py +15 -0
- diagram_to_iac/agents/terraform_langgraph/agent.py +1216 -0
- diagram_to_iac/agents/terraform_langgraph/parser.py +76 -0
- diagram_to_iac/core/__init__.py +7 -0
- diagram_to_iac/core/agent_base.py +19 -0
- diagram_to_iac/core/enhanced_memory.py +302 -0
- diagram_to_iac/core/errors.py +4 -0
- diagram_to_iac/core/issue_tracker.py +49 -0
- diagram_to_iac/core/memory.py +132 -0
- diagram_to_iac/r2d.py +345 -13
- diagram_to_iac/services/__init__.py +10 -0
- diagram_to_iac/services/observability.py +59 -0
- diagram_to_iac/services/step_summary.py +77 -0
- diagram_to_iac/tools/__init__.py +11 -0
- diagram_to_iac/tools/api_utils.py +108 -26
- diagram_to_iac/tools/git/__init__.py +45 -0
- diagram_to_iac/tools/git/git.py +956 -0
- diagram_to_iac/tools/hello/__init__.py +30 -0
- diagram_to_iac/tools/hello/cal_utils.py +31 -0
- diagram_to_iac/tools/hello/text_utils.py +97 -0
- diagram_to_iac/tools/llm_utils/__init__.py +20 -0
- diagram_to_iac/tools/llm_utils/anthropic_driver.py +87 -0
- diagram_to_iac/tools/llm_utils/base_driver.py +90 -0
- diagram_to_iac/tools/llm_utils/gemini_driver.py +89 -0
- diagram_to_iac/tools/llm_utils/openai_driver.py +93 -0
- diagram_to_iac/tools/llm_utils/router.py +303 -0
- diagram_to_iac/tools/sec_utils.py +4 -2
- diagram_to_iac/tools/shell/__init__.py +17 -0
- diagram_to_iac/tools/shell/shell.py +415 -0
- diagram_to_iac/tools/text_utils.py +277 -0
- diagram_to_iac/tools/tf/terraform.py +851 -0
- diagram_to_iac-0.9.0.dist-info/METADATA +256 -0
- diagram_to_iac-0.9.0.dist-info/RECORD +64 -0
- {diagram_to_iac-0.7.0.dist-info → diagram_to_iac-0.9.0.dist-info}/WHEEL +1 -1
- diagram_to_iac-0.9.0.dist-info/entry_points.txt +6 -0
- diagram_to_iac/agents/codegen_agent.py +0 -0
- diagram_to_iac/agents/consensus_agent.py +0 -0
- diagram_to_iac/agents/deployment_agent.py +0 -0
- diagram_to_iac/agents/github_agent.py +0 -0
- diagram_to_iac/agents/interpretation_agent.py +0 -0
- diagram_to_iac/agents/question_agent.py +0 -0
- diagram_to_iac/agents/supervisor.py +0 -0
- diagram_to_iac/agents/vision_agent.py +0 -0
- diagram_to_iac/core/config.py +0 -0
- diagram_to_iac/tools/cv_utils.py +0 -0
- diagram_to_iac/tools/gh_utils.py +0 -0
- diagram_to_iac/tools/tf_utils.py +0 -0
- diagram_to_iac-0.7.0.dist-info/METADATA +0 -16
- diagram_to_iac-0.7.0.dist-info/RECORD +0 -32
- diagram_to_iac-0.7.0.dist-info/entry_points.txt +0 -2
- {diagram_to_iac-0.7.0.dist-info → diagram_to_iac-0.9.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,256 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: diagram-to-iac
|
3
|
+
Version: 0.9.0
|
4
|
+
Summary: Convert architecture diagrams into IaC modules
|
5
|
+
Author-email: vindpro <admin@vindpro.com>
|
6
|
+
Description-Content-Type: text/markdown
|
7
|
+
Requires-Dist: anthropic==0.54.0
|
8
|
+
Requires-Dist: google_api_python_client==2.172.0
|
9
|
+
Requires-Dist: langchain_anthropic==0.3.15
|
10
|
+
Requires-Dist: langchain-core<1.0.0,>=0.3.62
|
11
|
+
Requires-Dist: langchain_google_genai==2.1.5
|
12
|
+
Requires-Dist: langchain_openai==0.3.24
|
13
|
+
Requires-Dist: langgraph==0.4.8
|
14
|
+
Requires-Dist: openai==1.88.0
|
15
|
+
Requires-Dist: protobuf>=5.27.0
|
16
|
+
Requires-Dist: pydantic==2.11.7
|
17
|
+
Requires-Dist: PyYAML==6.0.2
|
18
|
+
Requires-Dist: Requests==2.32.4
|
19
|
+
Requires-Dist: GitPython<4.0,>=3.1
|
20
|
+
Requires-Dist: pytest-mock<4.0.0,>=3.10.0
|
21
|
+
|
22
|
+
# diagram-to-iac
|
23
|
+
|
24
|
+
> **"One container, many minds—zero manual toil."**
|
25
|
+
|
26
|
+
An automated DevOps-in-a-Box system that intelligently handles complete Repo-to-Deployment (R2D) workflows. The project combines AI-powered infrastructure analysis with GitHub automation for self-healing deployments.
|
27
|
+
|
28
|
+
## 🚀 DevOps-in-a-Box: R2D Action
|
29
|
+
|
30
|
+
The **R2D (Repo-to-Deployment) Action** is a self-healing, Terraform-first DevOps automation solution that lives inside a single GitHub Action. When you supply any repository URL, our SupervisorAgent marshals specialized agents to handle the complete deployment workflow.
|
31
|
+
|
32
|
+
### Quick Start with GitHub Actions
|
33
|
+
|
34
|
+
```yaml
|
35
|
+
name: Deploy Infrastructure
|
36
|
+
on:
|
37
|
+
push:
|
38
|
+
branches: [main]
|
39
|
+
|
40
|
+
jobs:
|
41
|
+
deploy:
|
42
|
+
runs-on: ubuntu-latest
|
43
|
+
steps:
|
44
|
+
- name: Deploy with R2D
|
45
|
+
uses: amartyamandal/diagram-to-iac/.github/actions/r2d@v1
|
46
|
+
with:
|
47
|
+
repo: ${{ github.server_url }}/${{ github.repository }}
|
48
|
+
env:
|
49
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
50
|
+
TF_CLOUD_TOKEN: ${{ secrets.TF_CLOUD_TOKEN }}
|
51
|
+
```
|
52
|
+
|
53
|
+
### Key Features
|
54
|
+
|
55
|
+
- **🤖 Self-Healing**: Automatically creates GitHub Issues for errors and suggests fixes
|
56
|
+
- **🔒 Security-First**: Non-root container execution with workspace isolation
|
57
|
+
- **🌍 Multi-Cloud**: Supports Terraform, PowerShell, Bash, and Ansible deployments
|
58
|
+
- **📊 Observable**: Rich logging, step summaries, and artifact collection
|
59
|
+
- **🔄 Resumable**: Thread-based conversation tracking for workflow continuation
|
60
|
+
- **🧪 Testable**: Comprehensive dry-run mode for safe testing
|
61
|
+
|
62
|
+
### The Cast: Specialized Agents
|
63
|
+
|
64
|
+
| Agent | Capability | Never Does |
|
65
|
+
|-------|------------|------------|
|
66
|
+
| **SupervisorAgent** | Orchestrates workflow, manages checkpoints | Edit code directly |
|
67
|
+
| **GitAgent** | Clone, branch, PR creation, assign @github-copilot | Guess network credentials |
|
68
|
+
| **ShellAgent** | Safe command execution, stack detection | Execute non-allowlisted binaries |
|
69
|
+
| **TerraformAgent** | Init/plan/apply, error classification | Apply with critical security issues |
|
70
|
+
| **PolicyAgent** | tfsec + OPA security gates | Ignore critical findings |
|
71
|
+
|
72
|
+
## 📦 Installation
|
73
|
+
|
74
|
+
Create a virtual environment with Python 3.11+ and install the project in editable mode. Development dependencies (linting, testing, etc.) are provided through the `dev` extra:
|
75
|
+
|
76
|
+
```bash
|
77
|
+
pip install -e .[dev]
|
78
|
+
```
|
79
|
+
|
80
|
+
## 🖥️ Running the CLI
|
81
|
+
|
82
|
+
The project exposes several entry points via `pyproject.toml`:
|
83
|
+
|
84
|
+
### Main R2D CLI
|
85
|
+
```bash
|
86
|
+
# Run complete R2D workflow
|
87
|
+
diagram-to-iac https://github.com/user/repo
|
88
|
+
r2d-agent https://github.com/user/repo --dry-run
|
89
|
+
|
90
|
+
# Get help
|
91
|
+
diagram-to-iac --help
|
92
|
+
```
|
93
|
+
|
94
|
+
### Individual Agent CLIs
|
95
|
+
```bash
|
96
|
+
# SupervisorAgent (orchestration)
|
97
|
+
supervisor-agent --repo-url https://github.com/user/repo
|
98
|
+
|
99
|
+
# GitAgent (repository operations)
|
100
|
+
git-agent --repo-url https://github.com/user/repo
|
101
|
+
|
102
|
+
# TerraformAgent (infrastructure deployment)
|
103
|
+
terraform-agent --query "terraform plan"
|
104
|
+
```
|
105
|
+
|
106
|
+
### Interactive Mode
|
107
|
+
|
108
|
+
Running without arguments enters interactive mode:
|
109
|
+
|
110
|
+
```bash
|
111
|
+
$ supervisor-agent --dry-run
|
112
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
113
|
+
║ 🤖 DevOps-in-a-Box: SupervisorAgent ║
|
114
|
+
║ "One container, many minds—zero manual toil." ║
|
115
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
116
|
+
|
117
|
+
Repository URL: https://github.com/octocat/Hello-World.git
|
118
|
+
🚀 R2D SupervisorAgent - Workflow Orchestration
|
119
|
+
📅 Default branch name: r2d-<timestamp>
|
120
|
+
📝 Press Enter to use default, or type a custom branch name:
|
121
|
+
```
|
122
|
+
|
123
|
+
The agent will continue with the complete workflow (clone → detect → deploy → issue creation). The `--dry-run` flag simulates actions without making changes.
|
124
|
+
|
125
|
+
## Running Tests
|
126
|
+
|
127
|
+
All tests use `pytest` and are located under the `tests` directory. After installing the development dependencies, run:
|
128
|
+
|
129
|
+
```bash
|
130
|
+
pytest
|
131
|
+
```
|
132
|
+
|
133
|
+
## 📊 Logs and Observability
|
134
|
+
|
135
|
+
DevOps-in-a-Box provides comprehensive observability for all R2D workflows:
|
136
|
+
|
137
|
+
### Structured Logging
|
138
|
+
Each run creates a JSONL log file under the `logs/` directory (e.g. `logs/run-<timestamp>.jsonl`).
|
139
|
+
Every significant event is logged as structured JSON for easy parsing and analysis:
|
140
|
+
|
141
|
+
```bash
|
142
|
+
# Follow live logs
|
143
|
+
tail -f logs/run-*.jsonl
|
144
|
+
|
145
|
+
# Parse with jq for specific events
|
146
|
+
cat logs/run-*.jsonl | jq '. | select(.event_type == "terraform_apply")'
|
147
|
+
```
|
148
|
+
|
149
|
+
### Step Summary Dashboard
|
150
|
+
After each workflow, a Markdown dashboard is generated at `step-summary.md` with:
|
151
|
+
- 📈 Terraform resource changes and cost estimates
|
152
|
+
- 🔒 Security findings from tfsec/OPA scans
|
153
|
+
- 🏗️ Infrastructure modules and dependencies
|
154
|
+
- ⚡ Performance metrics and execution times
|
155
|
+
|
156
|
+
### GitHub Integration
|
157
|
+
- **Issues**: Automatically created for errors with detailed context
|
158
|
+
- **Pull Requests**: Auto-drafted fixes assigned to @github-copilot
|
159
|
+
- **Workflow Summaries**: Rich GitHub Actions step summaries
|
160
|
+
- **Artifacts**: Logs, plans, and reports uploaded for download
|
161
|
+
|
162
|
+
### CI/CD Artifacts
|
163
|
+
In GitHub Actions, the following artifacts are automatically collected:
|
164
|
+
- `logs/` - Structured JSONL logs
|
165
|
+
- `*.tfplan` - Terraform plan files
|
166
|
+
- `step-summary.md` - Workflow dashboard
|
167
|
+
- `r2d-artifacts/` - Complete workflow artifacts
|
168
|
+
|
169
|
+
## 🔧 GitHub Actions Usage
|
170
|
+
|
171
|
+
Add the R2D action to your workflow for automated infrastructure deployment:
|
172
|
+
|
173
|
+
### Basic Setup
|
174
|
+
|
175
|
+
```yaml
|
176
|
+
name: Deploy Infrastructure
|
177
|
+
on:
|
178
|
+
push:
|
179
|
+
branches: [main]
|
180
|
+
|
181
|
+
jobs:
|
182
|
+
deploy:
|
183
|
+
runs-on: ubuntu-latest
|
184
|
+
steps:
|
185
|
+
- name: Deploy with R2D
|
186
|
+
uses: amartyamandal/diagram-to-iac/.github/actions/r2d@v1
|
187
|
+
with:
|
188
|
+
repo: ${{ github.server_url }}/${{ github.repository }}
|
189
|
+
env:
|
190
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
191
|
+
TF_CLOUD_TOKEN: ${{ secrets.TF_CLOUD_TOKEN }}
|
192
|
+
```
|
193
|
+
|
194
|
+
### Advanced Configuration
|
195
|
+
|
196
|
+
```yaml
|
197
|
+
- name: Deploy with Custom Settings
|
198
|
+
uses: amartyamandal/diagram-to-iac/.github/actions/r2d@v1
|
199
|
+
with:
|
200
|
+
repo: 'https://github.com/my-org/infrastructure'
|
201
|
+
package_version: 'v2.1.0'
|
202
|
+
dry_run: 'false'
|
203
|
+
branch_name: 'deploy-prod'
|
204
|
+
thread_id: 'prod-deployment-001'
|
205
|
+
env:
|
206
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
207
|
+
TF_CLOUD_TOKEN: ${{ secrets.TF_CLOUD_TOKEN }}
|
208
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
209
|
+
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
210
|
+
```
|
211
|
+
|
212
|
+
### Required Secrets
|
213
|
+
|
214
|
+
Configure these in your repository settings:
|
215
|
+
|
216
|
+
| Secret | Description | Required |
|
217
|
+
|--------|-------------|----------|
|
218
|
+
| `GITHUB_TOKEN` | GitHub API access (auto-provided) | ✅ Yes |
|
219
|
+
| `TF_CLOUD_TOKEN` | Terraform Cloud API token | ✅ Yes |
|
220
|
+
| `OPENAI_API_KEY` | OpenAI API key | ❌ Optional |
|
221
|
+
| `ANTHROPIC_API_KEY` | Claude API key | ❌ Optional |
|
222
|
+
| `GOOGLE_API_KEY` | Gemini API key | ❌ Optional |
|
223
|
+
|
224
|
+
### Example Workflows
|
225
|
+
|
226
|
+
See [`.github/actions/r2d/examples/`](.github/actions/r2d/examples/) for complete workflow examples:
|
227
|
+
|
228
|
+
- **Basic Deployment**: Simple push-to-deploy workflow
|
229
|
+
- **Multi-Environment**: Deploy to dev/staging/prod with approvals
|
230
|
+
- **PR Validation**: Validate infrastructure changes in pull requests
|
231
|
+
- **Drift Detection**: Scheduled infrastructure drift monitoring
|
232
|
+
- **External Repository**: Deploy from external repositories
|
233
|
+
|
234
|
+
|
235
|
+
After each workflow run, a Markdown dashboard is generated at `step-summary.md`
|
236
|
+
showing a high level overview of Terraform modules, resource changes and tfsec
|
237
|
+
findings. The dashboard is derived from the JSONL logs and can be viewed
|
238
|
+
directly in the repository or uploaded as a build artifact.
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
This repository provides a container action that runs the `SupervisorAgent` on the current repository. Add the action to a workflow as shown below:
|
243
|
+
|
244
|
+
```yaml
|
245
|
+
jobs:
|
246
|
+
supervisor:
|
247
|
+
runs-on: ubuntu-latest
|
248
|
+
steps:
|
249
|
+
- uses: actions/checkout@v4
|
250
|
+
- name: Run Supervisor Agent
|
251
|
+
uses: ./.github/actions/supervisor
|
252
|
+
env:
|
253
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
254
|
+
```
|
255
|
+
|
256
|
+
The action reads `GITHUB_REPOSITORY` and `GITHUB_TOKEN` automatically to clone the repository and execute the agent.
|
@@ -0,0 +1,64 @@
|
|
1
|
+
diagram_to_iac/__init__.py,sha256=LnGvfFSFGIYc7cx-AkxfGPBU-H7wleyXLOL23s5C_XY,244
|
2
|
+
diagram_to_iac/cli.py,sha256=uumG1frF42eCkdLIZxyxQB1x6lDwtG-qKL4vcHnLLXY,400
|
3
|
+
diagram_to_iac/r2d.py,sha256=v4f9TegjEnITYPmnEZyBUgZ44s0x_Sct9993h6V0a8k,13021
|
4
|
+
diagram_to_iac/actions/__init__.py,sha256=P1CjjY4FYUA0Tcx8FQNLYYSI9fhv8yKd_TmRGtmhW50,229
|
5
|
+
diagram_to_iac/actions/git_entry.py,sha256=mhY6gYquUPVvyvnTC2S90z_uXEe1asqWLoi1989aB_Q,5403
|
6
|
+
diagram_to_iac/actions/supervisor_entry.py,sha256=vWhFn-4M0jQnrUQUSCb0I_YNxzGsKiBV0QNzkIkQfNE,3586
|
7
|
+
diagram_to_iac/actions/terraform_agent_entry.py,sha256=gKkX4fIRdBDZpwPQO_v2t1SSO0SQuzaxQ0StKegGK8U,6852
|
8
|
+
diagram_to_iac/agents/__init__.py,sha256=GHInKSPq56ZPYSKsyti6_wk82dhn2hOqfxNHkZZOj_0,735
|
9
|
+
diagram_to_iac/agents/demonstrator_langgraph/__init__.py,sha256=nghMYMEEarfkR0V6AH1fDCV-mXBLnmFP2sO4OPxJ4cI,371
|
10
|
+
diagram_to_iac/agents/demonstrator_langgraph/agent.py,sha256=TXjhk1NR4XeEqhDpYmu1V8DaAviNOlLQLRA8AeWcueE,34846
|
11
|
+
diagram_to_iac/agents/git_langgraph/__init__.py,sha256=x6nCnOu-Vcl-qVqW1swhdaE_sQqUSvEUUtWk4eePBUo,295
|
12
|
+
diagram_to_iac/agents/git_langgraph/agent.py,sha256=sS7Ut6hawqeftu7fOzi76lTmNLoxvAUk6Rx0D-r3nDQ,45090
|
13
|
+
diagram_to_iac/agents/git_langgraph/pr.py,sha256=qXopN5XAF1DIac5vbH-QasihkuAiWmC9JY8pLYlm-sQ,8601
|
14
|
+
diagram_to_iac/agents/hello_langgraph/__init__.py,sha256=lviuDAPJezmpaXR-H7JxfIT9wvg1xO2t6JLyeKSSx0Y,266
|
15
|
+
diagram_to_iac/agents/hello_langgraph/agent.py,sha256=CYfohi-370M3ZW4GLaQmFiDXMgthI2NH_JKOjXAzU24,30736
|
16
|
+
diagram_to_iac/agents/policy_agent/__init__.py,sha256=E6QEyIpSHh0PMRNnM0dXuYtz2HZdCJaY5W7UbEwPZBA,380
|
17
|
+
diagram_to_iac/agents/policy_agent/agent.py,sha256=HJ_VBWNTR_QBcspNfeHQPGKbROGjSracd8BGNGckfSs,20821
|
18
|
+
diagram_to_iac/agents/policy_agent/integration_example.py,sha256=LtOGshT0VL6yuu5p8UtJ5xqKNweRsLqeyCZK18dnwBA,6703
|
19
|
+
diagram_to_iac/agents/policy_agent/tools/__init__.py,sha256=C9ez49BmMiaAlYs_QrtC0ypMLm1S-Sf9RCRI40-KuCA,282
|
20
|
+
diagram_to_iac/agents/policy_agent/tools/tfsec_tool.py,sha256=YYCRhwVLegeCzJrbah3BYhpKwYPh7PtDxB3kYW8qt10,10116
|
21
|
+
diagram_to_iac/agents/shell_langgraph/__init__.py,sha256=teAx1L87McCj9_24NUdET3OC2K60_qbO6K9swunIYaE,601
|
22
|
+
diagram_to_iac/agents/shell_langgraph/agent.py,sha256=dZWzjVQ9oX_BtNHQ1Zrzy2oQpuY1e5BS51-SGcWpoSw,4341
|
23
|
+
diagram_to_iac/agents/shell_langgraph/detector.py,sha256=wLw0uDP_V2m1z6SRk7QNCzoUMYCfXwu3DNg8EWue9yk,1493
|
24
|
+
diagram_to_iac/agents/supervisor_langgraph/__init__.py,sha256=iLN60d20cqoXOLyuLvJkiwrzapE84em222Tnyndq2dc,385
|
25
|
+
diagram_to_iac/agents/supervisor_langgraph/agent.py,sha256=gdvCDWWtaCkgPyxGn47PqjLDf03qHkuxrTj6uqnN2TA,82432
|
26
|
+
diagram_to_iac/agents/supervisor_langgraph/demonstrator.py,sha256=OT-bElEyLZBedzcc5DtZnp1yhjYVjx4jRzt52f5SoSU,803
|
27
|
+
diagram_to_iac/agents/supervisor_langgraph/guards.py,sha256=XzBgjXnwbOgLkGm7AqXX4tQdGBerq_6pKvduKPqIwF0,720
|
28
|
+
diagram_to_iac/agents/supervisor_langgraph/pat_loop.py,sha256=feY8ZPGQxqkUuHOMSdpilGDUjOvaky8xImLuVe98hrw,1566
|
29
|
+
diagram_to_iac/agents/supervisor_langgraph/router.py,sha256=7hZXXEmtvG__w7UAaOhoPaHdubUv-oMKbQdMTMXk-qY,276
|
30
|
+
diagram_to_iac/agents/terraform_langgraph/__init__.py,sha256=N4_cTgk1wNZMS9WU5xZMEm6Dt5GiJ2b0iLx-QUhJd10,390
|
31
|
+
diagram_to_iac/agents/terraform_langgraph/agent.py,sha256=2B43GoapfUxGegJuI6AgGwqJ-j1iGsV1q2rekVAIs9k,48013
|
32
|
+
diagram_to_iac/agents/terraform_langgraph/parser.py,sha256=J56CPlpIEIPuDHeAOL3sz4TiIgqLi7raPlX7jwFrAms,2039
|
33
|
+
diagram_to_iac/core/__init__.py,sha256=VjXPYLIS2SAPIDniBkeA2EDK0VHJvdaKIC8dzVneaTM,140
|
34
|
+
diagram_to_iac/core/agent_base.py,sha256=DjZjcfzDpEhfIOki00XwQ-4lPli3OBcQ_7RNKsT7JSI,505
|
35
|
+
diagram_to_iac/core/enhanced_memory.py,sha256=Ga5wtI45zEcbwL_F1YqJaXBRpWK0iJPa69j4-V-ebvM,10951
|
36
|
+
diagram_to_iac/core/errors.py,sha256=gZwZocnIcBlS4YccIBdjG8XztRCtMe4Cu6KWxLzebDM,115
|
37
|
+
diagram_to_iac/core/issue_tracker.py,sha256=0eo289hn94yCoFCkLaYiDOIJBjk33i2dk6eLeYe_9YE,1659
|
38
|
+
diagram_to_iac/core/memory.py,sha256=zcuLrpXpQkB5R6gf0OSwBajvzEz2hc8NHEUv8F7qgHs,4309
|
39
|
+
diagram_to_iac/services/__init__.py,sha256=I5R8g7vYX4tCldRf1Jf9vEhm5mylc-MfFicqLnY6a3E,238
|
40
|
+
diagram_to_iac/services/observability.py,sha256=yxbnjMc4TO1SM8RZZMHf2E8uVOLpxFhiTjsTkymDi6Y,1856
|
41
|
+
diagram_to_iac/services/step_summary.py,sha256=g3MuMZ51IDubI0oWcF7qMvseNgDS6D90AsKK_1s5xDQ,2808
|
42
|
+
diagram_to_iac/tools/__init__.py,sha256=F2pcKhoPP5KDeQIGcqKXD1J30KFKc9qxMw1jxzrs9qY,434
|
43
|
+
diagram_to_iac/tools/api_utils.py,sha256=Iy08IyWdHH49DlCmJqgGfO4QLKT540pSgbJoN_YyfMY,7452
|
44
|
+
diagram_to_iac/tools/sec_utils.py,sha256=l8lSqEE6TS44s4JGy0urpWbZ18dfCB4dRgDC21BisU8,1934
|
45
|
+
diagram_to_iac/tools/text_utils.py,sha256=cnwOXWndd1QAlZC4zOO9jtF3_j4xozDLUTfzfJE9wWQ,9959
|
46
|
+
diagram_to_iac/tools/git/__init__.py,sha256=1V3_Kg_KzQ6er60N-1hqQeigkV8c4AvYq-R60_xmQ4o,1316
|
47
|
+
diagram_to_iac/tools/git/git.py,sha256=n5fULnOXtB-bX-TASZrYEZ19sowSgu2SZDW4ZziXz1M,43658
|
48
|
+
diagram_to_iac/tools/hello/__init__.py,sha256=f6GpkiQxvuGaRMm34yQilGACxUI4c5edJQTDjZtskjQ,891
|
49
|
+
diagram_to_iac/tools/hello/cal_utils.py,sha256=B-0iOJHNL1IgYPlWUdrAwEf1r9LUKBAnGyx1xQz05ZE,1507
|
50
|
+
diagram_to_iac/tools/hello/text_utils.py,sha256=ZaVQYw6GVqaq9EDTQfG3gTAudeN8CuFUUb7IETZhUCA,3952
|
51
|
+
diagram_to_iac/tools/llm_utils/__init__.py,sha256=IQ6cQprJtV4j5s_RVnt94rCGXfuvZ0PiTH6Y0gK242o,440
|
52
|
+
diagram_to_iac/tools/llm_utils/anthropic_driver.py,sha256=tb8HVGB6Ng9ZwImRJtSy2X0965ZE3Vm5g8HbMfcLyBY,3674
|
53
|
+
diagram_to_iac/tools/llm_utils/base_driver.py,sha256=sDUxk6_iNn3WU_HyRz2hW3YGTn8_7aucqEUnGTj2PeU,2503
|
54
|
+
diagram_to_iac/tools/llm_utils/gemini_driver.py,sha256=VO1mJ3o10oSFo5hTBs6h8TJsXyAuah4FRr6Ua-9aNYc,3794
|
55
|
+
diagram_to_iac/tools/llm_utils/openai_driver.py,sha256=ZqzXEYEutwqRw3qWx-GH85Mj2afxK4NlhCOMq_MabqQ,3962
|
56
|
+
diagram_to_iac/tools/llm_utils/router.py,sha256=WHGanstQjUlo2SmDFKGAL6xtIb3xXWlgZ5CIzHWN8I8,12906
|
57
|
+
diagram_to_iac/tools/shell/__init__.py,sha256=6UZjBcnbPabA6Qy7t4j-dCi3S2sE6sB2bTE9PIL98bA,292
|
58
|
+
diagram_to_iac/tools/shell/shell.py,sha256=SvgFHNPcwToq51jtDshnlvssFSwzex42Q_jY6I0L5M8,17771
|
59
|
+
diagram_to_iac/tools/tf/terraform.py,sha256=JFZTBy4jqwGK-bwRvdA9UxGChEhQSHXjo5DapxogF1w,36042
|
60
|
+
diagram_to_iac-0.9.0.dist-info/METADATA,sha256=3GFmSBjGWaO4xlM9ixhBjKxJSKMMM2kv49cY2TWgTxU,9061
|
61
|
+
diagram_to_iac-0.9.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
62
|
+
diagram_to_iac-0.9.0.dist-info/entry_points.txt,sha256=DfGCnmgWWGHtQpqU8VqcUWs5k_be-bfO67z1vOuTitA,277
|
63
|
+
diagram_to_iac-0.9.0.dist-info/top_level.txt,sha256=k1cV0YODiCUU46qlmbQaquMcbMXhNm05NZLxsinDUBA,15
|
64
|
+
diagram_to_iac-0.9.0.dist-info/RECORD,,
|
@@ -0,0 +1,6 @@
|
|
1
|
+
[console_scripts]
|
2
|
+
diagram-to-iac = diagram_to_iac.cli:main
|
3
|
+
git-agent = diagram_to_iac.actions.git_entry:main
|
4
|
+
r2d-agent = diagram_to_iac.r2d:main
|
5
|
+
supervisor-agent = diagram_to_iac.actions.supervisor_entry:main
|
6
|
+
terraform-agent = diagram_to_iac.actions.terraform_agent_entry:main
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
diagram_to_iac/core/config.py
DELETED
File without changes
|
diagram_to_iac/tools/cv_utils.py
DELETED
File without changes
|
diagram_to_iac/tools/gh_utils.py
DELETED
File without changes
|
diagram_to_iac/tools/tf_utils.py
DELETED
File without changes
|
@@ -1,16 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: diagram-to-iac
|
3
|
-
Version: 0.7.0
|
4
|
-
Summary: Convert architecture diagrams into IaC modules
|
5
|
-
Author-email: vindpro <admin@vindpro.com>
|
6
|
-
Description-Content-Type: text/markdown
|
7
|
-
Requires-Dist: anthropic==0.51.0
|
8
|
-
Requires-Dist: google_api_python_client==2.169.0
|
9
|
-
Requires-Dist: openai==1.79.0
|
10
|
-
Requires-Dist: protobuf<5.0.0dev,>=3.19.5
|
11
|
-
Requires-Dist: PyYAML==6.0.2
|
12
|
-
Requires-Dist: Requests==2.32.3
|
13
|
-
Requires-Dist: google-generativeai==0.3.1
|
14
|
-
|
15
|
-
# diagram-to-iac
|
16
|
-
an automated system that intelligently translates visual cloud infrastructure diagrams (specifically Azure) into deployable Infrastructure as Code (IaC), leveraging AI for analysis and GitHub for collaborative refinement.
|
@@ -1,32 +0,0 @@
|
|
1
|
-
diagram_to_iac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
diagram_to_iac/cli.py,sha256=uumG1frF42eCkdLIZxyxQB1x6lDwtG-qKL4vcHnLLXY,400
|
3
|
-
diagram_to_iac/r2d.py,sha256=Ds2-uthEkKjahLOYAjE5Bv5jePd_PN3-cQt_mzuoyQQ,400
|
4
|
-
diagram_to_iac/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
|
-
diagram_to_iac/agents/codegen_agent.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
-
diagram_to_iac/agents/consensus_agent.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
diagram_to_iac/agents/deployment_agent.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
|
-
diagram_to_iac/agents/github_agent.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
diagram_to_iac/agents/interpretation_agent.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
diagram_to_iac/agents/question_agent.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
-
diagram_to_iac/agents/supervisor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
12
|
-
diagram_to_iac/agents/vision_agent.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
|
-
diagram_to_iac/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
|
-
diagram_to_iac/core/agent_base.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
|
-
diagram_to_iac/core/config.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
16
|
-
diagram_to_iac/core/memory.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
-
diagram_to_iac/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
-
diagram_to_iac/tools/api_utils.py,sha256=Guq0lJZIc-ds46-2Id80lIOFdbN4vh_dEAM9ONSgS6M,4171
|
19
|
-
diagram_to_iac/tools/cv_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
|
-
diagram_to_iac/tools/gh_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
-
diagram_to_iac/tools/sec_utils.py,sha256=Yujm-a0kWQIqw2EtbxXRFgqfCme7O8h57e5MxAdUYh4,1847
|
22
|
-
diagram_to_iac/tools/tf_utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
-
diagram_to_iac/tools/llm_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
-
diagram_to_iac/tools/llm_utils/anthropic_driver.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
-
diagram_to_iac/tools/llm_utils/gemini_driver.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
-
diagram_to_iac/tools/llm_utils/openai_driver.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
|
-
diagram_to_iac/tools/llm_utils/router.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
-
diagram_to_iac-0.7.0.dist-info/METADATA,sha256=t5cuBDqCTnzXZWdm1EQIIkX4QKs-0QddVjWj7vG3Bko,693
|
29
|
-
diagram_to_iac-0.7.0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
30
|
-
diagram_to_iac-0.7.0.dist-info/entry_points.txt,sha256=E_krzrW2-_KGXGPWFW9derAqSIQ7WYSd2pwrb7ap4j8,59
|
31
|
-
diagram_to_iac-0.7.0.dist-info/top_level.txt,sha256=k1cV0YODiCUU46qlmbQaquMcbMXhNm05NZLxsinDUBA,15
|
32
|
-
diagram_to_iac-0.7.0.dist-info/RECORD,,
|
File without changes
|