Files
gravity_control/scratch_bundle_deep.py

64 lines
2.6 KiB
Python

"""Find exact data-testid values and step-index context in AG bundle."""
import re, sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
bundle_path = r"C:\Users\Variet-Worker\AppData\Local\Programs\Antigravity\resources\app\out\jetskiAgent\main.js"
content = open(bundle_path, encoding='utf-8', errors='replace').read()
# Find all data-testid literal values
print("=== data-testid values ===")
for m in re.finditer(r'"data-testid"\s*[,:]\s*["`]([^"`]+)["`]', content):
print(f" {m.group(1)}")
# Also try template literal pattern
for m in re.finditer(r"'data-testid'\s*[,:]\s*'([^']+)'", content):
print(f" {m.group(1)}")
# JSX pattern: data-testid="xxx" or data-testid={xxx}
for m in re.finditer(r'data-testid[=:]["\'`]([^"\'`]{2,60})["\'`]', content):
print(f" {m.group(1)}")
# Find data-step-index context
print("\n=== data-step-index usage context ===")
for m in re.finditer(r'data-step-index', content):
start = max(0, m.start() - 150)
end = min(len(content), m.end() + 150)
ctx = content[start:end].replace('\n', ' ')
print(f" ...{ctx}...")
# Find data-status context
print("\n=== data-status usage context ===")
for m in re.finditer(r'"data-status"', content):
start = max(0, m.start() - 100)
end = min(len(content), m.end() + 100)
ctx = content[start:end].replace('\n', ' ')
print(f" ...{ctx}...")
# Find "Running" button context - what container wraps it?
print("\n=== 'Running' + 'command' nearby JSX context ===")
for m in re.finditer(r'Running.{0,3}(?:\$\{|`|\+).{0,30}command', content):
start = max(0, m.start() - 200)
end = min(len(content), m.end() + 200)
ctx = content[start:end].replace('\n', ' ')
print(f" @{m.start()}: ...{ctx[:400]}...")
# Find "Allow" button context
print("\n=== 'Allow' button context ===")
for m in re.finditer(r'["\'`]Allow["\'`]', content):
start = max(0, m.start() - 200)
end = min(len(content), m.end() + 200)
ctx = content[start:end].replace('\n', ' ')
print(f" @{m.start()}: ...{ctx[:400]}...")
# Find markdown rendering context
print("\n=== Markdown rendering context ===")
for m in re.finditer(r'(?:markdown|prose|rehype|remark)', content[:500000], re.IGNORECASE):
start = max(0, m.start() - 60)
end = min(len(content), m.end() + 60)
ctx = content[start:end].replace('\n', ' ')
if 'markdown' in ctx.lower() or 'prose' in ctx.lower():
print(f" @{m.start()}: ...{ctx}...")
# Find text-ide pattern (old Cascade class naming)
print("\n=== text-ide patterns ===")
for m in re.finditer(r'text-ide-[a-z-]+', content):
print(f" {m.group(0)}")