@bubstack/moe-glass 0.1.0

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 (62) hide show
  1. package/README.md +29 -0
  2. package/agents/browser-user.md +105 -0
  3. package/dist/LICENSE +25 -0
  4. package/dist/index.d.ts +9 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +22517 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/payload.d.ts +214 -0
  9. package/dist/payload.d.ts.map +1 -0
  10. package/dist/payload.js +325 -0
  11. package/dist/payload.js.map +1 -0
  12. package/package.json +59 -0
  13. package/skills/browsing/COMMANDLINE-USAGE.md +595 -0
  14. package/skills/browsing/EXAMPLES.md +717 -0
  15. package/skills/browsing/README.md +55 -0
  16. package/skills/browsing/SKILL.md +478 -0
  17. package/skills/browsing/chrome-ws +1021 -0
  18. package/skills/browsing/chrome-ws-lib.js +461 -0
  19. package/skills/browsing/host-override.js +98 -0
  20. package/skills/browsing/lib/browser-bridge.js +175 -0
  21. package/skills/browsing/lib/browser-session.js +137 -0
  22. package/skills/browsing/lib/capture.js +499 -0
  23. package/skills/browsing/lib/cdp-router.js +72 -0
  24. package/skills/browsing/lib/cdp-utils.js +18 -0
  25. package/skills/browsing/lib/chrome-launcher-helpers.js +374 -0
  26. package/skills/browsing/lib/chrome-process.js +464 -0
  27. package/skills/browsing/lib/console-logging.js +70 -0
  28. package/skills/browsing/lib/cookies.js +17 -0
  29. package/skills/browsing/lib/dialogs-render.js +154 -0
  30. package/skills/browsing/lib/dialogs-router.js +117 -0
  31. package/skills/browsing/lib/dialogs.js +254 -0
  32. package/skills/browsing/lib/element-selector.js +91 -0
  33. package/skills/browsing/lib/evaluation.js +85 -0
  34. package/skills/browsing/lib/extraction.js +55 -0
  35. package/skills/browsing/lib/file-upload.js +56 -0
  36. package/skills/browsing/lib/html-diff.js +122 -0
  37. package/skills/browsing/lib/key-definitions.js +149 -0
  38. package/skills/browsing/lib/keyboard-input.js +288 -0
  39. package/skills/browsing/lib/mouse.js +423 -0
  40. package/skills/browsing/lib/navigation.js +272 -0
  41. package/skills/browsing/lib/page-scripts/dom-summary.js +31 -0
  42. package/skills/browsing/lib/page-scripts/markdown.js +85 -0
  43. package/skills/browsing/lib/page-scripts/permission-shim.js +80 -0
  44. package/skills/browsing/lib/page-session.js +106 -0
  45. package/skills/browsing/lib/profile-lock.js +179 -0
  46. package/skills/browsing/lib/screenshot.js +171 -0
  47. package/skills/browsing/lib/select-option.js +99 -0
  48. package/skills/browsing/lib/session-state.js +66 -0
  49. package/skills/browsing/lib/tabs.js +144 -0
  50. package/skills/browsing/lib/viewport.js +103 -0
  51. package/skills/browsing/lib/websocket-client.js +162 -0
  52. package/skills/browsing/package.json +11 -0
  53. package/skills/browsing/test-chrome-args.js +81 -0
  54. package/skills/browsing/test-cookies.js +21 -0
  55. package/skills/browsing/test-e2e.sh +51 -0
  56. package/skills/browsing/test-extract.sh +17 -0
  57. package/skills/browsing/test-interact.sh +11 -0
  58. package/skills/browsing/test-navigate.sh +9 -0
  59. package/skills/browsing/test-raw.sh +8 -0
  60. package/skills/browsing/test-tabs.sh +15 -0
  61. package/skills/browsing/test-viewport.js +27 -0
  62. package/skills/browsing/test-wait.sh +9 -0
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env bash
2
+ # End-to-end test: Navigate, extract, and verify multi-step workflow
3
+
4
+ echo "=== End-to-End Workflow Test ==="
5
+ echo
6
+
7
+ # Step 1: Navigate to example.com
8
+ echo "Step 1: Navigate to example.com"
9
+ ./chrome-ws navigate 0 "https://example.com"
10
+ echo
11
+
12
+ # Step 2: Wait for page to load
13
+ echo "Step 2: Wait for page to load"
14
+ ./chrome-ws wait-for 0 "h1"
15
+ echo
16
+
17
+ # Step 3: Extract page title
18
+ echo "Step 3: Extract page title"
19
+ TITLE=$(./chrome-ws eval 0 "document.title")
20
+ echo "Title: $TITLE"
21
+ echo
22
+
23
+ # Step 4: Extract main heading
24
+ echo "Step 4: Extract main heading"
25
+ HEADING=$(./chrome-ws extract 0 "h1")
26
+ echo "Heading: $HEADING"
27
+ echo
28
+
29
+ # Step 5: Extract link URL
30
+ echo "Step 5: Extract link URL"
31
+ LINK=$(./chrome-ws attr 0 "a" "href")
32
+ echo "Link: $LINK"
33
+ echo
34
+
35
+ # Step 6: Navigate to the link
36
+ echo "Step 6: Navigate to the link"
37
+ ./chrome-ws navigate 0 "$LINK"
38
+ echo
39
+
40
+ # Step 7: Wait for new page
41
+ echo "Step 7: Wait for new page to load"
42
+ ./chrome-ws wait-for 0 "body"
43
+ echo
44
+
45
+ # Step 8: Get new page title
46
+ echo "Step 8: Get new page title"
47
+ NEW_TITLE=$(./chrome-ws eval 0 "document.title")
48
+ echo "New page title: $NEW_TITLE"
49
+ echo
50
+
51
+ echo "=== End-to-End Test Complete ==="
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bash
2
+ # Test extraction commands
3
+
4
+ echo "=== Navigate to example.com ==="
5
+ ./chrome-ws navigate 0 "https://example.com"
6
+
7
+ echo -e "\n=== Evaluate JavaScript ==="
8
+ ./chrome-ws eval 0 "document.title"
9
+
10
+ echo -e "\n=== Extract text content ==="
11
+ ./chrome-ws extract 0 "h1"
12
+
13
+ echo -e "\n=== Get attribute ==="
14
+ ./chrome-ws attr 0 "a" "href"
15
+
16
+ echo -e "\n=== Get HTML ==="
17
+ ./chrome-ws html 0 "body"
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bash
2
+ # Test interaction commands
3
+
4
+ echo "=== Navigate to search page ==="
5
+ ./chrome-ws navigate 0 "https://google.com"
6
+
7
+ echo "=== Fill search box ==="
8
+ ./chrome-ws fill 0 "textarea[name=q]" "chrome devtools protocol"
9
+
10
+ echo "=== Click search button ==="
11
+ ./chrome-ws click 0 "input[name=btnK]"
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+ # Test navigation commands
3
+
4
+ echo "=== Navigate to google.com ==="
5
+ ./chrome-ws navigate 0 "https://google.com"
6
+
7
+ echo -e "\n=== Wait for search input ==="
8
+ ./chrome-ws wait-for 0 "textarea[name=q]"
9
+ echo "Search box appeared!"
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ # Manual test: requires Chrome running with --remote-debugging-port=9222
3
+
4
+ # Get first tab's WebSocket URL
5
+ TAB_URL=$(curl -s http://127.0.0.1:9222/json | node -pe "JSON.parse(require('fs').readFileSync(0))[0].webSocketDebuggerUrl")
6
+
7
+ # Test raw command - get browser version
8
+ ./chrome-ws raw "$TAB_URL" '{"id":1,"method":"Browser.getVersion"}'
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env bash
2
+ # Test tab management commands
3
+
4
+ echo "=== Listing tabs ==="
5
+ ./chrome-ws tabs
6
+
7
+ echo -e "\n=== Creating new tab ==="
8
+ NEW_TAB=$(./chrome-ws new "https://example.com")
9
+ echo "Created tab: $NEW_TAB"
10
+
11
+ echo -e "\n=== Listing tabs again ==="
12
+ ./chrome-ws tabs
13
+
14
+ echo -e "\n=== Closing new tab ==="
15
+ ./chrome-ws close "$NEW_TAB"
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Simple test for viewport functions
3
+ * Run with: node test-viewport.js
4
+ */
5
+
6
+ const chromeLib = require('./chrome-ws-lib.js').createSession();
7
+
8
+ async function testViewportFunctionsExist() {
9
+ console.log('Testing that viewport functions are exported...');
10
+
11
+ if (typeof chromeLib.setViewport !== 'function') {
12
+ throw new Error('setViewport not exported');
13
+ }
14
+ if (typeof chromeLib.clearViewport !== 'function') {
15
+ throw new Error('clearViewport not exported');
16
+ }
17
+ if (typeof chromeLib.getViewport !== 'function') {
18
+ throw new Error('getViewport not exported');
19
+ }
20
+
21
+ console.log('All viewport functions exported');
22
+ }
23
+
24
+ testViewportFunctionsExist().catch(err => {
25
+ console.error('Test failed:', err.message);
26
+ process.exit(1);
27
+ });
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+ # Test wait commands
3
+
4
+ echo "=== Navigate to example.com ==="
5
+ ./chrome-ws navigate 0 "https://example.com"
6
+
7
+ echo "=== Wait for text 'Example Domain' ==="
8
+ ./chrome-ws wait-text 0 "Example Domain"
9
+ echo "Text found!"