cursorflow 2.1.0__tar.gz → 2.1.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.
Files changed (44) hide show
  1. {cursorflow-2.1.0 → cursorflow-2.1.1}/PKG-INFO +1 -1
  2. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/__init__.py +1 -1
  3. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/browser_controller.py +8 -3
  4. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/install_cursorflow_rules.py +4 -4
  5. {cursorflow-2.1.0 → cursorflow-2.1.1}/docs/USER_MANUAL.md +13 -1
  6. {cursorflow-2.1.0 → cursorflow-2.1.1}/pyproject.toml +1 -1
  7. {cursorflow-2.1.0 → cursorflow-2.1.1}/LICENSE +0 -0
  8. {cursorflow-2.1.0 → cursorflow-2.1.1}/MANIFEST.in +0 -0
  9. {cursorflow-2.1.0 → cursorflow-2.1.1}/README.md +0 -0
  10. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/auto_updater.py +0 -0
  11. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/cli.py +0 -0
  12. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/agent.py +0 -0
  13. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/auth_handler.py +0 -0
  14. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/browser_engine.py +0 -0
  15. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/css_iterator.py +0 -0
  16. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/cursor_integration.py +0 -0
  17. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/cursorflow.py +0 -0
  18. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/error_context_collector.py +0 -0
  19. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/error_correlator.py +0 -0
  20. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/event_correlator.py +0 -0
  21. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/file_change_monitor.py +0 -0
  22. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/hmr_detector.py +0 -0
  23. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/log_collector.py +0 -0
  24. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/log_monitor.py +0 -0
  25. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/mockup_comparator.py +0 -0
  26. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/persistent_session.py +0 -0
  27. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/report_generator.py +0 -0
  28. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/core/trace_manager.py +0 -0
  29. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/log_sources/local_file.py +0 -0
  30. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/log_sources/ssh_remote.py +0 -0
  31. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/rules/__init__.py +0 -0
  32. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/rules/cursorflow-installation.mdc +0 -0
  33. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/rules/cursorflow-usage.mdc +0 -0
  34. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow/updater.py +0 -0
  35. {cursorflow-2.1.0 → cursorflow-2.1.1}/cursorflow.egg-info/SOURCES.txt +0 -0
  36. {cursorflow-2.1.0 → cursorflow-2.1.1}/examples/comprehensive_screenshot_example.py +0 -0
  37. {cursorflow-2.1.0 → cursorflow-2.1.1}/examples/enhanced_screenshot_example.py +0 -0
  38. {cursorflow-2.1.0 → cursorflow-2.1.1}/examples/mockup_comparison_example.py +0 -0
  39. {cursorflow-2.1.0 → cursorflow-2.1.1}/examples/opensas_example.py +0 -0
  40. {cursorflow-2.1.0 → cursorflow-2.1.1}/examples/react_example.py +0 -0
  41. {cursorflow-2.1.0 → cursorflow-2.1.1}/examples/responsive_testing_example.py +0 -0
  42. {cursorflow-2.1.0 → cursorflow-2.1.1}/examples/v2_comprehensive_demo.py +0 -0
  43. {cursorflow-2.1.0 → cursorflow-2.1.1}/setup.cfg +0 -0
  44. {cursorflow-2.1.0 → cursorflow-2.1.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cursorflow
3
- Version: 2.1.0
3
+ Version: 2.1.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
@@ -56,7 +56,7 @@ def _get_version():
56
56
  pass
57
57
 
58
58
  # Fallback version - should match pyproject.toml
59
- return "2.1.0"
59
+ return "2.1.1"
60
60
 
61
61
  __version__ = _get_version()
62
62
  __author__ = "GeekWarrior Development"
@@ -413,7 +413,7 @@ class BrowserController:
413
413
  "selector": str # Clip to element bounding box
414
414
  },
415
415
  "mask": [str], # CSS selectors to hide/mask
416
- "quality": int # JPEG quality 0-100 (default: 80)
416
+ "quality": int # JPEG quality 0-100 (default: 80) - requires .jpg/.jpeg filename
417
417
  }
418
418
  capture_comprehensive_data: Whether to capture detailed page analysis
419
419
  """
@@ -447,10 +447,15 @@ class BrowserController:
447
447
  # Prepare screenshot parameters
448
448
  screenshot_params = {
449
449
  "path": screenshot_filename,
450
- "full_page": full_page,
451
- "quality": quality
450
+ "full_page": full_page
452
451
  }
453
452
 
453
+ # Only add quality for JPEG screenshots
454
+ if screenshot_filename.lower().endswith(('.jpg', '.jpeg')):
455
+ screenshot_params["quality"] = quality
456
+ screenshot_params["type"] = "jpeg"
457
+ # PNG is default and doesn't support quality parameter
458
+
454
459
  # Handle clipping options
455
460
  if clip_config:
456
461
  if "selector" in clip_config:
@@ -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.0')
128
+ current_version = getattr(cursorflow, '__version__', '2.1.1')
129
129
  except ImportError:
130
- current_version = '2.1.0'
130
+ current_version = '2.1.1'
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.0')
305
+ current_version = getattr(cursorflow, '__version__', '2.1.1')
306
306
  except ImportError:
307
- current_version = '2.1.0'
307
+ current_version = '2.1.1'
308
308
 
309
309
  version_info = {
310
310
  "installed_version": current_version,
@@ -423,6 +423,18 @@ cursorflow test --base-url http://localhost:3000 --actions '[
423
423
  }
424
424
  }}
425
425
  ]'
426
+
427
+ # JPEG with quality control (requires .jpg/.jpeg filename)
428
+ cursorflow test --base-url http://localhost:3000 --actions '[
429
+ {"navigate": "/dashboard"},
430
+ {"screenshot": {
431
+ "name": "dashboard.jpg",
432
+ "options": {
433
+ "quality": 95,
434
+ "full_page": true
435
+ }
436
+ }}
437
+ ]'
426
438
  ```
427
439
 
428
440
  **Screenshot Options:**
@@ -432,7 +444,7 @@ cursorflow test --base-url http://localhost:3000 --actions '[
432
444
  - **`mask`**: Hide sensitive information
433
445
  - `[".password", ".api-key", ".user-email"]` - CSS selectors to hide
434
446
  - **`full_page`**: Capture entire page (default: viewport only)
435
- - **`quality`**: JPEG quality 0-100 (default: 80)
447
+ - **`quality`**: JPEG quality 0-100 (default: 80) - **Note**: Only works with .jpg/.jpeg filenames
436
448
 
437
449
  ### 4. Parallel Viewport Testing
438
450
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "cursorflow"
7
- version = "2.1.0"
7
+ version = "2.1.1"
8
8
  description = "🔥 Complete page intelligence for AI-driven development with Hot Reload Intelligence - captures DOM, network, console, performance, HMR events, and comprehensive page analysis"
9
9
  authors = [
10
10
  {name = "GeekWarrior Development", email = "rbush@cooltheory.com"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes