supersurf-mcp 1.9.2 → 1.10.1

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 (114) hide show
  1. package/dist/backend/handlers.d.ts.map +1 -1
  2. package/dist/backend/handlers.js +3 -1
  3. package/dist/backend/handlers.js.map +1 -1
  4. package/dist/tips.d.ts +2 -1
  5. package/dist/tips.d.ts.map +1 -1
  6. package/dist/tips.js +60 -5
  7. package/dist/tips.js.map +1 -1
  8. package/dist/tools/cdp.d.ts +9 -0
  9. package/dist/tools/cdp.d.ts.map +1 -0
  10. package/dist/tools/cdp.js +34 -0
  11. package/dist/tools/cdp.js.map +1 -0
  12. package/dist/tools/dispatcher.d.ts +19 -0
  13. package/dist/tools/dispatcher.d.ts.map +1 -0
  14. package/dist/tools/dispatcher.js +155 -0
  15. package/dist/tools/dispatcher.js.map +1 -0
  16. package/dist/tools/element-resolver.d.ts +27 -0
  17. package/dist/tools/element-resolver.d.ts.map +1 -0
  18. package/dist/tools/element-resolver.js +126 -0
  19. package/dist/tools/element-resolver.js.map +1 -0
  20. package/dist/tools/frames.d.ts +49 -0
  21. package/dist/tools/frames.d.ts.map +1 -0
  22. package/dist/tools/frames.js +209 -0
  23. package/dist/tools/frames.js.map +1 -0
  24. package/dist/tools/interaction/clear.d.ts +2 -0
  25. package/dist/tools/interaction/clear.d.ts.map +1 -0
  26. package/dist/tools/interaction/clear.js +29 -0
  27. package/dist/tools/interaction/clear.js.map +1 -0
  28. package/dist/tools/interaction/click.d.ts +2 -0
  29. package/dist/tools/interaction/click.d.ts.map +1 -0
  30. package/dist/tools/interaction/click.js +54 -0
  31. package/dist/tools/interaction/click.js.map +1 -0
  32. package/dist/tools/interaction/file-upload.d.ts +2 -0
  33. package/dist/tools/interaction/file-upload.d.ts.map +1 -0
  34. package/dist/tools/interaction/file-upload.js +58 -0
  35. package/dist/tools/interaction/file-upload.js.map +1 -0
  36. package/dist/tools/interaction/force-pseudo-state.d.ts +2 -0
  37. package/dist/tools/interaction/force-pseudo-state.d.ts.map +1 -0
  38. package/dist/tools/interaction/force-pseudo-state.js +32 -0
  39. package/dist/tools/interaction/force-pseudo-state.js.map +1 -0
  40. package/dist/tools/interaction/helpers.d.ts +14 -0
  41. package/dist/tools/interaction/helpers.d.ts.map +1 -0
  42. package/dist/tools/interaction/helpers.js +58 -0
  43. package/dist/tools/interaction/helpers.js.map +1 -0
  44. package/dist/tools/interaction/hover.d.ts +2 -0
  45. package/dist/tools/interaction/hover.d.ts.map +1 -0
  46. package/dist/tools/interaction/hover.js +14 -0
  47. package/dist/tools/interaction/hover.js.map +1 -0
  48. package/dist/tools/interaction/index.d.ts +40 -0
  49. package/dist/tools/interaction/index.d.ts.map +1 -0
  50. package/dist/tools/interaction/index.js +100 -0
  51. package/dist/tools/interaction/index.js.map +1 -0
  52. package/dist/tools/interaction/mouse-click.d.ts +2 -0
  53. package/dist/tools/interaction/mouse-click.d.ts.map +1 -0
  54. package/dist/tools/interaction/mouse-click.js +36 -0
  55. package/dist/tools/interaction/mouse-click.js.map +1 -0
  56. package/dist/tools/interaction/mouse-move.d.ts +2 -0
  57. package/dist/tools/interaction/mouse-move.d.ts.map +1 -0
  58. package/dist/tools/interaction/mouse-move.js +12 -0
  59. package/dist/tools/interaction/mouse-move.js.map +1 -0
  60. package/dist/tools/interaction/option-matcher.d.ts +2 -0
  61. package/dist/tools/interaction/option-matcher.d.ts.map +1 -0
  62. package/dist/tools/interaction/option-matcher.js +49 -0
  63. package/dist/tools/interaction/option-matcher.js.map +1 -0
  64. package/dist/tools/interaction/press-key.d.ts +2 -0
  65. package/dist/tools/interaction/press-key.d.ts.map +1 -0
  66. package/dist/tools/interaction/press-key.js +23 -0
  67. package/dist/tools/interaction/press-key.js.map +1 -0
  68. package/dist/tools/interaction/registry.d.ts +8 -0
  69. package/dist/tools/interaction/registry.d.ts.map +1 -0
  70. package/dist/tools/interaction/registry.js +27 -0
  71. package/dist/tools/interaction/registry.js.map +1 -0
  72. package/dist/tools/interaction/scroll.d.ts +2 -0
  73. package/dist/tools/interaction/scroll.d.ts.map +1 -0
  74. package/dist/tools/interaction/scroll.js +76 -0
  75. package/dist/tools/interaction/scroll.js.map +1 -0
  76. package/dist/tools/interaction/select-custom.d.ts +2 -0
  77. package/dist/tools/interaction/select-custom.d.ts.map +1 -0
  78. package/dist/tools/interaction/select-custom.js +151 -0
  79. package/dist/tools/interaction/select-custom.js.map +1 -0
  80. package/dist/tools/interaction/select-option.d.ts +2 -0
  81. package/dist/tools/interaction/select-option.d.ts.map +1 -0
  82. package/dist/tools/interaction/select-option.js +39 -0
  83. package/dist/tools/interaction/select-option.js.map +1 -0
  84. package/dist/tools/interaction/type.d.ts +2 -0
  85. package/dist/tools/interaction/type.d.ts.map +1 -0
  86. package/dist/tools/interaction/type.js +39 -0
  87. package/dist/tools/interaction/type.js.map +1 -0
  88. package/dist/tools/interaction/types.d.ts +8 -0
  89. package/dist/tools/interaction/types.d.ts.map +1 -0
  90. package/dist/tools/interaction/types.js +3 -0
  91. package/dist/tools/interaction/types.js.map +1 -0
  92. package/dist/tools/interaction/wait.d.ts +2 -0
  93. package/dist/tools/interaction/wait.d.ts.map +1 -0
  94. package/dist/tools/interaction/wait.js +24 -0
  95. package/dist/tools/interaction/wait.js.map +1 -0
  96. package/dist/tools/misc.d.ts.map +1 -1
  97. package/dist/tools/misc.js +6 -0
  98. package/dist/tools/misc.js.map +1 -1
  99. package/dist/tools/result-formatter.d.ts +38 -0
  100. package/dist/tools/result-formatter.d.ts.map +1 -0
  101. package/dist/tools/result-formatter.js +120 -0
  102. package/dist/tools/result-formatter.js.map +1 -0
  103. package/dist/tools/schemas.d.ts.map +1 -1
  104. package/dist/tools/schemas.js +7 -0
  105. package/dist/tools/schemas.js.map +1 -1
  106. package/dist/tools.d.ts +13 -53
  107. package/dist/tools.d.ts.map +1 -1
  108. package/dist/tools.js +40 -424
  109. package/dist/tools.js.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/tools/interaction.d.ts +0 -51
  112. package/dist/tools/interaction.d.ts.map +0 -1
  113. package/dist/tools/interaction.js +0 -718
  114. package/dist/tools/interaction.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/backend/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAsBpD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA6Kd;AAID;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA0Dd;AAID,+EAA+E;AAC/E,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA+Cd;AAID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CAoDd;AAyDD,6CAA6C;AAC7C,wBAAsB,eAAe,CACnC,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA2Bd;AAED,0CAA0C;AAC1C,wBAAsB,aAAa,CACjC,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CAiCd;AAED,yCAAyC;AACzC,wBAAsB,eAAe,CACnC,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CAsBd;AAID,+FAA+F;AAC/F,wBAAgB,WAAW,CACzB,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,GAAG,CAiBL"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/backend/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAuBpD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA6Kd;AAID;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA2Dd;AAID,+EAA+E;AAC/E,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA+Cd;AAID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CAoDd;AAyDD,6CAA6C;AAC7C,wBAAsB,eAAe,CACnC,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CA2Bd;AAED,0CAA0C;AAC1C,wBAAsB,aAAa,CACjC,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CAiCd;AAED,yCAAyC;AACzC,wBAAsB,eAAe,CACnC,GAAG,EAAE,oBAAoB,EACzB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,GAAG,CAAC,CAsBd;AAID,+FAA+F;AAC/F,wBAAgB,WAAW,CACzB,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,GAAG,CAiBL"}
@@ -60,6 +60,7 @@ const daemon_spawn_1 = require("../daemon-spawn");
60
60
  const logger_1 = require("../logger");
61
61
  const index_1 = require("../experimental/index");
62
62
  const index_2 = require("../experimental/mouse-humanization/index");
63
+ const tips_1 = require("../tips");
63
64
  const log = (0, logger_1.createLog)('[Conn]');
64
65
  // Lazy-load BrowserBridge to break circular dependency (same pattern as backend.ts)
65
66
  let BrowserBridge = null;
@@ -251,9 +252,10 @@ async function onDisconnect(mgr, options = {}) {
251
252
  await mgr.extensionServer.stop();
252
253
  mgr.extensionServer = null;
253
254
  }
254
- // Close session log
255
+ // Close session log + clear tip suppression counters
255
256
  if (mgr.clientId) {
256
257
  (0, logger_1.getRegistry)().clearSessionLog(mgr.clientId);
258
+ (0, tips_1.clearTipCounters)(mgr.clientId);
257
259
  }
258
260
  mgr.state = 'passive';
259
261
  mgr.connectedBrowserName = null;
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/backend/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/backend/handlers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BH,8BAiLC;AASD,oCA8DC;AAKD,4BAkDC;AASD,wDAwDC;AA0DD,0CA+BC;AAGD,sCAoCC;AAGD,0CA0BC;AAKD,kCAoBC;AAjkBD,oDAAgD;AAChD,kDAA4D;AAC5D,sCAAmD;AACnD,iDAA8E;AAC9E,oEAAkI;AAClI,kCAA2C;AAE3C,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAC;AAEhC,oFAAoF;AACpF,IAAI,aAAa,GAAQ,IAAI,CAAC;AAE9B,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,wDAAa,UAAU,GAAC,CAAC;QACrC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;IACpC,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,iEAAiE;AAEjE;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAC7B,GAAyB,EACzB,OAAgC,EAAE,EAClC,UAAmC,EAAE;IAErC,IACE,CAAC,IAAI,CAAC,SAAS;QACf,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;QACjC,IAAI,CAAC,SAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC9C,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAC1F,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8HAA8H;iBACrI;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,iBAAiB,EAAE,IAAI;gBACvB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,oBAAoB;gBACjC,SAAS,EAAE,GAAG,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,GAAG,CAAC,YAAY,EAAE;wBAClB,uCAAuC,GAAG,CAAC,KAAK,oBAAoB,GAAG,CAAC,QAAQ,4CAA4C;iBAC/H;aACF;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,QAAQ,GAAI,IAAI,CAAC,SAAoB,CAAC,IAAI,EAAE,CAAC;IACjD,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEvC,yBAAyB;IACzB,MAAM,GAAG,GAAG,IAAA,oBAAW,GAAE,CAAC;IAC1B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;QAErC,8BAA8B;QAC9B,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACrC,MAAM,IAAA,2BAAY,EAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QAE7E,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,4BAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAS,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;QAE7B,iCAAiC;QACjC,GAAG,CAAC,eAAe,CAAC,WAAW,GAAG,GAAG,EAAE;YACrC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACrD,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;QAEF,2BAA2B;QAC3B,GAAG,CAAC,eAAe,CAAC,eAAe,GAAG,CAAC,OAAY,EAAE,EAAE;YACrD,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACjC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,GAAG,CAAC,WAAW,GAAG;oBAChB,GAAG,GAAG,CAAC,WAAW;oBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,+CAA+C;QAC/C,0BAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QACrD,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAE9E,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;QACrB,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC;QAE1C,4BAA4B;QAC5B,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;QAE7C,4CAA4C;QAC5C,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACrD,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QAED,2EAA2E;QAC3E,IAAA,yBAAiB,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE9B,2CAA2C;QAC3C,GAAG,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE,CAC9C,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CACxC,CAAC;QAEF,sDAAsD;QACtD,GAAG,CAAC,mBAAmB,CACrB,MAAM,EACN,iQAAiQ;YACjQ,6KAA6K,EAC7K,aAAa,CACd,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAElB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,oBAAoB;gBACjC,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,IAAI;aACL,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,GAAG,CAAC,YAAY,EAAE;wBAClB,8BAA8B;wBAC9B,qBAAqB;wBACrB,gBAAgB,GAAG,CAAC,oBAAoB,MAAM;wBAC9C,mBAAmB;wBACnB,sDAAsD;wBACtD,gEAAgE;wBAChE,qEAAqE;iBACxE;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACjC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjD,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;QAEtB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mEAAmE;AAEnE;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAChC,GAAyB,EACzB,UAAmC,EAAE;IAErC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzE,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,GAAG,CAAC,YAAY,EAAE;wBAClB,qFAAqF;iBACxF;aACF;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAExB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC1B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,qDAAqD;IACrD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAA,oBAAW,GAAE,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAA,uBAAgB,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;IACtB,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,IAAA,sBAAmB,EAAC,UAAU,CAAC,CAAC;IAChC,0BAAkB,CAAC,MAAM,EAAE,CAAC;IAE5B,GAAG,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE,CAC9C,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CACxC,CAAC;IAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,GAAG,CAAC,YAAY,EAAE;oBAClB,iFAAiF;aACpF;SACF;KACF,CAAC;AACJ,CAAC;AAED,gEAAgE;AAEhE,+EAA+E;AACxE,KAAK,UAAU,QAAQ,CAC5B,GAAyB,EACzB,UAAmC,EAAE;IAErC,MAAM,UAAU,GAA4B;QAC1C,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,oBAAoB;QACjC,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,YAAY,EAAE,GAAG,CAAC,WAAW;YAC3B,CAAC,CAAC;gBACE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK;gBAC5B,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK;gBAC5B,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG;aACzB;YACH,CAAC,CAAC,IAAI;KACT,CAAC;IAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,GAAG,CAAC,YAAY,EAAE;wBAClB,6EAA6E;iBAChF;aACF;SACF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,8BAA8B,CAAC;IAChD,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,UAAU,IAAI,gBAAgB,GAAG,CAAC,oBAAoB,IAAI,CAAC;IAC7D,CAAC;IAED,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,UAAU,IAAI,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,UAAU,IAAI,CAAC;QAC9F,UAAU,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC;QAC7D,UAAU,IAAI,uBAAuB,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,UAAU,IAAI,kEAAkE,CAAC;IACnF,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,gEAAgE;AAEhE;;;;GAIG;AACI,KAAK,UAAU,sBAAsB,CAC1C,GAAyB,EACzB,OAAgC,EAAE,EAClC,UAAmC,EAAE;IAErC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,0BAAkB,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,0BAAkB,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,0BAAkB,CAAC,aAAa,EAAE,EAAE,CAAC;QAC/F,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE;wBACtB,+BAA+B;wBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC9F,wDAAwD;iBAC3D,CAAC;SACH,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,0BAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;gBACjC,IAAI,KAAK,EAAE,CAAC;oBACV,IAAA,mBAAgB,EAAC,UAAU,CAAC,CAAC;oBAC7B,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;wBACxB,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAA,sBAAmB,EAAC,UAAU,CAAC,CAAC;oBAChC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;wBACxB,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC3F,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,0BAAkB,CAAC,SAAS,EAAE,CAAC;IAC9C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE;oBACtB,uCAAuC;oBACvC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACjG,CAAC;KACH,CAAC;AACJ,CAAC;AAUD;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CACjC,GAAyB,EACzB,EAA0C;IAE1C,yCAAyC;IACzC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;YACR,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,eAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;YAC3F,YAAY,EAAE,GAAG,CAAC,kBAAkB;SACrC,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,MAAM,IAAA,2BAAY,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,4BAAY,CAAC,QAAQ,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,MAAM,EAAE,CAAC;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;YACjF,YAAY,EAAE,UAAU,CAAC,YAAY;SACtC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,sBAAsB,CAC7B,MAAoB,EACpB,OAAgC;IAEhC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,oIAAoI,CAAC;QACjJ,OAAO,OAAO,CAAC,SAAS;YACtB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,EAAE;YACjE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6CAA6C;AACtC,KAAK,UAAU,eAAe,CACnC,GAAyB,EACzB,OAAgC,EAAE,EAClC,UAAmC,EAAE;IAErC,IAAI,CAAC;QACH,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACrD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,EAAE,KAAK,CAAC,CAAC;YAEV,IAAI,OAAO,CAAC,SAAS;gBAAE,OAAO,MAAM,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE;4BACtB,yBAAyB;4BACzB,aAAc,MAAc,CAAC,OAAO,EAAE,IAAI,IAAI;4BAC9C,gBAAiB,MAAc,CAAC,OAAO,EAAE,OAAO,MAAM;4BACtD,0CAA2C,MAAc,CAAC,OAAO,EAAE,IAAI,iBAAiB;qBAC3F,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACjG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjH,CAAC;AACH,CAAC;AAED,0CAA0C;AACnC,KAAK,UAAU,aAAa,CACjC,GAAyB,EACzB,UAAmC,EAAE;IAErC,IAAI,CAAC;QACH,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,SAAS;gBAAE,OAAO,MAAM,CAAC;YAErC,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;YAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,wDAAwD;yBACpF,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACpC,OAAO,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CACzE,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,iBAAiB,QAAQ,CAAC,MAAM,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACtF,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7G,CAAC;AACH,CAAC;AAED,yCAAyC;AAClC,KAAK,UAAU,eAAe,CACnC,GAAyB,EACzB,OAAgC,EAAE,EAClC,UAAmC,EAAE;IAErC,IAAI,CAAC;QACH,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBACrD,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,EAAE,KAAK,CAAC,CAAC;YAEV,IAAI,OAAO,CAAC,SAAS;gBAAE,OAAO,MAAM,CAAC;YACrC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,mCAAmC,IAAI,CAAC,IAAI,qBAAqB;qBAC7F,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QACjG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjH,CAAC;AACH,CAAC;AAED,gEAAgE;AAEhE,+FAA+F;AAC/F,SAAgB,WAAW,CACzB,GAAyB,EACzB,UAAmC,EAAE;IAErC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;KAC7D,CAAC;AACJ,CAAC"}
package/dist/tips.d.ts CHANGED
@@ -7,5 +7,6 @@
7
7
  *
8
8
  * @module tips
9
9
  */
10
- export declare function getTip(tool: string, params: Record<string, unknown>, result: 'ok' | 'error', error?: string): string | null;
10
+ export declare function clearTipCounters(sessionId: string): void;
11
+ export declare function getTip(tool: string, params: Record<string, unknown>, result: 'ok' | 'error', error?: string, sessionId?: string): string | null;
11
12
  //# sourceMappingURL=tips.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tips.d.ts","sourceRoot":"","sources":["../src/tips.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyKH,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,IAAI,GAAG,OAAO,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAYf"}
1
+ {"version":3,"file":"tips.d.ts","sourceRoot":"","sources":["../src/tips.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyBH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAExD;AAgLD,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,IAAI,GAAG,OAAO,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAmCf"}
package/dist/tips.js CHANGED
@@ -9,7 +9,23 @@
9
9
  * @module tips
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.clearTipCounters = clearTipCounters;
12
13
  exports.getTip = getTip;
14
+ /** Max consecutive firings per (session, tool, tip_id) before suppression kicks in. */
15
+ const SUPPRESS_AFTER = 3;
16
+ // session_id -> (`${tool}:${tip_id}` -> consecutive firing count)
17
+ const tipCounters = new Map();
18
+ function getSessionCounters(sessionId) {
19
+ let s = tipCounters.get(sessionId);
20
+ if (!s) {
21
+ s = new Map();
22
+ tipCounters.set(sessionId, s);
23
+ }
24
+ return s;
25
+ }
26
+ function clearTipCounters(sessionId) {
27
+ tipCounters.delete(sessionId);
28
+ }
13
29
  function getEvalCode(params) {
14
30
  return String(params.expression ?? params.script ?? params.function ?? '');
15
31
  }
@@ -23,6 +39,7 @@ function hasMutation(code) {
23
39
  }
24
40
  const TIPS = [
25
41
  {
42
+ id: 'eval-click-to-interact',
26
43
  priority: 10,
27
44
  tool: 'browser_evaluate',
28
45
  match: (params) => {
@@ -33,6 +50,7 @@ const TIPS = [
33
50
  'instead of JS .click(). This produces real CDP input events that are indistinguishable from human clicks.',
34
51
  },
35
52
  {
53
+ id: 'eval-dispatchevent-to-interact',
36
54
  priority: 15,
37
55
  tool: 'browser_evaluate',
38
56
  match: (params) => {
@@ -43,6 +61,7 @@ const TIPS = [
43
61
  'from user actions. JS dispatchEvent is synthetic and detectable by anti-bot systems.',
44
62
  },
45
63
  {
64
+ id: 'eval-scroll-to-interact',
46
65
  priority: 20,
47
66
  tool: 'browser_evaluate',
48
67
  match: (params) => {
@@ -52,6 +71,7 @@ const TIPS = [
52
71
  message: 'Tip: browser_interact has scroll_into_view, scroll_by, and scroll_to actions — no JS needed.',
53
72
  },
54
73
  {
74
+ id: 'eval-value-to-fill-form',
55
75
  priority: 25,
56
76
  tool: 'browser_evaluate',
57
77
  match: (params) => {
@@ -61,6 +81,7 @@ const TIPS = [
61
81
  message: 'Tip: browser_fill_form sets multiple field values at once with proper change event dispatch for React/Vue.',
62
82
  },
63
83
  {
84
+ id: 'eval-focus-to-interact',
64
85
  priority: 30,
65
86
  tool: 'browser_evaluate',
66
87
  match: (params) => {
@@ -71,6 +92,7 @@ const TIPS = [
71
92
  'or type with a selector to focus-and-type in one action.',
72
93
  },
73
94
  {
95
+ id: 'eval-location-to-navigate',
74
96
  priority: 35,
75
97
  tool: 'browser_evaluate',
76
98
  match: (params) => {
@@ -80,6 +102,7 @@ const TIPS = [
80
102
  message: 'Tip: browser_navigate action=\'url\' handles navigation with proper page load waiting and status detection.',
81
103
  },
82
104
  {
105
+ id: 'eval-queryselector-to-lookup',
83
106
  priority: 50,
84
107
  tool: 'browser_evaluate',
85
108
  match: (params) => {
@@ -90,18 +113,21 @@ const TIPS = [
90
113
  'directly to browser_interact. browser_snapshot returns the full accessibility tree with form field metadata.',
91
114
  },
92
115
  {
116
+ id: 'interact-no-tab-attached',
93
117
  priority: 5,
94
118
  tool: 'browser_interact',
95
119
  match: (_params, _result, error) => !!error && /no tab attached/i.test(error),
96
120
  message: 'Tip: No tab is attached. Use browser_tabs action=\'attach\' to attach to a tab before interacting.',
97
121
  },
98
122
  {
123
+ id: 'interact-not-native-select',
99
124
  priority: 10,
100
125
  tool: 'browser_interact',
101
126
  match: (_params, _result, error) => !!error && /not a <select>/i.test(error),
102
127
  message: 'Tip: This element is a JS-driven dropdown, not a native <select>. Use action: \'select_custom\' instead of \'select_option\'.',
103
128
  },
104
129
  {
130
+ id: 'interact-element-not-found',
105
131
  priority: 15,
106
132
  tool: 'browser_interact',
107
133
  match: (_params, _result, error) => !!error && /element not found/i.test(error),
@@ -110,6 +136,7 @@ const TIPS = [
110
136
  },
111
137
  // ── screenshot tip ──
112
138
  {
139
+ id: 'screenshot-inline-param',
113
140
  priority: 10,
114
141
  tool: 'browser_take_screenshot',
115
142
  match: () => true,
@@ -118,6 +145,7 @@ const TIPS = [
118
145
  },
119
146
  // ── additional evaluate tips ──
120
147
  {
148
+ id: 'eval-innerhtml-to-extract',
121
149
  priority: 22,
122
150
  tool: 'browser_evaluate',
123
151
  match: (params) => {
@@ -128,6 +156,7 @@ const TIPS = [
128
156
  'a specific element. No JS needed for content extraction.',
129
157
  },
130
158
  {
159
+ id: 'eval-rect-to-lookup',
131
160
  priority: 18,
132
161
  tool: 'browser_evaluate',
133
162
  match: (params) => {
@@ -138,6 +167,7 @@ const TIPS = [
138
167
  'No JS needed for position data.',
139
168
  },
140
169
  {
170
+ id: 'eval-computedstyle-to-styles',
141
171
  priority: 32,
142
172
  tool: 'browser_evaluate',
143
173
  match: (params) => {
@@ -148,17 +178,42 @@ const TIPS = [
148
178
  'Supports pseudo-state forcing and property filtering.',
149
179
  },
150
180
  ];
151
- function getTip(tool, params, result, error) {
181
+ function getTip(tool, params, result, error, sessionId) {
152
182
  let best = null;
183
+ const matched = [];
153
184
  for (const rule of TIPS) {
154
185
  if (rule.tool !== tool)
155
186
  continue;
156
- if (best && rule.priority >= best.priority)
157
- continue;
158
187
  if (rule.match(params, result, error)) {
159
- best = rule;
188
+ matched.push(rule);
189
+ if (!best || rule.priority < best.priority) {
190
+ best = rule;
191
+ }
192
+ }
193
+ }
194
+ // Without a session context, behave as a pure function (no suppression).
195
+ if (!sessionId)
196
+ return best?.message ?? null;
197
+ // Update counters for every tip rule bound to this tool: increment on match,
198
+ // reset on miss. Reset is per-tip — so tip A firing doesn't reset tip B.
199
+ const counters = getSessionCounters(sessionId);
200
+ const matchedIds = new Set(matched.map((r) => r.id));
201
+ for (const rule of TIPS) {
202
+ if (rule.tool !== tool)
203
+ continue;
204
+ const key = `${tool}:${rule.id}`;
205
+ if (matchedIds.has(rule.id)) {
206
+ counters.set(key, (counters.get(key) ?? 0) + 1);
207
+ }
208
+ else {
209
+ counters.set(key, 0);
160
210
  }
161
211
  }
162
- return best?.message ?? null;
212
+ if (!best)
213
+ return null;
214
+ const count = counters.get(`${tool}:${best.id}`) ?? 0;
215
+ if (count > SUPPRESS_AFTER)
216
+ return null;
217
+ return best.message;
163
218
  }
164
219
  //# sourceMappingURL=tips.js.map
package/dist/tips.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tips.js","sourceRoot":"","sources":["../src/tips.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tips.js","sourceRoot":"","sources":["../src/tips.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { IExtensionTransport } from '../bridge';
2
+ /** Send a CDP command through the extension's `forwardCDPCommand` handler. */
3
+ export declare function cdp(ext: IExtensionTransport, method: string, params?: any): Promise<any>;
4
+ /**
5
+ * Evaluate a JS expression in the page context via `Runtime.evaluate`.
6
+ * Throws with the page-side exception message when evaluation fails.
7
+ */
8
+ export declare function evalExpr(ext: IExtensionTransport, expression: string, awaitPromise?: boolean): Promise<any>;
9
+ //# sourceMappingURL=cdp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../../src/tools/cdp.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,8EAA8E;AAC9E,wBAAsB,GAAG,CACvB,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,GAAQ,GACf,OAAO,CAAC,GAAG,CAAC,CAEd;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,mBAAmB,EACxB,UAAU,EAAE,MAAM,EAClB,YAAY,UAAO,GAClB,OAAO,CAAC,GAAG,CAAC,CAgBd"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ // server/src/tools/cdp.ts
3
+ //
4
+ // CDP/eval primitives. Pure functions over an IExtensionTransport — no class
5
+ // state, no implicit `this`. Used by ToolContext and the element resolver.
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.cdp = cdp;
8
+ exports.evalExpr = evalExpr;
9
+ /** Send a CDP command through the extension's `forwardCDPCommand` handler. */
10
+ async function cdp(ext, method, params = {}) {
11
+ return await ext.sendCmd('forwardCDPCommand', { method, params });
12
+ }
13
+ /**
14
+ * Evaluate a JS expression in the page context via `Runtime.evaluate`.
15
+ * Throws with the page-side exception message when evaluation fails.
16
+ */
17
+ async function evalExpr(ext, expression, awaitPromise = true) {
18
+ const result = await cdp(ext, 'Runtime.evaluate', {
19
+ expression,
20
+ returnByValue: true,
21
+ awaitPromise,
22
+ userGesture: true,
23
+ });
24
+ if (result.exceptionDetails) {
25
+ const details = result.exceptionDetails;
26
+ const message = details.exception?.description
27
+ || details.text
28
+ || details.exception?.className
29
+ || 'JavaScript execution error';
30
+ throw new Error(message);
31
+ }
32
+ return result.result?.value;
33
+ }
34
+ //# sourceMappingURL=cdp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../src/tools/cdp.ts"],"names":[],"mappings":";AAAA,0BAA0B;AAC1B,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;;AAK3E,kBAMC;AAMD,4BAoBC;AAjCD,8EAA8E;AACvE,KAAK,UAAU,GAAG,CACvB,GAAwB,EACxB,MAAc,EACd,SAAc,EAAE;IAEhB,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAC5B,GAAwB,EACxB,UAAkB,EAClB,YAAY,GAAG,IAAI;IAEnB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,kBAAkB,EAAE;QAChD,UAAU;QACV,aAAa,EAAE,IAAI;QACnB,YAAY;QACZ,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW;eACzC,OAAO,CAAC,IAAI;eACZ,OAAO,CAAC,SAAS,EAAE,SAAS;eAC5B,4BAA4B,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ToolContext } from './types';
2
+ import { AuditLogger } from '../audit-logger';
3
+ /** Side-channel data dispatchTool needs to write to (audit log + connection state). */
4
+ export interface DispatchEnv {
5
+ auditLogger: AuditLogger | null;
6
+ /** Used for the `session_id` field in audit entries. */
7
+ clientId: string | null | undefined;
8
+ /** Read for the `url` field in audit entries (current attached tab URL). */
9
+ getCurrentUrl: () => string | undefined;
10
+ }
11
+ /**
12
+ * Dispatch a named tool call to the appropriate handler.
13
+ * On unknown names, falls back to the experimental registry; on no match,
14
+ * returns a formatted "Unknown tool" error.
15
+ */
16
+ export declare function dispatchTool(ctx: ToolContext, name: string, args: Record<string, unknown>, options: {
17
+ rawResult?: boolean;
18
+ }, env: DispatchEnv): Promise<any>;
19
+ //# sourceMappingURL=dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/tools/dispatcher.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAsB9C,uFAAuF;AACvF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,wDAAwD;IACxD,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,4EAA4E;IAC5E,aAAa,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,EAChC,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,CA4Fd"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ // server/src/tools/dispatcher.ts
3
+ //
4
+ // Tool name → handler dispatch. Owns the switch, audit logging,
5
+ // CDP-conflict error rewriting, and contextual tip rendering. Pure:
6
+ // receives a ToolContext + name/args/options and returns the MCP result.
7
+ //
8
+ // BrowserBridge just builds the ToolContext and forwards to dispatchTool().
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.dispatchTool = dispatchTool;
11
+ const logger_1 = require("../logger");
12
+ const index_1 = require("../experimental/index");
13
+ const tips_1 = require("../tips");
14
+ const interaction_1 = require("./interaction");
15
+ const content_1 = require("./content");
16
+ const styles_1 = require("./styles");
17
+ const screenshot_1 = require("./screenshot");
18
+ const network_1 = require("./network");
19
+ const navigation_1 = require("./navigation");
20
+ const forms_1 = require("./forms");
21
+ const downloads_1 = require("./downloads");
22
+ const misc_1 = require("./misc");
23
+ const result_formatter_1 = require("./result-formatter");
24
+ const log = (0, logger_1.createLog)('[Dispatch]');
25
+ /**
26
+ * Dispatch a named tool call to the appropriate handler.
27
+ * On unknown names, falls back to the experimental registry; on no match,
28
+ * returns a formatted "Unknown tool" error.
29
+ */
30
+ async function dispatchTool(ctx, name, args, options, env) {
31
+ log(`callTool(${name})`);
32
+ const start = Date.now();
33
+ let callResult = 'ok';
34
+ let callError;
35
+ let result;
36
+ try {
37
+ switch (name) {
38
+ case 'browser_tabs':
39
+ result = await (0, navigation_1.onBrowserTabs)(ctx, args, options);
40
+ break;
41
+ case 'browser_navigate':
42
+ result = await (0, navigation_1.onNavigate)(ctx, args, options);
43
+ break;
44
+ case 'browser_interact':
45
+ result = await (0, interaction_1.onInteract)(ctx, args, options);
46
+ break;
47
+ case 'browser_snapshot':
48
+ result = await (0, content_1.onSnapshot)(ctx, options);
49
+ break;
50
+ case 'browser_lookup':
51
+ result = await (0, content_1.onLookup)(ctx, args, options);
52
+ break;
53
+ case 'browser_extract_content':
54
+ result = await (0, content_1.onExtractContent)(ctx, args, options);
55
+ break;
56
+ case 'browser_get_element_styles':
57
+ result = await (0, styles_1.onGetElementStyles)(ctx, args, options);
58
+ break;
59
+ case 'browser_take_screenshot':
60
+ result = await (0, screenshot_1.onScreenshot)(ctx, args, options);
61
+ break;
62
+ case 'browser_evaluate':
63
+ result = await (0, misc_1.onEvaluate)(ctx, args, options);
64
+ break;
65
+ case 'browser_console_messages':
66
+ result = await (0, network_1.onConsoleMessages)(ctx, args, options);
67
+ break;
68
+ case 'browser_fill_form':
69
+ result = await (0, forms_1.onFillForm)(ctx, args, options);
70
+ break;
71
+ case 'browser_drag':
72
+ result = await (0, forms_1.onDrag)(ctx, args, options);
73
+ break;
74
+ case 'browser_window':
75
+ result = await (0, misc_1.onWindow)(ctx, args, options);
76
+ break;
77
+ case 'browser_verify_text_visible':
78
+ result = await (0, misc_1.onVerifyTextVisible)(ctx, args, options);
79
+ break;
80
+ case 'browser_verify_element_visible':
81
+ result = await (0, misc_1.onVerifyElementVisible)(ctx, args, options);
82
+ break;
83
+ case 'browser_network_requests':
84
+ result = await (0, network_1.onNetworkRequests)(ctx, args, options);
85
+ break;
86
+ case 'browser_pdf_save':
87
+ result = await (0, screenshot_1.onPdfSave)(ctx, args, options);
88
+ break;
89
+ case 'browser_handle_dialog':
90
+ result = await (0, misc_1.onDialog)(ctx, args, options);
91
+ break;
92
+ case 'browser_list_extensions':
93
+ result = await (0, misc_1.onListExtensions)(ctx, options);
94
+ break;
95
+ case 'browser_performance_metrics':
96
+ result = await (0, misc_1.onPerformanceMetrics)(ctx, options);
97
+ break;
98
+ case 'browser_download':
99
+ result = await (0, downloads_1.onBrowserDownload)(ctx, args, options);
100
+ break;
101
+ case 'secure_fill':
102
+ result = await (0, forms_1.onSecureFill)(ctx, args, options);
103
+ break;
104
+ default: {
105
+ const experimentalResult = await (0, index_1.callExperimentalTool)(name, ctx, args, options);
106
+ if (experimentalResult !== null) {
107
+ result = experimentalResult;
108
+ break;
109
+ }
110
+ callResult = 'error';
111
+ callError = `Unknown tool: ${name}`;
112
+ return (0, result_formatter_1.formatError)(callError, options);
113
+ }
114
+ }
115
+ if (result?.isError) {
116
+ callResult = 'error';
117
+ callError = result?.content?.[0]?.text ?? 'unknown error';
118
+ }
119
+ return await (0, result_formatter_1.maybeAppendScreenshot)(name, args, options, result, () => (0, screenshot_1.onScreenshot)(ctx, {}, { rawResult: true }));
120
+ }
121
+ catch (error) {
122
+ log(`Tool error (${name}):`, error.message);
123
+ const msg = error.message || String(error);
124
+ callResult = 'error';
125
+ callError = msg;
126
+ if (/debugger|attach|detach|target closed|session/i.test(msg) &&
127
+ /another|conflict|denied|cannot|failed/i.test(msg)) {
128
+ return (0, result_formatter_1.formatError)(msg + '\n\n' +
129
+ '**Possible extension conflict.** Another extension may be using the Chrome debugger.\n\n' +
130
+ '**Common culprits:** iCloud Passwords, password managers, or other DevTools extensions.\n' +
131
+ 'Try disabling other extensions at `chrome://extensions` and retry.', options);
132
+ }
133
+ return (0, result_formatter_1.formatError)(msg, options);
134
+ }
135
+ finally {
136
+ const url = env.getCurrentUrl();
137
+ const sessionId = env.clientId ?? 'unknown';
138
+ const tip = !options.rawResult ? (0, tips_1.getTip)(name, args, callResult, callError, sessionId) : null;
139
+ env.auditLogger?.write({
140
+ session_id: sessionId,
141
+ tool: name,
142
+ params: args,
143
+ result: callResult,
144
+ error: callError,
145
+ url,
146
+ experiments: index_1.experimentRegistry.getStates(),
147
+ duration_ms: Date.now() - start,
148
+ ...(tip ? { tip } : {}),
149
+ });
150
+ if (tip && result?.content?.[0]?.type === 'text') {
151
+ result.content[0].text += `\n\n---\n${tip}`;
152
+ }
153
+ }
154
+ }
155
+ //# sourceMappingURL=dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/tools/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /** Async page evaluator signature (matches the inner closure of `evalExpr`). */
2
+ export type EvalFn = (expression: string, awaitPromise?: boolean) => Promise<any>;
3
+ /**
4
+ * Convert a CSS selector (with optional `:has-text("...")`) into a JS
5
+ * expression that resolves to the matching Element or null. The
6
+ * `:has-text` form is a SuperSurf extension — the page-eval falls back
7
+ * to scanning textContent when the selector includes it.
8
+ */
9
+ export declare function getSelectorExpression(selector: string): string;
10
+ /**
11
+ * Search the page for elements whose direct text content includes the
12
+ * `:has-text(...)` substring of the failing selector. Returns up to
13
+ * three visible candidates and two hidden, each with a guess at a
14
+ * usable selector. Returns `[]` when the input doesn't have a
15
+ * `:has-text(...)` suffix or when the page-eval throws.
16
+ */
17
+ export declare function findAlternativeSelectors(evalFn: EvalFn, selector: string): Promise<any[]>;
18
+ /**
19
+ * Resolve a selector to its element's viewport-center coordinates.
20
+ * On miss, throws an Error whose message includes "Did you mean?"
21
+ * suggestions when the selector contains `:has-text(...)`.
22
+ */
23
+ export declare function getElementCenter(evalFn: EvalFn, selector: string): Promise<{
24
+ x: number;
25
+ y: number;
26
+ }>;
27
+ //# sourceMappingURL=element-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-resolver.d.ts","sourceRoot":"","sources":["../../src/tools/element-resolver.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAChF,MAAM,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAElF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa9D;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,EAAE,CAAC,CAmDhB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BnC"}