@templmf/temp-solf-lmf 0.0.33 → 0.0.34

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 (37) hide show
  1. package/nanobrowser.zip +0 -0
  2. package/package.json +1 -1
  3. package/pageassist-1.5.54-chrome.zip +0 -0
  4. package/mcp-builder/LICENSE.txt +0 -202
  5. package/mcp-builder/SKILL.md +0 -236
  6. package/mcp-builder/reference/evaluation.md +0 -602
  7. package/mcp-builder/reference/mcp_best_practices.md +0 -249
  8. package/mcp-builder/reference/node_mcp_server.md +0 -970
  9. package/mcp-builder/reference/python_mcp_server.md +0 -719
  10. package/mcp-builder/scripts/connections.py +0 -151
  11. package/mcp-builder/scripts/evaluation.py +0 -373
  12. package/mcp-builder/scripts/example_evaluation.xml +0 -22
  13. package/mcp-builder/scripts/requirements.txt +0 -2
  14. package/skill-creator/LICENSE.txt +0 -202
  15. package/skill-creator/SKILL.md +0 -479
  16. package/skill-creator/agents/analyzer.md +0 -274
  17. package/skill-creator/agents/comparator.md +0 -202
  18. package/skill-creator/agents/grader.md +0 -223
  19. package/skill-creator/assets/eval_review.html +0 -146
  20. package/skill-creator/eval-viewer/generate_review.py +0 -471
  21. package/skill-creator/eval-viewer/viewer.html +0 -1325
  22. package/skill-creator/references/schemas.md +0 -430
  23. package/skill-creator/scripts/__init__.py +0 -0
  24. package/skill-creator/scripts/aggregate_benchmark.py +0 -401
  25. package/skill-creator/scripts/generate_report.py +0 -326
  26. package/skill-creator/scripts/improve_description.py +0 -248
  27. package/skill-creator/scripts/package_skill.py +0 -136
  28. package/skill-creator/scripts/quick_validate.py +0 -103
  29. package/skill-creator/scripts/run_eval.py +0 -310
  30. package/skill-creator/scripts/run_loop.py +0 -332
  31. package/skill-creator/scripts/utils.py +0 -47
  32. package/webapp-testing/LICENSE.txt +0 -202
  33. package/webapp-testing/SKILL.md +0 -96
  34. package/webapp-testing/examples/console_logging.py +0 -35
  35. package/webapp-testing/examples/element_discovery.py +0 -40
  36. package/webapp-testing/examples/static_html_automation.py +0 -33
  37. package/webapp-testing/scripts/with_server.py +0 -106
@@ -1,35 +0,0 @@
1
- from playwright.sync_api import sync_playwright
2
-
3
- # Example: Capturing console logs during browser automation
4
-
5
- url = 'http://localhost:5173' # Replace with your URL
6
-
7
- console_logs = []
8
-
9
- with sync_playwright() as p:
10
- browser = p.chromium.launch(headless=True)
11
- page = browser.new_page(viewport={'width': 1920, 'height': 1080})
12
-
13
- # Set up console log capture
14
- def handle_console_message(msg):
15
- console_logs.append(f"[{msg.type}] {msg.text}")
16
- print(f"Console: [{msg.type}] {msg.text}")
17
-
18
- page.on("console", handle_console_message)
19
-
20
- # Navigate to page
21
- page.goto(url)
22
- page.wait_for_load_state('networkidle')
23
-
24
- # Interact with the page (triggers console logs)
25
- page.click('text=Dashboard')
26
- page.wait_for_timeout(1000)
27
-
28
- browser.close()
29
-
30
- # Save console logs to file
31
- with open('/mnt/user-data/outputs/console.log', 'w') as f:
32
- f.write('\n'.join(console_logs))
33
-
34
- print(f"\nCaptured {len(console_logs)} console messages")
35
- print(f"Logs saved to: /mnt/user-data/outputs/console.log")
@@ -1,40 +0,0 @@
1
- from playwright.sync_api import sync_playwright
2
-
3
- # Example: Discovering buttons and other elements on a page
4
-
5
- with sync_playwright() as p:
6
- browser = p.chromium.launch(headless=True)
7
- page = browser.new_page()
8
-
9
- # Navigate to page and wait for it to fully load
10
- page.goto('http://localhost:5173')
11
- page.wait_for_load_state('networkidle')
12
-
13
- # Discover all buttons on the page
14
- buttons = page.locator('button').all()
15
- print(f"Found {len(buttons)} buttons:")
16
- for i, button in enumerate(buttons):
17
- text = button.inner_text() if button.is_visible() else "[hidden]"
18
- print(f" [{i}] {text}")
19
-
20
- # Discover links
21
- links = page.locator('a[href]').all()
22
- print(f"\nFound {len(links)} links:")
23
- for link in links[:5]: # Show first 5
24
- text = link.inner_text().strip()
25
- href = link.get_attribute('href')
26
- print(f" - {text} -> {href}")
27
-
28
- # Discover input fields
29
- inputs = page.locator('input, textarea, select').all()
30
- print(f"\nFound {len(inputs)} input fields:")
31
- for input_elem in inputs:
32
- name = input_elem.get_attribute('name') or input_elem.get_attribute('id') or "[unnamed]"
33
- input_type = input_elem.get_attribute('type') or 'text'
34
- print(f" - {name} ({input_type})")
35
-
36
- # Take screenshot for visual reference
37
- page.screenshot(path='/tmp/page_discovery.png', full_page=True)
38
- print("\nScreenshot saved to /tmp/page_discovery.png")
39
-
40
- browser.close()
@@ -1,33 +0,0 @@
1
- from playwright.sync_api import sync_playwright
2
- import os
3
-
4
- # Example: Automating interaction with static HTML files using file:// URLs
5
-
6
- html_file_path = os.path.abspath('path/to/your/file.html')
7
- file_url = f'file://{html_file_path}'
8
-
9
- with sync_playwright() as p:
10
- browser = p.chromium.launch(headless=True)
11
- page = browser.new_page(viewport={'width': 1920, 'height': 1080})
12
-
13
- # Navigate to local HTML file
14
- page.goto(file_url)
15
-
16
- # Take screenshot
17
- page.screenshot(path='/mnt/user-data/outputs/static_page.png', full_page=True)
18
-
19
- # Interact with elements
20
- page.click('text=Click Me')
21
- page.fill('#name', 'John Doe')
22
- page.fill('#email', 'john@example.com')
23
-
24
- # Submit form
25
- page.click('button[type="submit"]')
26
- page.wait_for_timeout(500)
27
-
28
- # Take final screenshot
29
- page.screenshot(path='/mnt/user-data/outputs/after_submit.png', full_page=True)
30
-
31
- browser.close()
32
-
33
- print("Static HTML automation completed!")
@@ -1,106 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Start one or more servers, wait for them to be ready, run a command, then clean up.
4
-
5
- Usage:
6
- # Single server
7
- python scripts/with_server.py --server "npm run dev" --port 5173 -- python automation.py
8
- python scripts/with_server.py --server "npm start" --port 3000 -- python test.py
9
-
10
- # Multiple servers
11
- python scripts/with_server.py \
12
- --server "cd backend && python server.py" --port 3000 \
13
- --server "cd frontend && npm run dev" --port 5173 \
14
- -- python test.py
15
- """
16
-
17
- import subprocess
18
- import socket
19
- import time
20
- import sys
21
- import argparse
22
-
23
- def is_server_ready(port, timeout=30):
24
- """Wait for server to be ready by polling the port."""
25
- start_time = time.time()
26
- while time.time() - start_time < timeout:
27
- try:
28
- with socket.create_connection(('localhost', port), timeout=1):
29
- return True
30
- except (socket.error, ConnectionRefusedError):
31
- time.sleep(0.5)
32
- return False
33
-
34
-
35
- def main():
36
- parser = argparse.ArgumentParser(description='Run command with one or more servers')
37
- parser.add_argument('--server', action='append', dest='servers', required=True, help='Server command (can be repeated)')
38
- parser.add_argument('--port', action='append', dest='ports', type=int, required=True, help='Port for each server (must match --server count)')
39
- parser.add_argument('--timeout', type=int, default=30, help='Timeout in seconds per server (default: 30)')
40
- parser.add_argument('command', nargs=argparse.REMAINDER, help='Command to run after server(s) ready')
41
-
42
- args = parser.parse_args()
43
-
44
- # Remove the '--' separator if present
45
- if args.command and args.command[0] == '--':
46
- args.command = args.command[1:]
47
-
48
- if not args.command:
49
- print("Error: No command specified to run")
50
- sys.exit(1)
51
-
52
- # Parse server configurations
53
- if len(args.servers) != len(args.ports):
54
- print("Error: Number of --server and --port arguments must match")
55
- sys.exit(1)
56
-
57
- servers = []
58
- for cmd, port in zip(args.servers, args.ports):
59
- servers.append({'cmd': cmd, 'port': port})
60
-
61
- server_processes = []
62
-
63
- try:
64
- # Start all servers
65
- for i, server in enumerate(servers):
66
- print(f"Starting server {i+1}/{len(servers)}: {server['cmd']}")
67
-
68
- # Use shell=True to support commands with cd and &&
69
- process = subprocess.Popen(
70
- server['cmd'],
71
- shell=True,
72
- stdout=subprocess.PIPE,
73
- stderr=subprocess.PIPE
74
- )
75
- server_processes.append(process)
76
-
77
- # Wait for this server to be ready
78
- print(f"Waiting for server on port {server['port']}...")
79
- if not is_server_ready(server['port'], timeout=args.timeout):
80
- raise RuntimeError(f"Server failed to start on port {server['port']} within {args.timeout}s")
81
-
82
- print(f"Server ready on port {server['port']}")
83
-
84
- print(f"\nAll {len(servers)} server(s) ready")
85
-
86
- # Run the command
87
- print(f"Running: {' '.join(args.command)}\n")
88
- result = subprocess.run(args.command)
89
- sys.exit(result.returncode)
90
-
91
- finally:
92
- # Clean up all servers
93
- print(f"\nStopping {len(server_processes)} server(s)...")
94
- for i, process in enumerate(server_processes):
95
- try:
96
- process.terminate()
97
- process.wait(timeout=5)
98
- except subprocess.TimeoutExpired:
99
- process.kill()
100
- process.wait()
101
- print(f"Server {i+1} stopped")
102
- print("All servers stopped")
103
-
104
-
105
- if __name__ == '__main__':
106
- main()