fastbrowser_cli 1.0.30 → 1.0.33
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 +1 -2
- package/dist/fastbrowser_cli/fastbrowser_cli.js +11 -19
- package/dist/fastbrowser_cli/fastbrowser_cli.js.map +1 -1
- package/dist/fastbrowser_cli/libs/query-builder.d.ts +2 -0
- package/dist/fastbrowser_cli/libs/query-builder.d.ts.map +1 -1
- package/dist/fastbrowser_cli/libs/query-builder.js +4 -0
- package/dist/fastbrowser_cli/libs/query-builder.js.map +1 -1
- package/dist/fastbrowser_httpd/libs/tool-schemas.d.ts +2 -0
- package/dist/fastbrowser_httpd/libs/tool-schemas.d.ts.map +1 -1
- package/dist/fastbrowser_mcp/fastbrowser_mcp.d.ts.map +1 -1
- package/dist/fastbrowser_mcp/fastbrowser_mcp.js +147 -22
- package/dist/fastbrowser_mcp/fastbrowser_mcp.js.map +1 -1
- package/dist/fastbrowser_mcp/libs/mcp_my_client.d.ts.map +1 -1
- package/dist/fastbrowser_mcp/libs/mcp_my_client.js +8 -0
- package/dist/fastbrowser_mcp/libs/mcp_my_client.js.map +1 -1
- package/dist/fastbrowser_mcp/libs/mcp_target_helper.d.ts.map +1 -1
- package/dist/fastbrowser_mcp/libs/mcp_target_helper.js +15 -2
- package/dist/fastbrowser_mcp/libs/mcp_target_helper.js.map +1 -1
- package/dist/fastbrowser_mcp/libs/schemas.d.ts +4 -0
- package/dist/fastbrowser_mcp/libs/schemas.d.ts.map +1 -1
- package/dist/fastbrowser_mcp/libs/schemas.js +6 -0
- package/dist/fastbrowser_mcp/libs/schemas.js.map +1 -1
- package/dist/shared/logger.d.ts +86 -0
- package/dist/shared/logger.d.ts.map +1 -0
- package/dist/shared/logger.js +269 -0
- package/dist/shared/logger.js.map +1 -0
- package/docs/brainstorm_scrap_by_ai.md +1 -1
- package/docs/feature_support_cli.md +7 -8
- package/docs/target_tools/target_tools_chrome_devtools.md +963 -0
- package/docs/target_tools/target_tools_playwright.md +763 -0
- package/examples/linkedin_cli/linked_dm.sh +16 -0
- package/examples/linkedin_cli/linked_post.sh +13 -0
- package/examples/linkedin_cli/linkedin.snapshot.txt +1245 -0
- package/examples/todomvc/todomvc.a11y.txt +44 -0
- package/examples/todomvc/todomvc.sh +11 -0
- package/examples/wttj_cli/fastbrowser_helper.ts +39 -0
- package/examples/wttj_cli/wttf_job-original.a11y.txt +652 -0
- package/examples/wttj_cli/wttf_job.a11y.txt +317 -0
- package/examples/{welcometothejungle/wttj-job.ts → wttj_cli/wttj_job copy.ts } +60 -11
- package/examples/wttj_cli/wttj_job.ts +179 -0
- package/examples/wttj_cli/wttj_search.ts +162 -0
- package/package.json +10 -4
- package/skills/fastbrowser/SKILL.md +10 -11
- package/skills/fastbrowser-script/SKILL.md +4 -4
- package/src/fastbrowser_cli/fastbrowser_cli.ts +14 -25
- package/src/fastbrowser_cli/libs/query-builder.ts +6 -0
- package/src/fastbrowser_mcp/fastbrowser_mcp.ts +181 -26
- package/src/fastbrowser_mcp/libs/mcp_my_client.ts +17 -0
- package/src/fastbrowser_mcp/libs/mcp_target_helper.ts +15 -2
- package/src/fastbrowser_mcp/libs/schemas.ts +6 -0
- package/src/shared/logger.ts +317 -0
- package/test.a11y.txt +828 -0
- package/tests/query-builder.test.ts +51 -11
- package/examples/welcometothejungle/fastbrowser_helper.ts +0 -39
- package/examples/welcometothejungle/wttj-search.ts +0 -82
- /package/examples/{post-to-x.sh → twitter_cli/twitter_post.sh} +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
uid=s1 Page
|
|
2
|
+
uid=s2 Page
|
|
3
|
+
uid=e1 generic
|
|
4
|
+
uid=e2 generic
|
|
5
|
+
uid=s3 StaticText "This is just a demo of TodoMVC for testing, not the"
|
|
6
|
+
uid=e3 link "real TodoMVC app." url="https://todomvc.com/"
|
|
7
|
+
uid=e5 generic
|
|
8
|
+
uid=e6 generic
|
|
9
|
+
uid=e7 heading "todos" level="1"
|
|
10
|
+
uid=e8 textbox "What needs to be done?"
|
|
11
|
+
uid=e15 generic
|
|
12
|
+
uid=e16 checkbox "❯Mark all as complete"
|
|
13
|
+
uid=e17 generic value="❯Mark all as complete"
|
|
14
|
+
uid=e18 list
|
|
15
|
+
uid=e19 listitem
|
|
16
|
+
uid=e20 generic
|
|
17
|
+
uid=e21 checkbox "Toggle Todo" checked
|
|
18
|
+
uid=e22 generic value="walk outside"
|
|
19
|
+
uid=s4 StaticText "×"
|
|
20
|
+
uid=e33 listitem
|
|
21
|
+
uid=e34 generic
|
|
22
|
+
uid=e35 checkbox "Toggle Todo" active
|
|
23
|
+
uid=e36 generic value="eat in the morning"
|
|
24
|
+
uid=s5 StaticText "×"
|
|
25
|
+
uid=e23 generic
|
|
26
|
+
uid=e24 generic
|
|
27
|
+
uid=e25 strong value="1"
|
|
28
|
+
uid=s6 StaticText "item left"
|
|
29
|
+
uid=e26 list
|
|
30
|
+
uid=e27 listitem
|
|
31
|
+
uid=e28 link "All" url="\"#/\""
|
|
32
|
+
uid=e29 listitem
|
|
33
|
+
uid=e30 link "Active" url="\"#/active\""
|
|
34
|
+
uid=e31 listitem
|
|
35
|
+
uid=e32 link "Completed" url="\"#/completed\""
|
|
36
|
+
uid=e37 button "Clear completed"
|
|
37
|
+
uid=e9 contentinfo
|
|
38
|
+
uid=e10 paragraph value="Double-click to edit a todo"
|
|
39
|
+
uid=e11 paragraph
|
|
40
|
+
uid=s7 StaticText "Created by"
|
|
41
|
+
uid=e12 link "Remo H. Jansen" url="http://github.com/remojansen/"
|
|
42
|
+
uid=e13 paragraph
|
|
43
|
+
uid=s8 StaticText "Part of"
|
|
44
|
+
uid=e14 link "TodoMVC" url="http://todomvc.com"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Goto https://demo.playwright.dev/todomvc/
|
|
4
|
+
NODE_OPTIONS='' NPM_CONFIG_LOGLEVEL=silent npm run dev:cli -- new_page --url https://demo.playwright.dev/todomvc/
|
|
5
|
+
|
|
6
|
+
# Add a todo item "walk outside" using the CLI commands below:
|
|
7
|
+
NODE_OPTIONS='' NPM_CONFIG_LOGLEVEL=silent npm run dev:cli -- fill_form -s 'textbox[name^="What needs to be done?"]' --value 'walk outside'
|
|
8
|
+
NODE_OPTIONS='' NPM_CONFIG_LOGLEVEL=silent npm run dev:cli -- press_keys --keys Enter
|
|
9
|
+
|
|
10
|
+
# List all todo items
|
|
11
|
+
NODE_OPTIONS='' NPM_CONFIG_LOGLEVEL=silent npm run dev:cli -- query_selectors_all -s 'list > listitem generic[value*=""]'
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
|
|
3
|
+
export class FastBrowserHelper {
|
|
4
|
+
static async run(command: string): Promise<string> {
|
|
5
|
+
const fullCommand = `npx fastbrowser_cli ${command}`;
|
|
6
|
+
console.log(`Running command: ${fullCommand}`);
|
|
7
|
+
return execSync(fullCommand, { encoding: 'utf8' });
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
static async navigatePage(url: string): Promise<void> {
|
|
11
|
+
await FastBrowserHelper.run(`navigate_page --url '${url}'`);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static async fillForm(selector: string, value: string): Promise<void> {
|
|
15
|
+
await FastBrowserHelper.run(`fill_form --selector '${selector}' --value '${value}'`);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static async pressKeys(keys: string): Promise<void> {
|
|
19
|
+
await FastBrowserHelper.run(`press_keys --keys '${keys}'`);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static async click(selector: string): Promise<void> {
|
|
23
|
+
await FastBrowserHelper.run(`click -s '${selector}'`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static async querySelectorsAll(selector: string, limit: number): Promise<string> {
|
|
27
|
+
return await FastBrowserHelper.run(`query_selectors --all --selector '${selector}' --limit ${limit}`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static async takeSnapshot(): Promise<string> {
|
|
31
|
+
return await FastBrowserHelper.run('take_snapshot');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static async querySelectors(selector: string, withAncestors = true): Promise<string> {
|
|
35
|
+
const flag = withAncestors === false ? ' --no-with-ancestors' : '';
|
|
36
|
+
return await FastBrowserHelper.run(`query_selectors --selector '${selector}'${flag}`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
}
|