@weavetab/mcp 2.5.0-beta.5 → 2.5.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 (160) hide show
  1. package/AGENTS.md +49 -49
  2. package/ARCHITECTURE.md +590 -590
  3. package/README.md +216 -100
  4. package/SECURITY.md +207 -207
  5. package/TROUBLESHOOTING.md +373 -365
  6. package/dist/anticaptcha/detector.js +395 -395
  7. package/dist/anticaptcha/solver.js +130 -130
  8. package/dist/cdp/bridge.js +73 -73
  9. package/dist/cdp/connector.js +46 -22
  10. package/dist/cdp/extension.js +34 -34
  11. package/dist/cdp/helpers.js +174 -174
  12. package/dist/cdp/pruner.js +195 -195
  13. package/dist/cdp/ref_cache.js +66 -66
  14. package/dist/cdp/security.js +10 -10
  15. package/dist/cdp/verify.js +57 -57
  16. package/dist/cdp/walker.js +563 -525
  17. package/dist/cli/plugin.js +26 -3
  18. package/dist/config/loader.d.ts +0 -3
  19. package/dist/config/loader.js +0 -9
  20. package/dist/index.js +0 -4
  21. package/dist/intelligence/intent.js +81 -81
  22. package/dist/intelligence/sessionMemory.js +2 -2
  23. package/dist/overlay/ghost.js +22 -22
  24. package/dist/overlay/injector.js +89 -89
  25. package/dist/plugin/extension_bridge.js +54 -54
  26. package/dist/plugin/interface.d.ts +7 -0
  27. package/dist/plugin/loader.js +3 -4
  28. package/dist/plugin/schema.d.ts +11 -0
  29. package/dist/plugin/schema.js +59 -0
  30. package/dist/security/guard.js +18 -18
  31. package/dist/sensors/actionability.js +167 -167
  32. package/dist/sensors/guard.js +29 -29
  33. package/dist/sensors/network.js +15 -17
  34. package/dist/server.d.ts +1 -1
  35. package/dist/server.js +173 -144
  36. package/dist/state/delta.js +6 -7
  37. package/dist/tools/automation.js +85 -85
  38. package/dist/tools/canvas.js +48 -25
  39. package/dist/tools/checkpoint.js +94 -35
  40. package/dist/tools/click.js +52 -41
  41. package/dist/tools/clipboard.js +80 -74
  42. package/dist/tools/design_extract.js +441 -441
  43. package/dist/tools/dialog.js +13 -13
  44. package/dist/tools/emulation.d.ts +2 -0
  45. package/dist/tools/emulation.js +7 -0
  46. package/dist/tools/fill.js +344 -347
  47. package/dist/tools/find.js +78 -52
  48. package/dist/tools/highlight.js +67 -67
  49. package/dist/tools/inspect.js +54 -25
  50. package/dist/tools/key.js +42 -35
  51. package/dist/tools/navigate.d.ts +1 -1
  52. package/dist/tools/navigate.js +35 -35
  53. package/dist/tools/office/parse.js +62 -18
  54. package/dist/tools/pdf.d.ts +9 -0
  55. package/dist/tools/pdf.js +7 -4
  56. package/dist/tools/performance.d.ts +11 -4
  57. package/dist/tools/performance.js +94 -42
  58. package/dist/tools/performance_test.d.ts +2 -2
  59. package/dist/tools/performance_test.js +69 -69
  60. package/dist/tools/pointer.js +116 -116
  61. package/dist/tools/read.js +99 -67
  62. package/dist/tools/recording.js +9 -0
  63. package/dist/tools/scrape.js +146 -146
  64. package/dist/tools/screenshot.d.ts +2 -0
  65. package/dist/tools/screenshot.js +46 -4
  66. package/dist/tools/scroll.d.ts +3 -1
  67. package/dist/tools/scroll.js +13 -15
  68. package/dist/tools/select.d.ts +3 -0
  69. package/dist/tools/select.js +131 -124
  70. package/dist/tools/snapshot.js +8 -6
  71. package/dist/tools/storage.d.ts +5 -1
  72. package/dist/tools/storage.js +16 -0
  73. package/dist/tools/tabs.d.ts +7 -5
  74. package/dist/tools/tabs.js +79 -26
  75. package/dist/tools/thought.js +8 -8
  76. package/dist/tools/type.js +274 -274
  77. package/dist/tools/type_secret.js +23 -23
  78. package/dist/tools/upload.js +3 -3
  79. package/dist/tools/video_compiler.js +9 -0
  80. package/dist/tools/wait.js +35 -35
  81. package/dist/version.d.ts +1 -1
  82. package/dist/version.js +1 -1
  83. package/docs/DOCUMENTATION.md +583 -585
  84. package/docs/PLUGINS.md +139 -121
  85. package/docs/TOOLS.md +3 -4
  86. package/docs/architecture/blind-injection.md +83 -83
  87. package/docs/architecture/overview.md +49 -49
  88. package/docs/configuration/configuration.md +39 -27
  89. package/docs/configuration/folders.md +62 -55
  90. package/docs/desktop-automation/electron-apps.md +225 -214
  91. package/docs/get-started/installation.md +1 -1
  92. package/docs/get-started/introduction.md +60 -60
  93. package/docs/get-started/quickstart.md +2 -2
  94. package/docs/get-started/setup-wizard.md +1 -1
  95. package/docs/intelligence/site-profiles.md +151 -151
  96. package/docs/tools/tools.md +582 -631
  97. package/docs/troubleshooting/trouble-loop.md +31 -31
  98. package/ext-dist/background.js +415 -415
  99. package/ext-dist/content.js +2527 -2527
  100. package/ext-dist/dashboard.html +583 -583
  101. package/ext-dist/hud/hud.js +3 -3
  102. package/ext-dist/hud/index.html +20 -20
  103. package/ext-dist/manifest.json +73 -73
  104. package/ext-dist/styles.css +223 -223
  105. package/mcp.json +796 -805
  106. package/package.json +8 -8
  107. package/server.json +23 -23
  108. package/smithery.yaml +7 -11
  109. package/dist/cdp/walker.test.d.ts +0 -2
  110. package/dist/cdp/walker.test.js +0 -172
  111. package/dist/intelligence/sessionMemory.test.d.ts +0 -2
  112. package/dist/intelligence/sessionMemory.test.js +0 -62
  113. package/dist/intelligence/trail.test.d.ts +0 -2
  114. package/dist/intelligence/trail.test.js +0 -110
  115. package/dist/state/cache.test.d.ts +0 -2
  116. package/dist/state/cache.test.js +0 -76
  117. package/dist/state/delta.test.d.ts +0 -2
  118. package/dist/state/delta.test.js +0 -279
  119. package/dist/state/groups.d.ts +0 -15
  120. package/dist/state/groups.js +0 -80
  121. package/dist/tools/accessibility.d.ts +0 -14
  122. package/dist/tools/accessibility.js +0 -32
  123. package/dist/tools/ask.d.ts +0 -14
  124. package/dist/tools/ask.js +0 -49
  125. package/dist/tools/click_and_wait.d.ts +0 -33
  126. package/dist/tools/click_and_wait.js +0 -149
  127. package/dist/tools/drag.d.ts +0 -15
  128. package/dist/tools/drag.js +0 -29
  129. package/dist/tools/geo.d.ts +0 -19
  130. package/dist/tools/geo.js +0 -29
  131. package/dist/tools/github/analyze.d.ts +0 -4
  132. package/dist/tools/github/analyze.js +0 -113
  133. package/dist/tools/github/cache.d.ts +0 -21
  134. package/dist/tools/github/cache.js +0 -28
  135. package/dist/tools/github/index.d.ts +0 -19
  136. package/dist/tools/github/index.js +0 -40
  137. package/dist/tools/github/issues.d.ts +0 -9
  138. package/dist/tools/github/issues.js +0 -88
  139. package/dist/tools/github/pr.d.ts +0 -5
  140. package/dist/tools/github/pr.js +0 -88
  141. package/dist/tools/github/rateLimiter.d.ts +0 -4
  142. package/dist/tools/github/rateLimiter.js +0 -46
  143. package/dist/tools/github/read.d.ts +0 -34
  144. package/dist/tools/github/read.js +0 -74
  145. package/dist/tools/github/repoContext.d.ts +0 -20
  146. package/dist/tools/github/repoContext.js +0 -129
  147. package/dist/tools/hover.d.ts +0 -19
  148. package/dist/tools/hover.js +0 -57
  149. package/dist/tools/integration.test.d.ts +0 -2
  150. package/dist/tools/integration.test.js +0 -96
  151. package/dist/tools/macro_compiler.d.ts +0 -7
  152. package/dist/tools/macro_compiler.js +0 -82
  153. package/dist/tools/mouse.d.ts +0 -21
  154. package/dist/tools/mouse.js +0 -62
  155. package/dist/tools/response.d.ts +0 -129
  156. package/dist/tools/response.js +0 -5
  157. package/dist/tools/wait_for.d.ts +0 -23
  158. package/dist/tools/wait_for.js +0 -30
  159. package/dist/tools/windows.d.ts +0 -22
  160. package/dist/tools/windows.js +0 -57
@@ -9,31 +9,31 @@
9
9
  export async function verifyElementState(session, selector) {
10
10
  try {
11
11
  const { result } = await session.Runtime.evaluate({
12
- expression: `(function(sel) {
13
- try {
14
- var el = document.querySelector(sel);
15
- if (!el) return JSON.stringify({ exists: false });
16
-
17
- var rect = el.getBoundingClientRect();
18
- var attrs = {};
19
- for (var i = 0; i < el.attributes.length; i++) {
20
- attrs[el.attributes[i].name] = el.attributes[i].value;
21
- }
22
-
23
- return JSON.stringify({
24
- exists: true,
25
- tagName: el.tagName.toLowerCase(),
26
- value: (el as any).value !== undefined ? String((el as any).value) : undefined,
27
- textContent: el.textContent ? el.textContent.slice(0, 200) : undefined,
28
- checked: (el as any).checked,
29
- disabled: (el as any).disabled,
30
- visible: rect.width > 0 && rect.height > 0 && rect.bottom >= 0 && rect.top <= window.innerHeight,
31
- attributes: attrs,
32
- className: el.className
33
- });
34
- } catch(e) {
35
- return JSON.stringify({ exists: false, error: (e as Error).message });
36
- }
12
+ expression: `(function(sel) {
13
+ try {
14
+ var el = document.querySelector(sel);
15
+ if (!el) return JSON.stringify({ exists: false });
16
+
17
+ var rect = el.getBoundingClientRect();
18
+ var attrs = {};
19
+ for (var i = 0; i < el.attributes.length; i++) {
20
+ attrs[el.attributes[i].name] = el.attributes[i].value;
21
+ }
22
+
23
+ return JSON.stringify({
24
+ exists: true,
25
+ tagName: el.tagName.toLowerCase(),
26
+ value: (el as any).value !== undefined ? String((el as any).value) : undefined,
27
+ textContent: el.textContent ? el.textContent.slice(0, 200) : undefined,
28
+ checked: (el as any).checked,
29
+ disabled: (el as any).disabled,
30
+ visible: rect.width > 0 && rect.height > 0 && rect.bottom >= 0 && rect.top <= window.innerHeight,
31
+ attributes: attrs,
32
+ className: el.className
33
+ });
34
+ } catch(e) {
35
+ return JSON.stringify({ exists: false, error: (e as Error).message });
36
+ }
37
37
  })(${JSON.stringify(selector)})`,
38
38
  returnByValue: true,
39
39
  });
@@ -100,38 +100,38 @@ export async function detectVisibleFeedback(session) {
100
100
  export async function inferNextAction(session, lastAction, context) {
101
101
  try {
102
102
  const { result } = await session.Runtime.evaluate({
103
- expression: `
104
- (function(lastAction, ctx) {
105
- try {
106
- var suggestions = [];
107
- if (lastAction === 'fill' || lastAction === 'type') {
108
- var inputs = document.querySelectorAll('input:not([type="hidden"]):not([type="submit"]):not([type="button"]), textarea, select[required]');
109
- var emptyRequired = [];
110
- for (var i = 0; i < inputs.length; i++) {
111
- var inp = inputs[i];
112
- if ((inp.required || inp.getAttribute('aria-required') === 'true') && !inp.value) {
113
- emptyRequired.push(inp.getAttribute('placeholder') || inp.getAttribute('name') || inp.getAttribute('aria-label') || 'field');
114
- }
115
- }
116
- if (emptyRequired.length > 0) {
117
- suggestions.push('Fill required field: ' + emptyRequired[0]);
118
- }
119
- var submitBtn = document.querySelector('button[type="submit"], input[type="submit"], [type="submit"]');
120
- if (submitBtn) {
121
- suggestions.push('Submit form');
122
- }
123
- }
124
- if (lastAction === 'click') {
125
- var modal = document.querySelector('[role="dialog"], .modal, [class*="modal"]');
126
- if (modal) {
127
- suggestions.push('Interact with modal dialog');
128
- }
129
- }
130
- return JSON.stringify(suggestions[0] || undefined);
131
- } catch(e) {
132
- return JSON.stringify(undefined);
133
- }
134
- })(${JSON.stringify(lastAction)}, ${JSON.stringify(context)})
103
+ expression: `
104
+ (function(lastAction, ctx) {
105
+ try {
106
+ var suggestions = [];
107
+ if (lastAction === 'fill' || lastAction === 'type') {
108
+ var inputs = document.querySelectorAll('input:not([type="hidden"]):not([type="submit"]):not([type="button"]), textarea, select[required]');
109
+ var emptyRequired = [];
110
+ for (var i = 0; i < inputs.length; i++) {
111
+ var inp = inputs[i];
112
+ if ((inp.required || inp.getAttribute('aria-required') === 'true') && !inp.value) {
113
+ emptyRequired.push(inp.getAttribute('placeholder') || inp.getAttribute('name') || inp.getAttribute('aria-label') || 'field');
114
+ }
115
+ }
116
+ if (emptyRequired.length > 0) {
117
+ suggestions.push('Fill required field: ' + emptyRequired[0]);
118
+ }
119
+ var submitBtn = document.querySelector('button[type="submit"], input[type="submit"], [type="submit"]');
120
+ if (submitBtn) {
121
+ suggestions.push('Submit form');
122
+ }
123
+ }
124
+ if (lastAction === 'click') {
125
+ var modal = document.querySelector('[role="dialog"], .modal, [class*="modal"]');
126
+ if (modal) {
127
+ suggestions.push('Interact with modal dialog');
128
+ }
129
+ }
130
+ return JSON.stringify(suggestions[0] || undefined);
131
+ } catch(e) {
132
+ return JSON.stringify(undefined);
133
+ }
134
+ })(${JSON.stringify(lastAction)}, ${JSON.stringify(context)})
135
135
  `,
136
136
  returnByValue: true,
137
137
  });