blasttrace 1.2.0__tar.gz → 1.2.1__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.

Potentially problematic release.


This version of blasttrace might be problematic. Click here for more details.

Files changed (55) hide show
  1. blasttrace-1.2.1/PKG-INFO +193 -0
  2. blasttrace-1.2.1/README.md +172 -0
  3. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/__init__.py +1 -1
  4. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/install_agent.py +1 -0
  5. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/go_parser.py +1 -0
  6. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/vue_nuxt_parser.py +1 -0
  7. blasttrace-1.2.1/blasttrace.egg-info/PKG-INFO +193 -0
  8. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace.egg-info/SOURCES.txt +0 -10
  9. blasttrace-1.2.1/blasttrace.egg-info/top_level.txt +1 -0
  10. {blasttrace-1.2.0 → blasttrace-1.2.1}/pyproject.toml +1 -1
  11. {blasttrace-1.2.0 → blasttrace-1.2.1}/setup.py +1 -1
  12. blasttrace-1.2.0/PKG-INFO +0 -125
  13. blasttrace-1.2.0/README.md +0 -104
  14. blasttrace-1.2.0/blasttrace/classifier.c +0 -27192
  15. blasttrace-1.2.0/blasttrace/license.c +0 -22617
  16. blasttrace-1.2.0/blasttrace/parsers/api_route_parser.c +0 -17395
  17. blasttrace-1.2.0/blasttrace/parsers/contract_linker.c +0 -31830
  18. blasttrace-1.2.0/blasttrace/parsers/python_ast_parser.c +0 -18001
  19. blasttrace-1.2.0/blasttrace/parsers/sql_schema_parser.c +0 -17241
  20. blasttrace-1.2.0/blasttrace/parsers/test_mapper.c +0 -16395
  21. blasttrace-1.2.0/blasttrace/parsers/ts_react_parser.c +0 -16009
  22. blasttrace-1.2.0/blasttrace/remediation.c +0 -13383
  23. blasttrace-1.2.0/blasttrace/visualizer.c +0 -15971
  24. blasttrace-1.2.0/blasttrace.egg-info/PKG-INFO +0 -125
  25. blasttrace-1.2.0/blasttrace.egg-info/top_level.txt +0 -2
  26. {blasttrace-1.2.0 → blasttrace-1.2.1}/CMakeLists.txt +0 -0
  27. {blasttrace-1.2.0 → blasttrace-1.2.1}/MANIFEST.in +0 -0
  28. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/classifier.py +0 -0
  29. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/license.py +0 -0
  30. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/__init__.py +0 -0
  31. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/api_route_parser.py +0 -0
  32. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/contract_linker.py +0 -0
  33. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/dart_flutter_parser.py +0 -0
  34. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/kotlin_android_parser.py +0 -0
  35. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/python_ast_parser.py +0 -0
  36. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/sql_schema_parser.py +0 -0
  37. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/swift_ios_parser.py +0 -0
  38. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/test_mapper.py +0 -0
  39. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/parsers/ts_react_parser.py +0 -0
  40. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/remediation.py +0 -0
  41. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/server.py +0 -0
  42. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace/visualizer.py +0 -0
  43. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace.egg-info/dependency_links.txt +0 -0
  44. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace.egg-info/entry_points.txt +0 -0
  45. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace.egg-info/not-zip-safe +0 -0
  46. {blasttrace-1.2.0 → blasttrace-1.2.1}/blasttrace.egg-info/requires.txt +0 -0
  47. {blasttrace-1.2.0 → blasttrace-1.2.1}/cpp/blast_core.cpp +0 -0
  48. {blasttrace-1.2.0 → blasttrace-1.2.1}/setup.cfg +0 -0
  49. {blasttrace-1.2.0 → blasttrace-1.2.1}/tests/test_chaos_fuzzing.py +0 -0
  50. {blasttrace-1.2.0 → blasttrace-1.2.1}/tests/test_concurrency_stress.py +0 -0
  51. {blasttrace-1.2.0 → blasttrace-1.2.1}/tests/test_fullstack_blast_radius.py +0 -0
  52. {blasttrace-1.2.0 → blasttrace-1.2.1}/tests/test_git_precommit_live.py +0 -0
  53. {blasttrace-1.2.0 → blasttrace-1.2.1}/tests/test_memory_endurance.py +0 -0
  54. {blasttrace-1.2.0 → blasttrace-1.2.1}/tests/test_rea_security.py +0 -0
  55. {blasttrace-1.2.0 → blasttrace-1.2.1}/tests/test_realworld_production.py +0 -0
@@ -0,0 +1,193 @@
1
+ Metadata-Version: 2.4
2
+ Name: blasttrace
3
+ Version: 1.2.1
4
+ Summary: Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine
5
+ Home-page: https://blasttrace.dev
6
+ Author: Moin Hasan
7
+ Author-email: Moin Hasan <moin_hasan@live.com>
8
+ License: Proprietary
9
+ Project-URL: Homepage, https://blasttrace.dev
10
+ Project-URL: Documentation, https://blasttrace.dev
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: C++
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Topic :: Software Development :: Testing
15
+ Classifier: Topic :: Software Development :: Quality Assurance
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: fastmcp>=0.1.0
18
+ Requires-Dist: requests>=2.28.0
19
+ Dynamic: author
20
+ Dynamic: home-page
21
+
22
+ # BlastTrace
23
+
24
+ > **Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine**
25
+ > `Database Schema` $\longleftrightarrow$ `Backend ORM & Go Services` $\longleftrightarrow$ `API Contracts` $\longleftrightarrow$ `Web (React/Vue)` $\longleftrightarrow$ `Mobile (Flutter/iOS/Android)` $\longleftrightarrow$ `Tests`
26
+
27
+ [![PyPI Version](https://img.shields.io/badge/pypi-v1.2.1-blue.svg)](https://pypi.org/project/blasttrace/)
28
+ [![Engine](https://img.shields.io/badge/engine-BlastTrace%20Native%20Core-brightgreen.svg)](https://blasttrace.dev)
29
+ [![License](https://img.shields.io/badge/license-Commercial%20%2F%20Community-green.svg)](https://blasttrace.dev)
30
+ [![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg)](https://blasttrace.dev)
31
+
32
+ ---
33
+
34
+ ## ⚡ What is BlastTrace?
35
+
36
+ **BlastTrace** is a high-performance **Model Context Protocol (FastMCP)** server and standalone developer CLI that prevents AI coding agents (and engineering teams) from silently breaking full-stack web and mobile applications.
37
+
38
+ Existing linters and AST tools only trace single-language file imports (`File A -> File B`). They go **100% blind** when a schema edit cascades across architectural boundaries:
39
+
40
+ ```text
41
+ [Database Column: users.billing_balance]
42
+ ↓
43
+ [Backend ORM / Go Microservice: User.billing_balance]
44
+ ↓
45
+ [API Endpoint: GET /api/v1/user/summary]
46
+ ↓
47
+ [Web & Mobile Clients]:
48
+ ├─ React Storefront (CheckoutModal.tsx)
49
+ ├─ Vue / Nuxt 3 Storefront (UserProfile.vue)
50
+ ├─ Flutter POS Client (product_model.dart)
51
+ ├─ Native iOS App (UserProfileDto.swift)
52
+ └─ Native Android App (UserProfileResponse.kt)
53
+ ↓
54
+ [Targeted Test Suites: pytest, vitest, flutter test]
55
+ ```
56
+
57
+ Powered by the **BlastTrace Native Core**, BlastTrace deterministically connects schema, code, network contracts, and client consumers into an actionable topology **before** files are saved, before `git commit`, and before pull requests merge.
58
+
59
+ ---
60
+
61
+ ## 🚀 Quick Start
62
+
63
+ ### 1. Installation
64
+ ```bash
65
+ pip install --upgrade blasttrace
66
+ ```
67
+ *Supports Windows, macOS, and Linux out-of-the-box.*
68
+
69
+ ---
70
+
71
+ ### 2. Universal 1-Click AI Agent Setup
72
+ Automatically connect BlastTrace's 10 pre-edit safety tools to your AI coding agents in **1 single command**:
73
+
74
+ ```bash
75
+ blasttrace install-agent
76
+ ```
77
+
78
+ BlastTrace automatically scans your machine and configures:
79
+ - **Cursor IDE** (workspace `.cursor/mcp.json` and global settings)
80
+ - **Claude Desktop** (`claude_desktop_config.json`)
81
+ - **Claude Code CLI** (`~/.claude.json`)
82
+ - **VS Code Extensions** (Cline & Roo Code)
83
+ - **Windsurf** (`mcp_config.json`)
84
+ - **Zed Editor** (`settings.json`)
85
+ - **Custom Frameworks** (prints standard universal MCP snippet for LangChain, LlamaIndex, Aider)
86
+
87
+ ---
88
+
89
+ ### 3. Standalone Developer CLI (Zero AI Required)
90
+
91
+ Run pre-edit contract reachability checks directly from your terminal:
92
+
93
+ ```bash
94
+ # Check full-stack blast radius of any symbol or file
95
+ blasttrace check User.balance
96
+
97
+ # Or inspect blast radius across a specific repository
98
+ blasttrace check User.balance /path/to/repo
99
+
100
+ # Output raw JSON for custom CI/CD pipelines
101
+ blasttrace check User.balance --json
102
+ ```
103
+
104
+ #### Clean Executive Terminal Output:
105
+ ```text
106
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
107
+ BlastTrace Contract Reachability Summary
108
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
+ Target Symbol : User.balance
110
+ License Tier : PRO
111
+ Total Blast Radius : 28 downstream node(s)
112
+
113
+ Downstream Breakdown by Layer:
114
+ • Backend : 3 impacted
115
+ • API : 5 impacted
116
+ • Web Storefront (React) : 7 impacted
117
+ • Vue / Nuxt Storefront : 2 impacted
118
+ • Flutter POS / Client : 3 impacted
119
+ • iOS Client (Swift) : 3 impacted
120
+ • Android Client (Kotlin) : 2 impacted
121
+ • Tests : 3 impacted
122
+
123
+ Immediate Downstream Paths (Top 5):
124
+ -> sample_backend.py (User.balance)
125
+ -> sample_backend.py (User.balance) -> sample_backend.py (process_user_checkout)
126
+ -> sample_backend.py (User.balance) -> sample_backend.py (get_user_profile)
127
+ -> sample_backend.py (User.balance) -> sample_go_service.go (GET /api/v1/user)
128
+ -> sample_backend.py (User.balance) -> sample_backend.py (GET /api/v1/user [balance])
129
+ ... and 23 more path(s) (pass --json for full trace)
130
+
131
+ Targeted Test Command:
132
+ pytest sample_test.py:test_user_checkout_and_balance
133
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
134
+ ```
135
+
136
+ ---
137
+
138
+ ### 4. Git Pre-Commit Breaking-Change Gate
139
+
140
+ Install the automatic pre-commit safety gate across your repository:
141
+ ```bash
142
+ blasttrace pre-commit --install
143
+ ```
144
+
145
+ Whenever you or an AI agent attempts to stage breaking contract edits without updating client consumers, BlastTrace halts the commit and outputs the exact impacted consumers.
146
+
147
+ ---
148
+
149
+ ## 🛡️ Supported Technology Stacks
150
+
151
+ | Architectural Layer | Supported Technologies & Frameworks |
152
+ | :--- | :--- |
153
+ | **Database & Migrations** | PostgreSQL, MySQL, SQLite, SQL DDL migrations (`.sql`), SQLAlchemy, Alembic, Prisma (`schema.prisma`), GORM. |
154
+ | **Backend & Microservices** | Python (FastAPI, Flask, Django REST, Pydantic, SQLAlchemy), **Go / Golang** (Gin, Fiber, Chi, standard `net/http`, GORM). |
155
+ | **API Contract Layer** | REST endpoints, JSON request/response payloads, OpenAPI / Swagger specifications. |
156
+ | **Web Frontends** | **React & Next.js** (TypeScript AST, prop-chains, property destructuring), **Vue.js & Nuxt 3** (`.vue` templates, `<script setup>`, Pinia stores, `$fetch`, `useFetch`, Axios). |
157
+ | **Mobile Client Suite** | **Flutter / Dart** (Dio, HTTP client, `fromJson`/`toJson` models), **Native iOS** (Swift `Codable` structs, `CodingKeys`, `URLSession`, Alamofire), **Native Android** (Kotlin `data class`, `@SerializedName`, Retrofit `@GET`/`@POST`, Ktor). |
158
+ | **Test Suites** | Pytest, Unittest, Jest, Vitest, Flutter test (change-aware test selection). |
159
+
160
+ ---
161
+
162
+ ## 🔑 Licensing & Tiers
163
+
164
+ | Tier | Price | Access | Capabilities |
165
+ | :--- | :---: | :--- | :--- |
166
+ | **Community** | **$0** (Free Forever) | Zero key needed | Read-only repository topology indexing (`index_repository_topology`) and basic symbol reachability (`analyze_symbol_reachability`). |
167
+ | **Console Tester** | Internal Testing | Signed tester key (`BT-TEST-...`) | Full Pro access for verified QA and pilot developers. Generated via `blasttrace gen-test-key <LABEL>`. |
168
+ | **Pro License** | **$19/mo** (or $180/yr) | Lemon Squeezy Store Key | All 10 FastMCP safety tools, automated Pre-Edit Breaking-Change Gate (PASS/WARN/BLOCK), surgical sync patch generation, and circular dependency interceptor. |
169
+
170
+ Activate your Pro or Tester key:
171
+ ```bash
172
+ blasttrace activate YOUR-LICENSE-KEY
173
+ ```
174
+
175
+ Check current license status:
176
+ ```bash
177
+ blasttrace status
178
+ ```
179
+
180
+ ---
181
+
182
+ ## 🔒 100% Local & Privacy-Preserving
183
+
184
+ BlastTrace executes entirely on your local machine:
185
+ - **Zero telemetry:** No metrics or usage sent to external servers.
186
+ - **Air-gapped operation:** Deterministic Dependency Reachability Engine runs locally.
187
+ - **Zero cloud code uploads:** Your intellectual property never leaves your workstation.
188
+
189
+ ---
190
+
191
+ ## 🌐 Official Links
192
+ - **Website & Documentation:** [https://blasttrace.dev](https://blasttrace.dev)
193
+ - **PyPI Package:** [https://pypi.org/project/blasttrace/](https://pypi.org/project/blasttrace/)
@@ -0,0 +1,172 @@
1
+ # BlastTrace
2
+
3
+ > **Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine**
4
+ > `Database Schema` $\longleftrightarrow$ `Backend ORM & Go Services` $\longleftrightarrow$ `API Contracts` $\longleftrightarrow$ `Web (React/Vue)` $\longleftrightarrow$ `Mobile (Flutter/iOS/Android)` $\longleftrightarrow$ `Tests`
5
+
6
+ [![PyPI Version](https://img.shields.io/badge/pypi-v1.2.1-blue.svg)](https://pypi.org/project/blasttrace/)
7
+ [![Engine](https://img.shields.io/badge/engine-BlastTrace%20Native%20Core-brightgreen.svg)](https://blasttrace.dev)
8
+ [![License](https://img.shields.io/badge/license-Commercial%20%2F%20Community-green.svg)](https://blasttrace.dev)
9
+ [![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg)](https://blasttrace.dev)
10
+
11
+ ---
12
+
13
+ ## ⚡ What is BlastTrace?
14
+
15
+ **BlastTrace** is a high-performance **Model Context Protocol (FastMCP)** server and standalone developer CLI that prevents AI coding agents (and engineering teams) from silently breaking full-stack web and mobile applications.
16
+
17
+ Existing linters and AST tools only trace single-language file imports (`File A -> File B`). They go **100% blind** when a schema edit cascades across architectural boundaries:
18
+
19
+ ```text
20
+ [Database Column: users.billing_balance]
21
+ ↓
22
+ [Backend ORM / Go Microservice: User.billing_balance]
23
+ ↓
24
+ [API Endpoint: GET /api/v1/user/summary]
25
+ ↓
26
+ [Web & Mobile Clients]:
27
+ ├─ React Storefront (CheckoutModal.tsx)
28
+ ├─ Vue / Nuxt 3 Storefront (UserProfile.vue)
29
+ ├─ Flutter POS Client (product_model.dart)
30
+ ├─ Native iOS App (UserProfileDto.swift)
31
+ └─ Native Android App (UserProfileResponse.kt)
32
+ ↓
33
+ [Targeted Test Suites: pytest, vitest, flutter test]
34
+ ```
35
+
36
+ Powered by the **BlastTrace Native Core**, BlastTrace deterministically connects schema, code, network contracts, and client consumers into an actionable topology **before** files are saved, before `git commit`, and before pull requests merge.
37
+
38
+ ---
39
+
40
+ ## 🚀 Quick Start
41
+
42
+ ### 1. Installation
43
+ ```bash
44
+ pip install --upgrade blasttrace
45
+ ```
46
+ *Supports Windows, macOS, and Linux out-of-the-box.*
47
+
48
+ ---
49
+
50
+ ### 2. Universal 1-Click AI Agent Setup
51
+ Automatically connect BlastTrace's 10 pre-edit safety tools to your AI coding agents in **1 single command**:
52
+
53
+ ```bash
54
+ blasttrace install-agent
55
+ ```
56
+
57
+ BlastTrace automatically scans your machine and configures:
58
+ - **Cursor IDE** (workspace `.cursor/mcp.json` and global settings)
59
+ - **Claude Desktop** (`claude_desktop_config.json`)
60
+ - **Claude Code CLI** (`~/.claude.json`)
61
+ - **VS Code Extensions** (Cline & Roo Code)
62
+ - **Windsurf** (`mcp_config.json`)
63
+ - **Zed Editor** (`settings.json`)
64
+ - **Custom Frameworks** (prints standard universal MCP snippet for LangChain, LlamaIndex, Aider)
65
+
66
+ ---
67
+
68
+ ### 3. Standalone Developer CLI (Zero AI Required)
69
+
70
+ Run pre-edit contract reachability checks directly from your terminal:
71
+
72
+ ```bash
73
+ # Check full-stack blast radius of any symbol or file
74
+ blasttrace check User.balance
75
+
76
+ # Or inspect blast radius across a specific repository
77
+ blasttrace check User.balance /path/to/repo
78
+
79
+ # Output raw JSON for custom CI/CD pipelines
80
+ blasttrace check User.balance --json
81
+ ```
82
+
83
+ #### Clean Executive Terminal Output:
84
+ ```text
85
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
86
+ BlastTrace Contract Reachability Summary
87
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
88
+ Target Symbol : User.balance
89
+ License Tier : PRO
90
+ Total Blast Radius : 28 downstream node(s)
91
+
92
+ Downstream Breakdown by Layer:
93
+ • Backend : 3 impacted
94
+ • API : 5 impacted
95
+ • Web Storefront (React) : 7 impacted
96
+ • Vue / Nuxt Storefront : 2 impacted
97
+ • Flutter POS / Client : 3 impacted
98
+ • iOS Client (Swift) : 3 impacted
99
+ • Android Client (Kotlin) : 2 impacted
100
+ • Tests : 3 impacted
101
+
102
+ Immediate Downstream Paths (Top 5):
103
+ -> sample_backend.py (User.balance)
104
+ -> sample_backend.py (User.balance) -> sample_backend.py (process_user_checkout)
105
+ -> sample_backend.py (User.balance) -> sample_backend.py (get_user_profile)
106
+ -> sample_backend.py (User.balance) -> sample_go_service.go (GET /api/v1/user)
107
+ -> sample_backend.py (User.balance) -> sample_backend.py (GET /api/v1/user [balance])
108
+ ... and 23 more path(s) (pass --json for full trace)
109
+
110
+ Targeted Test Command:
111
+ pytest sample_test.py:test_user_checkout_and_balance
112
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
+ ```
114
+
115
+ ---
116
+
117
+ ### 4. Git Pre-Commit Breaking-Change Gate
118
+
119
+ Install the automatic pre-commit safety gate across your repository:
120
+ ```bash
121
+ blasttrace pre-commit --install
122
+ ```
123
+
124
+ Whenever you or an AI agent attempts to stage breaking contract edits without updating client consumers, BlastTrace halts the commit and outputs the exact impacted consumers.
125
+
126
+ ---
127
+
128
+ ## 🛡️ Supported Technology Stacks
129
+
130
+ | Architectural Layer | Supported Technologies & Frameworks |
131
+ | :--- | :--- |
132
+ | **Database & Migrations** | PostgreSQL, MySQL, SQLite, SQL DDL migrations (`.sql`), SQLAlchemy, Alembic, Prisma (`schema.prisma`), GORM. |
133
+ | **Backend & Microservices** | Python (FastAPI, Flask, Django REST, Pydantic, SQLAlchemy), **Go / Golang** (Gin, Fiber, Chi, standard `net/http`, GORM). |
134
+ | **API Contract Layer** | REST endpoints, JSON request/response payloads, OpenAPI / Swagger specifications. |
135
+ | **Web Frontends** | **React & Next.js** (TypeScript AST, prop-chains, property destructuring), **Vue.js & Nuxt 3** (`.vue` templates, `<script setup>`, Pinia stores, `$fetch`, `useFetch`, Axios). |
136
+ | **Mobile Client Suite** | **Flutter / Dart** (Dio, HTTP client, `fromJson`/`toJson` models), **Native iOS** (Swift `Codable` structs, `CodingKeys`, `URLSession`, Alamofire), **Native Android** (Kotlin `data class`, `@SerializedName`, Retrofit `@GET`/`@POST`, Ktor). |
137
+ | **Test Suites** | Pytest, Unittest, Jest, Vitest, Flutter test (change-aware test selection). |
138
+
139
+ ---
140
+
141
+ ## 🔑 Licensing & Tiers
142
+
143
+ | Tier | Price | Access | Capabilities |
144
+ | :--- | :---: | :--- | :--- |
145
+ | **Community** | **$0** (Free Forever) | Zero key needed | Read-only repository topology indexing (`index_repository_topology`) and basic symbol reachability (`analyze_symbol_reachability`). |
146
+ | **Console Tester** | Internal Testing | Signed tester key (`BT-TEST-...`) | Full Pro access for verified QA and pilot developers. Generated via `blasttrace gen-test-key <LABEL>`. |
147
+ | **Pro License** | **$19/mo** (or $180/yr) | Lemon Squeezy Store Key | All 10 FastMCP safety tools, automated Pre-Edit Breaking-Change Gate (PASS/WARN/BLOCK), surgical sync patch generation, and circular dependency interceptor. |
148
+
149
+ Activate your Pro or Tester key:
150
+ ```bash
151
+ blasttrace activate YOUR-LICENSE-KEY
152
+ ```
153
+
154
+ Check current license status:
155
+ ```bash
156
+ blasttrace status
157
+ ```
158
+
159
+ ---
160
+
161
+ ## 🔒 100% Local & Privacy-Preserving
162
+
163
+ BlastTrace executes entirely on your local machine:
164
+ - **Zero telemetry:** No metrics or usage sent to external servers.
165
+ - **Air-gapped operation:** Deterministic Dependency Reachability Engine runs locally.
166
+ - **Zero cloud code uploads:** Your intellectual property never leaves your workstation.
167
+
168
+ ---
169
+
170
+ ## 🌐 Official Links
171
+ - **Website & Documentation:** [https://blasttrace.dev](https://blasttrace.dev)
172
+ - **PyPI Package:** [https://pypi.org/project/blasttrace/](https://pypi.org/project/blasttrace/)
@@ -2,6 +2,6 @@
2
2
  BlastTrace — Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine.
3
3
  """
4
4
 
5
- __version__ = "1.2.0"
5
+ __version__ = "1.2.1"
6
6
  __engine__ = "BlastTrace Native Core"
7
7
 
@@ -218,3 +218,4 @@ def format_universal_mcp_snippet() -> str:
218
218
  }
219
219
  }
220
220
  return json.dumps(snippet, indent=2)
221
+
@@ -194,3 +194,4 @@ def parse_go_file(file_path: str) -> Optional[GoParseResult]:
194
194
  return parse_go_content(content, file_path)
195
195
  except Exception:
196
196
  return None
197
+
@@ -173,3 +173,4 @@ def parse_vue_file(file_path: str) -> Optional[VueParseResult]:
173
173
  return parse_vue_content(content, file_path)
174
174
  except Exception:
175
175
  return None
176
+
@@ -0,0 +1,193 @@
1
+ Metadata-Version: 2.4
2
+ Name: blasttrace
3
+ Version: 1.2.1
4
+ Summary: Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine
5
+ Home-page: https://blasttrace.dev
6
+ Author: Moin Hasan
7
+ Author-email: Moin Hasan <moin_hasan@live.com>
8
+ License: Proprietary
9
+ Project-URL: Homepage, https://blasttrace.dev
10
+ Project-URL: Documentation, https://blasttrace.dev
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: C++
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Topic :: Software Development :: Testing
15
+ Classifier: Topic :: Software Development :: Quality Assurance
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: fastmcp>=0.1.0
18
+ Requires-Dist: requests>=2.28.0
19
+ Dynamic: author
20
+ Dynamic: home-page
21
+
22
+ # BlastTrace
23
+
24
+ > **Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine**
25
+ > `Database Schema` $\longleftrightarrow$ `Backend ORM & Go Services` $\longleftrightarrow$ `API Contracts` $\longleftrightarrow$ `Web (React/Vue)` $\longleftrightarrow$ `Mobile (Flutter/iOS/Android)` $\longleftrightarrow$ `Tests`
26
+
27
+ [![PyPI Version](https://img.shields.io/badge/pypi-v1.2.1-blue.svg)](https://pypi.org/project/blasttrace/)
28
+ [![Engine](https://img.shields.io/badge/engine-BlastTrace%20Native%20Core-brightgreen.svg)](https://blasttrace.dev)
29
+ [![License](https://img.shields.io/badge/license-Commercial%20%2F%20Community-green.svg)](https://blasttrace.dev)
30
+ [![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg)](https://blasttrace.dev)
31
+
32
+ ---
33
+
34
+ ## ⚡ What is BlastTrace?
35
+
36
+ **BlastTrace** is a high-performance **Model Context Protocol (FastMCP)** server and standalone developer CLI that prevents AI coding agents (and engineering teams) from silently breaking full-stack web and mobile applications.
37
+
38
+ Existing linters and AST tools only trace single-language file imports (`File A -> File B`). They go **100% blind** when a schema edit cascades across architectural boundaries:
39
+
40
+ ```text
41
+ [Database Column: users.billing_balance]
42
+ ↓
43
+ [Backend ORM / Go Microservice: User.billing_balance]
44
+ ↓
45
+ [API Endpoint: GET /api/v1/user/summary]
46
+ ↓
47
+ [Web & Mobile Clients]:
48
+ ├─ React Storefront (CheckoutModal.tsx)
49
+ ├─ Vue / Nuxt 3 Storefront (UserProfile.vue)
50
+ ├─ Flutter POS Client (product_model.dart)
51
+ ├─ Native iOS App (UserProfileDto.swift)
52
+ └─ Native Android App (UserProfileResponse.kt)
53
+ ↓
54
+ [Targeted Test Suites: pytest, vitest, flutter test]
55
+ ```
56
+
57
+ Powered by the **BlastTrace Native Core**, BlastTrace deterministically connects schema, code, network contracts, and client consumers into an actionable topology **before** files are saved, before `git commit`, and before pull requests merge.
58
+
59
+ ---
60
+
61
+ ## 🚀 Quick Start
62
+
63
+ ### 1. Installation
64
+ ```bash
65
+ pip install --upgrade blasttrace
66
+ ```
67
+ *Supports Windows, macOS, and Linux out-of-the-box.*
68
+
69
+ ---
70
+
71
+ ### 2. Universal 1-Click AI Agent Setup
72
+ Automatically connect BlastTrace's 10 pre-edit safety tools to your AI coding agents in **1 single command**:
73
+
74
+ ```bash
75
+ blasttrace install-agent
76
+ ```
77
+
78
+ BlastTrace automatically scans your machine and configures:
79
+ - **Cursor IDE** (workspace `.cursor/mcp.json` and global settings)
80
+ - **Claude Desktop** (`claude_desktop_config.json`)
81
+ - **Claude Code CLI** (`~/.claude.json`)
82
+ - **VS Code Extensions** (Cline & Roo Code)
83
+ - **Windsurf** (`mcp_config.json`)
84
+ - **Zed Editor** (`settings.json`)
85
+ - **Custom Frameworks** (prints standard universal MCP snippet for LangChain, LlamaIndex, Aider)
86
+
87
+ ---
88
+
89
+ ### 3. Standalone Developer CLI (Zero AI Required)
90
+
91
+ Run pre-edit contract reachability checks directly from your terminal:
92
+
93
+ ```bash
94
+ # Check full-stack blast radius of any symbol or file
95
+ blasttrace check User.balance
96
+
97
+ # Or inspect blast radius across a specific repository
98
+ blasttrace check User.balance /path/to/repo
99
+
100
+ # Output raw JSON for custom CI/CD pipelines
101
+ blasttrace check User.balance --json
102
+ ```
103
+
104
+ #### Clean Executive Terminal Output:
105
+ ```text
106
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
107
+ BlastTrace Contract Reachability Summary
108
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
+ Target Symbol : User.balance
110
+ License Tier : PRO
111
+ Total Blast Radius : 28 downstream node(s)
112
+
113
+ Downstream Breakdown by Layer:
114
+ • Backend : 3 impacted
115
+ • API : 5 impacted
116
+ • Web Storefront (React) : 7 impacted
117
+ • Vue / Nuxt Storefront : 2 impacted
118
+ • Flutter POS / Client : 3 impacted
119
+ • iOS Client (Swift) : 3 impacted
120
+ • Android Client (Kotlin) : 2 impacted
121
+ • Tests : 3 impacted
122
+
123
+ Immediate Downstream Paths (Top 5):
124
+ -> sample_backend.py (User.balance)
125
+ -> sample_backend.py (User.balance) -> sample_backend.py (process_user_checkout)
126
+ -> sample_backend.py (User.balance) -> sample_backend.py (get_user_profile)
127
+ -> sample_backend.py (User.balance) -> sample_go_service.go (GET /api/v1/user)
128
+ -> sample_backend.py (User.balance) -> sample_backend.py (GET /api/v1/user [balance])
129
+ ... and 23 more path(s) (pass --json for full trace)
130
+
131
+ Targeted Test Command:
132
+ pytest sample_test.py:test_user_checkout_and_balance
133
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
134
+ ```
135
+
136
+ ---
137
+
138
+ ### 4. Git Pre-Commit Breaking-Change Gate
139
+
140
+ Install the automatic pre-commit safety gate across your repository:
141
+ ```bash
142
+ blasttrace pre-commit --install
143
+ ```
144
+
145
+ Whenever you or an AI agent attempts to stage breaking contract edits without updating client consumers, BlastTrace halts the commit and outputs the exact impacted consumers.
146
+
147
+ ---
148
+
149
+ ## 🛡️ Supported Technology Stacks
150
+
151
+ | Architectural Layer | Supported Technologies & Frameworks |
152
+ | :--- | :--- |
153
+ | **Database & Migrations** | PostgreSQL, MySQL, SQLite, SQL DDL migrations (`.sql`), SQLAlchemy, Alembic, Prisma (`schema.prisma`), GORM. |
154
+ | **Backend & Microservices** | Python (FastAPI, Flask, Django REST, Pydantic, SQLAlchemy), **Go / Golang** (Gin, Fiber, Chi, standard `net/http`, GORM). |
155
+ | **API Contract Layer** | REST endpoints, JSON request/response payloads, OpenAPI / Swagger specifications. |
156
+ | **Web Frontends** | **React & Next.js** (TypeScript AST, prop-chains, property destructuring), **Vue.js & Nuxt 3** (`.vue` templates, `<script setup>`, Pinia stores, `$fetch`, `useFetch`, Axios). |
157
+ | **Mobile Client Suite** | **Flutter / Dart** (Dio, HTTP client, `fromJson`/`toJson` models), **Native iOS** (Swift `Codable` structs, `CodingKeys`, `URLSession`, Alamofire), **Native Android** (Kotlin `data class`, `@SerializedName`, Retrofit `@GET`/`@POST`, Ktor). |
158
+ | **Test Suites** | Pytest, Unittest, Jest, Vitest, Flutter test (change-aware test selection). |
159
+
160
+ ---
161
+
162
+ ## 🔑 Licensing & Tiers
163
+
164
+ | Tier | Price | Access | Capabilities |
165
+ | :--- | :---: | :--- | :--- |
166
+ | **Community** | **$0** (Free Forever) | Zero key needed | Read-only repository topology indexing (`index_repository_topology`) and basic symbol reachability (`analyze_symbol_reachability`). |
167
+ | **Console Tester** | Internal Testing | Signed tester key (`BT-TEST-...`) | Full Pro access for verified QA and pilot developers. Generated via `blasttrace gen-test-key <LABEL>`. |
168
+ | **Pro License** | **$19/mo** (or $180/yr) | Lemon Squeezy Store Key | All 10 FastMCP safety tools, automated Pre-Edit Breaking-Change Gate (PASS/WARN/BLOCK), surgical sync patch generation, and circular dependency interceptor. |
169
+
170
+ Activate your Pro or Tester key:
171
+ ```bash
172
+ blasttrace activate YOUR-LICENSE-KEY
173
+ ```
174
+
175
+ Check current license status:
176
+ ```bash
177
+ blasttrace status
178
+ ```
179
+
180
+ ---
181
+
182
+ ## 🔒 100% Local & Privacy-Preserving
183
+
184
+ BlastTrace executes entirely on your local machine:
185
+ - **Zero telemetry:** No metrics or usage sent to external servers.
186
+ - **Air-gapped operation:** Deterministic Dependency Reachability Engine runs locally.
187
+ - **Zero cloud code uploads:** Your intellectual property never leaves your workstation.
188
+
189
+ ---
190
+
191
+ ## 🌐 Official Links
192
+ - **Website & Documentation:** [https://blasttrace.dev](https://blasttrace.dev)
193
+ - **PyPI Package:** [https://pypi.org/project/blasttrace/](https://pypi.org/project/blasttrace/)
@@ -4,15 +4,11 @@ README.md
4
4
  pyproject.toml
5
5
  setup.py
6
6
  blasttrace/__init__.py
7
- blasttrace/classifier.c
8
7
  blasttrace/classifier.py
9
8
  blasttrace/install_agent.py
10
- blasttrace/license.c
11
9
  blasttrace/license.py
12
- blasttrace/remediation.c
13
10
  blasttrace/remediation.py
14
11
  blasttrace/server.py
15
- blasttrace/visualizer.c
16
12
  blasttrace/visualizer.py
17
13
  blasttrace.egg-info/PKG-INFO
18
14
  blasttrace.egg-info/SOURCES.txt
@@ -22,21 +18,15 @@ blasttrace.egg-info/not-zip-safe
22
18
  blasttrace.egg-info/requires.txt
23
19
  blasttrace.egg-info/top_level.txt
24
20
  blasttrace/parsers/__init__.py
25
- blasttrace/parsers/api_route_parser.c
26
21
  blasttrace/parsers/api_route_parser.py
27
- blasttrace/parsers/contract_linker.c
28
22
  blasttrace/parsers/contract_linker.py
29
23
  blasttrace/parsers/dart_flutter_parser.py
30
24
  blasttrace/parsers/go_parser.py
31
25
  blasttrace/parsers/kotlin_android_parser.py
32
- blasttrace/parsers/python_ast_parser.c
33
26
  blasttrace/parsers/python_ast_parser.py
34
- blasttrace/parsers/sql_schema_parser.c
35
27
  blasttrace/parsers/sql_schema_parser.py
36
28
  blasttrace/parsers/swift_ios_parser.py
37
- blasttrace/parsers/test_mapper.c
38
29
  blasttrace/parsers/test_mapper.py
39
- blasttrace/parsers/ts_react_parser.c
40
30
  blasttrace/parsers/ts_react_parser.py
41
31
  blasttrace/parsers/vue_nuxt_parser.py
42
32
  cpp/blast_core.cpp
@@ -0,0 +1 @@
1
+ blasttrace
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "blasttrace"
7
- version = "1.2.0"
7
+ version = "1.2.1"
8
8
  description = "Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -114,7 +114,7 @@ else:
114
114
 
115
115
  setup(
116
116
  name="blasttrace",
117
- version="1.2.0",
117
+ version="1.2.1",
118
118
  author="Moin Hasan",
119
119
  author_email="moin_hasan@live.com",
120
120
  description="Pre-Edit Full-Stack Breaking-Change & Contract Blast-Radius Engine",