@skrillex1224/playwright-toolkit 2.1.39 → 2.1.41

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/dist/index.cjs CHANGED
@@ -26,12 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
28
 
29
- // index.js
30
- var index_exports = {};
31
- __export(index_exports, {
29
+ // entrys/node.js
30
+ var node_exports = {};
31
+ __export(node_exports, {
32
+ LOG_TEMPLATES: () => LOG_TEMPLATES,
33
+ Logger: () => Logger,
34
+ browser: () => browser,
35
+ stripAnsi: () => stripAnsi,
32
36
  usePlaywrightToolKit: () => usePlaywrightToolKit
33
37
  });
34
- module.exports = __toCommonJS(index_exports);
38
+ module.exports = __toCommonJS(node_exports);
39
+ var import_crawlee2 = require("crawlee");
35
40
 
36
41
  // src/constants.js
37
42
  var constants_exports = {};
@@ -58,7 +63,6 @@ var FAILED_KEY_SEPARATOR = "::<@>::";
58
63
  var PresetOfLiveViewKey = "LIVE_VIEW_SCREENSHOT";
59
64
 
60
65
  // src/logger.js
61
- var import_crawlee = require("crawlee");
62
66
  var formatLine = (prefix, icon, message) => {
63
67
  const parts = [];
64
68
  if (prefix) parts.push(`[${prefix}]`);
@@ -66,6 +70,34 @@ var formatLine = (prefix, icon, message) => {
66
70
  if (message) parts.push(message);
67
71
  return parts.join(" ").trim();
68
72
  };
73
+ var fallbackLog = {
74
+ info: (...args) => console.log(...args),
75
+ warning: (...args) => console.warn ? console.warn(...args) : console.log(...args),
76
+ error: (...args) => console.error(...args),
77
+ debug: (...args) => console.debug ? console.debug(...args) : console.log(...args)
78
+ };
79
+ var resolveLogMethod = (logger10, name) => {
80
+ if (logger10 && typeof logger10[name] === "function") {
81
+ return logger10[name].bind(logger10);
82
+ }
83
+ if (name === "warning" && logger10 && typeof logger10.warn === "function") {
84
+ return logger10.warn.bind(logger10);
85
+ }
86
+ return fallbackLog[name];
87
+ };
88
+ var defaultLogger = null;
89
+ var setDefaultLogger = (logger10) => {
90
+ defaultLogger = logger10;
91
+ };
92
+ var resolveLogger = (logger10) => {
93
+ if (logger10 && typeof logger10.info === "function") {
94
+ return logger10;
95
+ }
96
+ if (defaultLogger && typeof defaultLogger.info === "function") {
97
+ return defaultLogger;
98
+ }
99
+ return fallbackLog;
100
+ };
69
101
  var ANSI = {
70
102
  reset: "\x1B[0m",
71
103
  gray: "\x1B[90m",
@@ -75,19 +107,29 @@ var ANSI = {
75
107
  blue: "\x1B[34m",
76
108
  cyan: "\x1B[36m"
77
109
  };
110
+ var stripAnsi = (input) => {
111
+ if (!input) return "";
112
+ return String(input).replace(/\x1b\[[0-9;]*m/g, "");
113
+ };
78
114
  var colorize = (text, color) => {
79
115
  if (!text || !color) return text;
80
116
  return `${color}${text}${ANSI.reset}`;
81
117
  };
82
- var createBaseLogger = (prefix = "") => {
118
+ var createBaseLogger = (prefix = "", logger10) => {
83
119
  const name = prefix ? String(prefix) : "";
120
+ const targetLogger = resolveLogger(logger10);
121
+ const info = resolveLogMethod(targetLogger, "info");
122
+ const warning = resolveLogMethod(targetLogger, "warning");
123
+ const error = resolveLogMethod(targetLogger, "error");
124
+ const debug = resolveLogMethod(targetLogger, "debug");
84
125
  return {
85
- info: (message) => import_crawlee.log.info(colorize(formatLine(name, "\u{1F4D6}", message), ANSI.cyan)),
86
- success: (message) => import_crawlee.log.info(colorize(formatLine(name, "\u2705", message), ANSI.green)),
87
- warning: (message) => import_crawlee.log.warning(colorize(formatLine(name, "\u26A0\uFE0F", message), ANSI.yellow)),
88
- error: (message) => import_crawlee.log.error(colorize(formatLine(name, "\u274C", message), ANSI.red)),
89
- debug: (message) => import_crawlee.log.debug(colorize(formatLine(name, "\u{1F539}", message), ANSI.gray)),
90
- start: (message) => import_crawlee.log.info(colorize(formatLine(name, "\u{1F537}", message), ANSI.blue))
126
+ info: (message) => info(colorize(formatLine(name, "\u{1F4D6}", message), ANSI.cyan)),
127
+ success: (message) => info(colorize(formatLine(name, "\u2705", message), ANSI.green)),
128
+ warning: (message) => warning(colorize(formatLine(name, "\u26A0\uFE0F", message), ANSI.yellow)),
129
+ warn: (message) => warning(colorize(formatLine(name, "\u26A0\uFE0F", message), ANSI.yellow)),
130
+ error: (message) => error(colorize(formatLine(name, "\u274C", message), ANSI.red)),
131
+ debug: (message) => debug(colorize(formatLine(name, "\u{1F539}", message), ANSI.gray)),
132
+ start: (message) => info(colorize(formatLine(name, "\u{1F537}", message), ANSI.blue))
91
133
  };
92
134
  };
93
135
  var STEP_PREFIX = "\u6B65\u9AA4:";
@@ -144,6 +186,535 @@ var normalizeSnippet = (snippet, maxLen = 120) => {
144
186
  if (cleaned.length <= maxLen) return cleaned;
145
187
  return `${cleaned.slice(0, maxLen)}...`;
146
188
  };
189
+ var LOG_TAG_PREFIX = "[#log:";
190
+ var LOG_TAG_SUFFIX = "]";
191
+ var buildLogTag = (key) => `${LOG_TAG_PREFIX}${key}${LOG_TAG_SUFFIX}`;
192
+ var escapeRegExp = (value) => String(value).replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
193
+ var buildStepPattern = (step, status) => {
194
+ if (!step) return null;
195
+ let pattern = `\u6B65\u9AA4: .*${escapeRegExp(step)}`;
196
+ if (status) {
197
+ pattern += `.*${escapeRegExp(status)}`;
198
+ }
199
+ return new RegExp(pattern);
200
+ };
201
+ var buildDefinitionPatterns = (definition) => {
202
+ const patterns = [new RegExp(`\\[#log:${escapeRegExp(definition.key)}\\]`)];
203
+ const fallback = buildStepPattern(definition.step, definition.status);
204
+ if (fallback) patterns.push(fallback);
205
+ if (Array.isArray(definition.extraPatterns)) {
206
+ patterns.push(...definition.extraPatterns);
207
+ }
208
+ return patterns;
209
+ };
210
+ var ATTENTION_RANK = {
211
+ low: 1,
212
+ medium: 2,
213
+ high: 3,
214
+ critical: 4
215
+ };
216
+ var DEFAULT_ATTENTION_RANK = ATTENTION_RANK.high;
217
+ var LOG_DEFINITIONS = [
218
+ {
219
+ key: "task_start",
220
+ method: "taskStart",
221
+ label: "\u4EFB\u52A1\u5F00\u59CB",
222
+ group: "\u4EFB\u52A1",
223
+ step: "\u4EFB\u52A1",
224
+ status: "\u5F00\u59CB",
225
+ level: "start",
226
+ attention: "low",
227
+ buildDetails: (url) => [url ? `url=${url}` : ""]
228
+ },
229
+ {
230
+ key: "task_success",
231
+ method: "taskSuccess",
232
+ label: "\u4EFB\u52A1\u5B8C\u6210",
233
+ group: "\u4EFB\u52A1",
234
+ step: "\u4EFB\u52A1",
235
+ status: "\u5B8C\u6210",
236
+ level: "success",
237
+ attention: "high"
238
+ },
239
+ {
240
+ key: "task_fail",
241
+ method: "taskFail",
242
+ label: "\u4EFB\u52A1\u5931\u8D25",
243
+ group: "\u4EFB\u52A1",
244
+ step: "\u4EFB\u52A1",
245
+ status: "\u5931\u8D25",
246
+ level: "error",
247
+ attention: "critical",
248
+ buildDetails: (url, err) => [
249
+ url ? `url=${url}` : "",
250
+ err ? `err=${toErrorMessage(err)}` : ""
251
+ ]
252
+ },
253
+ {
254
+ key: "runtime_headless",
255
+ method: "runtimeHeadless",
256
+ label: "\u8FD0\u884C\u6A21\u5F0F\u5F3A\u5236\u65E0\u5934",
257
+ group: "\u8FD0\u884C\u6A21\u5F0F",
258
+ step: "\u8FD0\u884C\u6A21\u5F0F",
259
+ status: "Apify \u73AF\u5883\u5F3A\u5236\u65E0\u5934",
260
+ level: "warning",
261
+ attention: "medium"
262
+ },
263
+ {
264
+ key: "login_inject_success",
265
+ method: "loginInjectSuccess",
266
+ label: "\u767B\u5F55\u6001\u6CE8\u5165\u6210\u529F",
267
+ group: "\u767B\u5F55",
268
+ step: "\u767B\u5F55\u6001\u6CE8\u5165",
269
+ status: "\u6210\u529F",
270
+ level: "success",
271
+ attention: "medium",
272
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
273
+ },
274
+ {
275
+ key: "login_inject_skip",
276
+ method: "loginInjectSkip",
277
+ label: "\u767B\u5F55\u6001\u6CE8\u5165\u8DF3\u8FC7",
278
+ group: "\u767B\u5F55",
279
+ step: "\u767B\u5F55\u6001\u6CE8\u5165",
280
+ status: "\u8DF3\u8FC7",
281
+ level: "warning",
282
+ attention: "medium",
283
+ buildDetails: (reason) => [reason ? `\u539F\u56E0=${reason}` : ""]
284
+ },
285
+ {
286
+ key: "login_inject_fail",
287
+ method: "loginInjectFail",
288
+ label: "\u767B\u5F55\u6001\u6CE8\u5165\u5931\u8D25",
289
+ group: "\u767B\u5F55",
290
+ step: "\u767B\u5F55\u6001\u6CE8\u5165",
291
+ status: "\u5931\u8D25",
292
+ level: "error",
293
+ attention: "high",
294
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
295
+ },
296
+ {
297
+ key: "login_verify_success",
298
+ method: "loginVerifySuccess",
299
+ label: "\u767B\u5F55\u9A8C\u8BC1\u6210\u529F",
300
+ group: "\u767B\u5F55",
301
+ step: "\u767B\u5F55\u9A8C\u8BC1",
302
+ status: "\u6210\u529F",
303
+ level: "success",
304
+ attention: "high",
305
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
306
+ },
307
+ {
308
+ key: "login_verify_skip",
309
+ method: "loginVerifySkip",
310
+ label: "\u767B\u5F55\u9A8C\u8BC1\u8DF3\u8FC7",
311
+ group: "\u767B\u5F55",
312
+ step: "\u767B\u5F55\u9A8C\u8BC1",
313
+ status: "\u8DF3\u8FC7",
314
+ level: "warning",
315
+ attention: "medium",
316
+ buildDetails: (reason) => [reason ? `\u539F\u56E0=${reason}` : ""]
317
+ },
318
+ {
319
+ key: "login_verify_fail",
320
+ method: "loginVerifyFail",
321
+ label: "\u767B\u5F55\u9A8C\u8BC1\u5931\u8D25",
322
+ group: "\u767B\u5F55",
323
+ step: "\u767B\u5F55\u9A8C\u8BC1",
324
+ status: "\u5931\u8D25",
325
+ level: "error",
326
+ attention: "critical",
327
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
328
+ },
329
+ {
330
+ key: "env_check_success",
331
+ method: "envCheckSuccess",
332
+ label: "\u73AF\u5883\u68C0\u67E5\u6210\u529F",
333
+ group: "\u73AF\u5883",
334
+ step: "\u73AF\u5883\u68C0\u67E5",
335
+ status: "\u6210\u529F",
336
+ level: "success",
337
+ attention: "medium",
338
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
339
+ },
340
+ {
341
+ key: "env_check_fail",
342
+ method: "envCheckFail",
343
+ label: "\u73AF\u5883\u68C0\u67E5\u5931\u8D25",
344
+ group: "\u73AF\u5883",
345
+ step: "\u73AF\u5883\u68C0\u67E5",
346
+ status: "\u5931\u8D25",
347
+ level: "error",
348
+ attention: "high",
349
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
350
+ },
351
+ {
352
+ key: "input_query_start",
353
+ method: "inputQuery",
354
+ label: "\u8F93\u5165\u67E5\u8BE2\u5F00\u59CB",
355
+ group: "\u8F93\u5165",
356
+ step: "\u8F93\u5165\u67E5\u8BE2",
357
+ status: "\u5F00\u59CB",
358
+ level: "start",
359
+ attention: "low",
360
+ buildDetails: (query) => [query ? `query=${query}` : ""]
361
+ },
362
+ {
363
+ key: "send_action",
364
+ method: "sendAction",
365
+ label: "\u53D1\u9001\u8BF7\u6C42",
366
+ group: "\u53D1\u9001",
367
+ step: "\u53D1\u9001\u8BF7\u6C42",
368
+ status: "\u70B9\u51FB\u53D1\u9001",
369
+ level: "info",
370
+ attention: "low"
371
+ },
372
+ {
373
+ key: "response_listen_start",
374
+ method: "responseListenStart",
375
+ label: "\u54CD\u5E94\u76D1\u542C\u5F00\u59CB",
376
+ group: "\u54CD\u5E94\u76D1\u542C",
377
+ step: "\u54CD\u5E94\u76D1\u542C",
378
+ status: "\u5F00\u59CB",
379
+ level: "start",
380
+ attention: "low",
381
+ buildDetails: (label, timeoutSec) => [
382
+ label ? `\u76EE\u6807=${label}` : "",
383
+ timeoutSec ? `timeout=${timeoutSec}s` : ""
384
+ ]
385
+ },
386
+ {
387
+ key: "response_listen_ready",
388
+ method: "responseListenReady",
389
+ label: "\u54CD\u5E94\u76D1\u542C\u5DF2\u914D\u7F6E",
390
+ group: "\u54CD\u5E94\u76D1\u542C",
391
+ step: "\u54CD\u5E94\u76D1\u542C",
392
+ status: "\u5DF2\u914D\u7F6E",
393
+ level: "info",
394
+ attention: "medium",
395
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
396
+ },
397
+ {
398
+ key: "response_listen_detected",
399
+ method: "responseListenDetected",
400
+ label: "\u54CD\u5E94\u76D1\u542C\u5DF2\u68C0\u6D4B",
401
+ group: "\u54CD\u5E94\u76D1\u542C",
402
+ step: "\u54CD\u5E94\u76D1\u542C",
403
+ status: "\u5DF2\u68C0\u6D4B",
404
+ level: "success",
405
+ attention: "medium",
406
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
407
+ },
408
+ {
409
+ key: "response_listen_timeout",
410
+ method: "responseListenTimeout",
411
+ label: "\u54CD\u5E94\u76D1\u542C\u8D85\u65F6",
412
+ group: "\u54CD\u5E94\u76D1\u542C",
413
+ step: "\u54CD\u5E94\u76D1\u542C",
414
+ status: "\u8D85\u65F6",
415
+ level: "error",
416
+ attention: "high",
417
+ buildDetails: (label, err) => [
418
+ label ? `\u76EE\u6807=${label}` : "",
419
+ err ? `err=${toErrorMessage(err)}` : ""
420
+ ]
421
+ },
422
+ {
423
+ key: "response_listen_end",
424
+ method: "responseListenEnd",
425
+ label: "\u54CD\u5E94\u76D1\u542C\u7ED3\u675F",
426
+ group: "\u54CD\u5E94\u76D1\u542C",
427
+ step: "\u54CD\u5E94\u76D1\u542C",
428
+ status: "\u7ED3\u675F",
429
+ level: "info",
430
+ attention: "low",
431
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
432
+ },
433
+ {
434
+ key: "response_wait_start",
435
+ method: "responseWaitStart",
436
+ label: "\u7B49\u5F85\u54CD\u5E94\u5F00\u59CB",
437
+ group: "\u7B49\u5F85\u54CD\u5E94",
438
+ step: "\u7B49\u5F85\u54CD\u5E94",
439
+ status: "\u5F00\u59CB",
440
+ level: "start",
441
+ attention: "low",
442
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
443
+ },
444
+ {
445
+ key: "response_wait_success",
446
+ method: "responseWaitSuccess",
447
+ label: "\u7B49\u5F85\u54CD\u5E94\u5B8C\u6210",
448
+ group: "\u7B49\u5F85\u54CD\u5E94",
449
+ step: "\u7B49\u5F85\u54CD\u5E94",
450
+ status: "\u5B8C\u6210",
451
+ level: "success",
452
+ attention: "medium",
453
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
454
+ },
455
+ {
456
+ key: "response_wait_fail",
457
+ method: "responseWaitFail",
458
+ label: "\u7B49\u5F85\u54CD\u5E94\u5931\u8D25",
459
+ group: "\u7B49\u5F85\u54CD\u5E94",
460
+ step: "\u7B49\u5F85\u54CD\u5E94",
461
+ status: "\u5931\u8D25",
462
+ level: "warning",
463
+ attention: "high",
464
+ buildDetails: (label, err) => [
465
+ label ? `\u76EE\u6807=${label}` : "",
466
+ err ? `err=${toErrorMessage(err)}` : ""
467
+ ]
468
+ },
469
+ {
470
+ key: "response_wait_retry",
471
+ method: "responseWaitRetry",
472
+ label: "\u7B49\u5F85\u54CD\u5E94\u91CD\u8BD5",
473
+ group: "\u7B49\u5F85\u54CD\u5E94",
474
+ step: "\u7B49\u5F85\u54CD\u5E94",
475
+ status: "\u91CD\u8BD5",
476
+ level: "warning",
477
+ attention: "medium",
478
+ buildDetails: (label, attempt) => [
479
+ label ? `\u76EE\u6807=${label}` : "",
480
+ attempt !== void 0 ? `\u5C1D\u8BD5=${attempt}` : ""
481
+ ]
482
+ },
483
+ {
484
+ key: "stream_chunk",
485
+ method: "streamChunk",
486
+ label: "\u6D41\u5F0F\u7247\u6BB5",
487
+ group: "\u6D41\u5F0F",
488
+ step: "\u6D41\u5F0F\u7247\u6BB5",
489
+ status: "",
490
+ level: "info",
491
+ attention: "low",
492
+ throttleKey: "stream-chunk",
493
+ throttleMs: 2e3,
494
+ buildDetails: (length, snippet) => [
495
+ length !== void 0 ? `len=${length}` : "",
496
+ snippet ? `preview="${normalizeSnippet(snippet)}"` : ""
497
+ ]
498
+ },
499
+ {
500
+ key: "stream_events_parsed",
501
+ method: "streamEventsParsed",
502
+ label: "\u6D41\u5F0F\u4E8B\u4EF6\u89E3\u6790\u5B8C\u6210",
503
+ group: "\u6D41\u5F0F",
504
+ step: "\u6D41\u5F0F\u4E8B\u4EF6\u89E3\u6790",
505
+ status: "\u5B8C\u6210",
506
+ level: "info",
507
+ attention: "low",
508
+ throttleKey: "stream-events",
509
+ throttleMs: 4e3,
510
+ buildDetails: (count) => [count !== void 0 ? `count=${count}` : ""]
511
+ },
512
+ {
513
+ key: "stream_complete_event",
514
+ method: "streamCompleteEvent",
515
+ label: "\u6D41\u5F0F\u5B8C\u6210\u4E8B\u4EF6\u6355\u83B7",
516
+ group: "\u6D41\u5F0F",
517
+ step: "\u6D41\u5F0F\u4E8B\u4EF6",
518
+ status: "\u5B8C\u6210\u4E8B\u4EF6\u5DF2\u6355\u83B7",
519
+ level: "success",
520
+ attention: "medium"
521
+ },
522
+ {
523
+ key: "stream_end",
524
+ method: "streamEnd",
525
+ label: "\u6D41\u5F0F\u54CD\u5E94\u7ED3\u675F",
526
+ group: "\u6D41\u5F0F",
527
+ step: "\u6D41\u5F0F\u54CD\u5E94",
528
+ status: "\u7ED3\u675F",
529
+ level: "info",
530
+ attention: "low"
531
+ },
532
+ {
533
+ key: "reference_expand_start",
534
+ method: "referenceExpandStart",
535
+ label: "\u5F15\u7528\u5C55\u5F00\u5F00\u59CB",
536
+ group: "\u5F15\u7528",
537
+ step: "\u5F15\u7528\u5C55\u5F00",
538
+ status: "\u5F00\u59CB",
539
+ level: "start",
540
+ attention: "low",
541
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
542
+ },
543
+ {
544
+ key: "reference_expand_fail",
545
+ method: "referenceExpandFail",
546
+ label: "\u5F15\u7528\u5C55\u5F00\u5931\u8D25",
547
+ group: "\u5F15\u7528",
548
+ step: "\u5F15\u7528\u5C55\u5F00",
549
+ status: "\u5931\u8D25",
550
+ level: "warning",
551
+ attention: "medium",
552
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
553
+ },
554
+ {
555
+ key: "screenshot_start",
556
+ method: "screenshotStart",
557
+ label: "\u622A\u56FE\u5F00\u59CB",
558
+ group: "\u622A\u56FE",
559
+ step: "\u622A\u56FE",
560
+ status: "\u5F00\u59CB",
561
+ level: "start",
562
+ attention: "low"
563
+ },
564
+ {
565
+ key: "screenshot_success",
566
+ method: "screenshotSuccess",
567
+ label: "\u622A\u56FE\u6210\u529F",
568
+ group: "\u622A\u56FE",
569
+ step: "\u622A\u56FE",
570
+ status: "\u6210\u529F",
571
+ level: "success",
572
+ attention: "high"
573
+ },
574
+ {
575
+ key: "screenshot_fail",
576
+ method: "screenshotFail",
577
+ label: "\u622A\u56FE\u5931\u8D25",
578
+ group: "\u622A\u56FE",
579
+ step: "\u622A\u56FE",
580
+ status: "\u5931\u8D25",
581
+ level: "warning",
582
+ attention: "high",
583
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
584
+ },
585
+ {
586
+ key: "share_start",
587
+ method: "shareStart",
588
+ label: "\u5206\u4EAB\u94FE\u63A5\u5F00\u59CB",
589
+ group: "\u5206\u4EAB",
590
+ step: "\u5206\u4EAB\u94FE\u63A5",
591
+ status: "\u5F00\u59CB",
592
+ level: "start",
593
+ attention: "low"
594
+ },
595
+ {
596
+ key: "share_progress",
597
+ method: "shareProgress",
598
+ label: "\u5206\u4EAB\u94FE\u63A5\u6B65\u9AA4",
599
+ group: "\u5206\u4EAB",
600
+ step: "\u5206\u4EAB\u94FE\u63A5",
601
+ status: "\u6B65\u9AA4",
602
+ level: "info",
603
+ attention: "low",
604
+ buildDetails: (label) => [label ? `\u6B65\u9AA4=${label}` : ""]
605
+ },
606
+ {
607
+ key: "share_success",
608
+ method: "shareSuccess",
609
+ label: "\u5206\u4EAB\u94FE\u63A5\u6210\u529F",
610
+ group: "\u5206\u4EAB",
611
+ step: "\u5206\u4EAB\u94FE\u63A5",
612
+ status: "\u6210\u529F",
613
+ level: "success",
614
+ attention: "high",
615
+ buildDetails: (link) => [link ? `\u94FE\u63A5=${link}` : ""]
616
+ },
617
+ {
618
+ key: "share_fail",
619
+ method: "shareFail",
620
+ label: "\u5206\u4EAB\u94FE\u63A5\u5931\u8D25",
621
+ group: "\u5206\u4EAB",
622
+ step: "\u5206\u4EAB\u94FE\u63A5",
623
+ status: "\u5931\u8D25",
624
+ level: "warning",
625
+ attention: "high",
626
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
627
+ },
628
+ {
629
+ key: "share_skip",
630
+ method: "shareSkip",
631
+ label: "\u5206\u4EAB\u94FE\u63A5\u8DF3\u8FC7",
632
+ group: "\u5206\u4EAB",
633
+ step: "\u5206\u4EAB\u94FE\u63A5",
634
+ status: "\u8DF3\u8FC7",
635
+ level: "warning",
636
+ attention: "medium",
637
+ buildDetails: (reason) => [reason ? `\u539F\u56E0=${reason}` : ""]
638
+ },
639
+ {
640
+ key: "data_push_success",
641
+ method: "dataPushSuccess",
642
+ label: "\u6570\u636E\u63A8\u9001\u6210\u529F",
643
+ group: "\u6570\u636E\u63A8\u9001",
644
+ step: "\u6570\u636E\u63A8\u9001",
645
+ status: "\u6210\u529F",
646
+ level: "success",
647
+ attention: "medium",
648
+ buildDetails: (label) => [label ? `\u8BF4\u660E=${label}` : ""]
649
+ },
650
+ {
651
+ key: "data_push_fail",
652
+ method: "dataPushFail",
653
+ label: "\u6570\u636E\u63A8\u9001\u5931\u8D25",
654
+ group: "\u6570\u636E\u63A8\u9001",
655
+ step: "\u6570\u636E\u63A8\u9001",
656
+ status: "\u5931\u8D25",
657
+ level: "error",
658
+ attention: "high",
659
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
660
+ },
661
+ {
662
+ key: "popup_detected",
663
+ method: "popupDetected",
664
+ label: "\u5F39\u7A97\u68C0\u6D4B",
665
+ group: "\u5F39\u7A97",
666
+ step: "\u5F39\u7A97\u5904\u7406",
667
+ status: "\u68C0\u6D4B\u5230\u906E\u7F69",
668
+ level: "warning",
669
+ attention: "medium",
670
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
671
+ },
672
+ {
673
+ key: "popup_close_attempt",
674
+ method: "popupCloseAttempt",
675
+ label: "\u5F39\u7A97\u5173\u95ED\u5C1D\u8BD5",
676
+ group: "\u5F39\u7A97",
677
+ step: "\u5F39\u7A97\u5904\u7406",
678
+ status: "\u5C1D\u8BD5\u5173\u95ED",
679
+ level: "info",
680
+ attention: "low",
681
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
682
+ },
683
+ {
684
+ key: "popup_close_success",
685
+ method: "popupCloseSuccess",
686
+ label: "\u5F39\u7A97\u5173\u95ED\u5B8C\u6210",
687
+ group: "\u5F39\u7A97",
688
+ step: "\u5F39\u7A97\u5904\u7406",
689
+ status: "\u5173\u95ED\u5B8C\u6210",
690
+ level: "success",
691
+ attention: "medium"
692
+ },
693
+ {
694
+ key: "popup_close_fail",
695
+ method: "popupCloseFail",
696
+ label: "\u5F39\u7A97\u5173\u95ED\u5931\u8D25",
697
+ group: "\u5F39\u7A97",
698
+ step: "\u5F39\u7A97\u5904\u7406",
699
+ status: "\u5173\u95ED\u5931\u8D25",
700
+ level: "warning",
701
+ attention: "medium",
702
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
703
+ }
704
+ ];
705
+ var LOG_TEMPLATES = LOG_DEFINITIONS.map((definition) => {
706
+ const attention = definition.attention || "medium";
707
+ const attentionRank = ATTENTION_RANK[attention] || ATTENTION_RANK.medium;
708
+ const defaultSelected = attentionRank >= DEFAULT_ATTENTION_RANK;
709
+ return {
710
+ key: definition.key,
711
+ label: definition.label,
712
+ group: definition.group,
713
+ attention,
714
+ patterns: buildDefinitionPatterns(definition),
715
+ defaultSelected
716
+ };
717
+ });
147
718
  var buildStepLine = (step, status, details = []) => {
148
719
  const parts = [];
149
720
  const decoratedStep = step ? decorateLabel(step, STEP_EMOJIS) : "";
@@ -180,97 +751,66 @@ var createTemplateLogger = (baseLogger = createBaseLogger()) => {
180
751
  const stepWarn = (step, status, details = []) => warning(buildStepLine(step, status, details));
181
752
  const stepError = (step, status, details = []) => error(buildStepLine(step, status, details));
182
753
  const stepStart = (step, status, details = []) => start(buildStepLine(step, status, details));
754
+ const stepHandlers = {
755
+ info: stepInfo,
756
+ success: stepSuccess,
757
+ warning: stepWarn,
758
+ error: stepError,
759
+ start: stepStart
760
+ };
761
+ const logFromDefinition = (definition, details = []) => {
762
+ const handler = stepHandlers[definition.level] || stepInfo;
763
+ const payload = [...details, buildLogTag(definition.key)];
764
+ const emit = () => handler(definition.step, definition.status, payload);
765
+ if (definition.throttleMs) {
766
+ throttle(definition.throttleKey || definition.key, definition.throttleMs, emit);
767
+ return;
768
+ }
769
+ emit();
770
+ };
771
+ const definitionMethods = {};
772
+ LOG_DEFINITIONS.forEach((definition) => {
773
+ if (!definition.method) return;
774
+ definitionMethods[definition.method] = (...args) => {
775
+ const details = definition.buildDetails ? definition.buildDetails(...args) : [];
776
+ logFromDefinition(definition, details);
777
+ };
778
+ });
183
779
  return {
184
780
  step: (step, status, details, level = "info") => {
185
781
  if (level === "error") return stepError(step, status, details);
186
782
  if (level === "warn" || level === "warning") return stepWarn(step, status, details);
783
+ if (level === "start") return stepStart(step, status, details);
784
+ if (level === "success") return stepSuccess(step, status, details);
187
785
  return stepInfo(step, status, details);
188
786
  },
189
- taskStart: (url) => stepStart("\u4EFB\u52A1", "\u5F00\u59CB", [url ? `url=${url}` : ""]),
190
- taskSuccess: () => stepSuccess("\u4EFB\u52A1", "\u5B8C\u6210"),
191
- taskFail: (url, err) => stepError("\u4EFB\u52A1", "\u5931\u8D25", [
192
- url ? `url=${url}` : "",
193
- err ? `err=${toErrorMessage(err)}` : ""
194
- ]),
195
- runtimeHeadless: () => stepWarn("\u8FD0\u884C\u6A21\u5F0F", "Apify \u73AF\u5883\u5F3A\u5236\u65E0\u5934"),
196
- loginInjectSuccess: (detail) => stepSuccess("\u767B\u5F55\u6001\u6CE8\u5165", "\u6210\u529F", [detail ? `detail=${detail}` : ""]),
197
- loginInjectSkip: (reason) => stepWarn("\u767B\u5F55\u6001\u6CE8\u5165", "\u8DF3\u8FC7", [reason ? `\u539F\u56E0=${reason}` : ""]),
198
- loginInjectFail: (err) => stepError("\u767B\u5F55\u6001\u6CE8\u5165", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
199
- loginVerifySuccess: (detail) => stepSuccess("\u767B\u5F55\u9A8C\u8BC1", "\u6210\u529F", [detail ? `detail=${detail}` : ""]),
200
- loginVerifySkip: (reason) => stepWarn("\u767B\u5F55\u9A8C\u8BC1", "\u8DF3\u8FC7", [reason ? `\u539F\u56E0=${reason}` : ""]),
201
- loginVerifyFail: (err) => stepError("\u767B\u5F55\u9A8C\u8BC1", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
202
- envCheckSuccess: (detail) => stepSuccess("\u73AF\u5883\u68C0\u67E5", "\u6210\u529F", [detail ? `detail=${detail}` : ""]),
203
- envCheckFail: (err) => stepError("\u73AF\u5883\u68C0\u67E5", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
204
- inputQuery: (query) => stepStart("\u8F93\u5165\u67E5\u8BE2", "\u5F00\u59CB", [query ? `query=${query}` : ""]),
205
- sendAction: () => stepInfo("\u53D1\u9001\u8BF7\u6C42", "\u70B9\u51FB\u53D1\u9001"),
206
- responseListenStart: (label, timeoutSec) => stepStart("\u54CD\u5E94\u76D1\u542C", "\u5F00\u59CB", [
207
- label ? `\u76EE\u6807=${label}` : "",
208
- timeoutSec ? `timeout=${timeoutSec}s` : ""
209
- ]),
210
- responseListenReady: (label) => stepInfo("\u54CD\u5E94\u76D1\u542C", "\u5DF2\u914D\u7F6E", [label ? `\u76EE\u6807=${label}` : ""]),
211
- responseListenDetected: (label) => stepSuccess("\u54CD\u5E94\u76D1\u542C", "\u5DF2\u68C0\u6D4B", [label ? `\u76EE\u6807=${label}` : ""]),
212
- responseListenTimeout: (label, err) => stepError("\u54CD\u5E94\u76D1\u542C", "\u8D85\u65F6", [
213
- label ? `\u76EE\u6807=${label}` : "",
214
- err ? `err=${toErrorMessage(err)}` : ""
215
- ]),
216
- responseListenEnd: (label) => stepInfo("\u54CD\u5E94\u76D1\u542C", "\u7ED3\u675F", [label ? `\u76EE\u6807=${label}` : ""]),
217
- streamChunk: (length, snippet) => throttle(
218
- "stream-chunk",
219
- 2e3,
220
- () => stepInfo("\u6D41\u5F0F\u7247\u6BB5", "", [
221
- length !== void 0 ? `len=${length}` : "",
222
- snippet ? `preview="${normalizeSnippet(snippet)}"` : ""
223
- ])
224
- ),
225
- streamEventsParsed: (count) => throttle(
226
- "stream-events",
227
- 4e3,
228
- () => stepInfo("\u6D41\u5F0F\u4E8B\u4EF6\u89E3\u6790", "\u5B8C\u6210", [count !== void 0 ? `count=${count}` : ""])
229
- ),
230
- streamCompleteEvent: () => stepSuccess("\u6D41\u5F0F\u4E8B\u4EF6", "\u5B8C\u6210\u4E8B\u4EF6\u5DF2\u6355\u83B7"),
231
- streamEnd: () => stepInfo("\u6D41\u5F0F\u54CD\u5E94", "\u7ED3\u675F"),
232
- responseWaitStart: (label) => stepStart("\u7B49\u5F85\u54CD\u5E94", "\u5F00\u59CB", [label ? `\u76EE\u6807=${label}` : ""]),
233
- responseWaitSuccess: (label) => stepSuccess("\u7B49\u5F85\u54CD\u5E94", "\u5B8C\u6210", [label ? `\u76EE\u6807=${label}` : ""]),
234
- responseWaitFail: (label, err) => stepWarn("\u7B49\u5F85\u54CD\u5E94", "\u5931\u8D25", [
235
- label ? `\u76EE\u6807=${label}` : "",
236
- err ? `err=${toErrorMessage(err)}` : ""
237
- ]),
238
- responseWaitRetry: (label, attempt) => stepWarn("\u7B49\u5F85\u54CD\u5E94", "\u91CD\u8BD5", [
239
- label ? `\u76EE\u6807=${label}` : "",
240
- attempt !== void 0 ? `\u5C1D\u8BD5=${attempt}` : ""
241
- ]),
242
- referenceExpandStart: (label) => stepStart("\u5F15\u7528\u5C55\u5F00", "\u5F00\u59CB", [label ? `\u76EE\u6807=${label}` : ""]),
243
- referenceExpandFail: (err) => stepWarn("\u5F15\u7528\u5C55\u5F00", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
244
- screenshotStart: () => stepStart("\u622A\u56FE", "\u5F00\u59CB"),
245
- screenshotSuccess: () => stepSuccess("\u622A\u56FE", "\u6210\u529F"),
246
- screenshotFail: (err) => stepWarn("\u622A\u56FE", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
247
- shareStart: () => stepStart("\u5206\u4EAB\u94FE\u63A5", "\u5F00\u59CB"),
248
- shareProgress: (label) => stepInfo("\u5206\u4EAB\u94FE\u63A5", "\u6B65\u9AA4", [label ? `\u6B65\u9AA4=${label}` : ""]),
249
- shareSuccess: (link) => stepSuccess("\u5206\u4EAB\u94FE\u63A5", "\u6210\u529F", [link ? `\u94FE\u63A5=${link}` : ""]),
250
- shareFail: (err) => stepWarn("\u5206\u4EAB\u94FE\u63A5", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
251
- shareSkip: (reason) => stepWarn("\u5206\u4EAB\u94FE\u63A5", "\u8DF3\u8FC7", [reason ? `\u539F\u56E0=${reason}` : ""]),
252
- dataPushSuccess: (label) => stepSuccess("\u6570\u636E\u63A8\u9001", "\u6210\u529F", [label ? `\u8BF4\u660E=${label}` : ""]),
253
- dataPushFail: (err) => stepError("\u6570\u636E\u63A8\u9001", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
254
- popupDetected: (detail) => stepWarn("\u5F39\u7A97\u5904\u7406", "\u68C0\u6D4B\u5230\u906E\u7F69", [detail ? `detail=${detail}` : ""]),
255
- popupCloseAttempt: (detail) => stepInfo("\u5F39\u7A97\u5904\u7406", "\u5C1D\u8BD5\u5173\u95ED", [detail ? `detail=${detail}` : ""]),
256
- popupCloseSuccess: () => stepSuccess("\u5F39\u7A97\u5904\u7406", "\u5173\u95ED\u5B8C\u6210"),
257
- popupCloseFail: (err) => stepWarn("\u5F39\u7A97\u5904\u7406", "\u5173\u95ED\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
258
787
  info: (message) => info(message),
259
788
  success: (message) => success(message),
260
789
  warning: (message) => warning(message),
790
+ warn: (message) => warning(message),
261
791
  error: (message) => error(message),
262
792
  debug: (message) => debug(message),
263
- start: (message) => start(message)
793
+ start: (message) => start(message),
794
+ ...definitionMethods
264
795
  };
265
796
  };
797
+ var getDefaultBaseLogger = () => createBaseLogger("", defaultLogger);
266
798
  var Logger = {
267
- ...createBaseLogger(),
268
- useTemplate: () => createTemplateLogger()
799
+ setLogger: (logger10) => setDefaultLogger(logger10),
800
+ info: (message) => getDefaultBaseLogger().info(message),
801
+ success: (message) => getDefaultBaseLogger().success(message),
802
+ warning: (message) => getDefaultBaseLogger().warning(message),
803
+ warn: (message) => getDefaultBaseLogger().warning(message),
804
+ error: (message) => getDefaultBaseLogger().error(message),
805
+ debug: (message) => getDefaultBaseLogger().debug(message),
806
+ start: (message) => getDefaultBaseLogger().start(message),
807
+ useTemplate: (logger10) => createTemplateLogger(createBaseLogger("", logger10 || defaultLogger))
269
808
  };
270
809
 
271
810
  // src/internal/logger.js
811
+ var import_crawlee = require("crawlee");
272
812
  function createLogger(moduleName) {
273
- const baseLogger = createBaseLogger(moduleName);
813
+ const baseLogger = createBaseLogger(moduleName, import_crawlee.log);
274
814
  return {
275
815
  /**
276
816
  * 方法开始日志
@@ -313,6 +853,9 @@ function createLogger(moduleName) {
313
853
  warn(message) {
314
854
  baseLogger.warning(message);
315
855
  },
856
+ warning(message) {
857
+ baseLogger.warning(message);
858
+ },
316
859
  /**
317
860
  * 普通信息日志
318
861
  * @param {string} message - 信息
@@ -1924,7 +2467,8 @@ var Mutation = {
1924
2467
  }
1925
2468
  };
1926
2469
 
1927
- // index.js
2470
+ // entrys/node.js
2471
+ Logger.setLogger(import_crawlee2.log);
1928
2472
  var usePlaywrightToolKit = () => {
1929
2473
  return {
1930
2474
  ApifyKit,
@@ -1942,8 +2486,13 @@ var usePlaywrightToolKit = () => {
1942
2486
  Logger
1943
2487
  };
1944
2488
  };
2489
+ var browser = { Logger, LOG_TEMPLATES, stripAnsi };
1945
2490
  // Annotate the CommonJS export names for ESM import in node:
1946
2491
  0 && (module.exports = {
2492
+ LOG_TEMPLATES,
2493
+ Logger,
2494
+ browser,
2495
+ stripAnsi,
1947
2496
  usePlaywrightToolKit
1948
2497
  });
1949
2498
  //# sourceMappingURL=index.cjs.map