fastbrowser_cli 1.0.31 → 1.0.35

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 (60) 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.js +193 -32
  11. package/dist/fastbrowser_mcp/fastbrowser_mcp.js.map +1 -1
  12. package/dist/fastbrowser_mcp/libs/mcp_my_client.d.ts.map +1 -1
  13. package/dist/fastbrowser_mcp/libs/mcp_my_client.js +8 -0
  14. package/dist/fastbrowser_mcp/libs/mcp_my_client.js.map +1 -1
  15. package/dist/fastbrowser_mcp/libs/mcp_target_helper.d.ts.map +1 -1
  16. package/dist/fastbrowser_mcp/libs/mcp_target_helper.js +15 -2
  17. package/dist/fastbrowser_mcp/libs/mcp_target_helper.js.map +1 -1
  18. package/dist/fastbrowser_mcp/libs/playwright_a11y_helper.d.ts +1 -0
  19. package/dist/fastbrowser_mcp/libs/playwright_a11y_helper.d.ts.map +1 -1
  20. package/dist/fastbrowser_mcp/libs/playwright_a11y_helper.js +33 -1
  21. package/dist/fastbrowser_mcp/libs/playwright_a11y_helper.js.map +1 -1
  22. package/dist/fastbrowser_mcp/libs/schemas.d.ts +4 -0
  23. package/dist/fastbrowser_mcp/libs/schemas.d.ts.map +1 -1
  24. package/dist/fastbrowser_mcp/libs/schemas.js +6 -0
  25. package/dist/fastbrowser_mcp/libs/schemas.js.map +1 -1
  26. package/dist/shared/logger.d.ts +86 -0
  27. package/dist/shared/logger.d.ts.map +1 -0
  28. package/dist/shared/logger.js +269 -0
  29. package/dist/shared/logger.js.map +1 -0
  30. package/docs/brainstorm_scrap_by_ai.md +1 -1
  31. package/docs/feature_support_cli.md +7 -8
  32. package/docs/target_tools/target_tools_chrome_devtools.md +963 -0
  33. package/docs/target_tools/target_tools_playwright.md +763 -0
  34. package/examples/linkedin_cli/linked_dm.sh +19 -0
  35. package/examples/linkedin_cli/linked_post.sh +13 -0
  36. package/examples/linkedin_cli/linkedin.snapshot.txt +1245 -0
  37. package/examples/todomvc/todomvc.a11y.txt +44 -0
  38. package/examples/todomvc/todomvc.sh +11 -0
  39. package/examples/wttj_cli/fastbrowser_helper.ts +39 -0
  40. package/examples/wttj_cli/wttf_job-original.a11y.txt +652 -0
  41. package/examples/wttj_cli/wttf_job.a11y.txt +317 -0
  42. package/examples/{welcometothejungle/wttj-job.ts → wttj_cli/wttj_job copy.ts } +60 -11
  43. package/examples/wttj_cli/wttj_job.ts +179 -0
  44. package/examples/wttj_cli/wttj_search.ts +162 -0
  45. package/package.json +10 -3
  46. package/skills/fastbrowser/SKILL.md +10 -11
  47. package/skills/fastbrowser-script/SKILL.md +4 -4
  48. package/src/fastbrowser_cli/fastbrowser_cli.ts +14 -25
  49. package/src/fastbrowser_cli/libs/query-builder.ts +6 -0
  50. package/src/fastbrowser_mcp/fastbrowser_mcp.ts +231 -36
  51. package/src/fastbrowser_mcp/libs/mcp_my_client.ts +17 -0
  52. package/src/fastbrowser_mcp/libs/mcp_target_helper.ts +15 -2
  53. package/src/fastbrowser_mcp/libs/playwright_a11y_helper.ts +33 -1
  54. package/src/fastbrowser_mcp/libs/schemas.ts +6 -0
  55. package/src/shared/logger.ts +317 -0
  56. package/test.a11y.txt +828 -0
  57. package/tests/query-builder.test.ts +51 -11
  58. package/examples/welcometothejungle/fastbrowser_helper.ts +0 -39
  59. package/examples/welcometothejungle/wttj-search.ts +0 -82
  60. /package/examples/{post-to-x.sh → twitter_cli/twitter_post.sh} +0 -0
@@ -164,10 +164,22 @@ export class McpTargetHelper {
164
164
  }
165
165
  static async targetToolClick(mcpTarget, uid) {
166
166
  if (mcpTarget === 'chrome_devtools') {
167
- return { toolName: 'click', toolArgs: { uid } };
167
+ const toolConfig = {
168
+ toolName: 'click',
169
+ toolArgs: {
170
+ uid
171
+ }
172
+ };
173
+ return toolConfig;
168
174
  }
169
175
  else if (mcpTarget === 'playwright') {
170
- return { toolName: 'browser_click', toolArgs: { ref: uid } };
176
+ const toolConfig = {
177
+ toolName: 'browser_click',
178
+ toolArgs: {
179
+ target: uid
180
+ }
181
+ };
182
+ return toolConfig;
171
183
  }
172
184
  else {
173
185
  throw new Error(`Unsupported MCP target: ${mcpTarget}`);
@@ -178,6 +190,7 @@ export class McpTargetHelper {
178
190
  return { toolName: 'fill_form', toolArgs: { elements } };
179
191
  }
180
192
  else if (mcpTarget === 'playwright') {
193
+ // FIXME browser_fill_form tool exist in playwright MCP... implement it later
181
194
  throw new Error(`Fill form tool is not supported for Playwright MCP target yet`);
182
195
  }
183
196
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp_target_helper.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/mcp_target_helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp_target_helper.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/mcp_target_helper.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class PlaywrightA11yConverter {
19
19
  * to `A11yParse.A11yTree.parse()`.
20
20
  */
21
21
  static convertToChromeDevtools(playwrightText: string): string;
22
+ private static _pickPrimarySubtree;
22
23
  private static _parseLine;
23
24
  private static _readQuotedString;
24
25
  private static _unquoteIfQuoted;
@@ -1 +1 @@
1
- {"version":3,"file":"playwright_a11y_helper.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/playwright_a11y_helper.ts"],"names":[],"mappings":"AAkCA,qBAAa,uBAAuB;IACnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAwE9D,OAAO,CAAC,MAAM,CAAC,UAAU;IAkFzB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAQ/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,OAAO,CAAC,MAAM,CAAC,aAAa;CAG5B"}
1
+ {"version":3,"file":"playwright_a11y_helper.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/playwright_a11y_helper.ts"],"names":[],"mappings":"AAkCA,qBAAa,uBAAuB;IACnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IA2E9D,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA6BlC,OAAO,CAAC,MAAM,CAAC,UAAU;IAkFzB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAQ/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,OAAO,CAAC,MAAM,CAAC,aAAa;CAG5B"}
@@ -81,7 +81,39 @@ export class PlaywrightA11yConverter {
81
81
  allNodes.push(node);
82
82
  stack.push(node);
83
83
  }
84
- return allNodes.map((node) => PlaywrightA11yConverter._stringifyNode(node)).join('\n');
84
+ // Playwright's `browser_snapshot` response often interleaves the a11y tree with preamble lines like
85
+ // `- Page URL: ...`, `- Page Title: ...`, `- Console: 193 errors, 0 warnings`, plus trailing entries
86
+ // like `- New`. Each of those parses as a spurious top-level (indent=0) node. Downstream,
87
+ // `A11yParse.A11yTree.parse` silently overwrites `root` for every indent-0 line and returns only the
88
+ // LAST top-level subtree — so the real a11y page tree (usually a large `generic [active]` subtree
89
+ // in the middle) gets discarded and queries return zero hits even though the data is in the text.
90
+ // Pick the largest top-level subtree, which is reliably the actual page tree since the metadata
91
+ // subtrees are tiny (0–1 nodes).
92
+ const primary = PlaywrightA11yConverter._pickPrimarySubtree(allNodes);
93
+ return primary.map((node) => PlaywrightA11yConverter._stringifyNode(node)).join('\n');
94
+ }
95
+ static _pickPrimarySubtree(allNodes) {
96
+ if (allNodes.length === 0)
97
+ return allNodes;
98
+ const topLevelIndices = [];
99
+ for (let i = 0; i < allNodes.length; i++) {
100
+ if (allNodes[i].indent === 0)
101
+ topLevelIndices.push(i);
102
+ }
103
+ if (topLevelIndices.length <= 1)
104
+ return allNodes;
105
+ let bestStart = topLevelIndices[0];
106
+ let bestSize = 0;
107
+ for (let k = 0; k < topLevelIndices.length; k++) {
108
+ const start = topLevelIndices[k];
109
+ const end = k + 1 < topLevelIndices.length ? topLevelIndices[k + 1] : allNodes.length;
110
+ const size = end - start;
111
+ if (size > bestSize) {
112
+ bestSize = size;
113
+ bestStart = start;
114
+ }
115
+ }
116
+ return allNodes.slice(bestStart, bestStart + bestSize);
85
117
  }
86
118
  ///////////////////////////////////////////////////////////////////////////////
87
119
  ///////////////////////////////////////////////////////////////////////////////
@@ -1 +1 @@
1
- {"version":3,"file":"playwright_a11y_helper.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/playwright_a11y_helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright_a11y_helper.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/playwright_a11y_helper.ts"],"names":[],"mappings":"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"}
@@ -3,22 +3,26 @@ export declare const QuerySelectorInputSchema: z.ZodObject<{
3
3
  selector: z.ZodString;
4
4
  limit: z.ZodDefault<z.ZodNumber>;
5
5
  withAncestors: z.ZodDefault<z.ZodBoolean>;
6
+ withChildren: z.ZodDefault<z.ZodBoolean>;
6
7
  }, z.core.$strip>;
7
8
  export declare const QuerySelectorsInputSchema: z.ZodObject<{
8
9
  selectors: z.ZodArray<z.ZodObject<{
9
10
  selector: z.ZodString;
10
11
  limit: z.ZodDefault<z.ZodNumber>;
11
12
  withAncestors: z.ZodDefault<z.ZodBoolean>;
13
+ withChildren: z.ZodDefault<z.ZodBoolean>;
12
14
  }, z.core.$strip>>;
13
15
  }, z.core.$strip>;
14
16
  export declare const QuerySelectorFirstInputSchema: z.ZodObject<{
15
17
  selector: z.ZodString;
16
18
  withAncestors: z.ZodDefault<z.ZodBoolean>;
19
+ withChildren: z.ZodDefault<z.ZodBoolean>;
17
20
  }, z.core.$strip>;
18
21
  export declare const QuerySelectorsFirstInputSchema: z.ZodObject<{
19
22
  selectors: z.ZodArray<z.ZodObject<{
20
23
  selector: z.ZodString;
21
24
  withAncestors: z.ZodDefault<z.ZodBoolean>;
25
+ withChildren: z.ZodDefault<z.ZodBoolean>;
22
26
  }, z.core.$strip>>;
23
27
  }, z.core.$strip>;
24
28
  export type QuerySelectorInput = z.infer<typeof QuerySelectorInputSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,wBAAwB;;;;iBASnC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;iBAMxC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;iBAGzC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,wBAAwB;;;;;iBAYnC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;iBAGpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;iBASxC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;iBAGzC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
@@ -16,6 +16,9 @@ export const QuerySelectorInputSchema = z.object({
16
16
  withAncestors: z.boolean()
17
17
  .describe("Whether to include ancestor nodes in the result")
18
18
  .default(false),
19
+ withChildren: z.boolean()
20
+ .describe("Whether to include descendant nodes (subtree) of each matched node in the result")
21
+ .default(false),
19
22
  });
20
23
  export const QuerySelectorsInputSchema = z.object({
21
24
  selectors: z.array(QuerySelectorInputSchema)
@@ -27,6 +30,9 @@ export const QuerySelectorFirstInputSchema = z.object({
27
30
  withAncestors: z.boolean()
28
31
  .describe("Whether to include ancestor nodes in the result")
29
32
  .default(false),
33
+ withChildren: z.boolean()
34
+ .describe("Whether to include descendant nodes (subtree) of each matched node in the result")
35
+ .default(false),
30
36
  });
31
37
  export const QuerySelectorsFirstInputSchema = z.object({
32
38
  selectors: z.array(QuerySelectorFirstInputSchema)
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/schemas.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,+EAA+E;AAC/E,uEAAuE;AACvE,2EAA2E;AAC3E,uEAAuE;AACvE,+EAA+E;AAC/E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,QAAQ,CAAC,mDAAmD,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,iFAAiF,CAAC;SAC3F,OAAO,CAAC,CAAC,CAAC;IACZ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;SACxB,QAAQ,CAAC,iDAAiD,CAAC;SAC3D,OAAO,CAAC,KAAK,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;SAC1C,QAAQ,CAAC,mDAAmD,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,QAAQ,CAAC,mDAAmD,CAAC;IAC/D,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;SACxB,QAAQ,CAAC,iDAAiD,CAAC;SAC3D,OAAO,CAAC,KAAK,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;SAC/C,QAAQ,CAAC,kEAAkE,CAAC;CAC9E,CAAC,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/fastbrowser_mcp/libs/schemas.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,+EAA+E;AAC/E,uEAAuE;AACvE,2EAA2E;AAC3E,uEAAuE;AACvE,+EAA+E;AAC/E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,QAAQ,CAAC,mDAAmD,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,iFAAiF,CAAC;SAC3F,OAAO,CAAC,CAAC,CAAC;IACZ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;SACxB,QAAQ,CAAC,iDAAiD,CAAC;SAC3D,OAAO,CAAC,KAAK,CAAC;IAChB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;SACvB,QAAQ,CAAC,kFAAkF,CAAC;SAC5F,OAAO,CAAC,KAAK,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;SAC1C,QAAQ,CAAC,mDAAmD,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,QAAQ,CAAC,mDAAmD,CAAC;IAC/D,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;SACxB,QAAQ,CAAC,iDAAiD,CAAC;SAC3D,OAAO,CAAC,KAAK,CAAC;IAChB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;SACvB,QAAQ,CAAC,kFAAkF,CAAC;SAC5F,OAAO,CAAC,KAAK,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;SAC/C,QAAQ,CAAC,kEAAkE,CAAC;CAC9E,CAAC,CAAC"}
@@ -0,0 +1,86 @@
1
+ /** Supported log levels in order of severity */
2
+ export type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR';
3
+ export type LoggerConfig = {
4
+ /**
5
+ * If true, all log levels go to stderr. Otherwise, INFO and DEBUG go to stdout, WARN and ERROR go to stderr.
6
+ * This is useful for environments like Docker where you want all logs to go to the same stream.
7
+ */
8
+ allToStderr: boolean;
9
+ };
10
+ /**
11
+ * Simple logging utility with severity levels, colored output, and metadata support
12
+ */
13
+ export declare class Logger {
14
+ static LEVEL: {
15
+ DEBUG: LogLevel;
16
+ INFO: LogLevel;
17
+ WARN: LogLevel;
18
+ ERROR: LogLevel;
19
+ };
20
+ static DEFAULT_LEVEL: LogLevel;
21
+ /** Rank mapping for log level filtering */
22
+ static LEVEL_RANK: Record<LogLevel, number>;
23
+ /**
24
+ * Maximum length for filename in log output; longer names will be truncated with ellipsis. This is to prevent log lines
25
+ * from becoming too long due to long file paths.
26
+ */
27
+ private static readonly _maxFilenameLength;
28
+ /** Color scheme for each log level */
29
+ private static readonly LEVEL_COLOR;
30
+ private static readonly LoggerConfigDefault;
31
+ private _loggerConfig;
32
+ private readonly _absFilename;
33
+ private readonly _filenameWithoutExt;
34
+ private readonly _parsedPatterns;
35
+ /**
36
+ * Factory method to create a Logger from import.meta.url
37
+ * @param metaUrl - import.meta.url from the calling module
38
+ * @param minLevel - Minimum log level to display (defaults to WARN)
39
+ */
40
+ static fromMetaUrl(metaUrl: string, loggerConfig?: LoggerConfig): Logger;
41
+ /**
42
+ * @param absFilename - Logger name (typically module path)
43
+ * @param minLevel - Minimum log level to display (defaults to INFO)
44
+ */
45
+ private constructor();
46
+ /**
47
+ * LOGGER environment variable domain specific language:
48
+ * - comma separated list of patterns
49
+ * - pattern1,pattern2,...,patternN
50
+ * Each pattern is:
51
+ * - {sign}{filename_glob}:{log_level}
52
+ * - sign: [-+] to add/remove filter
53
+ * - if omitted, defaults to + (enable)
54
+ * - if log_level is omitted, it defaults to WARN
55
+ * - log_level can be one of DEBUG, INFO, WARN, ERROR
56
+ * - filename_glob is applied to __filename from import.meta.url without the file extension
57
+ *
58
+ * Example:
59
+ * - LOGGER="*strategy*" enables WARN logs for all loggers with "strategy" in their name
60
+ * - LOGGER="*:DEBUG" enables DEBUG logs for all loggers
61
+ * - LOGGER="*strategy:DEBUG" enables DEBUG logs for all loggers with "strategy" in their name
62
+ * - LOGGER="-*strategy:DEBUG" disables DEBUG logs for all loggers with "strategy" in their name
63
+ * - LOGGER="*trading-core*:INFO" enables INFO logs for all loggers in the trading-core package
64
+ * - LOGGER='**:INFO' npm run dev:batch enables INFO logs for all loggers
65
+ */
66
+ private static parseLoggerEnv;
67
+ /**
68
+ * Determine if a log message with the given log level should be filtered out based on the LOGGER environment variable patterns
69
+ * and the logger's filename.
70
+ * @param logLevel - Log level of the message
71
+ * @returns boolean indicating whether the message should be filtered out
72
+ */
73
+ private shouldBeFiltered;
74
+ /**
75
+ * Core logging method
76
+ * @param logLevel - Log level
77
+ * @param msg - Log message
78
+ * @param meta - Optional metadata object to display
79
+ */
80
+ private _log;
81
+ debug(msg: string, meta?: Record<string, unknown>): void;
82
+ info(msg: string, meta?: Record<string, unknown>): void;
83
+ warn(msg: string, meta?: Record<string, unknown>): void;
84
+ error(msg: string, meta?: Record<string, unknown>): void;
85
+ }
86
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAQA,gDAAgD;AAChD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAO3D,MAAM,MAAM,YAAY,GAAG;IAC1B;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;CACrB,CAAA;AAED;;GAEG;AACH,qBAAa,MAAM;IAClB,MAAM,CAAC,KAAK;eACO,QAAQ;cACV,QAAQ;cACR,QAAQ;eACN,QAAQ;MAC1B;IACD,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAoB;IAClD,2CAA2C;IAC3C,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAKzC;IACF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAc;IAExD,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAKjC;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAE1C;IACD,OAAO,CAAC,aAAa,CAA4C;IAQjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,GAAE,YAAyC,GAAG,MAAM;IAQpG;;;OAGG;IACH,OAAO;IAgCP;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAmC7B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAyCxB;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAmDZ,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAGxD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAGvD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAGvD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAGxD"}
@@ -0,0 +1,269 @@
1
+ // npm imports
2
+ import Chalk from 'chalk';
3
+ import { minimatch } from 'minimatch';
4
+ /**
5
+ * Simple logging utility with severity levels, colored output, and metadata support
6
+ */
7
+ export class Logger {
8
+ /**
9
+ * Factory method to create a Logger from import.meta.url
10
+ * @param metaUrl - import.meta.url from the calling module
11
+ * @param minLevel - Minimum log level to display (defaults to WARN)
12
+ */
13
+ static fromMetaUrl(metaUrl, loggerConfig = Logger.LoggerConfigDefault) {
14
+ // Use WHATWG URL (available in Node and browsers) instead of node:url.fileURLToPath
15
+ // so this module stays browser-safe when bundled by Vite.
16
+ const parsedUrl = new URL(metaUrl);
17
+ const absFilename = parsedUrl.pathname;
18
+ return new Logger(absFilename, loggerConfig);
19
+ }
20
+ /**
21
+ * @param absFilename - Logger name (typically module path)
22
+ * @param minLevel - Minimum log level to display (defaults to INFO)
23
+ */
24
+ constructor(absFilename, loggerConfig) {
25
+ this._loggerConfig = Logger.LoggerConfigDefault;
26
+ this._absFilename = absFilename;
27
+ this._loggerConfig = loggerConfig;
28
+ // Strip file extension from filename for glob matching. Done with string ops
29
+ // so this module avoids node:path and remains browser-safe.
30
+ const lastDotIndex = this._absFilename.lastIndexOf('.');
31
+ const lastSeparatorIndex = this._absFilename.lastIndexOf('/');
32
+ const hasExtension = lastDotIndex !== -1 && lastDotIndex > lastSeparatorIndex;
33
+ this._filenameWithoutExt = hasExtension === true
34
+ ? this._absFilename.slice(0, lastDotIndex)
35
+ : this._absFilename;
36
+ // parse LOGGER environment variable for log filtering patterns. `process` is
37
+ // undefined in browsers, so guard the access.
38
+ const loggerEnvVar = typeof process !== 'undefined'
39
+ ? process.env['LOGGER']
40
+ : undefined;
41
+ if (loggerEnvVar === undefined || loggerEnvVar === '') {
42
+ this._parsedPatterns = [];
43
+ }
44
+ else {
45
+ this._parsedPatterns = Logger.parseLoggerEnv(loggerEnvVar);
46
+ }
47
+ }
48
+ ///////////////////////////////////////////////////////////////////////////////
49
+ ///////////////////////////////////////////////////////////////////////////////
50
+ // log filtering logic based on LOGGER environment variable
51
+ ///////////////////////////////////////////////////////////////////////////////
52
+ ///////////////////////////////////////////////////////////////////////////////
53
+ /**
54
+ * LOGGER environment variable domain specific language:
55
+ * - comma separated list of patterns
56
+ * - pattern1,pattern2,...,patternN
57
+ * Each pattern is:
58
+ * - {sign}{filename_glob}:{log_level}
59
+ * - sign: [-+] to add/remove filter
60
+ * - if omitted, defaults to + (enable)
61
+ * - if log_level is omitted, it defaults to WARN
62
+ * - log_level can be one of DEBUG, INFO, WARN, ERROR
63
+ * - filename_glob is applied to __filename from import.meta.url without the file extension
64
+ *
65
+ * Example:
66
+ * - LOGGER="*strategy*" enables WARN logs for all loggers with "strategy" in their name
67
+ * - LOGGER="*:DEBUG" enables DEBUG logs for all loggers
68
+ * - LOGGER="*strategy:DEBUG" enables DEBUG logs for all loggers with "strategy" in their name
69
+ * - LOGGER="-*strategy:DEBUG" disables DEBUG logs for all loggers with "strategy" in their name
70
+ * - LOGGER="*trading-core*:INFO" enables INFO logs for all loggers in the trading-core package
71
+ * - LOGGER='**:INFO' npm run dev:batch enables INFO logs for all loggers
72
+ */
73
+ static parseLoggerEnv(loggerEnv) {
74
+ const loggerPatterns = [];
75
+ for (const rawPattern of loggerEnv.split(',')) {
76
+ const trimmedPattern = rawPattern.trim();
77
+ if (trimmedPattern.length === 0)
78
+ continue;
79
+ let enable = true;
80
+ let patternBody = trimmedPattern;
81
+ if (patternBody.startsWith('-')) {
82
+ enable = false;
83
+ patternBody = patternBody.slice(1);
84
+ }
85
+ else if (patternBody.startsWith('+')) {
86
+ patternBody = patternBody.slice(1);
87
+ }
88
+ const colonIndex = patternBody.lastIndexOf(':');
89
+ let glob;
90
+ let logLevel = Logger.DEFAULT_LEVEL;
91
+ if (colonIndex !== -1) {
92
+ const levelCandidate = patternBody.slice(colonIndex + 1).toUpperCase();
93
+ if (levelCandidate in Logger.LEVEL_RANK) {
94
+ glob = patternBody.slice(0, colonIndex);
95
+ logLevel = levelCandidate;
96
+ }
97
+ else {
98
+ glob = patternBody;
99
+ }
100
+ }
101
+ else {
102
+ glob = patternBody;
103
+ }
104
+ const loggerPattern = { enable, glob, level: logLevel };
105
+ loggerPatterns.push(loggerPattern);
106
+ }
107
+ return loggerPatterns;
108
+ }
109
+ /**
110
+ * Determine if a log message with the given log level should be filtered out based on the LOGGER environment variable patterns
111
+ * and the logger's filename.
112
+ * @param logLevel - Log level of the message
113
+ * @returns boolean indicating whether the message should be filtered out
114
+ */
115
+ shouldBeFiltered(logLevel) {
116
+ // If no LOGGER env variable is set, default to filtering out logs below INFO
117
+ if (this._parsedPatterns.length === 0) {
118
+ const currentLevelRank = Logger.LEVEL_RANK[logLevel];
119
+ const minLevelRank = Logger.LEVEL_RANK[Logger.DEFAULT_LEVEL];
120
+ const shouldBeFiltered = currentLevelRank > minLevelRank;
121
+ return shouldBeFiltered;
122
+ }
123
+ // Walk patterns in order; last matching pattern wins
124
+ let minLevel = Logger.DEFAULT_LEVEL;
125
+ let hasMatched = false;
126
+ let isEnabled = true;
127
+ for (const parsedPattern of this._parsedPatterns) {
128
+ const globMatch = minimatch(this._filenameWithoutExt, parsedPattern.glob);
129
+ if (globMatch === false)
130
+ continue;
131
+ hasMatched = true;
132
+ isEnabled = parsedPattern.enable;
133
+ minLevel = parsedPattern.level;
134
+ }
135
+ // if there is filter, and it doesn't match, then filter out
136
+ if (hasMatched === false)
137
+ return true;
138
+ // if there is filter, and it matches, but it's disabled, then filter out
139
+ if (isEnabled === false)
140
+ return true;
141
+ // if there is filter, and it matches, and it's enabled, then check log level
142
+ const currentLevelRank = Logger.LEVEL_RANK[logLevel];
143
+ const minLevelRank = Logger.LEVEL_RANK[minLevel];
144
+ const shouldBeFiltered = currentLevelRank > minLevelRank;
145
+ // if log level is below the minimum level specified in the filter, then filter out
146
+ return shouldBeFiltered;
147
+ }
148
+ ///////////////////////////////////////////////////////////////////////////////
149
+ ///////////////////////////////////////////////////////////////////////////////
150
+ // private log function
151
+ ///////////////////////////////////////////////////////////////////////////////
152
+ ///////////////////////////////////////////////////////////////////////////////
153
+ /**
154
+ * Core logging method
155
+ * @param logLevel - Log level
156
+ * @param msg - Log message
157
+ * @param meta - Optional metadata object to display
158
+ */
159
+ _log(logLevel, msg, meta) {
160
+ // // Skip if log level is below minimum threshold
161
+ const shouldBeFiltered = this.shouldBeFiltered(logLevel);
162
+ if (shouldBeFiltered)
163
+ return;
164
+ // Create a nounce base on this._filenameWithoutExt string
165
+ const nounceFromFilename = this._filenameWithoutExt.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
166
+ const colorFns = [
167
+ Chalk.magenta,
168
+ Chalk.blueBright,
169
+ Chalk.green,
170
+ Chalk.yellow,
171
+ ];
172
+ const colorFn = colorFns[nounceFromFilename % colorFns.length];
173
+ const timestamp = new Date();
174
+ const colorize = Logger.LEVEL_COLOR[logLevel];
175
+ const fileName15Char = this._filenameWithoutExt.length <= Logger._maxFilenameLength
176
+ ? this._filenameWithoutExt
177
+ : '...' + this._filenameWithoutExt.slice(-Logger._maxFilenameLength + 3);
178
+ const parts = [
179
+ // Chalk.dim(timestamp.toISOString()),
180
+ colorize(logLevel.padEnd(5)),
181
+ colorFn(fileName15Char.padEnd(15)),
182
+ msg,
183
+ ];
184
+ // Append metadata if provided
185
+ if (meta !== undefined && Object.keys(meta).length > 0) {
186
+ const metaString = Object.entries(meta)
187
+ .map(([key, value]) => `${Chalk.green(key)}=${Chalk.white(typeof value === 'string' ? value : JSON.stringify(value))}`)
188
+ .join(' ');
189
+ parts.push(Chalk.dim('|'), metaString);
190
+ }
191
+ const line = parts.join(' ');
192
+ // Error and warn levels go to stderr, others to stdout
193
+ if (logLevel === 'WARN' || logLevel === 'ERROR' || this._loggerConfig.allToStderr === true) {
194
+ console.error(line);
195
+ }
196
+ else {
197
+ console.log(line);
198
+ }
199
+ }
200
+ ///////////////////////////////////////////////////////////////////////////////
201
+ ///////////////////////////////////////////////////////////////////////////////
202
+ // public logging methods
203
+ ///////////////////////////////////////////////////////////////////////////////
204
+ ///////////////////////////////////////////////////////////////////////////////
205
+ // Public logging methods for each severity level
206
+ debug(msg, meta) {
207
+ this._log('DEBUG', msg, meta);
208
+ }
209
+ info(msg, meta) {
210
+ this._log('INFO', msg, meta);
211
+ }
212
+ warn(msg, meta) {
213
+ this._log('WARN', msg, meta);
214
+ }
215
+ error(msg, meta) {
216
+ this._log('ERROR', msg, meta);
217
+ }
218
+ }
219
+ Logger.LEVEL = {
220
+ DEBUG: 'DEBUG',
221
+ INFO: 'INFO',
222
+ WARN: 'WARN',
223
+ ERROR: 'ERROR',
224
+ };
225
+ Logger.DEFAULT_LEVEL = Logger.LEVEL.WARN;
226
+ /** Rank mapping for log level filtering */
227
+ Logger.LEVEL_RANK = {
228
+ DEBUG: 3,
229
+ INFO: 2,
230
+ WARN: 1,
231
+ ERROR: 0
232
+ };
233
+ /**
234
+ * Maximum length for filename in log output; longer names will be truncated with ellipsis. This is to prevent log lines
235
+ * from becoming too long due to long file paths.
236
+ */
237
+ Logger._maxFilenameLength = 30;
238
+ /** Color scheme for each log level */
239
+ Logger.LEVEL_COLOR = {
240
+ DEBUG: Chalk.gray,
241
+ INFO: Chalk.cyan,
242
+ WARN: Chalk.yellow,
243
+ ERROR: Chalk.red,
244
+ };
245
+ //
246
+ Logger.LoggerConfigDefault = {
247
+ allToStderr: false,
248
+ };
249
+ ///////////////////////////////////////////////////////////////////////////////
250
+ ///////////////////////////////////////////////////////////////////////////////
251
+ // Usage Example
252
+ ///////////////////////////////////////////////////////////////////////////////
253
+ ///////////////////////////////////////////////////////////////////////////////
254
+ async function usageExample() {
255
+ process.env.LOGGER = '**:INFO'; // Enable DEBUG logs for this logger
256
+ console.log(Chalk.blue('--- Logger Usage Example ---'));
257
+ console.log(Chalk.blue('Current LOGGER env variable:'), process.env.LOGGER);
258
+ const logger = Logger.fromMetaUrl(import.meta.url);
259
+ logger.debug('This is a debug message', { user: 'alice', action: 'testDebug' });
260
+ logger.info('This is an info message', { user: 'bob', action: 'testInfo' });
261
+ logger.warn('This is a warning message', { user: 'carol', action: 'testWarn' });
262
+ logger.error('This is an error message', { user: 'dave', action: 'testError' });
263
+ }
264
+ if (import.meta.main) {
265
+ usageExample().catch(err => {
266
+ console.error('Error in usage example:', err);
267
+ });
268
+ }
269
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"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"}
@@ -29,4 +29,4 @@
29
29
  - possible by selector language ? yes
30
30
  - get link with an url starting with "https://www.welcometothejungle.com/fr/companies/"
31
31
  - on a https://www.welcometothejungle.com/fr/jobs?refinementList%5Boffices.country_code%5D%5B%5D=FR&query=machine%20learning&page=7
32
- - `npx tsx ./src/fastbrowser_cli/fastbrowser_cli.ts query_selectors_all --selector 'RootWebArea > link[url^="https://www.welcometothejungle.com/fr/companies/"]'`
32
+ - `npx tsx ./src/fastbrowser_cli/fastbrowser_cli.ts query_selectors --all --selector 'RootWebArea > link[url^="https://www.welcometothejungle.com/fr/companies/"]'`