fastbrowser_cli 1.0.31 → 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.
Files changed (56) hide show
  1. package/README.md +1 -2
  2. package/dist/fastbrowser_cli/fastbrowser_cli.js +11 -19
  3. package/dist/fastbrowser_cli/fastbrowser_cli.js.map +1 -1
  4. package/dist/fastbrowser_cli/libs/query-builder.d.ts +2 -0
  5. package/dist/fastbrowser_cli/libs/query-builder.d.ts.map +1 -1
  6. package/dist/fastbrowser_cli/libs/query-builder.js +4 -0
  7. package/dist/fastbrowser_cli/libs/query-builder.js.map +1 -1
  8. package/dist/fastbrowser_httpd/libs/tool-schemas.d.ts +2 -0
  9. package/dist/fastbrowser_httpd/libs/tool-schemas.d.ts.map +1 -1
  10. package/dist/fastbrowser_mcp/fastbrowser_mcp.d.ts.map +1 -1
  11. package/dist/fastbrowser_mcp/fastbrowser_mcp.js +147 -22
  12. package/dist/fastbrowser_mcp/fastbrowser_mcp.js.map +1 -1
  13. package/dist/fastbrowser_mcp/libs/mcp_my_client.d.ts.map +1 -1
  14. package/dist/fastbrowser_mcp/libs/mcp_my_client.js +8 -0
  15. package/dist/fastbrowser_mcp/libs/mcp_my_client.js.map +1 -1
  16. package/dist/fastbrowser_mcp/libs/mcp_target_helper.d.ts.map +1 -1
  17. package/dist/fastbrowser_mcp/libs/mcp_target_helper.js +15 -2
  18. package/dist/fastbrowser_mcp/libs/mcp_target_helper.js.map +1 -1
  19. package/dist/fastbrowser_mcp/libs/schemas.d.ts +4 -0
  20. package/dist/fastbrowser_mcp/libs/schemas.d.ts.map +1 -1
  21. package/dist/fastbrowser_mcp/libs/schemas.js +6 -0
  22. package/dist/fastbrowser_mcp/libs/schemas.js.map +1 -1
  23. package/dist/shared/logger.d.ts +86 -0
  24. package/dist/shared/logger.d.ts.map +1 -0
  25. package/dist/shared/logger.js +269 -0
  26. package/dist/shared/logger.js.map +1 -0
  27. package/docs/brainstorm_scrap_by_ai.md +1 -1
  28. package/docs/feature_support_cli.md +7 -8
  29. package/docs/target_tools/target_tools_chrome_devtools.md +963 -0
  30. package/docs/target_tools/target_tools_playwright.md +763 -0
  31. package/examples/linkedin_cli/linked_dm.sh +16 -0
  32. package/examples/linkedin_cli/linked_post.sh +13 -0
  33. package/examples/linkedin_cli/linkedin.snapshot.txt +1245 -0
  34. package/examples/todomvc/todomvc.a11y.txt +44 -0
  35. package/examples/todomvc/todomvc.sh +11 -0
  36. package/examples/wttj_cli/fastbrowser_helper.ts +39 -0
  37. package/examples/wttj_cli/wttf_job-original.a11y.txt +652 -0
  38. package/examples/wttj_cli/wttf_job.a11y.txt +317 -0
  39. package/examples/{welcometothejungle/wttj-job.ts → wttj_cli/wttj_job copy.ts } +60 -11
  40. package/examples/wttj_cli/wttj_job.ts +179 -0
  41. package/examples/wttj_cli/wttj_search.ts +162 -0
  42. package/package.json +9 -3
  43. package/skills/fastbrowser/SKILL.md +10 -11
  44. package/skills/fastbrowser-script/SKILL.md +4 -4
  45. package/src/fastbrowser_cli/fastbrowser_cli.ts +14 -25
  46. package/src/fastbrowser_cli/libs/query-builder.ts +6 -0
  47. package/src/fastbrowser_mcp/fastbrowser_mcp.ts +181 -26
  48. package/src/fastbrowser_mcp/libs/mcp_my_client.ts +17 -0
  49. package/src/fastbrowser_mcp/libs/mcp_target_helper.ts +15 -2
  50. package/src/fastbrowser_mcp/libs/schemas.ts +6 -0
  51. package/src/shared/logger.ts +317 -0
  52. package/test.a11y.txt +828 -0
  53. package/tests/query-builder.test.ts +51 -11
  54. package/examples/welcometothejungle/fastbrowser_helper.ts +0 -39
  55. package/examples/welcometothejungle/wttj-search.ts +0 -82
  56. /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
+ }