@natchs/browser-mcp 2.3.1 → 2.4.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 (168) hide show
  1. package/README.md +295 -15
  2. package/dist/core/audit-logger.d.ts +3 -0
  3. package/dist/core/audit-logger.d.ts.map +1 -0
  4. package/dist/core/audit-logger.js +5 -0
  5. package/dist/core/audit-logger.js.map +1 -0
  6. package/dist/core/auth.d.ts.map +1 -1
  7. package/dist/core/auth.js +29 -1
  8. package/dist/core/auth.js.map +1 -1
  9. package/dist/core/body-fetch.d.ts.map +1 -1
  10. package/dist/core/body-fetch.js +26 -2
  11. package/dist/core/body-fetch.js.map +1 -1
  12. package/dist/core/browser-lifecycle.d.ts +29 -0
  13. package/dist/core/browser-lifecycle.d.ts.map +1 -0
  14. package/dist/core/browser-lifecycle.js +107 -0
  15. package/dist/core/browser-lifecycle.js.map +1 -0
  16. package/dist/core/browser-provider.d.ts +7 -3
  17. package/dist/core/browser-provider.d.ts.map +1 -1
  18. package/dist/core/browser-provider.js +65 -10
  19. package/dist/core/browser-provider.js.map +1 -1
  20. package/dist/core/config.d.ts +22 -6
  21. package/dist/core/config.d.ts.map +1 -1
  22. package/dist/core/config.js +6 -0
  23. package/dist/core/config.js.map +1 -1
  24. package/dist/core/errors.d.ts +0 -12
  25. package/dist/core/errors.d.ts.map +1 -1
  26. package/dist/core/errors.js +4 -13
  27. package/dist/core/errors.js.map +1 -1
  28. package/dist/core/index.d.ts +4 -0
  29. package/dist/core/index.d.ts.map +1 -0
  30. package/dist/core/index.js +3 -0
  31. package/dist/core/index.js.map +1 -0
  32. package/dist/core/network-capture-utils.d.ts +49 -0
  33. package/dist/core/network-capture-utils.d.ts.map +1 -0
  34. package/dist/core/network-capture-utils.js +56 -0
  35. package/dist/core/network-capture-utils.js.map +1 -0
  36. package/dist/core/network-capture.d.ts +2 -39
  37. package/dist/core/network-capture.d.ts.map +1 -1
  38. package/dist/core/network-capture.js +17 -54
  39. package/dist/core/network-capture.js.map +1 -1
  40. package/dist/core/network-export.d.ts +3 -3
  41. package/dist/core/network-export.d.ts.map +1 -1
  42. package/dist/core/network-export.js +13 -21
  43. package/dist/core/network-export.js.map +1 -1
  44. package/dist/core/output.d.ts +0 -28
  45. package/dist/core/output.d.ts.map +1 -1
  46. package/dist/core/registry.d.ts +2 -0
  47. package/dist/core/registry.d.ts.map +1 -1
  48. package/dist/core/registry.js +14 -3
  49. package/dist/core/registry.js.map +1 -1
  50. package/dist/core/sandbox.d.ts +4 -5
  51. package/dist/core/sandbox.d.ts.map +1 -1
  52. package/dist/core/sandbox.js +31 -23
  53. package/dist/core/sandbox.js.map +1 -1
  54. package/dist/core/session.d.ts +4 -3
  55. package/dist/core/session.d.ts.map +1 -1
  56. package/dist/core/session.js +43 -22
  57. package/dist/core/session.js.map +1 -1
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -0
  60. package/dist/index.js.map +1 -1
  61. package/dist/prompts/index.d.ts.map +1 -1
  62. package/dist/prompts/index.js +2 -1
  63. package/dist/prompts/index.js.map +1 -1
  64. package/dist/tools/admin/cache.js +3 -3
  65. package/dist/tools/admin/cache.js.map +1 -1
  66. package/dist/tools/admin/server-status.js +2 -2
  67. package/dist/tools/admin/server-status.js.map +1 -1
  68. package/dist/tools/browser/cookies.js +4 -4
  69. package/dist/tools/browser/cookies.js.map +1 -1
  70. package/dist/tools/browser/download.js +2 -2
  71. package/dist/tools/browser/download.js.map +1 -1
  72. package/dist/tools/browser/evaluate.d.ts.map +1 -1
  73. package/dist/tools/browser/evaluate.js +23 -6
  74. package/dist/tools/browser/evaluate.js.map +1 -1
  75. package/dist/tools/browser/index.d.ts.map +1 -1
  76. package/dist/tools/browser/index.js +2 -0
  77. package/dist/tools/browser/index.js.map +1 -1
  78. package/dist/tools/browser/page-info.js +2 -2
  79. package/dist/tools/browser/page-info.js.map +1 -1
  80. package/dist/tools/browser/pdf.js +4 -4
  81. package/dist/tools/browser/pdf.js.map +1 -1
  82. package/dist/tools/browser/screenshot.js +3 -3
  83. package/dist/tools/browser/screenshot.js.map +1 -1
  84. package/dist/tools/browser/scroll.d.ts +17 -0
  85. package/dist/tools/browser/scroll.d.ts.map +1 -0
  86. package/dist/tools/browser/scroll.js +30 -0
  87. package/dist/tools/browser/scroll.js.map +1 -0
  88. package/dist/tools/extraction/extract-css.js +7 -7
  89. package/dist/tools/extraction/extract-css.js.map +1 -1
  90. package/dist/tools/extraction/extract.js +4 -4
  91. package/dist/tools/extraction/extract.js.map +1 -1
  92. package/dist/tools/interaction/click.d.ts +1 -2
  93. package/dist/tools/interaction/click.d.ts.map +1 -1
  94. package/dist/tools/interaction/click.js +9 -15
  95. package/dist/tools/interaction/click.js.map +1 -1
  96. package/dist/tools/interaction/drag.js +4 -4
  97. package/dist/tools/interaction/drag.js.map +1 -1
  98. package/dist/tools/interaction/file-upload.d.ts.map +1 -1
  99. package/dist/tools/interaction/file-upload.js +11 -5
  100. package/dist/tools/interaction/file-upload.js.map +1 -1
  101. package/dist/tools/interaction/fill.d.ts.map +1 -1
  102. package/dist/tools/interaction/fill.js +5 -7
  103. package/dist/tools/interaction/fill.js.map +1 -1
  104. package/dist/tools/interaction/hover.js +3 -3
  105. package/dist/tools/interaction/hover.js.map +1 -1
  106. package/dist/tools/interaction/press-key.js +3 -3
  107. package/dist/tools/interaction/press-key.js.map +1 -1
  108. package/dist/tools/interaction/select.js +4 -4
  109. package/dist/tools/interaction/select.js.map +1 -1
  110. package/dist/tools/interaction/type.d.ts +1 -1
  111. package/dist/tools/interaction/type.js +4 -4
  112. package/dist/tools/interaction/type.js.map +1 -1
  113. package/dist/tools/navigation/back.js +2 -2
  114. package/dist/tools/navigation/back.js.map +1 -1
  115. package/dist/tools/navigation/forward.js +2 -2
  116. package/dist/tools/navigation/forward.js.map +1 -1
  117. package/dist/tools/navigation/navigate.js +2 -2
  118. package/dist/tools/navigation/navigate.js.map +1 -1
  119. package/dist/tools/navigation/refresh.js +2 -2
  120. package/dist/tools/navigation/refresh.js.map +1 -1
  121. package/dist/tools/navigation/wait-for.js +2 -2
  122. package/dist/tools/navigation/wait-for.js.map +1 -1
  123. package/dist/tools/network/console.js +2 -2
  124. package/dist/tools/network/console.js.map +1 -1
  125. package/dist/tools/network/dialog.js +2 -2
  126. package/dist/tools/network/dialog.js.map +1 -1
  127. package/dist/tools/network/network-clear.js +2 -2
  128. package/dist/tools/network/network-clear.js.map +1 -1
  129. package/dist/tools/network/network-entries.js +2 -2
  130. package/dist/tools/network/network-entries.js.map +1 -1
  131. package/dist/tools/network/network-export.d.ts +2 -2
  132. package/dist/tools/network/network-export.js +2 -2
  133. package/dist/tools/network/network-export.js.map +1 -1
  134. package/dist/tools/network/network-requests.js +2 -2
  135. package/dist/tools/network/network-requests.js.map +1 -1
  136. package/dist/tools/network/network-response.js +2 -2
  137. package/dist/tools/network/network-response.js.map +1 -1
  138. package/dist/tools/network/network-save.js +2 -2
  139. package/dist/tools/network/network-save.js.map +1 -1
  140. package/dist/tools/network/wait-nav.js +2 -2
  141. package/dist/tools/network/wait-nav.js.map +1 -1
  142. package/dist/tools/network/websocket-frames.js +2 -2
  143. package/dist/tools/network/websocket-frames.js.map +1 -1
  144. package/dist/tools/re/api-discover.d.ts +3 -3
  145. package/dist/tools/re/api-discover.d.ts.map +1 -1
  146. package/dist/tools/re/api-discover.js +32 -11
  147. package/dist/tools/re/api-discover.js.map +1 -1
  148. package/dist/tools/re/auth-analyze.d.ts +3 -3
  149. package/dist/tools/re/auth-analyze.d.ts.map +1 -1
  150. package/dist/tools/re/auth-analyze.js +43 -6
  151. package/dist/tools/re/auth-analyze.js.map +1 -1
  152. package/dist/tools/re/js-beautify.js +3 -3
  153. package/dist/tools/re/js-beautify.js.map +1 -1
  154. package/dist/tools/re/js-deobfuscate.js +3 -3
  155. package/dist/tools/re/js-deobfuscate.js.map +1 -1
  156. package/dist/tools/session/close.js +2 -2
  157. package/dist/tools/session/close.js.map +1 -1
  158. package/dist/tools/session/list.js +2 -2
  159. package/dist/tools/session/list.js.map +1 -1
  160. package/dist/tools/session/open.js +2 -2
  161. package/dist/tools/session/open.js.map +1 -1
  162. package/dist/tools/stealth/fingerprint.d.ts +13 -0
  163. package/dist/tools/stealth/fingerprint.d.ts.map +1 -1
  164. package/dist/tools/stealth/fingerprint.js +16 -3
  165. package/dist/tools/stealth/fingerprint.js.map +1 -1
  166. package/dist/tools/stealth/human-behavior.js +2 -2
  167. package/dist/tools/stealth/human-behavior.js.map +1 -1
  168. package/package.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"extract-css.js","sourceRoot":"","sources":["../../../src/tools/extraction/extract-css.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-css.js","sourceRoot":"","sources":["../../../src/tools/extraction/extract-css.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  export const ExtractHtmlArgs = z.object({});
5
5
  export const extractHtmlHandler = async (_args, ctx) => {
6
6
  try {
@@ -9,7 +9,7 @@ export const extractHtmlHandler = async (_args, ctx) => {
9
9
  return okResult({ html });
10
10
  }
11
11
  catch (err) {
12
- const message = err instanceof Error ? err.message : String(err);
12
+ const message = normalizeError(err);
13
13
  return errorResult(ErrorCode.EXTRACT_HTML_FAILED, message);
14
14
  }
15
15
  };
@@ -52,7 +52,7 @@ export const extractMarkdownHandler = async (_args, ctx) => {
52
52
  return okResult({ markdown: text });
53
53
  }
54
54
  catch (err) {
55
- const message = err instanceof Error ? err.message : String(err);
55
+ const message = normalizeError(err);
56
56
  return errorResult(ErrorCode.EXTRACT_MARKDOWN_FAILED, message);
57
57
  }
58
58
  };
@@ -64,7 +64,7 @@ export const extractTextHandler = async (_args, ctx) => {
64
64
  return okResult({ text });
65
65
  }
66
66
  catch (err) {
67
- const message = err instanceof Error ? err.message : String(err);
67
+ const message = normalizeError(err);
68
68
  return errorResult(ErrorCode.EXTRACT_TEXT_FAILED, message);
69
69
  }
70
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/tools/extraction/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../src/tools/extraction/extract.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { z } from 'zod';
2
- import type { ToolHandler } from '../../core/registry.js';
3
2
  import type { Page } from 'playwright';
4
3
  export declare const ClickArgs: z.ZodObject<{
5
4
  selector: z.ZodString;
@@ -11,5 +10,5 @@ export declare const ClickArgs: z.ZodObject<{
11
10
  selector: string;
12
11
  timeout?: number | undefined;
13
12
  }>;
14
- export declare const clickHandler: ToolHandler<Page>;
13
+ export declare const clickHandler: import("../../core/registry.js").ToolHandler<Page>;
15
14
  //# sourceMappingURL=click.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../../src/tools/interaction/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,SAAS;;;;;;;;;EAGpB,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,IAAI,CAoB1C,CAAC"}
1
+ {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../../src/tools/interaction/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,SAAS;;;;;;;;;EAGpB,CAAC;AAEH,eAAO,MAAM,YAAY,oDAcC,CAAC"}
@@ -1,31 +1,25 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
3
  import { ErrorCode } from '../../core/errors.js';
4
+ import { wrapHandler } from '../../core/registry.js';
4
5
  import { sanitizeInput } from '../../core/sandbox.js';
5
6
  export const ClickArgs = z.object({
6
7
  selector: z.string().min(1),
7
8
  timeout: z.number().int().min(100).max(120000).default(10000),
8
9
  });
9
- export const clickHandler = async (args, ctx) => {
10
+ export const clickHandler = wrapHandler(async (args, ctx) => {
10
11
  const parsed = ClickArgs.safeParse(args);
11
12
  if (!parsed.success) {
12
13
  return errorResult(ErrorCode.INVALID_ARGS, parsed.error.message);
13
14
  }
14
15
  const { selector, timeout } = parsed.data;
15
- const selResult = sanitizeInput(selector);
16
- if (selResult.blocked) {
16
+ const sel = sanitizeInput(selector);
17
+ if (!sel) {
17
18
  return errorResult(ErrorCode.URL_BLOCKED, 'Input contains potentially unsafe characters');
18
19
  }
19
- const sel = selResult.sanitized;
20
- try {
21
- const page = await ctx.getPage();
22
- await page.waitForSelector(sel, { timeout, state: 'visible' });
23
- await page.click(sel, { timeout });
24
- return okResult({ clicked: sel });
25
- }
26
- catch (err) {
27
- const message = err instanceof Error ? err.message : String(err);
28
- return errorResult(ErrorCode.CLICK_FAILED, message);
29
- }
30
- };
20
+ const page = await ctx.getPage();
21
+ await page.waitForSelector(sel, { timeout, state: 'visible' });
22
+ await page.click(sel, { timeout });
23
+ return okResult({ clicked: sel });
24
+ }, ErrorCode.CLICK_FAILED);
31
25
  //# sourceMappingURL=click.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"click.js","sourceRoot":"","sources":["../../../src/tools/interaction/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"click.js","sourceRoot":"","sources":["../../../src/tools/interaction/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AACpC,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  import { sanitizeInput } from '../../core/sandbox.js';
5
5
  export const DragArgs = z.object({
6
6
  selector: z.string().min(1),
@@ -12,15 +12,15 @@ export const dragHandler = async (args, ctx) => {
12
12
  if (!parsed.success)
13
13
  return errorResult(ErrorCode.INVALID_ARGS, parsed.error.message);
14
14
  const { selector, targetSelector, timeout } = parsed.data;
15
- const { sanitized: src } = sanitizeInput(selector);
16
- const { sanitized: tgt } = sanitizeInput(targetSelector);
15
+ const src = sanitizeInput(selector);
16
+ const tgt = sanitizeInput(targetSelector);
17
17
  try {
18
18
  const page = await ctx.getPage();
19
19
  await page.dragAndDrop(src, tgt, { timeout });
20
20
  return okResult({ dragged: src, to: tgt });
21
21
  }
22
22
  catch (err) {
23
- const message = err instanceof Error ? err.message : String(err);
23
+ const message = normalizeError(err);
24
24
  return errorResult(ErrorCode.DRAG_FAILED, message);
25
25
  }
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"drag.js","sourceRoot":"","sources":["../../../src/tools/interaction/drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"drag.js","sourceRoot":"","sources":["../../../src/tools/interaction/drag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1D,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../../src/tools/interaction/file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,IAAI,CAwB/C,CAAC"}
1
+ {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../../src/tools/interaction/file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,IAAI,CA8B/C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
4
- import { sanitizeInput } from '../../core/sandbox.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
+ import { sanitizeInput, validatePath } from '../../core/sandbox.js';
5
5
  export const FileUploadArgs = z.object({
6
6
  selector: z.string().min(1),
7
7
  paths: z.array(z.string()).min(1),
@@ -25,12 +25,18 @@ export const fileUploadHandler = async (args, ctx) => {
25
25
  }
26
26
  try {
27
27
  const page = await ctx.getPage();
28
- const input = await page.waitForSelector(sel.sanitized, { timeout, state: 'visible' });
28
+ const input = await page.waitForSelector(sel, { timeout, state: 'visible' });
29
+ for (const p of paths) {
30
+ const vp = validatePath(p);
31
+ if (!vp.valid) {
32
+ return errorResult(ErrorCode.PATH_BLOCKED, vp.error ?? 'Invalid path');
33
+ }
34
+ }
29
35
  await input.setInputFiles(paths);
30
- return okResult({ uploaded: sel.sanitized, files: paths.length });
36
+ return okResult({ uploaded: sel, files: paths.length });
31
37
  }
32
38
  catch (err) {
33
- const message = err instanceof Error ? err.message : String(err);
39
+ const message = normalizeError(err);
34
40
  return errorResult(ErrorCode.UPLOAD_FAILED, message);
35
41
  }
36
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../../src/tools/interaction/file-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACjD,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/F,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,MAAM,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../../src/tools/interaction/file-upload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../../src/tools/interaction/fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,QAAQ;;;;;;;;;;;;EAInB,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,IAAI,CAsBzC,CAAC"}
1
+ {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../../src/tools/interaction/fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,eAAO,MAAM,QAAQ;;;;;;;;;;;;EAInB,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,IAAI,CAoBzC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  import { sanitizeInput } from '../../core/sandbox.js';
5
5
  export const FillArgs = z.object({
6
6
  selector: z.string().min(1),
@@ -13,13 +13,11 @@ export const fillHandler = async (args, ctx) => {
13
13
  return errorResult(ErrorCode.INVALID_ARGS, parsed.error.message);
14
14
  }
15
15
  const { selector, value, timeout } = parsed.data;
16
- const selResult = sanitizeInput(selector);
17
- const valResult = sanitizeInput(value);
18
- if (selResult.blocked || valResult.blocked) {
16
+ const sel = sanitizeInput(selector);
17
+ const val = sanitizeInput(value);
18
+ if (!sel || !val) {
19
19
  return errorResult(ErrorCode.URL_BLOCKED, 'Input contains potentially unsafe characters');
20
20
  }
21
- const sel = selResult.sanitized;
22
- const val = valResult.sanitized;
23
21
  try {
24
22
  const page = await ctx.getPage();
25
23
  await page.waitForSelector(sel, { timeout, state: 'visible' });
@@ -27,7 +25,7 @@ export const fillHandler = async (args, ctx) => {
27
25
  return okResult({ filled: sel });
28
26
  }
29
27
  catch (err) {
30
- const message = err instanceof Error ? err.message : String(err);
28
+ const message = normalizeError(err);
31
29
  return errorResult(ErrorCode.FILL_FAILED, message);
32
30
  }
33
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/tools/interaction/fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACjD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QAC3C,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;IAChC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/tools/interaction/fill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACjD,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,8CAA8C,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  import { sanitizeInput } from '../../core/sandbox.js';
5
5
  export const HoverArgs = z.object({
6
6
  selector: z.string().min(1),
@@ -11,7 +11,7 @@ export const hoverHandler = async (args, ctx) => {
11
11
  if (!parsed.success)
12
12
  return errorResult(ErrorCode.INVALID_ARGS, parsed.error.message);
13
13
  const { selector, timeout } = parsed.data;
14
- const { sanitized: sel } = sanitizeInput(selector);
14
+ const sel = sanitizeInput(selector);
15
15
  try {
16
16
  const page = await ctx.getPage();
17
17
  await page.waitForSelector(sel, { timeout, state: 'visible' });
@@ -19,7 +19,7 @@ export const hoverHandler = async (args, ctx) => {
19
19
  return okResult({ hovered: sel });
20
20
  }
21
21
  catch (err) {
22
- const message = err instanceof Error ? err.message : String(err);
22
+ const message = normalizeError(err);
23
23
  return errorResult(ErrorCode.HOVER_FAILED, message);
24
24
  }
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"hover.js","sourceRoot":"","sources":["../../../src/tools/interaction/hover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"hover.js","sourceRoot":"","sources":["../../../src/tools/interaction/hover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACjE,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1C,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  import { sanitizeInput } from '../../core/sandbox.js';
5
5
  export const PressKeyArgs = z.object({
6
6
  key: z.string().min(1),
@@ -10,14 +10,14 @@ export const pressKeyHandler = async (args, ctx) => {
10
10
  if (!parsed.success)
11
11
  return errorResult(ErrorCode.INVALID_ARGS, parsed.error.message);
12
12
  const { key } = parsed.data;
13
- const { sanitized: k } = sanitizeInput(key);
13
+ const k = sanitizeInput(key);
14
14
  try {
15
15
  const page = await ctx.getPage();
16
16
  await page.keyboard.press(k);
17
17
  return okResult({ pressed: k });
18
18
  }
19
19
  catch (err) {
20
- const message = err instanceof Error ? err.message : String(err);
20
+ const message = normalizeError(err);
21
21
  return errorResult(ErrorCode.PRESS_KEY_FAILED, message);
22
22
  }
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"press-key.js","sourceRoot":"","sources":["../../../src/tools/interaction/press-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"press-key.js","sourceRoot":"","sources":["../../../src/tools/interaction/press-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  import { sanitizeInput } from '../../core/sandbox.js';
5
5
  export const SelectArgs = z.object({
6
6
  selector: z.string().min(1),
@@ -12,8 +12,8 @@ export const selectHandler = async (args, ctx) => {
12
12
  if (!parsed.success)
13
13
  return errorResult(ErrorCode.INVALID_ARGS, parsed.error.message);
14
14
  const { selector, values, timeout } = parsed.data;
15
- const { sanitized: sel } = sanitizeInput(selector);
16
- const sanitizedValues = values.map(v => sanitizeInput(v).sanitized);
15
+ const sel = sanitizeInput(selector);
16
+ const sanitizedValues = values.map(v => sanitizeInput(v));
17
17
  try {
18
18
  const page = await ctx.getPage();
19
19
  await page.waitForSelector(sel, { timeout, state: 'visible' });
@@ -21,7 +21,7 @@ export const selectHandler = async (args, ctx) => {
21
21
  return okResult({ selected: sel, values: sanitizedValues });
22
22
  }
23
23
  catch (err) {
24
- const message = err instanceof Error ? err.message : String(err);
24
+ const message = normalizeError(err);
25
25
  return errorResult(ErrorCode.SELECT_FAILED, message);
26
26
  }
27
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/tools/interaction/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAClD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/tools/interaction/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;AACH,CAAC,CAAC"}
@@ -7,8 +7,8 @@ export declare const TypeArgs: z.ZodObject<{
7
7
  delay: z.ZodDefault<z.ZodNumber>;
8
8
  timeout: z.ZodDefault<z.ZodNumber>;
9
9
  }, "strip", z.ZodTypeAny, {
10
- timeout: number;
11
10
  text: string;
11
+ timeout: number;
12
12
  selector: string;
13
13
  delay: number;
14
14
  }, {
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  import { sanitizeInput } from '../../core/sandbox.js';
5
5
  export const TypeArgs = z.object({
6
6
  selector: z.string().min(1),
@@ -13,8 +13,8 @@ export const typeHandler = async (args, ctx) => {
13
13
  if (!parsed.success)
14
14
  return errorResult(ErrorCode.INVALID_ARGS, parsed.error.message);
15
15
  const { selector, text, delay, timeout } = parsed.data;
16
- const { sanitized: sel } = sanitizeInput(selector);
17
- const { sanitized: txt } = sanitizeInput(text);
16
+ const sel = sanitizeInput(selector);
17
+ const txt = sanitizeInput(text);
18
18
  try {
19
19
  const page = await ctx.getPage();
20
20
  await page.waitForSelector(sel, { timeout, state: 'visible' });
@@ -23,7 +23,7 @@ export const typeHandler = async (args, ctx) => {
23
23
  return okResult({ typed: sel, text: txt });
24
24
  }
25
25
  catch (err) {
26
- const message = err instanceof Error ? err.message : String(err);
26
+ const message = normalizeError(err);
27
27
  return errorResult(ErrorCode.TYPE_FAILED, message);
28
28
  }
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/tools/interaction/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/tools/interaction/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtF,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACvD,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  export const GoBackArgs = z.object({});
5
5
  export const goBackHandler = async (_args, ctx) => {
6
6
  try {
@@ -9,7 +9,7 @@ export const goBackHandler = async (_args, ctx) => {
9
9
  return okResult({ finalUrl: page.url() });
10
10
  }
11
11
  catch (err) {
12
- const message = err instanceof Error ? err.message : String(err);
12
+ const message = normalizeError(err);
13
13
  return errorResult(ErrorCode.GO_BACK_FAILED, message);
14
14
  }
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"back.js","sourceRoot":"","sources":["../../../src/tools/navigation/back.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAsB,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACnE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"back.js","sourceRoot":"","sources":["../../../src/tools/navigation/back.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAsB,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACnE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  export const GoForwardArgs = z.object({});
5
5
  export const goForwardHandler = async (_args, ctx) => {
6
6
  try {
@@ -9,7 +9,7 @@ export const goForwardHandler = async (_args, ctx) => {
9
9
  return okResult({ finalUrl: page.url() });
10
10
  }
11
11
  catch (err) {
12
- const message = err instanceof Error ? err.message : String(err);
12
+ const message = normalizeError(err);
13
13
  return errorResult(ErrorCode.GO_FORWARD_FAILED, message);
14
14
  }
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"forward.js","sourceRoot":"","sources":["../../../src/tools/navigation/forward.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAsB,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"forward.js","sourceRoot":"","sources":["../../../src/tools/navigation/forward.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAsB,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { okResult, errorResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  import { validateUrl } from '../../core/sandbox.js';
5
5
  export const NavigateArgs = z.object({
6
6
  url: z.string().url(),
@@ -45,7 +45,7 @@ export const navigateHandler = async (args, ctx) => {
45
45
  return okResult({ finalUrl });
46
46
  }
47
47
  catch (err) {
48
- const message = err instanceof Error ? err.message : String(err);
48
+ const message = normalizeError(err);
49
49
  return errorResult(ErrorCode.NAVIGATION_FAILED, message);
50
50
  }
51
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../src/tools/navigation/navigate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigate.js","sourceRoot":"","sources":["../../../src/tools/navigation/navigate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  export const RefreshArgs = z.object({
5
5
  waitUntil: z
6
6
  .enum(['load', 'domcontentloaded', 'networkidle', 'commit'])
@@ -19,7 +19,7 @@ export const refreshHandler = async (args, ctx) => {
19
19
  return okResult({ finalUrl: page.url() });
20
20
  }
21
21
  catch (err) {
22
- const message = err instanceof Error ? err.message : String(err);
22
+ const message = normalizeError(err);
23
23
  return errorResult(ErrorCode.REFRESH_FAILED, message);
24
24
  }
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/tools/navigation/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC3D,OAAO,CAAC,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/tools/navigation/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC3D,OAAO,CAAC,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { errorResult, okResult } from '../../core/output.js';
3
- import { ErrorCode } from '../../core/errors.js';
3
+ import { ErrorCode, normalizeError } from '../../core/errors.js';
4
4
  export const WaitForArgs = z.object({
5
5
  timeout: z.number().int().min(100).max(120000).default(5000),
6
6
  });
@@ -16,7 +16,7 @@ export const waitForHandler = async (args, ctx) => {
16
16
  return okResult({ waited: timeout });
17
17
  }
18
18
  catch (err) {
19
- const message = err instanceof Error ? err.message : String(err);
19
+ const message = normalizeError(err);
20
20
  return errorResult(ErrorCode.WAIT_FAILED, message);
21
21
  }
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"wait-for.js","sourceRoot":"","sources":["../../../src/tools/navigation/wait-for.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"wait-for.js","sourceRoot":"","sources":["../../../src/tools/navigation/wait-for.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAsB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC"}