@pyrokine/mcp-chrome 1.0.0 → 1.3.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.
Files changed (115) hide show
  1. package/README.md +236 -96
  2. package/dist/anti-detection/behavior.d.ts +0 -8
  3. package/dist/anti-detection/behavior.d.ts.map +1 -1
  4. package/dist/anti-detection/behavior.js +0 -16
  5. package/dist/anti-detection/behavior.js.map +1 -1
  6. package/dist/cdp/client.d.ts +10 -2
  7. package/dist/cdp/client.d.ts.map +1 -1
  8. package/dist/cdp/client.js +76 -61
  9. package/dist/cdp/client.js.map +1 -1
  10. package/dist/cdp/launcher.d.ts +1 -8
  11. package/dist/cdp/launcher.d.ts.map +1 -1
  12. package/dist/cdp/launcher.js +18 -24
  13. package/dist/cdp/launcher.js.map +1 -1
  14. package/dist/core/auto-wait.d.ts +8 -1
  15. package/dist/core/auto-wait.d.ts.map +1 -1
  16. package/dist/core/auto-wait.js +15 -5
  17. package/dist/core/auto-wait.js.map +1 -1
  18. package/dist/core/errors.d.ts +11 -13
  19. package/dist/core/errors.d.ts.map +1 -1
  20. package/dist/core/errors.js +50 -31
  21. package/dist/core/errors.js.map +1 -1
  22. package/dist/core/index.d.ts +1 -0
  23. package/dist/core/index.d.ts.map +1 -1
  24. package/dist/core/index.js +1 -0
  25. package/dist/core/index.js.map +1 -1
  26. package/dist/core/locator.d.ts +17 -6
  27. package/dist/core/locator.d.ts.map +1 -1
  28. package/dist/core/locator.js +137 -28
  29. package/dist/core/locator.js.map +1 -1
  30. package/dist/core/retry.d.ts.map +1 -1
  31. package/dist/core/retry.js +1 -1
  32. package/dist/core/retry.js.map +1 -1
  33. package/dist/core/session.d.ts +71 -16
  34. package/dist/core/session.d.ts.map +1 -1
  35. package/dist/core/session.js +365 -124
  36. package/dist/core/session.js.map +1 -1
  37. package/dist/core/types.d.ts +15 -0
  38. package/dist/core/types.d.ts.map +1 -1
  39. package/dist/core/types.js +11 -2
  40. package/dist/core/types.js.map +1 -1
  41. package/dist/core/unified-session.d.ts +418 -0
  42. package/dist/core/unified-session.d.ts.map +1 -0
  43. package/dist/core/unified-session.js +1044 -0
  44. package/dist/core/unified-session.js.map +1 -0
  45. package/dist/extension/bridge.d.ts +203 -0
  46. package/dist/extension/bridge.d.ts.map +1 -0
  47. package/dist/extension/bridge.js +375 -0
  48. package/dist/extension/bridge.js.map +1 -0
  49. package/dist/extension/http-server.d.ts +60 -0
  50. package/dist/extension/http-server.d.ts.map +1 -0
  51. package/dist/extension/http-server.js +319 -0
  52. package/dist/extension/http-server.js.map +1 -0
  53. package/dist/extension/index.d.ts +7 -0
  54. package/dist/extension/index.d.ts.map +1 -0
  55. package/dist/extension/index.js +6 -0
  56. package/dist/extension/index.js.map +1 -0
  57. package/dist/extension/native-host-installer.d.ts +21 -0
  58. package/dist/extension/native-host-installer.d.ts.map +1 -0
  59. package/dist/extension/native-host-installer.js +147 -0
  60. package/dist/extension/native-host-installer.js.map +1 -0
  61. package/dist/extension/socket-server.d.ts +32 -0
  62. package/dist/extension/socket-server.d.ts.map +1 -0
  63. package/dist/extension/socket-server.js +177 -0
  64. package/dist/extension/socket-server.js.map +1 -0
  65. package/dist/extension/ws-server.d.ts +40 -0
  66. package/dist/extension/ws-server.d.ts.map +1 -0
  67. package/dist/extension/ws-server.js +246 -0
  68. package/dist/extension/ws-server.js.map +1 -0
  69. package/dist/index.js +16 -67
  70. package/dist/index.js.map +1 -1
  71. package/dist/native-host/index.js +280 -0
  72. package/dist/native-host/mcp-chrome-host +2 -0
  73. package/dist/tools/browse.d.ts +3 -76
  74. package/dist/tools/browse.d.ts.map +1 -1
  75. package/dist/tools/browse.js +193 -237
  76. package/dist/tools/browse.js.map +1 -1
  77. package/dist/tools/cookies.d.ts +6 -66
  78. package/dist/tools/cookies.d.ts.map +1 -1
  79. package/dist/tools/cookies.js +129 -125
  80. package/dist/tools/cookies.js.map +1 -1
  81. package/dist/tools/evaluate.d.ts +3 -37
  82. package/dist/tools/evaluate.d.ts.map +1 -1
  83. package/dist/tools/evaluate.js +68 -55
  84. package/dist/tools/evaluate.js.map +1 -1
  85. package/dist/tools/extract.d.ts +3 -200
  86. package/dist/tools/extract.d.ts.map +1 -1
  87. package/dist/tools/extract.js +287 -238
  88. package/dist/tools/extract.js.map +1 -1
  89. package/dist/tools/index.d.ts +9 -9
  90. package/dist/tools/index.d.ts.map +1 -1
  91. package/dist/tools/index.js +9 -9
  92. package/dist/tools/index.js.map +1 -1
  93. package/dist/tools/input.d.ts +3 -228
  94. package/dist/tools/input.d.ts.map +1 -1
  95. package/dist/tools/input.js +190 -129
  96. package/dist/tools/input.js.map +1 -1
  97. package/dist/tools/logs.d.ts +3 -47
  98. package/dist/tools/logs.d.ts.map +1 -1
  99. package/dist/tools/logs.js +100 -127
  100. package/dist/tools/logs.js.map +1 -1
  101. package/dist/tools/manage.d.ts +6 -51
  102. package/dist/tools/manage.d.ts.map +1 -1
  103. package/dist/tools/manage.js +284 -209
  104. package/dist/tools/manage.js.map +1 -1
  105. package/dist/tools/schema.d.ts +75 -168
  106. package/dist/tools/schema.d.ts.map +1 -1
  107. package/dist/tools/schema.js +276 -126
  108. package/dist/tools/schema.js.map +1 -1
  109. package/dist/tools/wait.d.ts +3 -191
  110. package/dist/tools/wait.d.ts.map +1 -1
  111. package/dist/tools/wait.js +298 -155
  112. package/dist/tools/wait.js.map +1 -1
  113. package/package.json +4 -5
  114. package/scripts/start-chrome-headless.sh +0 -37
  115. package/scripts/start-chrome.sh +0 -41
@@ -19,6 +19,7 @@ export class BrowserError extends Error {
19
19
  /**
20
20
  * 转换为 JSON 格式,用于 MCP 响应
21
21
  */
22
+ // noinspection JSUnusedGlobalSymbols — 被 formatErrorResponse 动态调用
22
23
  toJSON() {
23
24
  const result = {
24
25
  error: {
@@ -100,13 +101,19 @@ export class ElementNotFoundError extends BrowserError {
100
101
  }
101
102
  }
102
103
  toJSON() {
104
+ // 日志去重并限制输出数量,避免重复日志刷屏
105
+ const uniqueLogs = [...new Set(this.logs)];
106
+ const maxLogs = 10;
107
+ const logsOutput = uniqueLogs.length > maxLogs
108
+ ? [...uniqueLogs.slice(0, maxLogs), `... 共 ${uniqueLogs.length} 条(已省略)`]
109
+ : uniqueLogs;
103
110
  return {
104
111
  error: {
105
112
  code: this.code,
106
113
  message: this.message,
107
114
  suggestion: this.suggestion,
108
115
  context: this.context,
109
- logs: this.logs,
116
+ logs: logsOutput,
110
117
  },
111
118
  };
112
119
  }
@@ -133,17 +140,6 @@ export class TimeoutError extends BrowserError {
133
140
  super(message);
134
141
  }
135
142
  }
136
- /**
137
- * 无效参数错误
138
- */
139
- export class InvalidArgumentError extends BrowserError {
140
- code = 'INVALID_ARGUMENT';
141
- suggestion;
142
- constructor(message, suggestion) {
143
- super(message);
144
- this.suggestion = suggestion ?? '请检查参数是否正确';
145
- }
146
- }
147
143
  /**
148
144
  * CDP 协议错误
149
145
  */
@@ -154,19 +150,6 @@ export class CDPError extends BrowserError {
154
150
  super(message);
155
151
  }
156
152
  }
157
- /**
158
- * 格式化日志记录(参考 Playwright Waiter)
159
- */
160
- export function formatLogRecording(logs) {
161
- if (logs.length === 0) {
162
- return '';
163
- }
164
- const header = ' logs ';
165
- const width = 60;
166
- const leftPad = '='.repeat(Math.floor((width - header.length) / 2));
167
- const rightPad = '='.repeat(width - header.length - leftPad.length);
168
- return `\n${leftPad}${header}${rightPad}\n${logs.join('\n')}\n${'='.repeat(width)}`;
169
- }
170
153
  /**
171
154
  * ZodError 类型检测
172
155
  */
@@ -178,9 +161,30 @@ function isZodError(error) {
178
161
  'issues' in error &&
179
162
  Array.isArray(error.issues));
180
163
  }
164
+ /**
165
+ * 检测错误是否可能由 tab 不在前台导致
166
+ */
167
+ function detectVisibilityHint(errorMessage) {
168
+ const msg = errorMessage.toLowerCase();
169
+ const keywords = [
170
+ 'hidden',
171
+ 'visible',
172
+ 'visibility',
173
+ 'focus',
174
+ 'blur',
175
+ 'active tab',
176
+ 'not active',
177
+ 'capturevisibletab',
178
+ ];
179
+ if (keywords.some(kw => msg.includes(kw))) {
180
+ return '此操作可能需要 tab 在前台。请使用 browse(action="attach", targetId="<id>", activate=true) 激活目标 tab';
181
+ }
182
+ return null;
183
+ }
181
184
  /**
182
185
  * 格式化错误为 MCP 工具响应
183
186
  * 特别处理 ZodError,转换为结构化的 INVALID_ARGUMENT 错误
187
+ * 自动检测 visibility 相关错误并添加 hint
184
188
  */
185
189
  export function formatErrorResponse(error) {
186
190
  // 处理 ZodError
@@ -208,19 +212,34 @@ export function formatErrorResponse(error) {
208
212
  }
209
213
  // 处理 BrowserError(带 toJSON 方法)
210
214
  const err = error;
215
+ const errorJson = err.toJSON?.() ?? {
216
+ error: {
217
+ code: 'UNKNOWN_ERROR',
218
+ message: err.message ?? String(error),
219
+ },
220
+ };
221
+ // 检测 visibility 相关错误,添加 hint
222
+ const errorMessage = err.message ?? String(error);
223
+ const hint = detectVisibilityHint(errorMessage);
224
+ if (hint) {
225
+ errorJson.hint = hint;
226
+ }
211
227
  return {
212
228
  content: [
213
229
  {
214
230
  type: 'text',
215
- text: JSON.stringify(err.toJSON?.() ?? {
216
- error: {
217
- code: 'UNKNOWN_ERROR',
218
- message: err.message ?? String(error),
219
- },
220
- }, null, 2),
231
+ text: JSON.stringify(errorJson, null, 2),
221
232
  },
222
233
  ],
223
234
  isError: true,
224
235
  };
225
236
  }
237
+ /**
238
+ * 格式化成功响应为 MCP 工具响应
239
+ */
240
+ export function formatResponse(data) {
241
+ return {
242
+ content: [{ type: 'text', text: JSON.stringify(data, null, 2) }],
243
+ };
244
+ }
226
245
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from './types.js';
5
5
  export * from './errors.js';
6
6
  export { Locator, type LocatorOptions } from './locator.js';
7
7
  export { getSession } from './session.js';
8
+ export { getUnifiedSession, type ConnectionMode } from './unified-session.js';
8
9
  export { withRetry, type RetryOptions } from './retry.js';
9
10
  export { AutoWait, type AutoWaitOptions } from './auto-wait.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,OAAO,EAAE,KAAK,cAAc,EAAC,MAAM,cAAc,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,SAAS,EAAE,KAAK,YAAY,EAAC,MAAM,YAAY,CAAA;AACvD,OAAO,EAAC,QAAQ,EAAE,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,OAAO,EAAE,KAAK,cAAc,EAAC,MAAM,cAAc,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,iBAAiB,EAAE,KAAK,cAAc,EAAC,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAC,SAAS,EAAE,KAAK,YAAY,EAAC,MAAM,YAAY,CAAA;AACvD,OAAO,EAAC,QAAQ,EAAE,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAA"}
@@ -5,6 +5,7 @@ export * from './types.js';
5
5
  export * from './errors.js';
6
6
  export { Locator } from './locator.js';
7
7
  export { getSession } from './session.js';
8
+ export { getUnifiedSession } from './unified-session.js';
8
9
  export { withRetry } from './retry.js';
9
10
  export { AutoWait } from './auto-wait.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,OAAO,EAAsB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,SAAS,EAAoB,MAAM,YAAY,CAAA;AACvD,OAAO,EAAC,QAAQ,EAAuB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAC,OAAO,EAAsB,MAAM,cAAc,CAAA;AACzD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AACvC,OAAO,EAAC,iBAAiB,EAAsB,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAC,SAAS,EAAoB,MAAM,YAAY,CAAA;AACvD,OAAO,EAAC,QAAQ,EAAuB,MAAM,gBAAgB,CAAA"}
@@ -24,6 +24,8 @@ type NodeId = number;
24
24
  export interface LocatorOptions {
25
25
  /** 超时时间(毫秒),默认 30000 */
26
26
  timeout?: number;
27
+ /** 第 N 个匹配元素(从 0 开始,默认 0 即第一个) */
28
+ nth?: number;
27
29
  /** 获取当前 URL 的回调(用于错误上下文) */
28
30
  getUrl?: () => string | undefined;
29
31
  }
@@ -35,8 +37,10 @@ export declare class Locator {
35
37
  private target;
36
38
  private sessionId?;
37
39
  private logs;
38
- private timeout;
39
- private getUrl?;
40
+ private readonly timeout;
41
+ private readonly deadline;
42
+ private readonly nth;
43
+ private readonly getUrl?;
40
44
  constructor(cdp: CDPClient, target: Target, sessionId?: string | undefined, options?: LocatorOptions);
41
45
  /**
42
46
  * 查找元素,返回节点 ID(带重试)
@@ -57,10 +61,6 @@ export declare class Locator {
57
61
  * @returns 函数返回值
58
62
  */
59
63
  evaluateOn<T>(fn: string): Promise<T>;
60
- /**
61
- * 获取定位日志
62
- */
63
- getLogs(): string[];
64
64
  /**
65
65
  * 查找元素的内部实现(单次尝试)
66
66
  */
@@ -97,6 +97,10 @@ export declare class Locator {
97
97
  * 通过 CSS 选择器定位
98
98
  */
99
99
  private findByCSS;
100
+ /**
101
+ * 通过 CSS + 文本组合定位
102
+ */
103
+ private findByCSSAndText;
100
104
  /**
101
105
  * 通过 XPath 定位
102
106
  */
@@ -119,8 +123,15 @@ export declare class Locator {
119
123
  private getBoxModel;
120
124
  /**
121
125
  * 发送 CDP 命令
126
+ *
127
+ * 使用 deadline 剩余时间而非静态 timeout,确保单个 CDP 命令不会超出整体预算。
128
+ * withRetry() 在重试间隙检查 deadline,此处保证单命令在当前 tick 内也受预算约束。
122
129
  */
123
130
  private send;
131
+ /**
132
+ * deadline 剩余时间(至少 1ms,防止 0 被当作无超时)
133
+ */
134
+ private remaining;
124
135
  /**
125
136
  * 记录日志
126
137
  */
@@ -1 +1 @@
1
- {"version":3,"file":"locator.d.ts","sourceRoot":"","sources":["../../src/core/locator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAG/C,OAAO,EACH,KAAK,GAAG,EAWR,KAAK,KAAK,EACV,KAAK,MAAM,EACd,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,KAAK,MAAM,GAAG,MAAM,CAAC;AAOrB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACrC;AA2DD;;GAEG;AACH,qBAAa,OAAO;IAMZ,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS,CAAC;IAPtB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,CAA0B;gBAG7B,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,YAAA,EAC1B,OAAO,GAAE,cAAmB;IAMhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAY7B;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;IAczC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IASpC;;;;;OAKG;IACG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA6B3C;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE;IAInB;;OAEG;YACW,YAAY;IAgC1B;;OAEG;YACW,mBAAmB;IAwCjC;;OAEG;YACW,UAAU;IAgBxB;;OAEG;YACW,WAAW;IA4CzB;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;YACW,WAAW;IAazB;;OAEG;YACW,SAAS;IAavB;;OAEG;YACW,YAAY;IAQ1B;;OAEG;YACW,SAAS;IAOvB;;OAEG;YACW,WAAW;IAOzB;;OAEG;YACW,iBAAiB;IAoB/B;;OAEG;YACW,mBAAmB;IAkBjC;;OAEG;YACW,gBAAgB;IAa9B;;OAEG;YACW,WAAW;IAgBzB;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,GAAG;CAGd"}
1
+ {"version":3,"file":"locator.d.ts","sourceRoot":"","sources":["../../src/core/locator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAA;AAG/C,OAAO,EACH,KAAK,GAAG,EAaR,KAAK,KAAK,EACV,KAAK,MAAM,EACd,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,KAAK,MAAM,GAAG,MAAM,CAAC;AAOrB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACrC;AAyDD;;GAEG;AACH,qBAAa,OAAO;IAQZ,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS,CAAC;IATtB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA0B;gBAGtC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,YAAA,EAC1B,OAAO,GAAE,cAAmB;IAQhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAY7B;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;IAczC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;IASpC;;;;;OAKG;IACG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA6B3C;;OAEG;YACW,YAAY;IAoC1B;;OAEG;YACW,mBAAmB;IA+CjC;;OAEG;YACW,UAAU;IAiBxB;;OAEG;YACW,WAAW;IAsEzB;;OAEG;YACW,iBAAiB;IAiB/B;;OAEG;YACW,WAAW;IAazB;;OAEG;YACW,SAAS;IAavB;;OAEG;YACW,YAAY;IAQ1B;;OAEG;YACW,SAAS;IAOvB;;OAEG;YACW,gBAAgB;IAqC9B;;OAEG;YACW,WAAW;IAOzB;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;YACW,mBAAmB;IAgCjC;;OAEG;YACW,gBAAgB;IAgB9B;;OAEG;YACW,WAAW;IAgBzB;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,GAAG;CAGd"}
@@ -14,8 +14,7 @@
14
14
  */
15
15
  import { ElementNotFoundError } from './errors.js';
16
16
  import { withRetry } from './retry.js';
17
- import { isAltTarget, isCoordinateTarget, isCSSTarget, isLabelTarget, isPlaceholderTarget, isRoleTarget, isTestIdTarget, isTextTarget, isTitleTarget, isXPathTarget, } from './types.js';
18
- const DEFAULT_TIMEOUT = 30000;
17
+ import { DEFAULT_TIMEOUT, isAltTarget, isCoordinateTarget, isCSSTarget, isCSSTextTarget, isLabelTarget, isPlaceholderTarget, isRoleTarget, isTestIdTarget, isTextTarget, isTitleTarget, isXPathTarget, } from './types.js';
19
18
  /**
20
19
  * 转义 XPath 字符串中的引号
21
20
  * XPath 1.0 没有转义机制,需要用 concat() 拼接单双引号
@@ -78,12 +77,16 @@ export class Locator {
78
77
  sessionId;
79
78
  logs = [];
80
79
  timeout;
80
+ deadline;
81
+ nth;
81
82
  getUrl;
82
83
  constructor(cdp, target, sessionId, options = {}) {
83
84
  this.cdp = cdp;
84
85
  this.target = target;
85
86
  this.sessionId = sessionId;
86
87
  this.timeout = options.timeout ?? DEFAULT_TIMEOUT;
88
+ this.deadline = Date.now() + this.timeout;
89
+ this.nth = options.nth ?? 0;
87
90
  this.getUrl = options.getUrl;
88
91
  }
89
92
  /**
@@ -96,7 +99,7 @@ export class Locator {
96
99
  // 坐标定位不需要 NodeId
97
100
  throw new Error('坐标定位不支持 find(),请使用 getClickablePoint()');
98
101
  }
99
- return withRetry(() => this.findInternal(), { timeout: this.timeout });
102
+ return withRetry(() => this.findInternal(), { timeout: this.remaining() });
100
103
  }
101
104
  /**
102
105
  * 获取元素中心坐标(用于点击)
@@ -148,12 +151,6 @@ export class Locator {
148
151
  }
149
152
  return result.value;
150
153
  }
151
- /**
152
- * 获取定位日志
153
- */
154
- getLogs() {
155
- return this.logs;
156
- }
157
154
  /**
158
155
  * 查找元素的内部实现(单次尝试)
159
156
  */
@@ -161,6 +158,10 @@ export class Locator {
161
158
  if (isRoleTarget(this.target)) {
162
159
  return this.findByAccessibility();
163
160
  }
161
+ // CSS+text 必须在纯 text / 纯 CSS 之前:{css, text} 同时满足三者
162
+ if (isCSSTextTarget(this.target)) {
163
+ return this.findByCSSAndText();
164
+ }
164
165
  if (isTextTarget(this.target)) {
165
166
  return this.findByText();
166
167
  }
@@ -192,12 +193,13 @@ export class Locator {
192
193
  */
193
194
  async findByAccessibility() {
194
195
  const { role, name } = this.target;
195
- this.log(`使用可访问性树定位: role=${role}, name=${name ?? '(any)'}`);
196
+ this.log(`使用可访问性树定位: role=${role}, name=${name ?? '(any)'}${this.nth > 0 ? `, nth=${this.nth}` : ''}`);
196
197
  // 启用可访问性
197
198
  await this.send('Accessibility.enable');
198
199
  // 获取整个可访问性树
199
200
  const { nodes } = (await this.send('Accessibility.getFullAXTree'));
200
- // 查找匹配的节点
201
+ // 查找匹配的节点,跳过前 nth 个
202
+ let matchCount = 0;
201
203
  for (const node of nodes) {
202
204
  if (node.role?.value?.toLowerCase() !== role.toLowerCase()) {
203
205
  continue;
@@ -206,7 +208,13 @@ export class Locator {
206
208
  continue;
207
209
  }
208
210
  if (node.backendDOMNodeId) {
209
- this.log(`找到元素: backendDOMNodeId=${node.backendDOMNodeId}`);
211
+ if (matchCount < this.nth) {
212
+ ++matchCount;
213
+ continue;
214
+ }
215
+ this.log(`找到元素: backendDOMNodeId=${node.backendDOMNodeId}${this.nth > 0 ?
216
+ `(第 ${this.nth} 个)` :
217
+ ''}`);
210
218
  // 将 backendDOMNodeId 转换为 nodeId
211
219
  const { nodeIds } = (await this.send('DOM.pushNodesByBackendIdsToFrontend', {
212
220
  backendNodeIds: [node.backendDOMNodeId],
@@ -223,12 +231,13 @@ export class Locator {
223
231
  */
224
232
  async findByText() {
225
233
  const { text, exact = false } = this.target;
226
- this.log(`使用文本内容定位: text=${text}, exact=${exact}`);
234
+ this.log(`使用文本内容定位: text=${text}, exact=${exact}${this.nth > 0 ? `, nth=${this.nth}` : ''}`);
227
235
  // 使用 XPath 查找包含文本的元素(正确转义引号)
236
+ // 用 . 而非 text():text() 只匹配直接子文本节点,. 匹配完整 textContent
228
237
  const escapedText = escapeXPathString(text);
229
238
  const xpath = exact
230
- ? `//*[text()=${escapedText}]`
231
- : `//*[contains(text(),${escapedText})]`;
239
+ ? `//*[normalize-space(.)=${escapedText}]`
240
+ : `//*[contains(.,${escapedText})]`;
232
241
  return this.findByXPathInternal(xpath);
233
242
  }
234
243
  /**
@@ -236,7 +245,7 @@ export class Locator {
236
245
  */
237
246
  async findByLabel() {
238
247
  const { label, exact = false } = this.target;
239
- this.log(`使用 label 定位: label=${label}, exact=${exact}`);
248
+ this.log(`使用 label 定位: label=${label}, exact=${exact}${this.nth > 0 ? `, nth=${this.nth}` : ''}`);
240
249
  // 转义 JS 字符串
241
250
  const escapedLabel = escapeJSString(label);
242
251
  // 使用 Runtime.evaluate 执行复杂查询
@@ -245,19 +254,45 @@ export class Locator {
245
254
  (function() {
246
255
  const targetLabel = "${escapedLabel}";
247
256
  const isExact = ${exact};
257
+ const nth = ${this.nth};
248
258
  const labels = document.querySelectorAll('label');
259
+ let matchCount = 0;
249
260
  for (const label of labels) {
250
261
  const text = label.textContent?.trim() ?? '';
251
262
  const match = isExact ? text === targetLabel : text.includes(targetLabel);
252
263
  if (match) {
253
- // 通过 for 属性找关联元素
264
+ let found = null;
265
+ // 1. 通过 for 属性找关联元素
254
266
  if (label.htmlFor) {
255
267
  const input = document.getElementById(label.htmlFor);
256
- if (input) return input;
268
+ if (input) found = input;
269
+ }
270
+ // 2. 找 label 内部的 input
271
+ if (!found) {
272
+ const inner = label.querySelector('input, select, textarea');
273
+ if (inner) found = inner;
274
+ }
275
+ // 3. 通过 label.id 推断(如 userName-label → #userName)
276
+ if (!found && label.id && label.id.endsWith('-label')) {
277
+ const inputId = label.id.slice(0, -6);
278
+ const input = document.getElementById(inputId);
279
+ if (input) found = input;
280
+ }
281
+ // 4. 在父元素的相邻兄弟中查找 input
282
+ if (!found) {
283
+ const parent = label.parentElement;
284
+ if (parent) {
285
+ for (const sibling of parent.parentElement?.children ?? []) {
286
+ if (sibling === parent) continue;
287
+ const input = sibling.querySelector('input, select, textarea');
288
+ if (input) { found = input; break; }
289
+ }
290
+ }
291
+ }
292
+ if (found) {
293
+ if (matchCount < nth) { ++matchCount; continue; }
294
+ return found;
257
295
  }
258
- // 找 label 内部的 input
259
- const input = label.querySelector('input, select, textarea');
260
- if (input) return input;
261
296
  }
262
297
  }
263
298
  return null;
@@ -275,7 +310,9 @@ export class Locator {
275
310
  */
276
311
  async findByPlaceholder() {
277
312
  const { placeholder, exact = false } = this.target;
278
- this.log(`使用 placeholder 定位: placeholder=${placeholder}, exact=${exact}`);
313
+ this.log(`使用 placeholder 定位: placeholder=${placeholder}, exact=${exact}${this.nth > 0 ?
314
+ `, nth=${this.nth}` :
315
+ ''}`);
279
316
  const escaped = escapeCSSAttributeValue(placeholder);
280
317
  const css = exact
281
318
  ? `[placeholder="${escaped}"]`
@@ -287,7 +324,7 @@ export class Locator {
287
324
  */
288
325
  async findByTitle() {
289
326
  const { title, exact = false } = this.target;
290
- this.log(`使用 title 属性定位: title=${title}, exact=${exact}`);
327
+ this.log(`使用 title 属性定位: title=${title}, exact=${exact}${this.nth > 0 ? `, nth=${this.nth}` : ''}`);
291
328
  const escaped = escapeCSSAttributeValue(title);
292
329
  const css = exact ? `[title="${escaped}"]` : `[title*="${escaped}"]`;
293
330
  return this.findByCSSInternal(css);
@@ -297,7 +334,7 @@ export class Locator {
297
334
  */
298
335
  async findByAlt() {
299
336
  const { alt, exact = false } = this.target;
300
- this.log(`使用 alt 属性定位: alt=${alt}, exact=${exact}`);
337
+ this.log(`使用 alt 属性定位: alt=${alt}, exact=${exact}${this.nth > 0 ? `, nth=${this.nth}` : ''}`);
301
338
  const escaped = escapeCSSAttributeValue(alt);
302
339
  const css = exact ? `[alt="${escaped}"]` : `[alt*="${escaped}"]`;
303
340
  return this.findByCSSInternal(css);
@@ -307,7 +344,7 @@ export class Locator {
307
344
  */
308
345
  async findByTestId() {
309
346
  const { testId } = this.target;
310
- this.log(`使用 data-testid 定位: testId=${testId}`);
347
+ this.log(`使用 data-testid 定位: testId=${testId}${this.nth > 0 ? `, nth=${this.nth}` : ''}`);
311
348
  const escaped = escapeCSSAttributeValue(testId);
312
349
  return this.findByCSSInternal(`[data-testid="${escaped}"]`);
313
350
  }
@@ -319,6 +356,41 @@ export class Locator {
319
356
  this.log(`使用 CSS 选择器定位: css=${css}`);
320
357
  return this.findByCSSInternal(css);
321
358
  }
359
+ /**
360
+ * 通过 CSS + 文本组合定位
361
+ */
362
+ async findByCSSAndText() {
363
+ const { css, text, exact = false } = this.target;
364
+ this.log(`使用 CSS+text 组合定位: css=${css}, text=${text}, exact=${exact}${this.nth > 0 ?
365
+ `, nth=${this.nth}` :
366
+ ''}`);
367
+ const escapedCSS = escapeJSString(css);
368
+ const escapedText = escapeJSString(text);
369
+ const { result } = (await this.send('Runtime.evaluate', {
370
+ expression: `
371
+ (function() {
372
+ const elements = document.querySelectorAll("${escapedCSS}");
373
+ const target = "${escapedText}";
374
+ const isExact = ${exact};
375
+ const nth = ${this.nth};
376
+ let matchCount = 0;
377
+ for (const el of elements) {
378
+ const content = (el.textContent ?? '').trim();
379
+ if (isExact ? content === target : content.includes(target)) {
380
+ if (matchCount < nth) { ++matchCount; continue; }
381
+ return el;
382
+ }
383
+ }
384
+ return null;
385
+ })()
386
+ `,
387
+ returnByValue: false,
388
+ }));
389
+ if (!result.objectId) {
390
+ throw new ElementNotFoundError(this.target, this.timeout, this.logs, this.getUrl?.());
391
+ }
392
+ return this.objectIdToNodeId(result.objectId);
393
+ }
322
394
  /**
323
395
  * 通过 XPath 定位
324
396
  */
@@ -333,6 +405,19 @@ export class Locator {
333
405
  async findByCSSInternal(css) {
334
406
  // 确保 DOM 已启用
335
407
  const { root } = (await this.send('DOM.getDocument'));
408
+ if (this.nth > 0) {
409
+ // nth > 0:用 querySelectorAll 取第 nth 个
410
+ const { nodeIds } = (await this.send('DOM.querySelectorAll', {
411
+ nodeId: root.nodeId,
412
+ selector: css,
413
+ }));
414
+ if (this.nth >= nodeIds.length) {
415
+ this.log(`第 ${this.nth} 个匹配元素不存在(共 ${nodeIds.length} 个): ${css}`);
416
+ throw new ElementNotFoundError(this.target, this.timeout, this.logs, this.getUrl?.());
417
+ }
418
+ this.log(`找到元素: nodeId=${nodeIds[this.nth]}(第 ${this.nth} 个)`);
419
+ return nodeIds[this.nth];
420
+ }
336
421
  const { nodeId } = (await this.send('DOM.querySelector', {
337
422
  nodeId: root.nodeId,
338
423
  selector: css,
@@ -348,9 +433,22 @@ export class Locator {
348
433
  * XPath 定位内部实现
349
434
  */
350
435
  async findByXPathInternal(xpath) {
436
+ const escapedXPath = escapeJSString(xpath);
437
+ if (this.nth > 0) {
438
+ // nth > 0:用 ORDERED_NODE_SNAPSHOT_TYPE 取第 nth 个
439
+ const { result } = (await this.send('Runtime.evaluate', {
440
+ expression: `(function() { var r = document.evaluate('${escapedXPath}', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); return r.snapshotLength > ${this.nth} ? r.snapshotItem(${this.nth}) : null })()`,
441
+ returnByValue: false,
442
+ }));
443
+ if (!result.objectId || result.subtype === 'null') {
444
+ this.log(`第 ${this.nth} 个匹配元素不存在: ${xpath}`);
445
+ throw new ElementNotFoundError(this.target, this.timeout, this.logs, this.getUrl?.());
446
+ }
447
+ return this.objectIdToNodeId(result.objectId);
448
+ }
351
449
  // 使用 Runtime.evaluate 执行 XPath
352
450
  const { result } = (await this.send('Runtime.evaluate', {
353
- expression: `document.evaluate('${xpath.replace(/'/g, '\\\'')}', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue`,
451
+ expression: `document.evaluate('${escapedXPath}', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue`,
354
452
  returnByValue: false,
355
453
  }));
356
454
  if (!result.objectId) {
@@ -363,6 +461,8 @@ export class Locator {
363
461
  * 将 RemoteObject ID 转换为 NodeId
364
462
  */
365
463
  async objectIdToNodeId(objectId) {
464
+ // DOM.requestNode 需要 DOM 树已初始化(通过 DOM.getDocument)
465
+ await this.send('DOM.getDocument');
366
466
  const { nodeId } = (await this.send('DOM.requestNode', {
367
467
  objectId,
368
468
  }));
@@ -378,7 +478,7 @@ export class Locator {
378
478
  async getBoxModel(nodeId) {
379
479
  const { model } = (await this.send('DOM.getBoxModel', { nodeId }));
380
480
  // content 是 [x1,y1, x2,y2, x3,y3, x4,y4] 格式的四个角坐标
381
- const [x1, y1, x2, , , , x4, y4] = model.content;
481
+ const [x1, y1, x2, , , , , y4] = model.content;
382
482
  return {
383
483
  x: x1,
384
484
  y: y1,
@@ -388,9 +488,18 @@ export class Locator {
388
488
  }
389
489
  /**
390
490
  * 发送 CDP 命令
491
+ *
492
+ * 使用 deadline 剩余时间而非静态 timeout,确保单个 CDP 命令不会超出整体预算。
493
+ * withRetry() 在重试间隙检查 deadline,此处保证单命令在当前 tick 内也受预算约束。
391
494
  */
392
495
  send(method, params) {
393
- return this.cdp.send(method, params, this.sessionId);
496
+ return this.cdp.send(method, params, this.sessionId, this.remaining());
497
+ }
498
+ /**
499
+ * deadline 剩余时间(至少 1ms,防止 0 被当作无超时)
500
+ */
501
+ remaining() {
502
+ return Math.max(1, this.deadline - Date.now());
394
503
  }
395
504
  /**
396
505
  * 记录日志
@@ -1 +1 @@
1
- {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/core/locator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAA;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAA;AACpC,OAAO,EAEH,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,GAGhB,MAAM,YAAY,CAAA;AAsBnB,MAAM,eAAe,GAAG,KAAK,CAAA;AAE7B;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,GAAW;IAClC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,GAAG,GAAG,CAAA;IACrB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,GAAG,GAAG,CAAA;IACrB,CAAC;IACD,0BAA0B;IAC1B,4BAA4B;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,OAAO,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;gBAC1B,OAAO,GAAG,EAAE,CAAA;YAChB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,IAAI,CAAA;QACnB,CAAC;IACL,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACV,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AACxC,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,GAAW;IAC/B,OAAO,GAAG;SACL,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,OAAO;IAMJ;IACA;IACA;IAPJ,IAAI,GAAa,EAAE,CAAA;IACnB,OAAO,CAAQ;IACf,MAAM,CAA2B;IAEzC,YACY,GAAc,EACd,MAAc,EACd,SAAkB,EAC1B,UAA0B,EAAE;QAHpB,QAAG,GAAH,GAAG,CAAW;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAS;QAG1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAA;QACjD,IAAI,CAAC,MAAM,GAAI,OAAO,CAAC,MAAM,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QACd,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEhD,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,iBAAiB;YACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;QAC7D,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAA;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACnB,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,CAAA;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAChC,MAAM,GAAG,GAAM,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAE7C,OAAO;YACH,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC;SAC5B,CAAA;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAChB,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,CAAA;QACpE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAI,EAAU;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAEhC,8BAA8B;QAC9B,MAAM,EAAC,MAAM,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACjD,MAAM;SACT,CAAC,CAAqC,CAAA;QAEvC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,WAAW;QACX,MAAM,EAAC,MAAM,EAAE,gBAAgB,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAC1E,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,mBAAmB,EAAE,EAAE;YACvB,aAAa,EAAE,IAAI;SACtB,CAAC,CAGD,CAAA;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,SAAS,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAA;QACrD,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAA;IACpB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACtB,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACrC,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA;QAC5B,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QAC7B,CAAC;QACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACnC,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QAC7B,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;QAC3B,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAA;QAC9B,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAA;QAC3B,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;QAC7B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACrE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB;QAC7B,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,MAAyC,CAAA;QACnE,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAAA;QAE5D,SAAS;QACT,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAEvC,YAAY;QACZ,MAAM,EAAC,KAAK,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAO9D,CAAA;QAED,UAAU;QACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzD,SAAQ;YACZ,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClD,SAAQ;YACZ,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAA;gBAC3D,gCAAgC;gBAChC,MAAM,EAAC,OAAO,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE;oBACtE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;iBAC1C,CAAC,CAA0B,CAAA;gBAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU;QACpB,MAAM,EAAC,IAAI,EAAE,KAAK,GAAG,KAAK,EAAC,GAAG,IAAI,CAAC,MAGlC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,kBAAkB,IAAI,WAAW,KAAK,EAAE,CAAC,CAAA;QAElD,6BAA6B;QAC7B,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAS,KAAK;YACL,CAAC,CAAC,cAAc,WAAW,GAAG;YAC9B,CAAC,CAAC,uBAAuB,WAAW,IAAI,CAAA;QAE5D,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACrB,MAAM,EAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAC,GAAG,IAAI,CAAC,MAGnC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,sBAAsB,KAAK,WAAW,KAAK,EAAE,CAAC,CAAA;QAEvD,YAAY;QACZ,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;QAE1C,6BAA6B;QAC7B,MAAM,EAAC,MAAM,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClD,UAAU,EAAE;;iCAES,YAAY;4BACjB,KAAK;;;;;;;;;;;;;;;;;;OAkB1B;YACK,aAAa,EAAE,KAAK;SACvB,CAAC,CAAsC,CAAA;QAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC3B,MAAM,EAAC,WAAW,EAAE,KAAK,GAAG,KAAK,EAAC,GAAG,IAAI,CAAC,MAGzC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,kCAAkC,WAAW,WAAW,KAAK,EAAE,CAAC,CAAA;QAEzE,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAA;QACpD,MAAM,GAAG,GAAO,KAAK;YACL,CAAC,CAAC,iBAAiB,OAAO,IAAI;YAC9B,CAAC,CAAC,kBAAkB,OAAO,IAAI,CAAA;QAE/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACrB,MAAM,EAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAC,GAAG,IAAI,CAAC,MAGnC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,wBAAwB,KAAK,WAAW,KAAK,EAAE,CAAC,CAAA;QAEzD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAO,KAAK,CAAC,CAAC,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,OAAO,IAAI,CAAA;QAExE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS;QACnB,MAAM,EAAC,GAAG,EAAE,KAAK,GAAG,KAAK,EAAC,GAAG,IAAI,CAAC,MAGjC,CAAA;QACD,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,WAAW,KAAK,EAAE,CAAC,CAAA;QAEnD,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,GAAG,GAAO,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,OAAO,IAAI,CAAA;QAEpE,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACtB,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,MAA4B,CAAA;QAClD,IAAI,CAAC,GAAG,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAA;QAE/C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,OAAO,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,SAAS;QACnB,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC,MAAyB,CAAA;QAC5C,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;QAEpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW;QACrB,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,MAA2B,CAAA;QAChD,IAAI,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAA;QAEvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,GAAW;QACvC,aAAa;QACb,MAAM,EAAC,IAAI,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAEjD,CAAA;QAED,MAAM,EAAC,MAAM,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACnD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,GAAG;SAChB,CAAC,CAAuB,CAAA;QAEzB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;YACzB,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,KAAa;QAC3C,+BAA+B;QAC/B,MAAM,EAAC,MAAM,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAClD,UAAU,EAAE,sBAAsB,KAAK,CAAC,OAAO,CAC3C,IAAI,EACJ,MAAM,CACT,+EAA+E;YAChF,aAAa,EAAE,KAAK;SACvB,CAAC,CAAsC,CAAA;QAExC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAA;YAC3B,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,QAAwB;QACnD,MAAM,EAAC,MAAM,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACjD,QAAQ;SACX,CAAC,CAAuB,CAAA;QAEzB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAClC,OAAO,MAAM,CAAA;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,MAAc;QACpC,MAAM,EAAC,KAAK,EAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAC,MAAM,EAAC,CAAC,CAE5D,CAAA;QAED,kDAAkD;QAClD,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,AAAD,EAAG,AAAD,EAAG,AAAD,EAAG,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;QAEhD,OAAO;YACH,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;YACL,KAAK,EAAE,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,EAAE,GAAG,EAAE;SAClB,CAAA;IACL,CAAC;IAED;;OAEG;IACK,IAAI,CAAI,MAAc,EAAE,MAAe;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;IAED;;OAEG;IACK,GAAG,CAAC,OAAe;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;CACJ"}
1
+ {"version":3,"file":"locator.js","sourceRoot":"","sources":["../../src/core/locator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC7B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,YAAiB,GAC3B,OAAO,CAAC,CAAC,CAAC,CA2BZ"}
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/core/retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC7B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,YAAiB,GAC3B,OAAO,CAAC,CAAC,CAAC,CA2BZ"}