cursorflow 2.1.3__py3-none-any.whl → 2.1.4__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/__init__.py CHANGED
@@ -56,7 +56,7 @@ def _get_version():
56
56
  pass
57
57
 
58
58
  # Fallback version - should match pyproject.toml
59
- return "2.1.3"
59
+ return "2.1.4"
60
60
 
61
61
  __version__ = _get_version()
62
62
  __author__ = "GeekWarrior Development"
@@ -125,9 +125,9 @@ def create_config_template(project_path: Path, force: bool = False):
125
125
  # Get current version
126
126
  try:
127
127
  import cursorflow
128
- current_version = getattr(cursorflow, '__version__', '2.1.3')
128
+ current_version = getattr(cursorflow, '__version__', '2.1.4')
129
129
  except ImportError:
130
- current_version = '2.1.3'
130
+ current_version = '2.1.4'
131
131
 
132
132
  if config_path.exists():
133
133
  if not force:
@@ -302,9 +302,9 @@ def setup_update_checking(project_path: Path):
302
302
  # Create initial version tracking
303
303
  try:
304
304
  import cursorflow
305
- current_version = getattr(cursorflow, '__version__', '2.1.3')
305
+ current_version = getattr(cursorflow, '__version__', '2.1.4')
306
306
  except ImportError:
307
- current_version = '2.1.3'
307
+ current_version = '2.1.4'
308
308
 
309
309
  version_info = {
310
310
  "installed_version": current_version,
@@ -30,7 +30,13 @@ class LocalFileLogSource:
30
30
  'next_server': '.next/trace.log'
31
31
  }
32
32
  """
33
- self.log_paths = log_paths
33
+ # Handle case where log_paths is a string instead of dict
34
+ if isinstance(log_paths, str):
35
+ self.log_paths = {"default": log_paths}
36
+ elif isinstance(log_paths, list):
37
+ self.log_paths = {f"log_{i}": path for i, path in enumerate(log_paths)}
38
+ else:
39
+ self.log_paths = log_paths
34
40
  self.log_queue = queue.Queue()
35
41
  self.tail_processes = {}
36
42
  self.monitoring = False
@@ -3,9 +3,9 @@ title: CursorFlow 2.0.0 Installation & Setup Guide for Cursor
3
3
  description: How to install and configure CursorFlow 2.0.0 for complete page intelligence in AI-driven development
4
4
  ---
5
5
 
6
- # CursorFlow 2.0.0 Installation & Setup Guide for Cursor
6
+ # CursorFlow 2.1.4 Installation & Setup Guide for Cursor
7
7
 
8
- ## 🚀 **When to Install CursorFlow 2.0.0**
8
+ ## 🚀 **When to Install CursorFlow 2.1.4**
9
9
 
10
10
  ### **Automatically Install When:**
11
11
  - User mentions UI testing, visual debugging, or layout issues
@@ -1,6 +1,6 @@
1
1
  # CursorFlow Usage Rules for Cursor AI
2
2
 
3
- ## 🔥 **CursorFlow 2.0.0: Complete Page Intelligence for AI-Driven Development**
3
+ ## 🔥 **CursorFlow 2.1.4: Complete Page Intelligence for AI-Driven Development**
4
4
 
5
5
  **CursorFlow provides comprehensive data collection for rapid UI iteration:**
6
6
 
@@ -9,6 +9,8 @@
9
9
  - 📊 **Comprehensive Page Analysis** - Fonts, animations, resources, storage state
10
10
  - 🎯 **Enhanced Error Context Collection** - Smart screenshot deduplication
11
11
  - ⚡ **Enhanced Browser Data Capture** - Playwright traces + network interception
12
+ - 📱 **Parallel Viewport Testing** - Mobile, tablet, desktop responsive testing
13
+ - 🖼️ **Enhanced Screenshot Options** - Clipping, masking, quality control
12
14
 
13
15
  ## When to Use CursorFlow
14
16
 
@@ -217,7 +219,7 @@ print(f"Performance metrics: {screenshot_data['performance_data']}")
217
219
  # Playwright trace available at: .cursorflow/artifacts/traces/session.zip
218
220
  ```
219
221
 
220
- ## 🚀 **CursorFlow CLI Usage (v2.0.0)**
222
+ ## 🚀 **CursorFlow CLI Usage (v2.1.4)**
221
223
 
222
224
  ### **Basic Testing:**
223
225
  ```bash
@@ -233,12 +235,33 @@ cursorflow test \
233
235
  {"screenshot": "state"}
234
236
  ]'
235
237
 
238
+ # 🆕 Parallel responsive testing (mobile, tablet, desktop)
239
+ cursorflow test --base-url http://localhost:3000 --path "/dashboard" --responsive
240
+
241
+ # 🆕 Enhanced screenshot options
242
+ cursorflow test \
243
+ --base-url http://localhost:3000 \
244
+ --actions '[
245
+ {"navigate": "/page"},
246
+ {"screenshot": {
247
+ "name": "clipped-header",
248
+ "options": {
249
+ "clip": {"selector": "#header"},
250
+ "mask": [".user-email", ".sensitive-data"],
251
+ "full_page": false,
252
+ "quality": 90
253
+ }
254
+ }}
255
+ ]'
256
+
236
257
  # Results include:
237
258
  # - Hot Reload Intelligence status
238
259
  # - Advanced Element Intelligence (7 selector types)
239
260
  # - Comprehensive Page Analysis (fonts, animations, resources)
240
261
  # - Enhanced Error Context (smart deduplication)
241
262
  # - Enhanced Browser Data (Playwright traces)
263
+ # - 🆕 Parallel Viewport Analysis (responsive testing)
264
+ # - 🆕 Enhanced Screenshot Metadata (options used)
242
265
  ```
243
266
 
244
267
  ### **Available CLI Commands:**
@@ -260,7 +283,10 @@ cursorflow --help # Show all commands and options
260
283
  | `fill` | `{"fill": {"selector": "#input", "value": "text"}}` | Fill form field |
261
284
  | `wait` | `{"wait": 2}` | Wait seconds |
262
285
  | `wait_for` | `{"wait_for": "#element"}` | Wait for element |
263
- | `screenshot` | `{"screenshot": "name"}` | Take screenshot |
286
+ | `screenshot` | `{"screenshot": "name"}` | Take basic screenshot |
287
+ | 🆕 `screenshot` | `{"screenshot": {"name": "test", "options": {"clip": {"selector": "#header"}}}}` | Enhanced screenshot with clipping |
288
+ | 🆕 `screenshot` | `{"screenshot": {"name": "test", "options": {"mask": [".sensitive"]}}}` | Screenshot with masked elements |
289
+ | 🆕 `screenshot` | `{"screenshot": {"name": "test.jpg", "options": {"quality": 90}}}` | JPEG screenshot with quality |
264
290
 
265
291
  ## Common Usage Patterns
266
292
 
@@ -279,6 +305,48 @@ cursorflow test \
279
305
  ]'
280
306
  ```
281
307
 
308
+ ### 🆕 Responsive Testing (Parallel Viewports)
309
+ ```bash
310
+ # Simple responsive test across mobile, tablet, desktop
311
+ cursorflow test --base-url http://localhost:3000 --path "/dashboard" --responsive
312
+
313
+ # Custom responsive test with actions
314
+ cursorflow test --base-url http://localhost:3000 --responsive --actions '[
315
+ {"navigate": "/dashboard"},
316
+ {"wait_for": "#main-content"},
317
+ {"screenshot": "responsive-dashboard"},
318
+ {"click": "#menu-toggle"},
319
+ {"screenshot": "responsive-menu"}
320
+ ]'
321
+
322
+ # Results include:
323
+ # - Performance comparison across viewports
324
+ # - Layout differences analysis
325
+ # - Responsive behavior insights
326
+ # - Cross-viewport screenshots
327
+ ```
328
+
329
+ ### 🆕 Enhanced Screenshot Options
330
+ ```bash
331
+ # Component-focused screenshots
332
+ cursorflow test --base-url http://localhost:3000 --actions '[
333
+ {"navigate": "/page"},
334
+ {"screenshot": {"name": "header", "options": {"clip": {"selector": "#header"}}}}
335
+ ]'
336
+
337
+ # Privacy-aware screenshots (mask sensitive data)
338
+ cursorflow test --base-url http://localhost:3000 --actions '[
339
+ {"navigate": "/profile"},
340
+ {"screenshot": {"name": "profile", "options": {"mask": [".user-email", ".api-key"]}}}
341
+ ]'
342
+
343
+ # High-quality JPEG screenshots
344
+ cursorflow test --base-url http://localhost:3000 --actions '[
345
+ {"navigate": "/page"},
346
+ {"screenshot": {"name": "page.jpg", "options": {"quality": 95, "full_page": true}}}
347
+ ]'
348
+ ```
349
+
282
350
  ### Login Flow Testing
283
351
  ```bash
284
352
  cursorflow test \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cursorflow
3
- Version: 2.1.3
3
+ Version: 2.1.4
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
@@ -1,7 +1,7 @@
1
- cursorflow/__init__.py,sha256=R0EASl-kqgr62b-7tqb7TBpEvWMWtBQs5VqOBtLxLF4,2763
1
+ cursorflow/__init__.py,sha256=3zdOAvMaLDe_OLKUbh-G9q0jXnprS-9CHxpRxKJPWy8,2763
2
2
  cursorflow/auto_updater.py,sha256=oQ12TIMZ6Cm3HF-x9iRWFtvOLkRh-JWPqitS69-4roE,7851
3
3
  cursorflow/cli.py,sha256=ca36aTHFLYpiaeQYoj3TB4o39CEfj3WWaePze8yNvdg,27280
4
- cursorflow/install_cursorflow_rules.py,sha256=YBLbpyZT-ZLgq_VXhlu_ilruyttcQybaHPPfHYz7LnQ,11792
4
+ cursorflow/install_cursorflow_rules.py,sha256=xIVw1DhqHL9YDT_JM7sXfVcMXIB0OuYZjC18jac-v8o,11792
5
5
  cursorflow/updater.py,sha256=rAST7STjw-SgKxn_jsQJWOoyEMia-MQVxpKMwzPRnOA,19573
6
6
  cursorflow/core/agent.py,sha256=f3lecgEzDRDdGTVccAtorpLGfNJJ49bbsQAmgr0vNGg,10136
7
7
  cursorflow/core/auth_handler.py,sha256=oRafO6ZdxoHryBIvHsrNV8TECed4GXpJsdEiH0KdPPk,17149
@@ -21,14 +21,14 @@ cursorflow/core/mockup_comparator.py,sha256=VLfEEaTgbcY0oTb-bhBD2uTbXGjbnOV7LXNV
21
21
  cursorflow/core/persistent_session.py,sha256=FsEHj4wKkycmdp6PFRHv3g333Y74yqra0x_qhUTQpik,36075
22
22
  cursorflow/core/report_generator.py,sha256=-vosfyrnfVyWDbAIMlMurl90xOXqBae8d6aLd9sEqiY,10113
23
23
  cursorflow/core/trace_manager.py,sha256=Jj9ultZrL1atiZXfcRVI6ynCnnfqZM-X0_taxt-llJ0,7189
24
- cursorflow/log_sources/local_file.py,sha256=5Aa1qFe-GABydXr3Hskta6QCMjRrBOfrGGD3OJ9JBBw,7257
24
+ cursorflow/log_sources/local_file.py,sha256=YAzF6oZRusNT_EOJduoeMTgP6dc1Av9wK96yNxmhSGA,7558
25
25
  cursorflow/log_sources/ssh_remote.py,sha256=xLLxm5B95kUcLqMC7-oZUA66e1rU5LLeeBiR6Mw5syc,7642
26
26
  cursorflow/rules/__init__.py,sha256=gPcA-IkhXj03sl7cvZV0wwo7CtEkcyuKs4y0F5oQbqE,458
27
- cursorflow/rules/cursorflow-installation.mdc,sha256=PZN4hHpy2_g3EzD8BxZYhXF9A6YCvtMGaD3uOA7UVSs,9511
28
- cursorflow/rules/cursorflow-usage.mdc,sha256=SAsJRmml8W1zE_jArZnRtygO9RmggjEzxGA6hxBJ-H4,18924
29
- cursorflow-2.1.3.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
30
- cursorflow-2.1.3.dist-info/METADATA,sha256=L-0-ZDt4lzJ9irtTBHAg1dPjKunBtew1GUy6ARzkIOc,12300
31
- cursorflow-2.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
32
- cursorflow-2.1.3.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
33
- cursorflow-2.1.3.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
34
- cursorflow-2.1.3.dist-info/RECORD,,
27
+ cursorflow/rules/cursorflow-installation.mdc,sha256=dLyQmKvER5J54EV5GAb-g4xNPMZP8pqecZpOlxf-tKA,9511
28
+ cursorflow/rules/cursorflow-usage.mdc,sha256=jD5IrIP2eKIeQN2TS-ehnwD1u_J6lWSXQZZ9KSUcOUU,21449
29
+ cursorflow-2.1.4.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
30
+ cursorflow-2.1.4.dist-info/METADATA,sha256=97woSQvbkl5nqSs2kOKwriTlwz1S41gp2u4dHOusFNU,12300
31
+ cursorflow-2.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
32
+ cursorflow-2.1.4.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
33
+ cursorflow-2.1.4.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
34
+ cursorflow-2.1.4.dist-info/RECORD,,