cursorflow 2.5.0__tar.gz → 2.6.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.
- {cursorflow-2.5.0 → cursorflow-2.6.1}/PKG-INFO +1 -1
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/cli.py +18 -6
- {cursorflow-2.5.0 → cursorflow-2.6.1}/pyproject.toml +2 -2
- {cursorflow-2.5.0 → cursorflow-2.6.1}/LICENSE +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/MANIFEST.in +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/README.md +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/__init__.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/auto_init.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/auto_updater.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/action_validator.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/agent.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/auth_handler.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/browser_controller.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/browser_engine.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/config_validator.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/css_iterator.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/cursor_integration.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/cursorflow.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/error_context_collector.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/error_correlator.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/event_correlator.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/file_change_monitor.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/hmr_detector.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/json_utils.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/log_collector.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/log_monitor.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/mockup_comparator.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/persistent_session.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/report_generator.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/core/trace_manager.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/install_cursorflow_rules.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/log_sources/local_file.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/log_sources/ssh_remote.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/post_install.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/rules/__init__.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/rules/cursorflow-installation.mdc +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/rules/cursorflow-usage.mdc +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow/updater.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/cursorflow.egg-info/SOURCES.txt +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/docs/user/USAGE_GUIDE.md +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/comprehensive_screenshot_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/element_inspection_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/element_measurement_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/enhanced_screenshot_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/hot_reload_css_iteration.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/mockup_comparison_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/opensas_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/react_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/responsive_testing_example.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/examples/v2_comprehensive_demo.py +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/setup.cfg +0 -0
- {cursorflow-2.5.0 → cursorflow-2.6.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: cursorflow
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.6.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
|
@@ -357,8 +357,8 @@ def test(base_url, path, actions, output, logs, config, verbose, headless, timeo
|
|
357
357
|
help='JSON array of viewports to test: [{"width": 1440, "height": 900, "name": "desktop"}]')
|
358
358
|
@click.option('--diff-threshold', '-t', type=float, default=0.1,
|
359
359
|
help='Visual difference threshold (0.0-1.0)')
|
360
|
-
@click.option('--output', '-o',
|
361
|
-
help='Output file for comparison results')
|
360
|
+
@click.option('--output', '-o',
|
361
|
+
help='Output file for comparison results (auto-generated in .cursorflow/artifacts/ if not specified)')
|
362
362
|
@click.option('--verbose', is_flag=True,
|
363
363
|
help='Verbose output')
|
364
364
|
def compare_mockup(mockup_url, base_url, mockup_actions, implementation_actions, viewports, diff_threshold, output, verbose):
|
@@ -439,7 +439,13 @@ def compare_mockup(mockup_url, base_url, mockup_actions, implementation_actions,
|
|
439
439
|
if similarity_range:
|
440
440
|
console.print(f"📈 Similarity range: {similarity_range.get('min', 0)}% - {similarity_range.get('max', 0)}%")
|
441
441
|
|
442
|
-
# Save results
|
442
|
+
# Save results (in artifacts directory by default for consistency)
|
443
|
+
if not output:
|
444
|
+
# Auto-generate filename in artifacts directory
|
445
|
+
comparison_id = results.get('comparison_id', f"comparison_{int(time.time())}")
|
446
|
+
output = f".cursorflow/artifacts/{comparison_id}.json"
|
447
|
+
Path('.cursorflow/artifacts').mkdir(parents=True, exist_ok=True)
|
448
|
+
|
443
449
|
from .core.json_utils import safe_json_dump
|
444
450
|
safe_json_dump(results, output)
|
445
451
|
|
@@ -463,8 +469,8 @@ def compare_mockup(mockup_url, base_url, mockup_actions, implementation_actions,
|
|
463
469
|
help='JSON file with base actions to perform before each test')
|
464
470
|
@click.option('--diff-threshold', '-t', type=float, default=0.1,
|
465
471
|
help='Visual difference threshold (0.0-1.0)')
|
466
|
-
@click.option('--output', '-o',
|
467
|
-
help='Output file for iteration results')
|
472
|
+
@click.option('--output', '-o',
|
473
|
+
help='Output file for iteration results (auto-generated in .cursorflow/artifacts/ if not specified)')
|
468
474
|
@click.option('--verbose', is_flag=True,
|
469
475
|
help='Verbose output')
|
470
476
|
def iterate_mockup(mockup_url, base_url, css_improvements, base_actions, diff_threshold, output, verbose):
|
@@ -542,7 +548,13 @@ def iterate_mockup(mockup_url, base_url, css_improvements, base_actions, diff_th
|
|
542
548
|
for i, rec in enumerate(recommendations[:3]):
|
543
549
|
console.print(f" {i+1}. {rec.get('description', 'No description')}")
|
544
550
|
|
545
|
-
# Save results
|
551
|
+
# Save results (in artifacts directory by default for consistency)
|
552
|
+
if not output:
|
553
|
+
# Auto-generate filename in artifacts directory
|
554
|
+
session_id = results.get('session_id', f"iteration_{int(time.time())}")
|
555
|
+
output = f".cursorflow/artifacts/{session_id}.json"
|
556
|
+
Path('.cursorflow/artifacts').mkdir(parents=True, exist_ok=True)
|
557
|
+
|
546
558
|
from cursorflow.core.json_utils import safe_json_serialize
|
547
559
|
with open(output, 'w') as f:
|
548
560
|
json.dump(results, f, indent=2, default=safe_json_serialize)
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "cursorflow"
|
7
|
-
version = "2.
|
7
|
+
version = "2.6.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"}
|
@@ -72,6 +72,6 @@ line-length = 88
|
|
72
72
|
target-version = ['py38']
|
73
73
|
|
74
74
|
[tool.mypy]
|
75
|
-
python_version = "2.
|
75
|
+
python_version = "2.6.1"
|
76
76
|
warn_return_any = true
|
77
77
|
warn_unused_configs = true
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|