@metamask/client-mcp-core 0.1.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 (486) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +6 -0
  3. package/LICENSE.APACHE2 +201 -0
  4. package/LICENSE.MIT +21 -0
  5. package/README.md +1459 -0
  6. package/dist/capabilities/context.cjs +34 -0
  7. package/dist/capabilities/context.cjs.map +1 -0
  8. package/dist/capabilities/context.d.cts +101 -0
  9. package/dist/capabilities/context.d.cts.map +1 -0
  10. package/dist/capabilities/context.d.mts +101 -0
  11. package/dist/capabilities/context.d.mts.map +1 -0
  12. package/dist/capabilities/context.mjs +29 -0
  13. package/dist/capabilities/context.mjs.map +1 -0
  14. package/dist/capabilities/index.cjs +18 -0
  15. package/dist/capabilities/index.cjs.map +1 -0
  16. package/dist/capabilities/index.d.cts +3 -0
  17. package/dist/capabilities/index.d.cts.map +1 -0
  18. package/dist/capabilities/index.d.mts +3 -0
  19. package/dist/capabilities/index.d.mts.map +1 -0
  20. package/dist/capabilities/index.mjs +2 -0
  21. package/dist/capabilities/index.mjs.map +1 -0
  22. package/dist/capabilities/types.cjs +3 -0
  23. package/dist/capabilities/types.cjs.map +1 -0
  24. package/dist/capabilities/types.d.cts +152 -0
  25. package/dist/capabilities/types.d.cts.map +1 -0
  26. package/dist/capabilities/types.d.mts +152 -0
  27. package/dist/capabilities/types.d.mts.map +1 -0
  28. package/dist/capabilities/types.mjs +2 -0
  29. package/dist/capabilities/types.mjs.map +1 -0
  30. package/dist/index.cjs +59 -0
  31. package/dist/index.cjs.map +1 -0
  32. package/dist/index.d.cts +33 -0
  33. package/dist/index.d.cts.map +1 -0
  34. package/dist/index.d.mts +33 -0
  35. package/dist/index.d.mts.map +1 -0
  36. package/dist/index.mjs +43 -0
  37. package/dist/index.mjs.map +1 -0
  38. package/dist/launcher/console-error-buffer.cjs +72 -0
  39. package/dist/launcher/console-error-buffer.cjs.map +1 -0
  40. package/dist/launcher/console-error-buffer.d.cts +43 -0
  41. package/dist/launcher/console-error-buffer.d.cts.map +1 -0
  42. package/dist/launcher/console-error-buffer.d.mts +43 -0
  43. package/dist/launcher/console-error-buffer.d.mts.map +1 -0
  44. package/dist/launcher/console-error-buffer.mjs +68 -0
  45. package/dist/launcher/console-error-buffer.mjs.map +1 -0
  46. package/dist/launcher/extension-id-resolver.cjs +177 -0
  47. package/dist/launcher/extension-id-resolver.cjs.map +1 -0
  48. package/dist/launcher/extension-id-resolver.d.cts +32 -0
  49. package/dist/launcher/extension-id-resolver.d.cts.map +1 -0
  50. package/dist/launcher/extension-id-resolver.d.mts +32 -0
  51. package/dist/launcher/extension-id-resolver.d.mts.map +1 -0
  52. package/dist/launcher/extension-id-resolver.mjs +173 -0
  53. package/dist/launcher/extension-id-resolver.mjs.map +1 -0
  54. package/dist/launcher/extension-readiness.cjs +50 -0
  55. package/dist/launcher/extension-readiness.cjs.map +1 -0
  56. package/dist/launcher/extension-readiness.d.cts +37 -0
  57. package/dist/launcher/extension-readiness.d.cts.map +1 -0
  58. package/dist/launcher/extension-readiness.d.mts +37 -0
  59. package/dist/launcher/extension-readiness.d.mts.map +1 -0
  60. package/dist/launcher/extension-readiness.mjs +43 -0
  61. package/dist/launcher/extension-readiness.mjs.map +1 -0
  62. package/dist/launcher/index.cjs +21 -0
  63. package/dist/launcher/index.cjs.map +1 -0
  64. package/dist/launcher/index.d.cts +5 -0
  65. package/dist/launcher/index.d.cts.map +1 -0
  66. package/dist/launcher/index.d.mts +5 -0
  67. package/dist/launcher/index.d.mts.map +1 -0
  68. package/dist/launcher/index.mjs +5 -0
  69. package/dist/launcher/index.mjs.map +1 -0
  70. package/dist/launcher/retry.cjs +35 -0
  71. package/dist/launcher/retry.cjs.map +1 -0
  72. package/dist/launcher/retry.d.cts +20 -0
  73. package/dist/launcher/retry.d.cts.map +1 -0
  74. package/dist/launcher/retry.d.mts +20 -0
  75. package/dist/launcher/retry.d.mts.map +1 -0
  76. package/dist/launcher/retry.mjs +31 -0
  77. package/dist/launcher/retry.mjs.map +1 -0
  78. package/dist/mcp-server/constants.cjs +22 -0
  79. package/dist/mcp-server/constants.cjs.map +1 -0
  80. package/dist/mcp-server/constants.d.cts +13 -0
  81. package/dist/mcp-server/constants.d.cts.map +1 -0
  82. package/dist/mcp-server/constants.d.mts +13 -0
  83. package/dist/mcp-server/constants.d.mts.map +1 -0
  84. package/dist/mcp-server/constants.mjs +19 -0
  85. package/dist/mcp-server/constants.mjs.map +1 -0
  86. package/dist/mcp-server/discovery.cjs +299 -0
  87. package/dist/mcp-server/discovery.cjs.map +1 -0
  88. package/dist/mcp-server/discovery.d.cts +56 -0
  89. package/dist/mcp-server/discovery.d.cts.map +1 -0
  90. package/dist/mcp-server/discovery.d.mts +56 -0
  91. package/dist/mcp-server/discovery.d.mts.map +1 -0
  92. package/dist/mcp-server/discovery.mjs +292 -0
  93. package/dist/mcp-server/discovery.mjs.map +1 -0
  94. package/dist/mcp-server/knowledge-store.cjs +1196 -0
  95. package/dist/mcp-server/knowledge-store.cjs.map +1 -0
  96. package/dist/mcp-server/knowledge-store.d.cts +249 -0
  97. package/dist/mcp-server/knowledge-store.d.cts.map +1 -0
  98. package/dist/mcp-server/knowledge-store.d.mts +249 -0
  99. package/dist/mcp-server/knowledge-store.d.mts.map +1 -0
  100. package/dist/mcp-server/knowledge-store.mjs +1154 -0
  101. package/dist/mcp-server/knowledge-store.mjs.map +1 -0
  102. package/dist/mcp-server/schemas.cjs +433 -0
  103. package/dist/mcp-server/schemas.cjs.map +1 -0
  104. package/dist/mcp-server/schemas.d.cts +557 -0
  105. package/dist/mcp-server/schemas.d.cts.map +1 -0
  106. package/dist/mcp-server/schemas.d.mts +557 -0
  107. package/dist/mcp-server/schemas.d.mts.map +1 -0
  108. package/dist/mcp-server/schemas.mjs +430 -0
  109. package/dist/mcp-server/schemas.mjs.map +1 -0
  110. package/dist/mcp-server/server.cjs +161 -0
  111. package/dist/mcp-server/server.cjs.map +1 -0
  112. package/dist/mcp-server/server.d.cts +24 -0
  113. package/dist/mcp-server/server.d.cts.map +1 -0
  114. package/dist/mcp-server/server.d.mts +24 -0
  115. package/dist/mcp-server/server.d.mts.map +1 -0
  116. package/dist/mcp-server/server.mjs +158 -0
  117. package/dist/mcp-server/server.mjs.map +1 -0
  118. package/dist/mcp-server/session-manager.cjs +53 -0
  119. package/dist/mcp-server/session-manager.cjs.map +1 -0
  120. package/dist/mcp-server/session-manager.d.cts +240 -0
  121. package/dist/mcp-server/session-manager.d.cts.map +1 -0
  122. package/dist/mcp-server/session-manager.d.mts +240 -0
  123. package/dist/mcp-server/session-manager.d.mts.map +1 -0
  124. package/dist/mcp-server/session-manager.mjs +48 -0
  125. package/dist/mcp-server/session-manager.mjs.map +1 -0
  126. package/dist/mcp-server/test-utils/flush-promises.cjs +10 -0
  127. package/dist/mcp-server/test-utils/flush-promises.cjs.map +1 -0
  128. package/dist/mcp-server/test-utils/flush-promises.d.cts +2 -0
  129. package/dist/mcp-server/test-utils/flush-promises.d.cts.map +1 -0
  130. package/dist/mcp-server/test-utils/flush-promises.d.mts +2 -0
  131. package/dist/mcp-server/test-utils/flush-promises.d.mts.map +1 -0
  132. package/dist/mcp-server/test-utils/flush-promises.mjs +7 -0
  133. package/dist/mcp-server/test-utils/flush-promises.mjs.map +1 -0
  134. package/dist/mcp-server/test-utils/index.cjs +13 -0
  135. package/dist/mcp-server/test-utils/index.cjs.map +1 -0
  136. package/dist/mcp-server/test-utils/index.d.cts +4 -0
  137. package/dist/mcp-server/test-utils/index.d.cts.map +1 -0
  138. package/dist/mcp-server/test-utils/index.d.mts +4 -0
  139. package/dist/mcp-server/test-utils/index.d.mts.map +1 -0
  140. package/dist/mcp-server/test-utils/index.mjs +4 -0
  141. package/dist/mcp-server/test-utils/index.mjs.map +1 -0
  142. package/dist/mcp-server/test-utils/mock-factories.cjs +129 -0
  143. package/dist/mcp-server/test-utils/mock-factories.cjs.map +1 -0
  144. package/dist/mcp-server/test-utils/mock-factories.d.cts +89 -0
  145. package/dist/mcp-server/test-utils/mock-factories.d.cts.map +1 -0
  146. package/dist/mcp-server/test-utils/mock-factories.d.mts +89 -0
  147. package/dist/mcp-server/test-utils/mock-factories.d.mts.map +1 -0
  148. package/dist/mcp-server/test-utils/mock-factories.mjs +125 -0
  149. package/dist/mcp-server/test-utils/mock-factories.mjs.map +1 -0
  150. package/dist/mcp-server/test-utils/mock-playwright.cjs +205 -0
  151. package/dist/mcp-server/test-utils/mock-playwright.cjs.map +1 -0
  152. package/dist/mcp-server/test-utils/mock-playwright.d.cts +69 -0
  153. package/dist/mcp-server/test-utils/mock-playwright.d.cts.map +1 -0
  154. package/dist/mcp-server/test-utils/mock-playwright.d.mts +69 -0
  155. package/dist/mcp-server/test-utils/mock-playwright.d.mts.map +1 -0
  156. package/dist/mcp-server/test-utils/mock-playwright.mjs +200 -0
  157. package/dist/mcp-server/test-utils/mock-playwright.mjs.map +1 -0
  158. package/dist/mcp-server/tokenization.cjs +117 -0
  159. package/dist/mcp-server/tokenization.cjs.map +1 -0
  160. package/dist/mcp-server/tokenization.d.cts +22 -0
  161. package/dist/mcp-server/tokenization.d.cts.map +1 -0
  162. package/dist/mcp-server/tokenization.d.mts +22 -0
  163. package/dist/mcp-server/tokenization.d.mts.map +1 -0
  164. package/dist/mcp-server/tokenization.mjs +112 -0
  165. package/dist/mcp-server/tokenization.mjs.map +1 -0
  166. package/dist/mcp-server/tools/batch.cjs +199 -0
  167. package/dist/mcp-server/tools/batch.cjs.map +1 -0
  168. package/dist/mcp-server/tools/batch.d.cts +81 -0
  169. package/dist/mcp-server/tools/batch.d.cts.map +1 -0
  170. package/dist/mcp-server/tools/batch.d.mts +81 -0
  171. package/dist/mcp-server/tools/batch.d.mts.map +1 -0
  172. package/dist/mcp-server/tools/batch.mjs +191 -0
  173. package/dist/mcp-server/tools/batch.mjs.map +1 -0
  174. package/dist/mcp-server/tools/build.cjs +47 -0
  175. package/dist/mcp-server/tools/build.cjs.map +1 -0
  176. package/dist/mcp-server/tools/build.d.cts +22 -0
  177. package/dist/mcp-server/tools/build.d.cts.map +1 -0
  178. package/dist/mcp-server/tools/build.d.mts +22 -0
  179. package/dist/mcp-server/tools/build.d.mts.map +1 -0
  180. package/dist/mcp-server/tools/build.mjs +44 -0
  181. package/dist/mcp-server/tools/build.mjs.map +1 -0
  182. package/dist/mcp-server/tools/cleanup.cjs +20 -0
  183. package/dist/mcp-server/tools/cleanup.cjs.map +1 -0
  184. package/dist/mcp-server/tools/cleanup.d.cts +10 -0
  185. package/dist/mcp-server/tools/cleanup.d.cts.map +1 -0
  186. package/dist/mcp-server/tools/cleanup.d.mts +10 -0
  187. package/dist/mcp-server/tools/cleanup.d.mts.map +1 -0
  188. package/dist/mcp-server/tools/cleanup.mjs +17 -0
  189. package/dist/mcp-server/tools/cleanup.mjs.map +1 -0
  190. package/dist/mcp-server/tools/clipboard.cjs +100 -0
  191. package/dist/mcp-server/tools/clipboard.cjs.map +1 -0
  192. package/dist/mcp-server/tools/clipboard.d.cts +16 -0
  193. package/dist/mcp-server/tools/clipboard.d.cts.map +1 -0
  194. package/dist/mcp-server/tools/clipboard.d.mts +16 -0
  195. package/dist/mcp-server/tools/clipboard.d.mts.map +1 -0
  196. package/dist/mcp-server/tools/clipboard.mjs +97 -0
  197. package/dist/mcp-server/tools/clipboard.mjs.map +1 -0
  198. package/dist/mcp-server/tools/context.cjs +66 -0
  199. package/dist/mcp-server/tools/context.cjs.map +1 -0
  200. package/dist/mcp-server/tools/context.d.cts +35 -0
  201. package/dist/mcp-server/tools/context.d.cts.map +1 -0
  202. package/dist/mcp-server/tools/context.d.mts +35 -0
  203. package/dist/mcp-server/tools/context.d.mts.map +1 -0
  204. package/dist/mcp-server/tools/context.mjs +62 -0
  205. package/dist/mcp-server/tools/context.mjs.map +1 -0
  206. package/dist/mcp-server/tools/definitions.cjs +463 -0
  207. package/dist/mcp-server/tools/definitions.cjs.map +1 -0
  208. package/dist/mcp-server/tools/definitions.d.cts +97 -0
  209. package/dist/mcp-server/tools/definitions.d.cts.map +1 -0
  210. package/dist/mcp-server/tools/definitions.d.mts +97 -0
  211. package/dist/mcp-server/tools/definitions.d.mts.map +1 -0
  212. package/dist/mcp-server/tools/definitions.mjs +451 -0
  213. package/dist/mcp-server/tools/definitions.mjs.map +1 -0
  214. package/dist/mcp-server/tools/discovery-tools.cjs +162 -0
  215. package/dist/mcp-server/tools/discovery-tools.cjs.map +1 -0
  216. package/dist/mcp-server/tools/discovery-tools.d.cts +26 -0
  217. package/dist/mcp-server/tools/discovery-tools.d.cts.map +1 -0
  218. package/dist/mcp-server/tools/discovery-tools.d.mts +26 -0
  219. package/dist/mcp-server/tools/discovery-tools.d.mts.map +1 -0
  220. package/dist/mcp-server/tools/discovery-tools.mjs +157 -0
  221. package/dist/mcp-server/tools/discovery-tools.mjs.map +1 -0
  222. package/dist/mcp-server/tools/error-classification.cjs +296 -0
  223. package/dist/mcp-server/tools/error-classification.cjs.map +1 -0
  224. package/dist/mcp-server/tools/error-classification.d.cts +135 -0
  225. package/dist/mcp-server/tools/error-classification.d.cts.map +1 -0
  226. package/dist/mcp-server/tools/error-classification.d.mts +135 -0
  227. package/dist/mcp-server/tools/error-classification.d.mts.map +1 -0
  228. package/dist/mcp-server/tools/error-classification.mjs +281 -0
  229. package/dist/mcp-server/tools/error-classification.mjs.map +1 -0
  230. package/dist/mcp-server/tools/helpers.cjs +149 -0
  231. package/dist/mcp-server/tools/helpers.cjs.map +1 -0
  232. package/dist/mcp-server/tools/helpers.d.cts +149 -0
  233. package/dist/mcp-server/tools/helpers.d.cts.map +1 -0
  234. package/dist/mcp-server/tools/helpers.d.mts +149 -0
  235. package/dist/mcp-server/tools/helpers.d.mts.map +1 -0
  236. package/dist/mcp-server/tools/helpers.mjs +141 -0
  237. package/dist/mcp-server/tools/helpers.mjs.map +1 -0
  238. package/dist/mcp-server/tools/index.cjs +27 -0
  239. package/dist/mcp-server/tools/index.cjs.map +1 -0
  240. package/dist/mcp-server/tools/index.d.cts +11 -0
  241. package/dist/mcp-server/tools/index.d.cts.map +1 -0
  242. package/dist/mcp-server/tools/index.d.mts +11 -0
  243. package/dist/mcp-server/tools/index.d.mts.map +1 -0
  244. package/dist/mcp-server/tools/index.mjs +11 -0
  245. package/dist/mcp-server/tools/index.mjs.map +1 -0
  246. package/dist/mcp-server/tools/interaction.cjs +190 -0
  247. package/dist/mcp-server/tools/interaction.cjs.map +1 -0
  248. package/dist/mcp-server/tools/interaction.d.cts +26 -0
  249. package/dist/mcp-server/tools/interaction.d.cts.map +1 -0
  250. package/dist/mcp-server/tools/interaction.d.mts +26 -0
  251. package/dist/mcp-server/tools/interaction.d.mts.map +1 -0
  252. package/dist/mcp-server/tools/interaction.mjs +185 -0
  253. package/dist/mcp-server/tools/interaction.mjs.map +1 -0
  254. package/dist/mcp-server/tools/knowledge.cjs +120 -0
  255. package/dist/mcp-server/tools/knowledge.cjs.map +1 -0
  256. package/dist/mcp-server/tools/knowledge.d.cts +34 -0
  257. package/dist/mcp-server/tools/knowledge.d.cts.map +1 -0
  258. package/dist/mcp-server/tools/knowledge.d.mts +34 -0
  259. package/dist/mcp-server/tools/knowledge.d.mts.map +1 -0
  260. package/dist/mcp-server/tools/knowledge.mjs +114 -0
  261. package/dist/mcp-server/tools/knowledge.mjs.map +1 -0
  262. package/dist/mcp-server/tools/launch.cjs +51 -0
  263. package/dist/mcp-server/tools/launch.cjs.map +1 -0
  264. package/dist/mcp-server/tools/launch.d.cts +10 -0
  265. package/dist/mcp-server/tools/launch.d.cts.map +1 -0
  266. package/dist/mcp-server/tools/launch.d.mts +10 -0
  267. package/dist/mcp-server/tools/launch.d.mts.map +1 -0
  268. package/dist/mcp-server/tools/launch.mjs +48 -0
  269. package/dist/mcp-server/tools/launch.mjs.map +1 -0
  270. package/dist/mcp-server/tools/navigation.cjs +242 -0
  271. package/dist/mcp-server/tools/navigation.cjs.map +1 -0
  272. package/dist/mcp-server/tools/navigation.d.cts +34 -0
  273. package/dist/mcp-server/tools/navigation.d.cts.map +1 -0
  274. package/dist/mcp-server/tools/navigation.d.mts +34 -0
  275. package/dist/mcp-server/tools/navigation.d.mts.map +1 -0
  276. package/dist/mcp-server/tools/navigation.mjs +236 -0
  277. package/dist/mcp-server/tools/navigation.mjs.map +1 -0
  278. package/dist/mcp-server/tools/registry.cjs +10 -0
  279. package/dist/mcp-server/tools/registry.cjs.map +1 -0
  280. package/dist/mcp-server/tools/registry.d.cts +4 -0
  281. package/dist/mcp-server/tools/registry.d.cts.map +1 -0
  282. package/dist/mcp-server/tools/registry.d.mts +4 -0
  283. package/dist/mcp-server/tools/registry.d.mts.map +1 -0
  284. package/dist/mcp-server/tools/registry.mjs +4 -0
  285. package/dist/mcp-server/tools/registry.mjs.map +1 -0
  286. package/dist/mcp-server/tools/run-tool.cjs +140 -0
  287. package/dist/mcp-server/tools/run-tool.cjs.map +1 -0
  288. package/dist/mcp-server/tools/run-tool.d.cts +39 -0
  289. package/dist/mcp-server/tools/run-tool.d.cts.map +1 -0
  290. package/dist/mcp-server/tools/run-tool.d.mts +39 -0
  291. package/dist/mcp-server/tools/run-tool.d.mts.map +1 -0
  292. package/dist/mcp-server/tools/run-tool.mjs +137 -0
  293. package/dist/mcp-server/tools/run-tool.mjs.map +1 -0
  294. package/dist/mcp-server/tools/screenshot.cjs +55 -0
  295. package/dist/mcp-server/tools/screenshot.cjs.map +1 -0
  296. package/dist/mcp-server/tools/screenshot.d.cts +10 -0
  297. package/dist/mcp-server/tools/screenshot.d.cts.map +1 -0
  298. package/dist/mcp-server/tools/screenshot.d.mts +10 -0
  299. package/dist/mcp-server/tools/screenshot.d.mts.map +1 -0
  300. package/dist/mcp-server/tools/screenshot.mjs +52 -0
  301. package/dist/mcp-server/tools/screenshot.mjs.map +1 -0
  302. package/dist/mcp-server/tools/seeding.cjs +214 -0
  303. package/dist/mcp-server/tools/seeding.cjs.map +1 -0
  304. package/dist/mcp-server/tools/seeding.d.cts +38 -0
  305. package/dist/mcp-server/tools/seeding.d.cts.map +1 -0
  306. package/dist/mcp-server/tools/seeding.d.mts +38 -0
  307. package/dist/mcp-server/tools/seeding.d.mts.map +1 -0
  308. package/dist/mcp-server/tools/seeding.mjs +208 -0
  309. package/dist/mcp-server/tools/seeding.mjs.map +1 -0
  310. package/dist/mcp-server/tools/state.cjs +69 -0
  311. package/dist/mcp-server/tools/state.cjs.map +1 -0
  312. package/dist/mcp-server/tools/state.d.cts +19 -0
  313. package/dist/mcp-server/tools/state.d.cts.map +1 -0
  314. package/dist/mcp-server/tools/state.d.mts +19 -0
  315. package/dist/mcp-server/tools/state.d.mts.map +1 -0
  316. package/dist/mcp-server/tools/state.mjs +66 -0
  317. package/dist/mcp-server/tools/state.mjs.map +1 -0
  318. package/dist/mcp-server/types/discovery.cjs +24 -0
  319. package/dist/mcp-server/types/discovery.cjs.map +1 -0
  320. package/dist/mcp-server/types/discovery.d.cts +30 -0
  321. package/dist/mcp-server/types/discovery.d.cts.map +1 -0
  322. package/dist/mcp-server/types/discovery.d.mts +30 -0
  323. package/dist/mcp-server/types/discovery.d.mts.map +1 -0
  324. package/dist/mcp-server/types/discovery.mjs +21 -0
  325. package/dist/mcp-server/types/discovery.mjs.map +1 -0
  326. package/dist/mcp-server/types/errors.cjs +33 -0
  327. package/dist/mcp-server/types/errors.cjs.map +1 -0
  328. package/dist/mcp-server/types/errors.d.cts +31 -0
  329. package/dist/mcp-server/types/errors.d.cts.map +1 -0
  330. package/dist/mcp-server/types/errors.d.mts +31 -0
  331. package/dist/mcp-server/types/errors.d.mts.map +1 -0
  332. package/dist/mcp-server/types/errors.mjs +30 -0
  333. package/dist/mcp-server/types/errors.mjs.map +1 -0
  334. package/dist/mcp-server/types/index.cjs +21 -0
  335. package/dist/mcp-server/types/index.cjs.map +1 -0
  336. package/dist/mcp-server/types/index.d.cts +10 -0
  337. package/dist/mcp-server/types/index.d.cts.map +1 -0
  338. package/dist/mcp-server/types/index.d.mts +10 -0
  339. package/dist/mcp-server/types/index.d.mts.map +1 -0
  340. package/dist/mcp-server/types/index.mjs +5 -0
  341. package/dist/mcp-server/types/index.mjs.map +1 -0
  342. package/dist/mcp-server/types/knowledge.cjs +3 -0
  343. package/dist/mcp-server/types/knowledge.cjs.map +1 -0
  344. package/dist/mcp-server/types/knowledge.d.cts +116 -0
  345. package/dist/mcp-server/types/knowledge.d.cts.map +1 -0
  346. package/dist/mcp-server/types/knowledge.d.mts +116 -0
  347. package/dist/mcp-server/types/knowledge.d.mts.map +1 -0
  348. package/dist/mcp-server/types/knowledge.mjs +2 -0
  349. package/dist/mcp-server/types/knowledge.mjs.map +1 -0
  350. package/dist/mcp-server/types/responses.cjs +3 -0
  351. package/dist/mcp-server/types/responses.cjs.map +1 -0
  352. package/dist/mcp-server/types/responses.d.cts +22 -0
  353. package/dist/mcp-server/types/responses.d.cts.map +1 -0
  354. package/dist/mcp-server/types/responses.d.mts +22 -0
  355. package/dist/mcp-server/types/responses.d.mts.map +1 -0
  356. package/dist/mcp-server/types/responses.mjs +2 -0
  357. package/dist/mcp-server/types/responses.mjs.map +1 -0
  358. package/dist/mcp-server/types/seeding.cjs +34 -0
  359. package/dist/mcp-server/types/seeding.cjs.map +1 -0
  360. package/dist/mcp-server/types/seeding.d.cts +40 -0
  361. package/dist/mcp-server/types/seeding.d.cts.map +1 -0
  362. package/dist/mcp-server/types/seeding.d.mts +40 -0
  363. package/dist/mcp-server/types/seeding.d.mts.map +1 -0
  364. package/dist/mcp-server/types/seeding.mjs +31 -0
  365. package/dist/mcp-server/types/seeding.mjs.map +1 -0
  366. package/dist/mcp-server/types/session.cjs +3 -0
  367. package/dist/mcp-server/types/session.cjs.map +1 -0
  368. package/dist/mcp-server/types/session.d.cts +11 -0
  369. package/dist/mcp-server/types/session.d.cts.map +1 -0
  370. package/dist/mcp-server/types/session.d.mts +11 -0
  371. package/dist/mcp-server/types/session.d.mts.map +1 -0
  372. package/dist/mcp-server/types/session.mjs +2 -0
  373. package/dist/mcp-server/types/session.mjs.map +1 -0
  374. package/dist/mcp-server/types/step-record.cjs +20 -0
  375. package/dist/mcp-server/types/step-record.cjs.map +1 -0
  376. package/dist/mcp-server/types/step-record.d.cts +86 -0
  377. package/dist/mcp-server/types/step-record.d.cts.map +1 -0
  378. package/dist/mcp-server/types/step-record.d.mts +86 -0
  379. package/dist/mcp-server/types/step-record.d.mts.map +1 -0
  380. package/dist/mcp-server/types/step-record.mjs +17 -0
  381. package/dist/mcp-server/types/step-record.mjs.map +1 -0
  382. package/dist/mcp-server/types/tool-inputs.cjs +3 -0
  383. package/dist/mcp-server/types/tool-inputs.cjs.map +1 -0
  384. package/dist/mcp-server/types/tool-inputs.d.cts +118 -0
  385. package/dist/mcp-server/types/tool-inputs.d.cts.map +1 -0
  386. package/dist/mcp-server/types/tool-inputs.d.mts +118 -0
  387. package/dist/mcp-server/types/tool-inputs.d.mts.map +1 -0
  388. package/dist/mcp-server/types/tool-inputs.mjs +2 -0
  389. package/dist/mcp-server/types/tool-inputs.mjs.map +1 -0
  390. package/dist/mcp-server/types/tool-outputs.cjs +3 -0
  391. package/dist/mcp-server/types/tool-outputs.cjs.map +1 -0
  392. package/dist/mcp-server/types/tool-outputs.d.cts +121 -0
  393. package/dist/mcp-server/types/tool-outputs.d.cts.map +1 -0
  394. package/dist/mcp-server/types/tool-outputs.d.mts +121 -0
  395. package/dist/mcp-server/types/tool-outputs.d.mts.map +1 -0
  396. package/dist/mcp-server/types/tool-outputs.mjs +2 -0
  397. package/dist/mcp-server/types/tool-outputs.mjs.map +1 -0
  398. package/dist/mcp-server/utils/errors.cjs +14 -0
  399. package/dist/mcp-server/utils/errors.cjs.map +1 -0
  400. package/dist/mcp-server/utils/errors.d.cts +9 -0
  401. package/dist/mcp-server/utils/errors.d.cts.map +1 -0
  402. package/dist/mcp-server/utils/errors.d.mts +9 -0
  403. package/dist/mcp-server/utils/errors.d.mts.map +1 -0
  404. package/dist/mcp-server/utils/errors.mjs +11 -0
  405. package/dist/mcp-server/utils/errors.mjs.map +1 -0
  406. package/dist/mcp-server/utils/index.cjs +22 -0
  407. package/dist/mcp-server/utils/index.cjs.map +1 -0
  408. package/dist/mcp-server/utils/index.d.cts +8 -0
  409. package/dist/mcp-server/utils/index.d.cts.map +1 -0
  410. package/dist/mcp-server/utils/index.d.mts +8 -0
  411. package/dist/mcp-server/utils/index.d.mts.map +1 -0
  412. package/dist/mcp-server/utils/index.mjs +8 -0
  413. package/dist/mcp-server/utils/index.mjs.map +1 -0
  414. package/dist/mcp-server/utils/logger.cjs +25 -0
  415. package/dist/mcp-server/utils/logger.cjs.map +1 -0
  416. package/dist/mcp-server/utils/logger.d.cts +9 -0
  417. package/dist/mcp-server/utils/logger.d.cts.map +1 -0
  418. package/dist/mcp-server/utils/logger.d.mts +9 -0
  419. package/dist/mcp-server/utils/logger.d.mts.map +1 -0
  420. package/dist/mcp-server/utils/logger.mjs +22 -0
  421. package/dist/mcp-server/utils/logger.mjs.map +1 -0
  422. package/dist/mcp-server/utils/redaction.cjs +24 -0
  423. package/dist/mcp-server/utils/redaction.cjs.map +1 -0
  424. package/dist/mcp-server/utils/redaction.d.cts +9 -0
  425. package/dist/mcp-server/utils/redaction.d.cts.map +1 -0
  426. package/dist/mcp-server/utils/redaction.d.mts +9 -0
  427. package/dist/mcp-server/utils/redaction.d.mts.map +1 -0
  428. package/dist/mcp-server/utils/redaction.mjs +20 -0
  429. package/dist/mcp-server/utils/redaction.mjs.map +1 -0
  430. package/dist/mcp-server/utils/response.cjs +49 -0
  431. package/dist/mcp-server/utils/response.cjs.map +1 -0
  432. package/dist/mcp-server/utils/response.d.cts +22 -0
  433. package/dist/mcp-server/utils/response.d.cts.map +1 -0
  434. package/dist/mcp-server/utils/response.d.mts +22 -0
  435. package/dist/mcp-server/utils/response.d.mts.map +1 -0
  436. package/dist/mcp-server/utils/response.mjs +45 -0
  437. package/dist/mcp-server/utils/response.mjs.map +1 -0
  438. package/dist/mcp-server/utils/targets.cjs +32 -0
  439. package/dist/mcp-server/utils/targets.cjs.map +1 -0
  440. package/dist/mcp-server/utils/targets.d.cts +25 -0
  441. package/dist/mcp-server/utils/targets.d.cts.map +1 -0
  442. package/dist/mcp-server/utils/targets.d.mts +25 -0
  443. package/dist/mcp-server/utils/targets.d.mts.map +1 -0
  444. package/dist/mcp-server/utils/targets.mjs +29 -0
  445. package/dist/mcp-server/utils/targets.mjs.map +1 -0
  446. package/dist/mcp-server/utils/time.cjs +39 -0
  447. package/dist/mcp-server/utils/time.cjs.map +1 -0
  448. package/dist/mcp-server/utils/time.d.cts +15 -0
  449. package/dist/mcp-server/utils/time.d.cts.map +1 -0
  450. package/dist/mcp-server/utils/time.d.mts +15 -0
  451. package/dist/mcp-server/utils/time.d.mts.map +1 -0
  452. package/dist/mcp-server/utils/time.mjs +35 -0
  453. package/dist/mcp-server/utils/time.mjs.map +1 -0
  454. package/dist/mcp-server/utils/type-guards.cjs +42 -0
  455. package/dist/mcp-server/utils/type-guards.cjs.map +1 -0
  456. package/dist/mcp-server/utils/type-guards.d.cts +30 -0
  457. package/dist/mcp-server/utils/type-guards.d.cts.map +1 -0
  458. package/dist/mcp-server/utils/type-guards.d.mts +30 -0
  459. package/dist/mcp-server/utils/type-guards.d.mts.map +1 -0
  460. package/dist/mcp-server/utils/type-guards.mjs +38 -0
  461. package/dist/mcp-server/utils/type-guards.mjs.map +1 -0
  462. package/dist/utils/fetch.cjs +36 -0
  463. package/dist/utils/fetch.cjs.map +1 -0
  464. package/dist/utils/fetch.d.cts +20 -0
  465. package/dist/utils/fetch.d.cts.map +1 -0
  466. package/dist/utils/fetch.d.mts +20 -0
  467. package/dist/utils/fetch.d.mts.map +1 -0
  468. package/dist/utils/fetch.mjs +33 -0
  469. package/dist/utils/fetch.mjs.map +1 -0
  470. package/dist/utils/index.cjs +11 -0
  471. package/dist/utils/index.cjs.map +1 -0
  472. package/dist/utils/index.d.cts +6 -0
  473. package/dist/utils/index.d.cts.map +1 -0
  474. package/dist/utils/index.d.mts +6 -0
  475. package/dist/utils/index.d.mts.map +1 -0
  476. package/dist/utils/index.mjs +6 -0
  477. package/dist/utils/index.mjs.map +1 -0
  478. package/dist/utils/service-readiness.cjs +75 -0
  479. package/dist/utils/service-readiness.cjs.map +1 -0
  480. package/dist/utils/service-readiness.d.cts +61 -0
  481. package/dist/utils/service-readiness.d.cts.map +1 -0
  482. package/dist/utils/service-readiness.d.mts +61 -0
  483. package/dist/utils/service-readiness.d.mts.map +1 -0
  484. package/dist/utils/service-readiness.mjs +72 -0
  485. package/dist/utils/service-readiness.mjs.map +1 -0
  486. package/package.json +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeding.d.mts","sourceRoot":"","sources":["../../../src/mcp-server/tools/seeding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qCAAoC;AAI7E,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,WAAW,EACX,cAAc,EACf,2BAAiB;AAIlB,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;CAC/C,CAAC;AA+CF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAsD1C;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAyD3C;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,uBAAuB,EAC9B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,CA8ChD;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,CAuDnD"}
@@ -0,0 +1,208 @@
1
+ import { getSessionManager } from "../session-manager.mjs";
2
+ import { classifySeedingError } from "./error-classification.mjs";
3
+ import { runTool } from "./run-tool.mjs";
4
+ import { ErrorCodes } from "../types/index.mjs";
5
+ import { createErrorResponse } from "../utils/index.mjs";
6
+ /**
7
+ * Validates that the seeding capability is available, returning either the capability or an error response.
8
+ *
9
+ * @param toolName The name of the tool requesting the capability
10
+ * @param input The input provided to the tool
11
+ * @param options Tool options containing the seeding capability
12
+ * @param startTime Timestamp when the tool execution started
13
+ * @returns The seeding capability if available, or an error response if not
14
+ */
15
+ function checkSeedingCapability(toolName, input, options, startTime) {
16
+ const sessionManager = getSessionManager();
17
+ const sessionId = sessionManager.getSessionId();
18
+ if (!options?.seedingCapability) {
19
+ return createErrorResponse(ErrorCodes.MM_CAPABILITY_NOT_AVAILABLE, `ContractSeedingCapability not available. The ${toolName} tool requires running in e2e mode with the MetaMask extension wrapper, which provides Anvil chain and contract deployment support.`, { capability: 'ContractSeedingCapability', input }, sessionId, startTime);
20
+ }
21
+ return options.seedingCapability;
22
+ }
23
+ /**
24
+ * Type guard to check if a result is a ContractSeedingCapability.
25
+ *
26
+ * @param result The value to check
27
+ * @returns True if result is a ContractSeedingCapability, false if it's an error response
28
+ */
29
+ function isCapability(result) {
30
+ return (typeof result === 'object' && result !== null && 'deployContract' in result);
31
+ }
32
+ /**
33
+ * Handles the mm_seed_contract tool to deploy a single smart contract.
34
+ *
35
+ * @param input The contract name and deployment options
36
+ * @param options Tool options including seeding capability
37
+ * @returns Promise resolving to the deployment result with contract address
38
+ */
39
+ export async function handleSeedContract(input, options) {
40
+ const startTime = Date.now();
41
+ const capabilityOrError = checkSeedingCapability('mm_seed_contract', input, options, startTime);
42
+ if (!isCapability(capabilityOrError)) {
43
+ return capabilityOrError;
44
+ }
45
+ const seedingCapability = capabilityOrError;
46
+ return runTool({
47
+ toolName: 'mm_seed_contract',
48
+ input,
49
+ options,
50
+ observationPolicy: 'none',
51
+ /**
52
+ * Executes the contract deployment using the seeding capability.
53
+ *
54
+ * @returns The deployed contract details including name, address, and timestamp
55
+ */
56
+ execute: async () => {
57
+ const deployed = await seedingCapability.deployContract(input.contractName, {
58
+ hardfork: input.hardfork,
59
+ deployerOptions: input.deployerOptions,
60
+ });
61
+ return {
62
+ contractName: deployed.name,
63
+ contractAddress: deployed.address,
64
+ deployedAt: deployed.deployedAt,
65
+ };
66
+ },
67
+ classifyError: classifySeedingError,
68
+ /**
69
+ * Sanitizes the input for recording in the knowledge store.
70
+ *
71
+ * @returns The sanitized input containing contract name and hardfork
72
+ */
73
+ sanitizeInputForRecording: () => ({
74
+ contractName: input.contractName,
75
+ hardfork: input.hardfork ?? 'prague',
76
+ }),
77
+ });
78
+ }
79
+ /**
80
+ * Handles the mm_seed_contracts tool to deploy multiple smart contracts.
81
+ *
82
+ * @param input The list of contract names and deployment options
83
+ * @param options Tool options including seeding capability
84
+ * @returns Promise resolving to deployment results with deployed and failed contracts
85
+ */
86
+ export async function handleSeedContracts(input, options) {
87
+ const startTime = Date.now();
88
+ const capabilityOrError = checkSeedingCapability('mm_seed_contracts', input, options, startTime);
89
+ if (!isCapability(capabilityOrError)) {
90
+ return capabilityOrError;
91
+ }
92
+ const seedingCapability = capabilityOrError;
93
+ return runTool({
94
+ toolName: 'mm_seed_contracts',
95
+ input,
96
+ options,
97
+ observationPolicy: 'none',
98
+ /**
99
+ * Executes the multi-contract deployment using the seeding capability.
100
+ *
101
+ * @returns The deployment results with deployed and failed contract lists
102
+ */
103
+ execute: async () => {
104
+ const seedResult = await seedingCapability.deployContracts(input.contracts, { hardfork: input.hardfork });
105
+ return {
106
+ deployed: seedResult.deployed.map((deployedContract) => ({
107
+ contractName: deployedContract.name,
108
+ contractAddress: deployedContract.address,
109
+ deployedAt: deployedContract.deployedAt,
110
+ })),
111
+ failed: seedResult.failed.map((failedDeployment) => ({
112
+ contractName: failedDeployment.name,
113
+ error: failedDeployment.error,
114
+ })),
115
+ };
116
+ },
117
+ classifyError: classifySeedingError,
118
+ /**
119
+ * Sanitizes the input for recording in the knowledge store.
120
+ *
121
+ * @returns The sanitized input containing contracts list and hardfork
122
+ */
123
+ sanitizeInputForRecording: () => ({
124
+ contracts: input.contracts,
125
+ hardfork: input.hardfork ?? 'prague',
126
+ }),
127
+ });
128
+ }
129
+ /**
130
+ * Handles the mm_get_contract_address tool to retrieve a deployed contract's address.
131
+ *
132
+ * @param input The contract name to look up
133
+ * @param options Tool options including seeding capability
134
+ * @returns Promise resolving to the contract address or null if not found
135
+ */
136
+ export async function handleGetContractAddress(input, options) {
137
+ const startTime = Date.now();
138
+ const capabilityOrError = checkSeedingCapability('mm_get_contract_address', input, options, startTime);
139
+ if (!isCapability(capabilityOrError)) {
140
+ return capabilityOrError;
141
+ }
142
+ const seedingCapability = capabilityOrError;
143
+ return runTool({
144
+ toolName: 'mm_get_contract_address',
145
+ input,
146
+ options,
147
+ observationPolicy: 'none',
148
+ /**
149
+ * Executes the contract address lookup using the seeding capability.
150
+ *
151
+ * @returns The contract name and its deployed address
152
+ */
153
+ execute: async () => {
154
+ const address = seedingCapability.getContractAddress(input.contractName);
155
+ return {
156
+ contractName: input.contractName,
157
+ contractAddress: address,
158
+ };
159
+ },
160
+ classifyError: classifySeedingError,
161
+ /**
162
+ * Sanitizes the input for recording in the knowledge store.
163
+ *
164
+ * @returns The sanitized input containing the contract name
165
+ */
166
+ sanitizeInputForRecording: () => ({
167
+ contractName: input.contractName,
168
+ }),
169
+ });
170
+ }
171
+ /**
172
+ * Handles the mm_list_contracts tool to list all deployed contracts in the session.
173
+ *
174
+ * @param _input Unused input parameter (no input required for this tool)
175
+ * @param options Tool options including seeding capability
176
+ * @returns Promise resolving to a list of all deployed contracts with their addresses
177
+ */
178
+ export async function handleListDeployedContracts(_input, options) {
179
+ const startTime = Date.now();
180
+ const capabilityOrError = checkSeedingCapability('mm_list_contracts', _input, options, startTime);
181
+ if (!isCapability(capabilityOrError)) {
182
+ return capabilityOrError;
183
+ }
184
+ const seedingCapability = capabilityOrError;
185
+ return runTool({
186
+ toolName: 'mm_list_contracts',
187
+ input: _input,
188
+ options,
189
+ observationPolicy: 'none',
190
+ /**
191
+ * Executes the contract listing using the seeding capability.
192
+ *
193
+ * @returns The list of all deployed contracts with their details
194
+ */
195
+ execute: async () => {
196
+ const deployed = seedingCapability.listDeployedContracts();
197
+ return {
198
+ contracts: deployed.map((deployedContract) => ({
199
+ contractName: deployedContract.name,
200
+ contractAddress: deployedContract.address,
201
+ deployedAt: deployedContract.deployedAt,
202
+ })),
203
+ };
204
+ },
205
+ classifyError: classifySeedingError,
206
+ });
207
+ }
208
+ //# sourceMappingURL=seeding.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeding.mjs","sourceRoot":"","sources":["../../../src/mcp-server/tools/seeding.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ContractSeedingCapability } from '../../capabilities/types.js';\nimport { getSessionManager } from '../session-manager.js';\nimport { classifySeedingError } from './error-classification.js';\nimport { runTool } from './run-tool.js';\nimport type {\n SeedContractInput,\n SeedContractsInput,\n GetContractAddressInput,\n ListDeployedContractsInput,\n SeedContractResult,\n SeedContractsResult,\n GetContractAddressResult,\n ListDeployedContractsResult,\n McpResponse,\n HandlerOptions,\n} from '../types';\nimport { ErrorCodes } from '../types';\nimport { createErrorResponse } from '../utils';\n\nexport type SeedingToolOptions = HandlerOptions & {\n seedingCapability?: ContractSeedingCapability;\n};\n\n/**\n * Validates that the seeding capability is available, returning either the capability or an error response.\n *\n * @param toolName The name of the tool requesting the capability\n * @param input The input provided to the tool\n * @param options Tool options containing the seeding capability\n * @param startTime Timestamp when the tool execution started\n * @returns The seeding capability if available, or an error response if not\n */\nfunction checkSeedingCapability<Type>(\n toolName: string,\n input: unknown,\n options: SeedingToolOptions | undefined,\n startTime: number,\n): McpResponse<Type> | ContractSeedingCapability {\n const sessionManager = getSessionManager();\n const sessionId = sessionManager.getSessionId();\n\n if (!options?.seedingCapability) {\n return createErrorResponse(\n ErrorCodes.MM_CAPABILITY_NOT_AVAILABLE,\n `ContractSeedingCapability not available. The ${toolName} tool requires running in e2e mode with the MetaMask extension wrapper, which provides Anvil chain and contract deployment support.`,\n { capability: 'ContractSeedingCapability', input },\n sessionId,\n startTime,\n ) as McpResponse<Type>;\n }\n\n return options.seedingCapability;\n}\n\n/**\n * Type guard to check if a result is a ContractSeedingCapability.\n *\n * @param result The value to check\n * @returns True if result is a ContractSeedingCapability, false if it's an error response\n */\nfunction isCapability(\n result: McpResponse<unknown> | ContractSeedingCapability,\n): result is ContractSeedingCapability {\n return (\n typeof result === 'object' && result !== null && 'deployContract' in result\n );\n}\n\n/**\n * Handles the mm_seed_contract tool to deploy a single smart contract.\n *\n * @param input The contract name and deployment options\n * @param options Tool options including seeding capability\n * @returns Promise resolving to the deployment result with contract address\n */\nexport async function handleSeedContract(\n input: SeedContractInput,\n options?: SeedingToolOptions,\n): Promise<McpResponse<SeedContractResult>> {\n const startTime = Date.now();\n const capabilityOrError = checkSeedingCapability<SeedContractResult>(\n 'mm_seed_contract',\n input,\n options,\n startTime,\n );\n\n if (!isCapability(capabilityOrError)) {\n return capabilityOrError;\n }\n\n const seedingCapability = capabilityOrError;\n\n return runTool<SeedContractInput, SeedContractResult>({\n toolName: 'mm_seed_contract',\n input,\n options,\n observationPolicy: 'none',\n\n /**\n * Executes the contract deployment using the seeding capability.\n *\n * @returns The deployed contract details including name, address, and timestamp\n */\n execute: async () => {\n const deployed = await seedingCapability.deployContract(\n input.contractName,\n {\n hardfork: input.hardfork,\n deployerOptions: input.deployerOptions,\n },\n );\n\n return {\n contractName: deployed.name,\n contractAddress: deployed.address,\n deployedAt: deployed.deployedAt,\n };\n },\n\n classifyError: classifySeedingError,\n\n /**\n * Sanitizes the input for recording in the knowledge store.\n *\n * @returns The sanitized input containing contract name and hardfork\n */\n sanitizeInputForRecording: () => ({\n contractName: input.contractName,\n hardfork: input.hardfork ?? 'prague',\n }),\n });\n}\n\n/**\n * Handles the mm_seed_contracts tool to deploy multiple smart contracts.\n *\n * @param input The list of contract names and deployment options\n * @param options Tool options including seeding capability\n * @returns Promise resolving to deployment results with deployed and failed contracts\n */\nexport async function handleSeedContracts(\n input: SeedContractsInput,\n options?: SeedingToolOptions,\n): Promise<McpResponse<SeedContractsResult>> {\n const startTime = Date.now();\n const capabilityOrError = checkSeedingCapability<SeedContractsResult>(\n 'mm_seed_contracts',\n input,\n options,\n startTime,\n );\n\n if (!isCapability(capabilityOrError)) {\n return capabilityOrError;\n }\n\n const seedingCapability = capabilityOrError;\n\n return runTool<SeedContractsInput, SeedContractsResult>({\n toolName: 'mm_seed_contracts',\n input,\n options,\n observationPolicy: 'none',\n\n /**\n * Executes the multi-contract deployment using the seeding capability.\n *\n * @returns The deployment results with deployed and failed contract lists\n */\n execute: async () => {\n const seedResult = await seedingCapability.deployContracts(\n input.contracts,\n { hardfork: input.hardfork },\n );\n\n return {\n deployed: seedResult.deployed.map((deployedContract) => ({\n contractName: deployedContract.name,\n contractAddress: deployedContract.address,\n deployedAt: deployedContract.deployedAt,\n })),\n failed: seedResult.failed.map((failedDeployment) => ({\n contractName: failedDeployment.name,\n error: failedDeployment.error,\n })),\n };\n },\n\n classifyError: classifySeedingError,\n\n /**\n * Sanitizes the input for recording in the knowledge store.\n *\n * @returns The sanitized input containing contracts list and hardfork\n */\n sanitizeInputForRecording: () => ({\n contracts: input.contracts,\n hardfork: input.hardfork ?? 'prague',\n }),\n });\n}\n\n/**\n * Handles the mm_get_contract_address tool to retrieve a deployed contract's address.\n *\n * @param input The contract name to look up\n * @param options Tool options including seeding capability\n * @returns Promise resolving to the contract address or null if not found\n */\nexport async function handleGetContractAddress(\n input: GetContractAddressInput,\n options?: SeedingToolOptions,\n): Promise<McpResponse<GetContractAddressResult>> {\n const startTime = Date.now();\n const capabilityOrError = checkSeedingCapability<GetContractAddressResult>(\n 'mm_get_contract_address',\n input,\n options,\n startTime,\n );\n\n if (!isCapability(capabilityOrError)) {\n return capabilityOrError;\n }\n\n const seedingCapability = capabilityOrError;\n\n return runTool<GetContractAddressInput, GetContractAddressResult>({\n toolName: 'mm_get_contract_address',\n input,\n options,\n observationPolicy: 'none',\n\n /**\n * Executes the contract address lookup using the seeding capability.\n *\n * @returns The contract name and its deployed address\n */\n execute: async () => {\n const address = seedingCapability.getContractAddress(input.contractName);\n\n return {\n contractName: input.contractName,\n contractAddress: address,\n };\n },\n\n classifyError: classifySeedingError,\n\n /**\n * Sanitizes the input for recording in the knowledge store.\n *\n * @returns The sanitized input containing the contract name\n */\n sanitizeInputForRecording: () => ({\n contractName: input.contractName,\n }),\n });\n}\n\n/**\n * Handles the mm_list_contracts tool to list all deployed contracts in the session.\n *\n * @param _input Unused input parameter (no input required for this tool)\n * @param options Tool options including seeding capability\n * @returns Promise resolving to a list of all deployed contracts with their addresses\n */\nexport async function handleListDeployedContracts(\n _input: ListDeployedContractsInput,\n options?: SeedingToolOptions,\n): Promise<McpResponse<ListDeployedContractsResult>> {\n const startTime = Date.now();\n const capabilityOrError = checkSeedingCapability<ListDeployedContractsResult>(\n 'mm_list_contracts',\n _input,\n options,\n startTime,\n );\n\n if (!isCapability(capabilityOrError)) {\n return capabilityOrError;\n }\n\n const seedingCapability = capabilityOrError;\n\n return runTool<ListDeployedContractsInput, ListDeployedContractsResult>({\n toolName: 'mm_list_contracts',\n input: _input,\n options,\n observationPolicy: 'none',\n\n /**\n * Executes the contract listing using the seeding capability.\n *\n * @returns The list of all deployed contracts with their details\n */\n execute: async () => {\n const deployed = seedingCapability.listDeployedContracts();\n\n return {\n contracts: deployed.map(\n (deployedContract: {\n /**\n * The contract name\n */\n name: string;\n /**\n * The contract's deployed address\n */\n address: string;\n /**\n * The deployment timestamp\n */\n deployedAt: string;\n }) => ({\n contractName: deployedContract.name,\n contractAddress: deployedContract.address,\n deployedAt: deployedContract.deployedAt,\n }),\n ),\n };\n },\n\n classifyError: classifySeedingError,\n });\n}\n"]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleGetState = handleGetState;
4
+ const error_classification_js_1 = require("./error-classification.cjs");
5
+ const helpers_js_1 = require("./helpers.cjs");
6
+ const run_tool_js_1 = require("./run-tool.cjs");
7
+ const session_manager_js_1 = require("../session-manager.cjs");
8
+ /**
9
+ * Retrieves the current extension state, using the snapshot capability if available.
10
+ *
11
+ * @param page The Playwright page object to query
12
+ * @param sessionManager The session manager instance
13
+ * @param stateSnapshotCapability Optional capability for detailed state snapshots
14
+ * @returns Promise resolving to the current extension state
15
+ */
16
+ async function getState(page, sessionManager, stateSnapshotCapability) {
17
+ if (stateSnapshotCapability) {
18
+ const extensionId = sessionManager.getSessionState()?.extensionId;
19
+ return stateSnapshotCapability.getState(page, {
20
+ extensionId,
21
+ chainId: sessionManager.getSessionState()?.ports?.anvil ? 1337 : 1,
22
+ });
23
+ }
24
+ return sessionManager.getExtensionState();
25
+ }
26
+ /**
27
+ * Handles the mm_get_state tool to retrieve the current extension state.
28
+ *
29
+ * @param options Tool options including optional state snapshot capability
30
+ * @returns Promise resolving to the current extension state and tab information
31
+ */
32
+ async function handleGetState(options) {
33
+ return (0, run_tool_js_1.runTool)({
34
+ toolName: 'mm_get_state',
35
+ input: {},
36
+ options,
37
+ observationPolicy: 'custom',
38
+ /**
39
+ * Executes the state retrieval with tab and observation information.
40
+ *
41
+ * @param context The tool execution context containing the page
42
+ * @returns The extension state, tab information, and observation data
43
+ */
44
+ execute: async (context) => {
45
+ const sessionManager = (0, session_manager_js_1.getSessionManager)();
46
+ const state = await getState(context.page, sessionManager, options?.stateSnapshotCapability);
47
+ const trackedPages = sessionManager.getTrackedPages();
48
+ const activePage = sessionManager.getPage();
49
+ const activeTabInfo = trackedPages.find((trackedPage) => trackedPage.page === activePage);
50
+ const tabs = {
51
+ active: {
52
+ role: activeTabInfo?.role ?? 'other',
53
+ url: activePage.url(),
54
+ },
55
+ tracked: trackedPages.map((trackedPage) => ({
56
+ role: trackedPage.role,
57
+ url: trackedPage.url,
58
+ })),
59
+ };
60
+ const observation = await (0, helpers_js_1.collectObservation)(context.page, 'full', state);
61
+ return {
62
+ result: { state, tabs },
63
+ observation,
64
+ };
65
+ },
66
+ classifyError: error_classification_js_1.classifyStateError,
67
+ });
68
+ }
69
+ //# sourceMappingURL=state.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.cjs","sourceRoot":"","sources":["../../../src/mcp-server/tools/state.ts"],"names":[],"mappings":";;AAmDA,wCAkDC;AAnGD,wEAA+D;AAC/D,8CAAkD;AAClD,gDAAwC;AAKxC,+DAA0D;AAa1D;;;;;;;GAOG;AACH,KAAK,UAAU,QAAQ,CACrB,IAAU,EACV,cAAoD,EACpD,uBAAiD;IAEjD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,EAAE,WAAW,CAAC;QAClE,OAAO,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC5C,WAAW;YACX,OAAO,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC,iBAAiB,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAClC,OAA0B;IAE1B,OAAO,IAAA,qBAAO,EAAwC;QACpD,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,EAAE;QACT,OAAO;QACP,iBAAiB,EAAE,QAAQ;QAE3B;;;;;WAKG;QACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,MAAM,cAAc,GAAG,IAAA,sCAAiB,GAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAC1B,OAAO,CAAC,IAAI,EACZ,cAAc,EACd,OAAO,EAAE,uBAAuB,CACjC,CAAC;YAEF,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;YACtD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CACrC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,UAAU,CACjD,CAAC;YAEF,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE;oBACN,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,OAAO;oBACpC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE;iBACtB;gBACD,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC1C,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,GAAG,EAAE,WAAW,CAAC,GAAG;iBACrB,CAAC,CAAC;aACJ,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAE1E,OAAO;gBACL,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;gBACvB,WAAW;aACZ,CAAC;QACJ,CAAC;QAED,aAAa,EAAE,4CAAkB;KAClC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { Page } from 'playwright';\n\nimport { classifyStateError } from './error-classification.js';\nimport { collectObservation } from './helpers.js';\nimport { runTool } from './run-tool.js';\nimport type {\n StateSnapshotCapability,\n ExtensionState,\n} from '../../capabilities/types.js';\nimport { getSessionManager } from '../session-manager.js';\nimport type { GetStateResult, McpResponse, HandlerOptions } from '../types';\n\n/**\n * Tool options for state-related operations.\n */\nexport type StateToolOptions = HandlerOptions & {\n /**\n * Optional capability for taking state snapshots\n */\n stateSnapshotCapability?: StateSnapshotCapability;\n};\n\n/**\n * Retrieves the current extension state, using the snapshot capability if available.\n *\n * @param page The Playwright page object to query\n * @param sessionManager The session manager instance\n * @param stateSnapshotCapability Optional capability for detailed state snapshots\n * @returns Promise resolving to the current extension state\n */\nasync function getState(\n page: Page,\n sessionManager: ReturnType<typeof getSessionManager>,\n stateSnapshotCapability?: StateSnapshotCapability,\n): Promise<ExtensionState> {\n if (stateSnapshotCapability) {\n const extensionId = sessionManager.getSessionState()?.extensionId;\n return stateSnapshotCapability.getState(page, {\n extensionId,\n chainId: sessionManager.getSessionState()?.ports?.anvil ? 1337 : 1,\n });\n }\n return sessionManager.getExtensionState();\n}\n\n/**\n * Handles the mm_get_state tool to retrieve the current extension state.\n *\n * @param options Tool options including optional state snapshot capability\n * @returns Promise resolving to the current extension state and tab information\n */\nexport async function handleGetState(\n options?: StateToolOptions,\n): Promise<McpResponse<GetStateResult>> {\n return runTool<Record<string, never>, GetStateResult>({\n toolName: 'mm_get_state',\n input: {},\n options,\n observationPolicy: 'custom',\n\n /**\n * Executes the state retrieval with tab and observation information.\n *\n * @param context The tool execution context containing the page\n * @returns The extension state, tab information, and observation data\n */\n execute: async (context) => {\n const sessionManager = getSessionManager();\n const state = await getState(\n context.page,\n sessionManager,\n options?.stateSnapshotCapability,\n );\n\n const trackedPages = sessionManager.getTrackedPages();\n const activePage = sessionManager.getPage();\n const activeTabInfo = trackedPages.find(\n (trackedPage) => trackedPage.page === activePage,\n );\n\n const tabs = {\n active: {\n role: activeTabInfo?.role ?? 'other',\n url: activePage.url(),\n },\n tracked: trackedPages.map((trackedPage) => ({\n role: trackedPage.role,\n url: trackedPage.url,\n })),\n };\n\n const observation = await collectObservation(context.page, 'full', state);\n\n return {\n result: { state, tabs },\n observation,\n };\n },\n\n classifyError: classifyStateError,\n });\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import type { StateSnapshotCapability } from "../../capabilities/types.cjs";
2
+ import type { GetStateResult, McpResponse, HandlerOptions } from "../types/index.cjs";
3
+ /**
4
+ * Tool options for state-related operations.
5
+ */
6
+ export type StateToolOptions = HandlerOptions & {
7
+ /**
8
+ * Optional capability for taking state snapshots
9
+ */
10
+ stateSnapshotCapability?: StateSnapshotCapability;
11
+ };
12
+ /**
13
+ * Handles the mm_get_state tool to retrieve the current extension state.
14
+ *
15
+ * @param options Tool options including optional state snapshot capability
16
+ * @returns Promise resolving to the current extension state and tab information
17
+ */
18
+ export declare function handleGetState(options?: StateToolOptions): Promise<McpResponse<GetStateResult>>;
19
+ //# sourceMappingURL=state.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.cts","sourceRoot":"","sources":["../../../src/mcp-server/tools/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EAExB,qCAAoC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,2BAAiB;AAE5E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACnD,CAAC;AAyBF;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAgDtC"}
@@ -0,0 +1,19 @@
1
+ import type { StateSnapshotCapability } from "../../capabilities/types.mjs";
2
+ import type { GetStateResult, McpResponse, HandlerOptions } from "../types/index.mjs";
3
+ /**
4
+ * Tool options for state-related operations.
5
+ */
6
+ export type StateToolOptions = HandlerOptions & {
7
+ /**
8
+ * Optional capability for taking state snapshots
9
+ */
10
+ stateSnapshotCapability?: StateSnapshotCapability;
11
+ };
12
+ /**
13
+ * Handles the mm_get_state tool to retrieve the current extension state.
14
+ *
15
+ * @param options Tool options including optional state snapshot capability
16
+ * @returns Promise resolving to the current extension state and tab information
17
+ */
18
+ export declare function handleGetState(options?: StateToolOptions): Promise<McpResponse<GetStateResult>>;
19
+ //# sourceMappingURL=state.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.mts","sourceRoot":"","sources":["../../../src/mcp-server/tools/state.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,uBAAuB,EAExB,qCAAoC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,2BAAiB;AAE5E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACnD,CAAC;AAyBF;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAgDtC"}
@@ -0,0 +1,66 @@
1
+ import { classifyStateError } from "./error-classification.mjs";
2
+ import { collectObservation } from "./helpers.mjs";
3
+ import { runTool } from "./run-tool.mjs";
4
+ import { getSessionManager } from "../session-manager.mjs";
5
+ /**
6
+ * Retrieves the current extension state, using the snapshot capability if available.
7
+ *
8
+ * @param page The Playwright page object to query
9
+ * @param sessionManager The session manager instance
10
+ * @param stateSnapshotCapability Optional capability for detailed state snapshots
11
+ * @returns Promise resolving to the current extension state
12
+ */
13
+ async function getState(page, sessionManager, stateSnapshotCapability) {
14
+ if (stateSnapshotCapability) {
15
+ const extensionId = sessionManager.getSessionState()?.extensionId;
16
+ return stateSnapshotCapability.getState(page, {
17
+ extensionId,
18
+ chainId: sessionManager.getSessionState()?.ports?.anvil ? 1337 : 1,
19
+ });
20
+ }
21
+ return sessionManager.getExtensionState();
22
+ }
23
+ /**
24
+ * Handles the mm_get_state tool to retrieve the current extension state.
25
+ *
26
+ * @param options Tool options including optional state snapshot capability
27
+ * @returns Promise resolving to the current extension state and tab information
28
+ */
29
+ export async function handleGetState(options) {
30
+ return runTool({
31
+ toolName: 'mm_get_state',
32
+ input: {},
33
+ options,
34
+ observationPolicy: 'custom',
35
+ /**
36
+ * Executes the state retrieval with tab and observation information.
37
+ *
38
+ * @param context The tool execution context containing the page
39
+ * @returns The extension state, tab information, and observation data
40
+ */
41
+ execute: async (context) => {
42
+ const sessionManager = getSessionManager();
43
+ const state = await getState(context.page, sessionManager, options?.stateSnapshotCapability);
44
+ const trackedPages = sessionManager.getTrackedPages();
45
+ const activePage = sessionManager.getPage();
46
+ const activeTabInfo = trackedPages.find((trackedPage) => trackedPage.page === activePage);
47
+ const tabs = {
48
+ active: {
49
+ role: activeTabInfo?.role ?? 'other',
50
+ url: activePage.url(),
51
+ },
52
+ tracked: trackedPages.map((trackedPage) => ({
53
+ role: trackedPage.role,
54
+ url: trackedPage.url,
55
+ })),
56
+ };
57
+ const observation = await collectObservation(context.page, 'full', state);
58
+ return {
59
+ result: { state, tabs },
60
+ observation,
61
+ };
62
+ },
63
+ classifyError: classifyStateError,
64
+ });
65
+ }
66
+ //# sourceMappingURL=state.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.mjs","sourceRoot":"","sources":["../../../src/mcp-server/tools/state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,mCAAkC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,sBAAqB;AAClD,OAAO,EAAE,OAAO,EAAE,uBAAsB;AAKxC,OAAO,EAAE,iBAAiB,EAAE,+BAA8B;AAa1D;;;;;;;GAOG;AACH,KAAK,UAAU,QAAQ,CACrB,IAAU,EACV,cAAoD,EACpD,uBAAiD;IAEjD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,EAAE,WAAW,CAAC;QAClE,OAAO,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC5C,WAAW;YACX,OAAO,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC,iBAAiB,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA0B;IAE1B,OAAO,OAAO,CAAwC;QACpD,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,EAAE;QACT,OAAO;QACP,iBAAiB,EAAE,QAAQ;QAE3B;;;;;WAKG;QACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAC1B,OAAO,CAAC,IAAI,EACZ,cAAc,EACd,OAAO,EAAE,uBAAuB,CACjC,CAAC;YAEF,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;YACtD,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CACrC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,UAAU,CACjD,CAAC;YAEF,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE;oBACN,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,OAAO;oBACpC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE;iBACtB;gBACD,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBAC1C,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,GAAG,EAAE,WAAW,CAAC,GAAG;iBACrB,CAAC,CAAC;aACJ,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAE1E,OAAO;gBACL,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;gBACvB,WAAW;aACZ,CAAC;QACJ,CAAC;QAED,aAAa,EAAE,kBAAkB;KAClC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { Page } from 'playwright';\n\nimport { classifyStateError } from './error-classification.js';\nimport { collectObservation } from './helpers.js';\nimport { runTool } from './run-tool.js';\nimport type {\n StateSnapshotCapability,\n ExtensionState,\n} from '../../capabilities/types.js';\nimport { getSessionManager } from '../session-manager.js';\nimport type { GetStateResult, McpResponse, HandlerOptions } from '../types';\n\n/**\n * Tool options for state-related operations.\n */\nexport type StateToolOptions = HandlerOptions & {\n /**\n * Optional capability for taking state snapshots\n */\n stateSnapshotCapability?: StateSnapshotCapability;\n};\n\n/**\n * Retrieves the current extension state, using the snapshot capability if available.\n *\n * @param page The Playwright page object to query\n * @param sessionManager The session manager instance\n * @param stateSnapshotCapability Optional capability for detailed state snapshots\n * @returns Promise resolving to the current extension state\n */\nasync function getState(\n page: Page,\n sessionManager: ReturnType<typeof getSessionManager>,\n stateSnapshotCapability?: StateSnapshotCapability,\n): Promise<ExtensionState> {\n if (stateSnapshotCapability) {\n const extensionId = sessionManager.getSessionState()?.extensionId;\n return stateSnapshotCapability.getState(page, {\n extensionId,\n chainId: sessionManager.getSessionState()?.ports?.anvil ? 1337 : 1,\n });\n }\n return sessionManager.getExtensionState();\n}\n\n/**\n * Handles the mm_get_state tool to retrieve the current extension state.\n *\n * @param options Tool options including optional state snapshot capability\n * @returns Promise resolving to the current extension state and tab information\n */\nexport async function handleGetState(\n options?: StateToolOptions,\n): Promise<McpResponse<GetStateResult>> {\n return runTool<Record<string, never>, GetStateResult>({\n toolName: 'mm_get_state',\n input: {},\n options,\n observationPolicy: 'custom',\n\n /**\n * Executes the state retrieval with tab and observation information.\n *\n * @param context The tool execution context containing the page\n * @returns The extension state, tab information, and observation data\n */\n execute: async (context) => {\n const sessionManager = getSessionManager();\n const state = await getState(\n context.page,\n sessionManager,\n options?.stateSnapshotCapability,\n );\n\n const trackedPages = sessionManager.getTrackedPages();\n const activePage = sessionManager.getPage();\n const activeTabInfo = trackedPages.find(\n (trackedPage) => trackedPage.page === activePage,\n );\n\n const tabs = {\n active: {\n role: activeTabInfo?.role ?? 'other',\n url: activePage.url(),\n },\n tracked: trackedPages.map((trackedPage) => ({\n role: trackedPage.role,\n url: trackedPage.url,\n })),\n };\n\n const observation = await collectObservation(context.page, 'full', state);\n\n return {\n result: { state, tabs },\n observation,\n };\n },\n\n classifyError: classifyStateError,\n });\n}\n"]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INCLUDED_ROLES = exports.IMPORTANT_ROLES = exports.ACTIONABLE_ROLES = void 0;
4
+ exports.ACTIONABLE_ROLES = [
5
+ 'button',
6
+ 'link',
7
+ 'checkbox',
8
+ 'radio',
9
+ 'switch',
10
+ 'textbox',
11
+ 'combobox',
12
+ 'menuitem',
13
+ ];
14
+ exports.IMPORTANT_ROLES = [
15
+ 'dialog',
16
+ 'alert',
17
+ 'status',
18
+ 'heading',
19
+ ];
20
+ exports.INCLUDED_ROLES = [
21
+ ...exports.ACTIONABLE_ROLES,
22
+ ...exports.IMPORTANT_ROLES,
23
+ ];
24
+ //# sourceMappingURL=discovery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.cjs","sourceRoot":"","sources":["../../../src/mcp-server/types/discovery.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC9B,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;CACF,CAAC;AAEE,QAAA,eAAe,GAAG;IAC7B,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC;AAEE,QAAA,cAAc,GAAG;IAC5B,GAAG,wBAAgB;IACnB,GAAG,uBAAe;CACV,CAAC","sourcesContent":["export const ACTIONABLE_ROLES = [\n 'button',\n 'link',\n 'checkbox',\n 'radio',\n 'switch',\n 'textbox',\n 'combobox',\n 'menuitem',\n] as const;\n\nexport const IMPORTANT_ROLES = [\n 'dialog',\n 'alert',\n 'status',\n 'heading',\n] as const;\n\nexport const INCLUDED_ROLES = [\n ...ACTIONABLE_ROLES,\n ...IMPORTANT_ROLES,\n] as const;\n\nexport type ActionableRole = (typeof ACTIONABLE_ROLES)[number];\nexport type ImportantRole = (typeof IMPORTANT_ROLES)[number];\nexport type IncludedRole = (typeof INCLUDED_ROLES)[number];\n\nexport type TestIdItem = {\n testId: string;\n tag: string;\n text?: string;\n visible: boolean;\n};\n\nexport type A11yNodeTrimmed = {\n ref: string;\n role: string;\n name: string;\n disabled?: boolean;\n checked?: boolean;\n expanded?: boolean;\n path: string[];\n};\n\nexport type RawA11yNode = {\n role: string;\n name?: string;\n disabled?: boolean;\n checked?: boolean | 'mixed';\n expanded?: boolean;\n children?: RawA11yNode[];\n};\n"]}
@@ -0,0 +1,30 @@
1
+ export declare const ACTIONABLE_ROLES: readonly ["button", "link", "checkbox", "radio", "switch", "textbox", "combobox", "menuitem"];
2
+ export declare const IMPORTANT_ROLES: readonly ["dialog", "alert", "status", "heading"];
3
+ export declare const INCLUDED_ROLES: readonly ["button", "link", "checkbox", "radio", "switch", "textbox", "combobox", "menuitem", "dialog", "alert", "status", "heading"];
4
+ export type ActionableRole = (typeof ACTIONABLE_ROLES)[number];
5
+ export type ImportantRole = (typeof IMPORTANT_ROLES)[number];
6
+ export type IncludedRole = (typeof INCLUDED_ROLES)[number];
7
+ export type TestIdItem = {
8
+ testId: string;
9
+ tag: string;
10
+ text?: string;
11
+ visible: boolean;
12
+ };
13
+ export type A11yNodeTrimmed = {
14
+ ref: string;
15
+ role: string;
16
+ name: string;
17
+ disabled?: boolean;
18
+ checked?: boolean;
19
+ expanded?: boolean;
20
+ path: string[];
21
+ };
22
+ export type RawA11yNode = {
23
+ role: string;
24
+ name?: string;
25
+ disabled?: boolean;
26
+ checked?: boolean | 'mixed';
27
+ expanded?: boolean;
28
+ children?: RawA11yNode[];
29
+ };
30
+ //# sourceMappingURL=discovery.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.cts","sourceRoot":"","sources":["../../../src/mcp-server/types/discovery.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,+FASnB,CAAC;AAEX,eAAO,MAAM,eAAe,mDAKlB,CAAC;AAEX,eAAO,MAAM,cAAc,uIAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,30 @@
1
+ export declare const ACTIONABLE_ROLES: readonly ["button", "link", "checkbox", "radio", "switch", "textbox", "combobox", "menuitem"];
2
+ export declare const IMPORTANT_ROLES: readonly ["dialog", "alert", "status", "heading"];
3
+ export declare const INCLUDED_ROLES: readonly ["button", "link", "checkbox", "radio", "switch", "textbox", "combobox", "menuitem", "dialog", "alert", "status", "heading"];
4
+ export type ActionableRole = (typeof ACTIONABLE_ROLES)[number];
5
+ export type ImportantRole = (typeof IMPORTANT_ROLES)[number];
6
+ export type IncludedRole = (typeof INCLUDED_ROLES)[number];
7
+ export type TestIdItem = {
8
+ testId: string;
9
+ tag: string;
10
+ text?: string;
11
+ visible: boolean;
12
+ };
13
+ export type A11yNodeTrimmed = {
14
+ ref: string;
15
+ role: string;
16
+ name: string;
17
+ disabled?: boolean;
18
+ checked?: boolean;
19
+ expanded?: boolean;
20
+ path: string[];
21
+ };
22
+ export type RawA11yNode = {
23
+ role: string;
24
+ name?: string;
25
+ disabled?: boolean;
26
+ checked?: boolean | 'mixed';
27
+ expanded?: boolean;
28
+ children?: RawA11yNode[];
29
+ };
30
+ //# sourceMappingURL=discovery.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.mts","sourceRoot":"","sources":["../../../src/mcp-server/types/discovery.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,+FASnB,CAAC;AAEX,eAAO,MAAM,eAAe,mDAKlB,CAAC;AAEX,eAAO,MAAM,cAAc,uIAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,21 @@
1
+ export const ACTIONABLE_ROLES = [
2
+ 'button',
3
+ 'link',
4
+ 'checkbox',
5
+ 'radio',
6
+ 'switch',
7
+ 'textbox',
8
+ 'combobox',
9
+ 'menuitem',
10
+ ];
11
+ export const IMPORTANT_ROLES = [
12
+ 'dialog',
13
+ 'alert',
14
+ 'status',
15
+ 'heading',
16
+ ];
17
+ export const INCLUDED_ROLES = [
18
+ ...ACTIONABLE_ROLES,
19
+ ...IMPORTANT_ROLES,
20
+ ];
21
+ //# sourceMappingURL=discovery.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.mjs","sourceRoot":"","sources":["../../../src/mcp-server/types/discovery.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,MAAM;IACN,UAAU;IACV,OAAO;IACP,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,gBAAgB;IACnB,GAAG,eAAe;CACV,CAAC","sourcesContent":["export const ACTIONABLE_ROLES = [\n 'button',\n 'link',\n 'checkbox',\n 'radio',\n 'switch',\n 'textbox',\n 'combobox',\n 'menuitem',\n] as const;\n\nexport const IMPORTANT_ROLES = [\n 'dialog',\n 'alert',\n 'status',\n 'heading',\n] as const;\n\nexport const INCLUDED_ROLES = [\n ...ACTIONABLE_ROLES,\n ...IMPORTANT_ROLES,\n] as const;\n\nexport type ActionableRole = (typeof ACTIONABLE_ROLES)[number];\nexport type ImportantRole = (typeof IMPORTANT_ROLES)[number];\nexport type IncludedRole = (typeof INCLUDED_ROLES)[number];\n\nexport type TestIdItem = {\n testId: string;\n tag: string;\n text?: string;\n visible: boolean;\n};\n\nexport type A11yNodeTrimmed = {\n ref: string;\n role: string;\n name: string;\n disabled?: boolean;\n checked?: boolean;\n expanded?: boolean;\n path: string[];\n};\n\nexport type RawA11yNode = {\n role: string;\n name?: string;\n disabled?: boolean;\n checked?: boolean | 'mixed';\n expanded?: boolean;\n children?: RawA11yNode[];\n};\n"]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorCodes = void 0;
4
+ exports.ErrorCodes = {
5
+ MM_BUILD_FAILED: 'MM_BUILD_FAILED',
6
+ MM_DEPENDENCIES_MISSING: 'MM_DEPENDENCIES_MISSING',
7
+ MM_SESSION_ALREADY_RUNNING: 'MM_SESSION_ALREADY_RUNNING',
8
+ MM_NO_ACTIVE_SESSION: 'MM_NO_ACTIVE_SESSION',
9
+ MM_PAGE_CLOSED: 'MM_PAGE_CLOSED',
10
+ MM_LAUNCH_FAILED: 'MM_LAUNCH_FAILED',
11
+ MM_INVALID_CONFIG: 'MM_INVALID_CONFIG',
12
+ MM_INVALID_INPUT: 'MM_INVALID_INPUT',
13
+ MM_PORT_IN_USE: 'MM_PORT_IN_USE',
14
+ MM_NAVIGATION_FAILED: 'MM_NAVIGATION_FAILED',
15
+ MM_NOTIFICATION_TIMEOUT: 'MM_NOTIFICATION_TIMEOUT',
16
+ MM_TARGET_NOT_FOUND: 'MM_TARGET_NOT_FOUND',
17
+ MM_CLICK_FAILED: 'MM_CLICK_FAILED',
18
+ MM_TYPE_FAILED: 'MM_TYPE_FAILED',
19
+ MM_WAIT_TIMEOUT: 'MM_WAIT_TIMEOUT',
20
+ MM_SCREENSHOT_FAILED: 'MM_SCREENSHOT_FAILED',
21
+ MM_DISCOVERY_FAILED: 'MM_DISCOVERY_FAILED',
22
+ MM_STATE_FAILED: 'MM_STATE_FAILED',
23
+ MM_KNOWLEDGE_ERROR: 'MM_KNOWLEDGE_ERROR',
24
+ MM_SEED_FAILED: 'MM_SEED_FAILED',
25
+ MM_CONTRACT_NOT_FOUND: 'MM_CONTRACT_NOT_FOUND',
26
+ MM_TAB_NOT_FOUND: 'MM_TAB_NOT_FOUND',
27
+ MM_CAPABILITY_NOT_AVAILABLE: 'MM_CAPABILITY_NOT_AVAILABLE',
28
+ MM_CONTEXT_SWITCH_BLOCKED: 'MM_CONTEXT_SWITCH_BLOCKED',
29
+ MM_SET_CONTEXT_FAILED: 'MM_SET_CONTEXT_FAILED',
30
+ MM_UNKNOWN_TOOL: 'MM_UNKNOWN_TOOL',
31
+ MM_INTERNAL_ERROR: 'MM_INTERNAL_ERROR',
32
+ };
33
+ //# sourceMappingURL=errors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.cjs","sourceRoot":"","sources":["../../../src/mcp-server/types/errors.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB,eAAe,EAAE,iBAAiB;IAClC,uBAAuB,EAAE,yBAAyB;IAElD,0BAA0B,EAAE,4BAA4B;IACxD,oBAAoB,EAAE,sBAAsB;IAC5C,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IAEpC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAEhC,oBAAoB,EAAE,sBAAsB;IAC5C,uBAAuB,EAAE,yBAAyB;IAElD,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAElC,oBAAoB,EAAE,sBAAsB;IAE5C,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,iBAAiB;IAElC,kBAAkB,EAAE,oBAAoB;IAExC,cAAc,EAAE,gBAAgB;IAChC,qBAAqB,EAAE,uBAAuB;IAE9C,gBAAgB,EAAE,kBAAkB;IAEpC,2BAA2B,EAAE,6BAA6B;IAE1D,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,uBAAuB;IAE9C,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;CAC9B,CAAC","sourcesContent":["export const ErrorCodes = {\n MM_BUILD_FAILED: 'MM_BUILD_FAILED',\n MM_DEPENDENCIES_MISSING: 'MM_DEPENDENCIES_MISSING',\n\n MM_SESSION_ALREADY_RUNNING: 'MM_SESSION_ALREADY_RUNNING',\n MM_NO_ACTIVE_SESSION: 'MM_NO_ACTIVE_SESSION',\n MM_PAGE_CLOSED: 'MM_PAGE_CLOSED',\n MM_LAUNCH_FAILED: 'MM_LAUNCH_FAILED',\n\n MM_INVALID_CONFIG: 'MM_INVALID_CONFIG',\n MM_INVALID_INPUT: 'MM_INVALID_INPUT',\n MM_PORT_IN_USE: 'MM_PORT_IN_USE',\n\n MM_NAVIGATION_FAILED: 'MM_NAVIGATION_FAILED',\n MM_NOTIFICATION_TIMEOUT: 'MM_NOTIFICATION_TIMEOUT',\n\n MM_TARGET_NOT_FOUND: 'MM_TARGET_NOT_FOUND',\n MM_CLICK_FAILED: 'MM_CLICK_FAILED',\n MM_TYPE_FAILED: 'MM_TYPE_FAILED',\n MM_WAIT_TIMEOUT: 'MM_WAIT_TIMEOUT',\n\n MM_SCREENSHOT_FAILED: 'MM_SCREENSHOT_FAILED',\n\n MM_DISCOVERY_FAILED: 'MM_DISCOVERY_FAILED',\n MM_STATE_FAILED: 'MM_STATE_FAILED',\n\n MM_KNOWLEDGE_ERROR: 'MM_KNOWLEDGE_ERROR',\n\n MM_SEED_FAILED: 'MM_SEED_FAILED',\n MM_CONTRACT_NOT_FOUND: 'MM_CONTRACT_NOT_FOUND',\n\n MM_TAB_NOT_FOUND: 'MM_TAB_NOT_FOUND',\n\n MM_CAPABILITY_NOT_AVAILABLE: 'MM_CAPABILITY_NOT_AVAILABLE',\n\n MM_CONTEXT_SWITCH_BLOCKED: 'MM_CONTEXT_SWITCH_BLOCKED',\n MM_SET_CONTEXT_FAILED: 'MM_SET_CONTEXT_FAILED',\n\n MM_UNKNOWN_TOOL: 'MM_UNKNOWN_TOOL',\n MM_INTERNAL_ERROR: 'MM_INTERNAL_ERROR',\n} as const;\n\nexport type ErrorCode = (typeof ErrorCodes)[keyof typeof ErrorCodes];\n"]}