cursorflow 2.6.3__py3-none-any.whl → 2.7.1__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.
- cursorflow/cli.py +345 -13
- cursorflow/core/cursorflow.py +8 -1
- cursorflow/core/data_presenter.py +518 -0
- cursorflow/core/output_manager.py +523 -0
- cursorflow/core/query_engine.py +1345 -0
- cursorflow/rules/cursorflow-usage.mdc +245 -6
- {cursorflow-2.6.3.dist-info → cursorflow-2.7.1.dist-info}/METADATA +59 -1
- {cursorflow-2.6.3.dist-info → cursorflow-2.7.1.dist-info}/RECORD +12 -9
- {cursorflow-2.6.3.dist-info → cursorflow-2.7.1.dist-info}/WHEEL +0 -0
- {cursorflow-2.6.3.dist-info → cursorflow-2.7.1.dist-info}/entry_points.txt +0 -0
- {cursorflow-2.6.3.dist-info → cursorflow-2.7.1.dist-info}/licenses/LICENSE +0 -0
- {cursorflow-2.6.3.dist-info → cursorflow-2.7.1.dist-info}/top_level.txt +0 -0
@@ -6,17 +6,256 @@ alwaysApply: true
|
|
6
6
|
|
7
7
|
# CursorFlow Usage Rules for Cursor AI
|
8
8
|
|
9
|
-
## 🔥 **CursorFlow:
|
9
|
+
## 🔥 **CursorFlow: AI-Native Testing with Optimized Output**
|
10
10
|
|
11
|
-
**CursorFlow provides comprehensive data collection
|
11
|
+
**CursorFlow v2.7.0 provides comprehensive data collection + AI-optimized output:**
|
12
12
|
|
13
|
+
- 🎯 **AI-Optimized Output** - Multi-file format, each <100K tokens (v2.7.0)
|
14
|
+
- 🔍 **Query Interface** - Instant data extraction, no manual JSON parsing (v2.7.0)
|
13
15
|
- 🔥 **Hot Reload Intelligence** - Auto-detects Vite, Webpack, Next.js, Parcel, Laravel Mix
|
14
16
|
- 🧠 **Advanced Element Intelligence** - 7 selector strategies + accessibility analysis
|
15
17
|
- 📊 **Comprehensive Page Analysis** - Fonts, animations, resources, storage state
|
16
|
-
- 🎯 **Enhanced Error Context
|
17
|
-
- ⚡ **Enhanced Browser Data
|
18
|
-
|
19
|
-
|
18
|
+
- 🎯 **Enhanced Error Context** - Smart screenshot deduplication
|
19
|
+
- ⚡ **Enhanced Browser Data** - Playwright traces + network interception
|
20
|
+
|
21
|
+
## ⚡ **CRITICAL: Test Output Now AI-Readable (v2.7.0)**
|
22
|
+
|
23
|
+
**Before v2.7.0:** Single 3.7M token JSON (exceeded AI context limits)
|
24
|
+
**After v2.7.0:** Organized multi-file structure, AI digest, query interface
|
25
|
+
|
26
|
+
```bash
|
27
|
+
# Test generates AI-optimized output automatically
|
28
|
+
cursorflow test --base-url http://localhost:3000 --path /app --logs local
|
29
|
+
|
30
|
+
# Output structure (ALL data types captured automatically):
|
31
|
+
.cursorflow/artifacts/sessions/session_XXX/
|
32
|
+
├── summary.json # Core metrics (2-5KB, ~500 tokens)
|
33
|
+
├── errors.json # Console errors (10-50KB, ~8K tokens)
|
34
|
+
├── network.json # Network data (50-200KB, ~35K tokens)
|
35
|
+
├── console.json # Console messages (20-100KB)
|
36
|
+
├── server_logs.json # SERVER LOGS (SSH/local/Docker) ⭐
|
37
|
+
├── dom_analysis.json # DOM data (500KB-2MB, ~440K tokens)
|
38
|
+
├── performance.json # Performance metrics (10-30KB)
|
39
|
+
├── timeline.json # Event timeline (20-50KB)
|
40
|
+
├── screenshots.json # Screenshot metadata
|
41
|
+
├── data_digest.md # AI summary (10-20KB, ~3.5K tokens) ⭐
|
42
|
+
└── screenshots/ # Visual artifacts
|
43
|
+
|
44
|
+
# Optional data (if specific features used):
|
45
|
+
├── mockup_comparison.json # If compare-mockup used
|
46
|
+
├── responsive_results.json # If --responsive used
|
47
|
+
└── css_iterations.json # If css_iteration_session used
|
48
|
+
|
49
|
+
# WORKFLOW FOR AI AGENTS:
|
50
|
+
# 1. Read data_digest.md first (instant overview - includes server logs!)
|
51
|
+
# 2. Query specific data as needed
|
52
|
+
# 3. Compare sessions for regression detection
|
53
|
+
```
|
54
|
+
|
55
|
+
## 🔍 **Query Interface - Use This Instead of Reading JSON**
|
56
|
+
|
57
|
+
**Fast data extraction without manual parsing - ALL data types supported:**
|
58
|
+
|
59
|
+
### Core Data Queries
|
60
|
+
|
61
|
+
```bash
|
62
|
+
# List recent sessions
|
63
|
+
cursorflow query --list
|
64
|
+
|
65
|
+
# Browser console errors
|
66
|
+
cursorflow query session_123 --errors
|
67
|
+
cursorflow query session_123 --errors --severity critical
|
68
|
+
|
69
|
+
# Server logs (SSH/local/Docker/systemd)
|
70
|
+
cursorflow query session_123 --server-logs
|
71
|
+
cursorflow query session_123 --server-logs --level error,warning
|
72
|
+
cursorflow query session_123 --server-logs --source ssh
|
73
|
+
cursorflow query session_123 --server-logs --pattern "database"
|
74
|
+
cursorflow query session_123 --server-logs --contains "timeout"
|
75
|
+
|
76
|
+
# Network requests
|
77
|
+
cursorflow query session_123 --network
|
78
|
+
cursorflow query session_123 --network --failed
|
79
|
+
cursorflow query session_123 --network --status 4xx,5xx
|
80
|
+
|
81
|
+
# Console messages
|
82
|
+
cursorflow query session_123 --console
|
83
|
+
cursorflow query session_123 --console --type error,warning
|
84
|
+
|
85
|
+
# Performance & summary
|
86
|
+
cursorflow query session_123 --performance
|
87
|
+
cursorflow query session_123 --summary
|
88
|
+
```
|
89
|
+
|
90
|
+
### Advanced Data Queries
|
91
|
+
|
92
|
+
```bash
|
93
|
+
# DOM analysis
|
94
|
+
cursorflow query session_123 --dom --selector "button"
|
95
|
+
|
96
|
+
# Screenshots
|
97
|
+
cursorflow query session_123 --screenshots
|
98
|
+
cursorflow query session_123 --screenshots --with-errors
|
99
|
+
|
100
|
+
# Timeline events
|
101
|
+
cursorflow query session_123 --timeline --around 1234567890
|
102
|
+
|
103
|
+
# Responsive results (if used --responsive)
|
104
|
+
cursorflow query session_123 --responsive --viewport mobile
|
105
|
+
|
106
|
+
# Mockup comparison (if used compare-mockup)
|
107
|
+
cursorflow query session_123 --mockup
|
108
|
+
|
109
|
+
# CSS iterations (if used css_iteration_session)
|
110
|
+
cursorflow query session_123 --css-iterations --iteration 3
|
111
|
+
```
|
112
|
+
|
113
|
+
### Export & Comparison
|
114
|
+
|
115
|
+
```bash
|
116
|
+
# Export formats
|
117
|
+
cursorflow query session_123 --errors --export markdown
|
118
|
+
cursorflow query session_123 --server-logs --export csv
|
119
|
+
|
120
|
+
# Session comparison (regression detection)
|
121
|
+
cursorflow query session_baseline --compare-with session_current
|
122
|
+
cursorflow query session_A --compare-with session_B --errors
|
123
|
+
cursorflow query session_A --compare-with session_B --server-logs
|
124
|
+
```
|
125
|
+
|
126
|
+
**AI Agent Workflow:**
|
127
|
+
1. Run test: `cursorflow test ...`
|
128
|
+
2. Read AI digest: `cat .cursorflow/artifacts/sessions/session_XXX/data_digest.md`
|
129
|
+
3. Query details: `cursorflow query session_XXX --errors` or `--server-logs`
|
130
|
+
4. Make decisions based on organized data
|
131
|
+
|
132
|
+
### Enhanced Query Capabilities
|
133
|
+
|
134
|
+
**Smart Filtering:**
|
135
|
+
```bash
|
136
|
+
# Filter errors by source/content/time
|
137
|
+
cursorflow query session_XXX --errors --from-file "app.js"
|
138
|
+
cursorflow query session_XXX --errors --contains "undefined"
|
139
|
+
cursorflow query session_XXX --errors --matches "TypeError.*"
|
140
|
+
|
141
|
+
# Filter network by URL/timing/method
|
142
|
+
cursorflow query session_XXX --network --url-contains "/api/"
|
143
|
+
cursorflow query session_XXX --network --over 500ms # Slow requests
|
144
|
+
cursorflow query session_XXX --network --method POST
|
145
|
+
|
146
|
+
# Filter DOM by visibility/interaction
|
147
|
+
cursorflow query session_XXX --dom --visible
|
148
|
+
cursorflow query session_XXX --dom --interactive
|
149
|
+
cursorflow query session_XXX --dom --role button
|
150
|
+
```
|
151
|
+
|
152
|
+
**Cross-Referencing (time-based correlation):**
|
153
|
+
```bash
|
154
|
+
# Errors with related data (±5s window)
|
155
|
+
cursorflow query session_XXX --errors --with-network
|
156
|
+
cursorflow query session_XXX --errors --with-server-logs
|
157
|
+
cursorflow query session_XXX --network --failed --with-errors
|
158
|
+
```
|
159
|
+
|
160
|
+
**Contextual Queries:**
|
161
|
+
```bash
|
162
|
+
# Full context for error
|
163
|
+
cursorflow query session_XXX --context-for-error 2 --window 10
|
164
|
+
# Returns: Error + network/console/server logs within ±10s
|
165
|
+
|
166
|
+
# Group by pattern
|
167
|
+
cursorflow query session_XXX --group-by-url "/api/users"
|
168
|
+
cursorflow query session_XXX --group-by-selector "#button"
|
169
|
+
```
|
170
|
+
|
171
|
+
**Enhanced Comparison:**
|
172
|
+
```bash
|
173
|
+
# Message-level comparison
|
174
|
+
cursorflow query session_A --compare-with session_B --errors
|
175
|
+
# Shows: new_errors, fixed_errors, frequency_changes
|
176
|
+
```
|
177
|
+
|
178
|
+
---
|
179
|
+
|
180
|
+
## 📊 **Server Log Monitoring (AUTOMATIC CAPTURE)**
|
181
|
+
|
182
|
+
**Server logs are captured automatically during every test** - correlated with browser events by timestamp for complete visibility.
|
183
|
+
|
184
|
+
**Configuration (Python API):**
|
185
|
+
```python
|
186
|
+
# SSH Remote Logs
|
187
|
+
flow = CursorFlow(
|
188
|
+
base_url="https://staging.example.com",
|
189
|
+
log_config={
|
190
|
+
"source": "ssh",
|
191
|
+
"ssh_config": {
|
192
|
+
"hostname": "staging-server",
|
193
|
+
"username": "deploy",
|
194
|
+
"key_file": "~/.ssh/staging_key"
|
195
|
+
},
|
196
|
+
"paths": ["/var/log/app/error.log", "/var/log/httpd/error_log"]
|
197
|
+
}
|
198
|
+
)
|
199
|
+
|
200
|
+
# Local Logs
|
201
|
+
flow = CursorFlow(
|
202
|
+
base_url="http://localhost:3000",
|
203
|
+
log_config={
|
204
|
+
"source": "local",
|
205
|
+
"paths": ["logs/app.log", "logs/error.log"]
|
206
|
+
}
|
207
|
+
)
|
208
|
+
|
209
|
+
# Docker Logs
|
210
|
+
flow = CursorFlow(
|
211
|
+
base_url="http://localhost:3000",
|
212
|
+
log_config={
|
213
|
+
"source": "docker",
|
214
|
+
"container_name": "app-container",
|
215
|
+
"paths": ["/var/log/app.log"]
|
216
|
+
}
|
217
|
+
)
|
218
|
+
```
|
219
|
+
|
220
|
+
**Configuration (CLI via config file):**
|
221
|
+
```json
|
222
|
+
{
|
223
|
+
"environments": {
|
224
|
+
"staging": {
|
225
|
+
"base_url": "https://staging.example.com",
|
226
|
+
"logs": "ssh",
|
227
|
+
"ssh_config": {
|
228
|
+
"hostname": "staging-server",
|
229
|
+
"username": "deploy",
|
230
|
+
"key_file": "~/.ssh/staging_key"
|
231
|
+
},
|
232
|
+
"log_paths": {
|
233
|
+
"app_error": "/var/log/app/error.log",
|
234
|
+
"apache_error": "/var/log/httpd/error_log"
|
235
|
+
}
|
236
|
+
},
|
237
|
+
"local": {
|
238
|
+
"base_url": "http://localhost:3000",
|
239
|
+
"logs": "local",
|
240
|
+
"log_paths": {
|
241
|
+
"app": "logs/app.log"
|
242
|
+
}
|
243
|
+
}
|
244
|
+
}
|
245
|
+
}
|
246
|
+
```
|
247
|
+
|
248
|
+
**CLI Usage:**
|
249
|
+
```bash
|
250
|
+
# Use configured log source
|
251
|
+
cursorflow test --base-url http://localhost:3000 --logs local
|
252
|
+
cursorflow test --base-url https://staging.example.com --logs ssh --config config.json
|
253
|
+
|
254
|
+
# Server logs appear in results:
|
255
|
+
# - server_logs.json (dedicated file)
|
256
|
+
# - timeline.json (correlated with browser events)
|
257
|
+
# - data_digest.md (server errors section)
|
258
|
+
```
|
20
259
|
|
21
260
|
## When to Use CursorFlow
|
22
261
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cursorflow
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.7.1
|
4
4
|
Summary: 🔥 Complete page intelligence for AI-driven development with Hot Reload Intelligence - captures DOM, network, console, performance, HMR events, and comprehensive page analysis
|
5
5
|
Author-email: GeekWarrior Development <rbush@cooltheory.com>
|
6
6
|
License-Expression: MIT
|
@@ -198,6 +198,64 @@ All data structured for AI consumption:
|
|
198
198
|
- Error correlation with **smart screenshot deduplication**
|
199
199
|
- Performance insights with **reliability metadata**
|
200
200
|
|
201
|
+
## ✨ What's New in v2.7.1
|
202
|
+
|
203
|
+
**AI-Optimized Output with Complete Data Type Coverage** - All CursorFlow features now organized for AI consumption:
|
204
|
+
|
205
|
+
- **Multi-File Structure**: Split 3.7M token JSON → organized files under 100K tokens each
|
206
|
+
- **Complete Coverage**: Browser console, server logs, network, DOM, screenshots - all queryable
|
207
|
+
- **AI Data Digest**: Auto-generated markdown summary with server logs included
|
208
|
+
- **Query Interface**: Fast data extraction for ALL data types without manual JSON parsing
|
209
|
+
- **Session Comparison**: Compare test results to detect regressions
|
210
|
+
- **Export Formats**: JSON, Markdown, CSV outputs for any use case
|
211
|
+
|
212
|
+
```bash
|
213
|
+
# Test generates AI-optimized output automatically
|
214
|
+
cursorflow test --base-url http://localhost:3000 --path /app --logs local
|
215
|
+
|
216
|
+
# Query ANY data type instantly
|
217
|
+
cursorflow query session_123 --errors # Console errors
|
218
|
+
cursorflow query session_123 --server-logs # Server logs
|
219
|
+
cursorflow query session_123 --network --failed # Network failures
|
220
|
+
cursorflow query session_123 --screenshots # Screenshot index
|
221
|
+
cursorflow query session_123 --responsive # Responsive results
|
222
|
+
cursorflow query session_123 --css-iterations # CSS iterations
|
223
|
+
|
224
|
+
# Enhanced filtering
|
225
|
+
cursorflow query session_123 --errors --from-file "app.js" --contains "undefined"
|
226
|
+
cursorflow query session_123 --network --url-contains "/api/" --over 500ms
|
227
|
+
cursorflow query session_123 --server-logs --level error --pattern "database"
|
228
|
+
|
229
|
+
# Cross-referencing (time-based correlation)
|
230
|
+
cursorflow query session_123 --errors --with-network --with-server-logs
|
231
|
+
|
232
|
+
# Contextual queries
|
233
|
+
cursorflow query session_123 --context-for-error 2 --window 10
|
234
|
+
cursorflow query session_123 --group-by-url "/api/users"
|
235
|
+
|
236
|
+
# Enhanced comparison
|
237
|
+
cursorflow query session_A --compare-with session_B --errors
|
238
|
+
```
|
239
|
+
|
240
|
+
**Impact:**
|
241
|
+
- ✅ 100% AI-readable results (vs 0% before - exceeded context limits)
|
242
|
+
- ✅ 90% faster error diagnosis with AI assistants
|
243
|
+
- ✅ Zero manual JSON parsing required
|
244
|
+
- ✅ Complete backend + frontend visibility (server logs included)
|
245
|
+
|
246
|
+
**Complete Data Coverage:**
|
247
|
+
```
|
248
|
+
.cursorflow/artifacts/sessions/session_XXX/
|
249
|
+
├── server_logs.json # ⭐ Server-side logs (SSH/local/Docker)
|
250
|
+
├── errors.json # Browser console errors
|
251
|
+
├── network.json # Network requests/responses
|
252
|
+
├── screenshots.json # ⭐ Screenshot metadata
|
253
|
+
├── data_digest.md # AI summary (includes server logs)
|
254
|
+
└── + 6 more data files covering all CursorFlow features
|
255
|
+
```
|
256
|
+
|
257
|
+
---
|
258
|
+
|
201
259
|
## 🚀 Quick Start
|
202
260
|
|
203
261
|
### Step 1: Install CursorFlow Package
|
@@ -1,7 +1,7 @@
|
|
1
1
|
cursorflow/__init__.py,sha256=2V9xzG2tYxVWOTmSw2v9Jdbr7lSrMi_y2SMUMuNZdvw,2990
|
2
2
|
cursorflow/auto_init.py,sha256=dXQaXXiXe4wkUP-jd8fcJ5fYVt7ASdTb47b7SzXymOM,6122
|
3
3
|
cursorflow/auto_updater.py,sha256=oQ12TIMZ6Cm3HF-x9iRWFtvOLkRh-JWPqitS69-4roE,7851
|
4
|
-
cursorflow/cli.py,sha256
|
4
|
+
cursorflow/cli.py,sha256=2jPCIBTGdN7ZFFf7HpWNHdtdEZ27vJSx5P_t4L7Y1Z8,79716
|
5
5
|
cursorflow/install_cursorflow_rules.py,sha256=DsZ0680y9JMuTKFXjdgYtOKIEAjBMsdwL8LmA9WEb5A,11864
|
6
6
|
cursorflow/post_install.py,sha256=WieBiKWG0qBAQpF8iMVWUyb9Fr2Xky9qECTMPrlAbpE,2678
|
7
7
|
cursorflow/updater.py,sha256=SroSQHQi5cYyzcOK_bf-WzmQmE7yeOs8qo3r__j-Z6E,19583
|
@@ -13,7 +13,8 @@ cursorflow/core/browser_engine.py,sha256=7N9hPOyDrEhLWYgZW2981N9gKlHF6Lbp7D7h0zB
|
|
13
13
|
cursorflow/core/config_validator.py,sha256=HRtONSOmM0Xxt3-ok3xwnBADRiNnI0nNOMaS2OqOkDk,7286
|
14
14
|
cursorflow/core/css_iterator.py,sha256=whLCIwbHZEWaH1HCbmqhNX5zrh_fL-r3hsxKjYsukcE,16478
|
15
15
|
cursorflow/core/cursor_integration.py,sha256=MAeHjXYeqzaXnhskqkTDB-n5ixIHqapGe93X0lLKhws,67501
|
16
|
-
cursorflow/core/cursorflow.py,sha256=
|
16
|
+
cursorflow/core/cursorflow.py,sha256=TqlJqyT9Y294aL_JpAV4G8MMelIESRI9VX6Z3fCyj2c,46467
|
17
|
+
cursorflow/core/data_presenter.py,sha256=N9VAuRxwegif_l9dtBdcr92MZ3MkRqJW2qy07BNuaSw,18317
|
17
18
|
cursorflow/core/error_context_collector.py,sha256=so-aveqwb6_vRDbtKR2ln8_F84aaVIceNi1UHsaVPgc,26196
|
18
19
|
cursorflow/core/error_correlator.py,sha256=g6YaIF2yFXUDrTuWHCyuES6K0696H8LDWmXH1qI8ddA,13367
|
19
20
|
cursorflow/core/event_correlator.py,sha256=lCzXFnii17AQt3rOVOclez_AnjvBCF_2ZlnFG0mIN6c,7808
|
@@ -23,17 +24,19 @@ cursorflow/core/json_utils.py,sha256=ofqRP1twDSHQx-SERgLTO5y2ZXkoirsEw8OOiJkGh2w
|
|
23
24
|
cursorflow/core/log_collector.py,sha256=CYh41SLDI_t-hgzJqG3fTrSTDhEPFDktjO_mOQwucnE,15198
|
24
25
|
cursorflow/core/log_monitor.py,sha256=pONMu_JHEnT0T62OA5KRZ4nClzKgNpifPyrfN5w_RM8,6704
|
25
26
|
cursorflow/core/mockup_comparator.py,sha256=ttcXdueZz9dwcUGBQ2sft4i66zRdkZkFPu41s6JlEwU,63472
|
27
|
+
cursorflow/core/output_manager.py,sha256=fyIhxoJO1Hps8HgGMEekzfSfFqcO4iy7YliXes2nvxI,22054
|
26
28
|
cursorflow/core/persistent_session.py,sha256=FsEHj4wKkycmdp6PFRHv3g333Y74yqra0x_qhUTQpik,36075
|
29
|
+
cursorflow/core/query_engine.py,sha256=kNqnVk_QxJXkhF2p9TM3L6J8w7pBVob1wEo-vPfSrP4,54075
|
27
30
|
cursorflow/core/report_generator.py,sha256=-vosfyrnfVyWDbAIMlMurl90xOXqBae8d6aLd9sEqiY,10113
|
28
31
|
cursorflow/core/trace_manager.py,sha256=Jj9ultZrL1atiZXfcRVI6ynCnnfqZM-X0_taxt-llJ0,7189
|
29
32
|
cursorflow/log_sources/local_file.py,sha256=GVnhsaifIdc41twXwbxRM9-fBeRDsknDpk5IEGulnhQ,8318
|
30
33
|
cursorflow/log_sources/ssh_remote.py,sha256=_Kwh0bhRpKgq-0c98oaX2hN6h9cT-wCHlqY5NiWVCoY,8388
|
31
34
|
cursorflow/rules/__init__.py,sha256=gPcA-IkhXj03sl7cvZV0wwo7CtEkcyuKs4y0F5oQbqE,458
|
32
35
|
cursorflow/rules/cursorflow-installation.mdc,sha256=D55pzzDPAVVbE3gAtKPUGoT-2fvB-FI2l6yrTdzUIEo,10208
|
33
|
-
cursorflow/rules/cursorflow-usage.mdc,sha256=
|
34
|
-
cursorflow-2.
|
35
|
-
cursorflow-2.
|
36
|
-
cursorflow-2.
|
37
|
-
cursorflow-2.
|
38
|
-
cursorflow-2.
|
39
|
-
cursorflow-2.
|
36
|
+
cursorflow/rules/cursorflow-usage.mdc,sha256=e5l9sKtrkphRSOfqZTN7fvTvzPNoBAuVyCxFpAJ4uYY,31403
|
37
|
+
cursorflow-2.7.1.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
|
38
|
+
cursorflow-2.7.1.dist-info/METADATA,sha256=uRVlMJxjtG1AUAe5Udd5AxUW_As2EVhz9qrhGOVY09E,17538
|
39
|
+
cursorflow-2.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
40
|
+
cursorflow-2.7.1.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
|
41
|
+
cursorflow-2.7.1.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
|
42
|
+
cursorflow-2.7.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|