cursorflow 2.2.6__py3-none-any.whl → 2.2.8__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.2.6"
59
+ return "2.2.8"
60
60
 
61
61
  __version__ = _get_version()
62
62
  __author__ = "GeekWarrior Development"
cursorflow/cli.py CHANGED
@@ -81,9 +81,9 @@ def main(ctx):
81
81
  @click.option('--responsive', is_flag=True,
82
82
  help='Test across multiple viewports (mobile, tablet, desktop)')
83
83
  @click.option('--save-session', '-S',
84
- help='Save browser session state with this name for later reuse')
84
+ help='Save authenticated session state (requires auth_config in .cursorflow/config.json)')
85
85
  @click.option('--use-session', '-U',
86
- help='Restore and use a previously saved session')
86
+ help='Restore authenticated session state (requires auth_config in .cursorflow/config.json)')
87
87
  @click.option('--wait-for', '-w',
88
88
  help='Wait for selector to appear before continuing')
89
89
  @click.option('--wait-timeout', type=int, default=30,
@@ -1087,12 +1087,12 @@ def _display_test_results(results: Dict, test_description: str, show_console: bo
1087
1087
  console.print(f"\n📊 Captured:")
1088
1088
  console.print(f" • Elements: {len(comprehensive_data.get('dom_analysis', {}).get('elements', []))}")
1089
1089
  console.print(f" • Network requests: {len(comprehensive_data.get('network_data', {}).get('all_network_events', []))}")
1090
- console.print(f" • Console messages: {len(comprehensive_data.get('console_data', {}).get('console_logs', []))}")
1090
+ console.print(f" • Console messages: {len(comprehensive_data.get('console_data', {}).get('all_console_logs', []))}")
1091
1091
  console.print(f" • Screenshots: {len(artifacts.get('screenshots', []))}")
1092
1092
 
1093
1093
  # Phase 4.1: Console messages display
1094
1094
  console_data = comprehensive_data.get('console_data', {})
1095
- console_logs = console_data.get('console_logs', [])
1095
+ console_logs = console_data.get('all_console_logs', [])
1096
1096
 
1097
1097
  if console_logs and (show_console or show_all_console):
1098
1098
  errors = [log for log in console_logs if log.get('type') == 'error']
@@ -1363,7 +1363,7 @@ class BrowserController:
1363
1363
  animationData.animation_details.push({
1364
1364
  element_selector: element.tagName.toLowerCase() +
1365
1365
  (element.id ? '#' + element.id : '') +
1366
- (element.className ? '.' + element.className.split(' ').join('.') : ''),
1366
+ (element.className && typeof element.className === 'string' ? '.' + element.className.split(' ').join('.') : ''),
1367
1367
  animation_name: animationName,
1368
1368
  duration: computedStyle.animationDuration,
1369
1369
  delay: computedStyle.animationDelay,
@@ -2250,6 +2250,9 @@ class BrowserController:
2250
2250
  def _capture_console_data(self) -> Dict[str, Any]:
2251
2251
  """Capture comprehensive console log data"""
2252
2252
  try:
2253
+ # Debug: Log console capture state
2254
+ self.logger.debug(f"Capturing console data: {len(self.console_logs)} messages in buffer")
2255
+
2253
2256
  # Categorize console logs
2254
2257
  errors = [log for log in self.console_logs if log.get("type") == "error"]
2255
2258
  warnings = [log for log in self.console_logs if log.get("type") == "warning"]
@@ -275,8 +275,8 @@ cursorflow install-rules # Install Cursor rules (use --yes)
275
275
  --screenshot "name" # Capture screenshot
276
276
  --show-console # Show console errors
277
277
  --open-trace # Auto-open Playwright trace
278
- --save-session "name" # Save browser state
279
- --use-session "name" # Restore browser state
278
+ --save-session "name" # Save authenticated state (requires auth_config)
279
+ --use-session "name" # Restore authenticated state (requires auth_config)
280
280
  ```
281
281
 
282
282
  ### **Available Actions (94+ via Pass-Through):**
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cursorflow
3
- Version: 2.2.6
3
+ Version: 2.2.8
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
@@ -157,7 +157,7 @@ Every test captures everything needed for debugging:
157
157
  - **Forms**: All field values at capture time (passwords masked)
158
158
  - **Performance**: Load times, memory usage, reliability indicators
159
159
  - **Visual**: Screenshots with comprehensive page analysis
160
- - **Sessions**: Save/restore browser state for authenticated testing
160
+ - **Sessions**: Save/restore authenticated browser state (requires auth_config)
161
161
 
162
162
  ### **🔄 Hot Reload Intelligence**
163
163
  - **Framework auto-detection** (Vite, Webpack, Next.js, Parcel, Laravel Mix)
@@ -1,14 +1,14 @@
1
- cursorflow/__init__.py,sha256=j0MIwqCJf-WXoJkccyHFTM2sRiL2KSeeRx8dfLiJA0I,2763
1
+ cursorflow/__init__.py,sha256=5G0Zm1HeS4oGx9S9E5GFRon5gduljQMlJhs1XEBUuE4,2763
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=JmT0uw5lrZhUhN_MOkUtkGScPSYw7PzkQKT2e2In24o,50347
4
+ cursorflow/cli.py,sha256=cRxhu48AwQfpO48qlU2B29Vi_jfUIXFe5bvi8LS8poA,50423
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
8
8
  cursorflow/core/action_validator.py,sha256=SCk3w_62D1y0cCRDOajK8L44-abSj_KpnUBgR_yNVW4,6846
9
9
  cursorflow/core/agent.py,sha256=f3lecgEzDRDdGTVccAtorpLGfNJJ49bbsQAmgr0vNGg,10136
10
10
  cursorflow/core/auth_handler.py,sha256=oRafO6ZdxoHryBIvHsrNV8TECed4GXpJsdEiH0KdPPk,17149
11
- cursorflow/core/browser_controller.py,sha256=PuODrTefj3fH1FPuinvXmCcRfjLhWL9yWyWkmJgNd70,147220
11
+ cursorflow/core/browser_controller.py,sha256=mfJ5a6-996TC6Z2CHNxxQUQPPqPjPWAvL1njTONwqsA,147423
12
12
  cursorflow/core/browser_engine.py,sha256=7N9hPOyDrEhLWYgZW2981N9gKlHF6Lbp7D7h0zBzuz8,14851
13
13
  cursorflow/core/config_validator.py,sha256=HRtONSOmM0Xxt3-ok3xwnBADRiNnI0nNOMaS2OqOkDk,7286
14
14
  cursorflow/core/css_iterator.py,sha256=whLCIwbHZEWaH1HCbmqhNX5zrh_fL-r3hsxKjYsukcE,16478
@@ -29,10 +29,10 @@ cursorflow/log_sources/local_file.py,sha256=GVnhsaifIdc41twXwbxRM9-fBeRDsknDpk5I
29
29
  cursorflow/log_sources/ssh_remote.py,sha256=_Kwh0bhRpKgq-0c98oaX2hN6h9cT-wCHlqY5NiWVCoY,8388
30
30
  cursorflow/rules/__init__.py,sha256=gPcA-IkhXj03sl7cvZV0wwo7CtEkcyuKs4y0F5oQbqE,458
31
31
  cursorflow/rules/cursorflow-installation.mdc,sha256=D55pzzDPAVVbE3gAtKPUGoT-2fvB-FI2l6yrTdzUIEo,10208
32
- cursorflow/rules/cursorflow-usage.mdc,sha256=kyRk9SaqkjjT6FRyMpEwzJ-KySpxCxAEQAmtxldWOPY,21325
33
- cursorflow-2.2.6.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
34
- cursorflow-2.2.6.dist-info/METADATA,sha256=OQVM0yPYW53WhTXRw_ZyzwIeF-5vl5zJQHgDgjPVHAQ,14527
35
- cursorflow-2.2.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
36
- cursorflow-2.2.6.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
37
- cursorflow-2.2.6.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
38
- cursorflow-2.2.6.dist-info/RECORD,,
32
+ cursorflow/rules/cursorflow-usage.mdc,sha256=JVj-Xgura1rIfHaR5W_GHy6mBVlYCgE922RtuRVEJvg,21383
33
+ cursorflow-2.2.8.dist-info/licenses/LICENSE,sha256=e4QbjAsj3bW-xgQOvQelr8sGLYDoqc48k6cKgCr_pBU,1080
34
+ cursorflow-2.2.8.dist-info/METADATA,sha256=Pt_t2eFlVaGhHPNP5FiBHF6PlnvqSW25ZwEX6oDd7e8,14538
35
+ cursorflow-2.2.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
36
+ cursorflow-2.2.8.dist-info/entry_points.txt,sha256=-Ed_n4Uff7wClEtWS-Py6xmQabecB9f0QAOjX0w7ljA,51
37
+ cursorflow-2.2.8.dist-info/top_level.txt,sha256=t1UZwRyZP4u-ng2CEcNHmk_ZT4ibQxoihB2IjTF7ovc,11
38
+ cursorflow-2.2.8.dist-info/RECORD,,