@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.
- package/README.md +29 -0
- package/agents/browser-user.md +105 -0
- package/dist/LICENSE +25 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22517 -0
- package/dist/index.js.map +1 -0
- package/dist/payload.d.ts +214 -0
- package/dist/payload.d.ts.map +1 -0
- package/dist/payload.js +325 -0
- package/dist/payload.js.map +1 -0
- package/package.json +59 -0
- package/skills/browsing/COMMANDLINE-USAGE.md +595 -0
- package/skills/browsing/EXAMPLES.md +717 -0
- package/skills/browsing/README.md +55 -0
- package/skills/browsing/SKILL.md +478 -0
- package/skills/browsing/chrome-ws +1021 -0
- package/skills/browsing/chrome-ws-lib.js +461 -0
- package/skills/browsing/host-override.js +98 -0
- package/skills/browsing/lib/browser-bridge.js +175 -0
- package/skills/browsing/lib/browser-session.js +137 -0
- package/skills/browsing/lib/capture.js +499 -0
- package/skills/browsing/lib/cdp-router.js +72 -0
- package/skills/browsing/lib/cdp-utils.js +18 -0
- package/skills/browsing/lib/chrome-launcher-helpers.js +374 -0
- package/skills/browsing/lib/chrome-process.js +464 -0
- package/skills/browsing/lib/console-logging.js +70 -0
- package/skills/browsing/lib/cookies.js +17 -0
- package/skills/browsing/lib/dialogs-render.js +154 -0
- package/skills/browsing/lib/dialogs-router.js +117 -0
- package/skills/browsing/lib/dialogs.js +254 -0
- package/skills/browsing/lib/element-selector.js +91 -0
- package/skills/browsing/lib/evaluation.js +85 -0
- package/skills/browsing/lib/extraction.js +55 -0
- package/skills/browsing/lib/file-upload.js +56 -0
- package/skills/browsing/lib/html-diff.js +122 -0
- package/skills/browsing/lib/key-definitions.js +149 -0
- package/skills/browsing/lib/keyboard-input.js +288 -0
- package/skills/browsing/lib/mouse.js +423 -0
- package/skills/browsing/lib/navigation.js +272 -0
- package/skills/browsing/lib/page-scripts/dom-summary.js +31 -0
- package/skills/browsing/lib/page-scripts/markdown.js +85 -0
- package/skills/browsing/lib/page-scripts/permission-shim.js +80 -0
- package/skills/browsing/lib/page-session.js +106 -0
- package/skills/browsing/lib/profile-lock.js +179 -0
- package/skills/browsing/lib/screenshot.js +171 -0
- package/skills/browsing/lib/select-option.js +99 -0
- package/skills/browsing/lib/session-state.js +66 -0
- package/skills/browsing/lib/tabs.js +144 -0
- package/skills/browsing/lib/viewport.js +103 -0
- package/skills/browsing/lib/websocket-client.js +162 -0
- package/skills/browsing/package.json +11 -0
- package/skills/browsing/test-chrome-args.js +81 -0
- package/skills/browsing/test-cookies.js +21 -0
- package/skills/browsing/test-e2e.sh +51 -0
- package/skills/browsing/test-extract.sh +17 -0
- package/skills/browsing/test-interact.sh +11 -0
- package/skills/browsing/test-navigate.sh +9 -0
- package/skills/browsing/test-raw.sh +8 -0
- package/skills/browsing/test-tabs.sh +15 -0
- package/skills/browsing/test-viewport.js +27 -0
- 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,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
|
+
});
|