@metamask/snaps-controllers 18.0.4 → 19.0.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 (288) hide show
  1. package/CHANGELOG.md +96 -1
  2. package/dist/cronjob/CronjobController-method-action-types.cjs +7 -0
  3. package/dist/cronjob/CronjobController-method-action-types.cjs.map +1 -0
  4. package/dist/cronjob/CronjobController-method-action-types.d.cts +51 -0
  5. package/dist/cronjob/CronjobController-method-action-types.d.cts.map +1 -0
  6. package/dist/cronjob/CronjobController-method-action-types.d.mts +51 -0
  7. package/dist/cronjob/CronjobController-method-action-types.d.mts.map +1 -0
  8. package/dist/cronjob/CronjobController-method-action-types.mjs +6 -0
  9. package/dist/cronjob/CronjobController-method-action-types.mjs.map +1 -0
  10. package/dist/cronjob/CronjobController.cjs +7 -4
  11. package/dist/cronjob/CronjobController.cjs.map +1 -1
  12. package/dist/cronjob/CronjobController.d.cts +7 -24
  13. package/dist/cronjob/CronjobController.d.cts.map +1 -1
  14. package/dist/cronjob/CronjobController.d.mts +7 -24
  15. package/dist/cronjob/CronjobController.d.mts.map +1 -1
  16. package/dist/cronjob/CronjobController.mjs +7 -4
  17. package/dist/cronjob/CronjobController.mjs.map +1 -1
  18. package/dist/cronjob/index.cjs +3 -15
  19. package/dist/cronjob/index.cjs.map +1 -1
  20. package/dist/cronjob/index.d.cts +3 -1
  21. package/dist/cronjob/index.d.cts.map +1 -1
  22. package/dist/cronjob/index.d.mts +3 -1
  23. package/dist/cronjob/index.d.mts.map +1 -1
  24. package/dist/cronjob/index.mjs +1 -1
  25. package/dist/cronjob/index.mjs.map +1 -1
  26. package/dist/insights/SnapInsightsController.cjs +1 -3
  27. package/dist/insights/SnapInsightsController.cjs.map +1 -1
  28. package/dist/insights/SnapInsightsController.d.cts +8 -8
  29. package/dist/insights/SnapInsightsController.d.cts.map +1 -1
  30. package/dist/insights/SnapInsightsController.d.mts +8 -8
  31. package/dist/insights/SnapInsightsController.d.mts.map +1 -1
  32. package/dist/insights/SnapInsightsController.mjs +1 -3
  33. package/dist/insights/SnapInsightsController.mjs.map +1 -1
  34. package/dist/insights/index.cjs +3 -15
  35. package/dist/insights/index.cjs.map +1 -1
  36. package/dist/insights/index.d.cts +2 -1
  37. package/dist/insights/index.d.cts.map +1 -1
  38. package/dist/insights/index.d.mts +2 -1
  39. package/dist/insights/index.d.mts.map +1 -1
  40. package/dist/insights/index.mjs +1 -1
  41. package/dist/insights/index.mjs.map +1 -1
  42. package/dist/interface/SnapInterfaceController-method-action-types.cjs +7 -0
  43. package/dist/interface/SnapInterfaceController-method-action-types.cjs.map +1 -0
  44. package/dist/interface/SnapInterfaceController-method-action-types.d.cts +99 -0
  45. package/dist/interface/SnapInterfaceController-method-action-types.d.cts.map +1 -0
  46. package/dist/interface/SnapInterfaceController-method-action-types.d.mts +99 -0
  47. package/dist/interface/SnapInterfaceController-method-action-types.d.mts.map +1 -0
  48. package/dist/interface/SnapInterfaceController-method-action-types.mjs +6 -0
  49. package/dist/interface/SnapInterfaceController-method-action-types.mjs.map +1 -0
  50. package/dist/interface/SnapInterfaceController.cjs +12 -16
  51. package/dist/interface/SnapInterfaceController.cjs.map +1 -1
  52. package/dist/interface/SnapInterfaceController.d.cts +9 -39
  53. package/dist/interface/SnapInterfaceController.d.cts.map +1 -1
  54. package/dist/interface/SnapInterfaceController.d.mts +9 -39
  55. package/dist/interface/SnapInterfaceController.d.mts.map +1 -1
  56. package/dist/interface/SnapInterfaceController.mjs +12 -16
  57. package/dist/interface/SnapInterfaceController.mjs.map +1 -1
  58. package/dist/interface/index.cjs +3 -15
  59. package/dist/interface/index.cjs.map +1 -1
  60. package/dist/interface/index.d.cts +3 -1
  61. package/dist/interface/index.d.cts.map +1 -1
  62. package/dist/interface/index.d.mts +3 -1
  63. package/dist/interface/index.d.mts.map +1 -1
  64. package/dist/interface/index.mjs +1 -1
  65. package/dist/interface/index.mjs.map +1 -1
  66. package/dist/multichain/MultichainRoutingService-method-action-types.cjs +7 -0
  67. package/dist/multichain/MultichainRoutingService-method-action-types.cjs.map +1 -0
  68. package/dist/multichain/MultichainRoutingService-method-action-types.d.cts +61 -0
  69. package/dist/multichain/MultichainRoutingService-method-action-types.d.cts.map +1 -0
  70. package/dist/multichain/MultichainRoutingService-method-action-types.d.mts +61 -0
  71. package/dist/multichain/MultichainRoutingService-method-action-types.d.mts.map +1 -0
  72. package/dist/multichain/MultichainRoutingService-method-action-types.mjs +6 -0
  73. package/dist/multichain/MultichainRoutingService-method-action-types.mjs.map +1 -0
  74. package/dist/multichain/{MultichainRouter.cjs → MultichainRoutingService.cjs} +14 -13
  75. package/dist/multichain/MultichainRoutingService.cjs.map +1 -0
  76. package/dist/multichain/{MultichainRouter.d.mts → MultichainRoutingService.d.cts} +13 -28
  77. package/dist/multichain/MultichainRoutingService.d.cts.map +1 -0
  78. package/dist/multichain/{MultichainRouter.d.cts → MultichainRoutingService.d.mts} +13 -28
  79. package/dist/multichain/MultichainRoutingService.d.mts.map +1 -0
  80. package/dist/multichain/{MultichainRouter.mjs → MultichainRoutingService.mjs} +12 -11
  81. package/dist/multichain/MultichainRoutingService.mjs.map +1 -0
  82. package/dist/multichain/index.cjs +3 -15
  83. package/dist/multichain/index.cjs.map +1 -1
  84. package/dist/multichain/index.d.cts +3 -1
  85. package/dist/multichain/index.d.cts.map +1 -1
  86. package/dist/multichain/index.d.mts +3 -1
  87. package/dist/multichain/index.d.mts.map +1 -1
  88. package/dist/multichain/index.mjs +1 -1
  89. package/dist/multichain/index.mjs.map +1 -1
  90. package/dist/services/ExecutionService-method-action-types.cjs +7 -0
  91. package/dist/services/ExecutionService-method-action-types.cjs.map +1 -0
  92. package/dist/services/ExecutionService-method-action-types.d.cts +50 -0
  93. package/dist/services/ExecutionService-method-action-types.d.cts.map +1 -0
  94. package/dist/services/ExecutionService-method-action-types.d.mts +50 -0
  95. package/dist/services/ExecutionService-method-action-types.d.mts.map +1 -0
  96. package/dist/services/ExecutionService-method-action-types.mjs +6 -0
  97. package/dist/services/ExecutionService-method-action-types.mjs.map +1 -0
  98. package/dist/services/ExecutionService.cjs +287 -0
  99. package/dist/services/ExecutionService.cjs.map +1 -1
  100. package/dist/services/ExecutionService.d.cts +100 -46
  101. package/dist/services/ExecutionService.d.cts.map +1 -1
  102. package/dist/services/ExecutionService.d.mts +100 -46
  103. package/dist/services/ExecutionService.d.mts.map +1 -1
  104. package/dist/services/ExecutionService.mjs +285 -1
  105. package/dist/services/ExecutionService.mjs.map +1 -1
  106. package/dist/services/browser.cjs +5 -2
  107. package/dist/services/browser.cjs.map +1 -1
  108. package/dist/services/browser.d.cts +4 -2
  109. package/dist/services/browser.d.cts.map +1 -1
  110. package/dist/services/browser.d.mts +4 -2
  111. package/dist/services/browser.d.mts.map +1 -1
  112. package/dist/services/browser.mjs +2 -2
  113. package/dist/services/browser.mjs.map +1 -1
  114. package/dist/services/iframe/IframeExecutionService.cjs +2 -2
  115. package/dist/services/iframe/IframeExecutionService.cjs.map +1 -1
  116. package/dist/services/iframe/IframeExecutionService.d.cts +3 -3
  117. package/dist/services/iframe/IframeExecutionService.d.cts.map +1 -1
  118. package/dist/services/iframe/IframeExecutionService.d.mts +3 -3
  119. package/dist/services/iframe/IframeExecutionService.d.mts.map +1 -1
  120. package/dist/services/iframe/IframeExecutionService.mjs +2 -2
  121. package/dist/services/iframe/IframeExecutionService.mjs.map +1 -1
  122. package/dist/services/index.cjs +5 -1
  123. package/dist/services/index.cjs.map +1 -1
  124. package/dist/services/index.d.cts +4 -2
  125. package/dist/services/index.d.cts.map +1 -1
  126. package/dist/services/index.d.mts +4 -2
  127. package/dist/services/index.d.mts.map +1 -1
  128. package/dist/services/index.mjs +2 -1
  129. package/dist/services/index.mjs.map +1 -1
  130. package/dist/services/multiplex.cjs +27 -0
  131. package/dist/services/multiplex.cjs.map +1 -0
  132. package/dist/services/multiplex.d.cts +11 -0
  133. package/dist/services/multiplex.d.cts.map +1 -0
  134. package/dist/services/multiplex.d.mts +11 -0
  135. package/dist/services/multiplex.d.mts.map +1 -0
  136. package/dist/services/multiplex.mjs +27 -0
  137. package/dist/services/multiplex.mjs.map +1 -0
  138. package/dist/services/node-js/NodeProcessExecutionService.cjs +2 -2
  139. package/dist/services/node-js/NodeProcessExecutionService.cjs.map +1 -1
  140. package/dist/services/node-js/NodeProcessExecutionService.d.cts +3 -3
  141. package/dist/services/node-js/NodeProcessExecutionService.d.cts.map +1 -1
  142. package/dist/services/node-js/NodeProcessExecutionService.d.mts +3 -3
  143. package/dist/services/node-js/NodeProcessExecutionService.d.mts.map +1 -1
  144. package/dist/services/node-js/NodeProcessExecutionService.mjs +2 -2
  145. package/dist/services/node-js/NodeProcessExecutionService.mjs.map +1 -1
  146. package/dist/services/node-js/NodeThreadExecutionService.cjs +2 -5
  147. package/dist/services/node-js/NodeThreadExecutionService.cjs.map +1 -1
  148. package/dist/services/node-js/NodeThreadExecutionService.d.cts +3 -3
  149. package/dist/services/node-js/NodeThreadExecutionService.d.cts.map +1 -1
  150. package/dist/services/node-js/NodeThreadExecutionService.d.mts +3 -3
  151. package/dist/services/node-js/NodeThreadExecutionService.d.mts.map +1 -1
  152. package/dist/services/node-js/NodeThreadExecutionService.mjs +2 -5
  153. package/dist/services/node-js/NodeThreadExecutionService.mjs.map +1 -1
  154. package/dist/services/offscreen/OffscreenExecutionService.cjs.map +1 -1
  155. package/dist/services/offscreen/OffscreenExecutionService.d.cts +1 -1
  156. package/dist/services/offscreen/OffscreenExecutionService.d.cts.map +1 -1
  157. package/dist/services/offscreen/OffscreenExecutionService.d.mts +1 -1
  158. package/dist/services/offscreen/OffscreenExecutionService.d.mts.map +1 -1
  159. package/dist/services/offscreen/OffscreenExecutionService.mjs.map +1 -1
  160. package/dist/services/proxy/ProxyExecutionService.cjs +2 -5
  161. package/dist/services/proxy/ProxyExecutionService.cjs.map +1 -1
  162. package/dist/services/proxy/ProxyExecutionService.d.cts +3 -3
  163. package/dist/services/proxy/ProxyExecutionService.d.cts.map +1 -1
  164. package/dist/services/proxy/ProxyExecutionService.d.mts +3 -3
  165. package/dist/services/proxy/ProxyExecutionService.d.mts.map +1 -1
  166. package/dist/services/proxy/ProxyExecutionService.mjs +2 -5
  167. package/dist/services/proxy/ProxyExecutionService.mjs.map +1 -1
  168. package/dist/services/webview/WebViewExecutionService.cjs +2 -2
  169. package/dist/services/webview/WebViewExecutionService.cjs.map +1 -1
  170. package/dist/services/webview/WebViewExecutionService.d.cts +3 -3
  171. package/dist/services/webview/WebViewExecutionService.d.cts.map +1 -1
  172. package/dist/services/webview/WebViewExecutionService.d.mts +3 -3
  173. package/dist/services/webview/WebViewExecutionService.d.mts.map +1 -1
  174. package/dist/services/webview/WebViewExecutionService.mjs +2 -2
  175. package/dist/services/webview/WebViewExecutionService.mjs.map +1 -1
  176. package/dist/snaps/SnapController-method-action-types.cjs +7 -0
  177. package/dist/snaps/SnapController-method-action-types.cjs.map +1 -0
  178. package/dist/snaps/SnapController-method-action-types.d.cts +284 -0
  179. package/dist/snaps/SnapController-method-action-types.d.cts.map +1 -0
  180. package/dist/snaps/SnapController-method-action-types.d.mts +284 -0
  181. package/dist/snaps/SnapController-method-action-types.d.mts.map +1 -0
  182. package/dist/snaps/SnapController-method-action-types.mjs +6 -0
  183. package/dist/snaps/SnapController-method-action-types.mjs.map +1 -0
  184. package/dist/snaps/SnapController.cjs +118 -113
  185. package/dist/snaps/SnapController.cjs.map +1 -1
  186. package/dist/snaps/SnapController.d.cts +32 -189
  187. package/dist/snaps/SnapController.d.cts.map +1 -1
  188. package/dist/snaps/SnapController.d.mts +32 -189
  189. package/dist/snaps/SnapController.d.mts.map +1 -1
  190. package/dist/snaps/SnapController.mjs +119 -114
  191. package/dist/snaps/SnapController.mjs.map +1 -1
  192. package/dist/snaps/index.cjs +3 -1
  193. package/dist/snaps/index.cjs.map +1 -1
  194. package/dist/snaps/index.d.cts +3 -1
  195. package/dist/snaps/index.d.cts.map +1 -1
  196. package/dist/snaps/index.d.mts +3 -1
  197. package/dist/snaps/index.d.mts.map +1 -1
  198. package/dist/snaps/index.mjs +1 -1
  199. package/dist/snaps/index.mjs.map +1 -1
  200. package/dist/snaps/registry/SnapRegistryController-method-action-types.cjs +7 -0
  201. package/dist/snaps/registry/SnapRegistryController-method-action-types.cjs.map +1 -0
  202. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.cts +46 -0
  203. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.cts.map +1 -0
  204. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.mts +46 -0
  205. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.mts.map +1 -0
  206. package/dist/snaps/registry/SnapRegistryController-method-action-types.mjs +6 -0
  207. package/dist/snaps/registry/SnapRegistryController-method-action-types.mjs.map +1 -0
  208. package/dist/snaps/registry/{json.cjs → SnapRegistryController.cjs} +27 -24
  209. package/dist/snaps/registry/SnapRegistryController.cjs.map +1 -0
  210. package/dist/snaps/registry/SnapRegistryController.d.cts +67 -0
  211. package/dist/snaps/registry/SnapRegistryController.d.cts.map +1 -0
  212. package/dist/snaps/registry/SnapRegistryController.d.mts +67 -0
  213. package/dist/snaps/registry/SnapRegistryController.d.mts.map +1 -0
  214. package/dist/snaps/registry/{json.mjs → SnapRegistryController.mjs} +25 -22
  215. package/dist/snaps/registry/SnapRegistryController.mjs.map +1 -0
  216. package/dist/snaps/registry/index.cjs +5 -16
  217. package/dist/snaps/registry/index.cjs.map +1 -1
  218. package/dist/snaps/registry/index.d.cts +5 -2
  219. package/dist/snaps/registry/index.d.cts.map +1 -1
  220. package/dist/snaps/registry/index.d.mts +5 -2
  221. package/dist/snaps/registry/index.d.mts.map +1 -1
  222. package/dist/snaps/registry/index.mjs +2 -2
  223. package/dist/snaps/registry/index.mjs.map +1 -1
  224. package/dist/snaps/registry/types.cjs +11 -0
  225. package/dist/snaps/registry/types.cjs.map +1 -0
  226. package/dist/snaps/registry/types.d.cts +20 -0
  227. package/dist/snaps/registry/types.d.cts.map +1 -0
  228. package/dist/snaps/registry/types.d.mts +20 -0
  229. package/dist/snaps/registry/types.d.mts.map +1 -0
  230. package/dist/snaps/registry/types.mjs +8 -0
  231. package/dist/snaps/registry/types.mjs.map +1 -0
  232. package/dist/types/controllers.cjs.map +1 -1
  233. package/dist/types/controllers.d.cts +1 -1
  234. package/dist/types/controllers.d.cts.map +1 -1
  235. package/dist/types/controllers.d.mts +1 -1
  236. package/dist/types/controllers.d.mts.map +1 -1
  237. package/dist/types/controllers.mjs.map +1 -1
  238. package/dist/websocket/WebSocketService-method-action-types.cjs +7 -0
  239. package/dist/websocket/WebSocketService-method-action-types.cjs.map +1 -0
  240. package/dist/websocket/WebSocketService-method-action-types.d.cts +54 -0
  241. package/dist/websocket/WebSocketService-method-action-types.d.cts.map +1 -0
  242. package/dist/websocket/WebSocketService-method-action-types.d.mts +54 -0
  243. package/dist/websocket/WebSocketService-method-action-types.d.mts.map +1 -0
  244. package/dist/websocket/WebSocketService-method-action-types.mjs +6 -0
  245. package/dist/websocket/WebSocketService-method-action-types.mjs.map +1 -0
  246. package/dist/websocket/WebSocketService.cjs +14 -11
  247. package/dist/websocket/WebSocketService.cjs.map +1 -1
  248. package/dist/websocket/WebSocketService.d.cts +43 -22
  249. package/dist/websocket/WebSocketService.d.cts.map +1 -1
  250. package/dist/websocket/WebSocketService.d.mts +43 -22
  251. package/dist/websocket/WebSocketService.d.mts.map +1 -1
  252. package/dist/websocket/WebSocketService.mjs +14 -11
  253. package/dist/websocket/WebSocketService.mjs.map +1 -1
  254. package/dist/websocket/index.cjs +3 -15
  255. package/dist/websocket/index.cjs.map +1 -1
  256. package/dist/websocket/index.d.cts +3 -1
  257. package/dist/websocket/index.d.cts.map +1 -1
  258. package/dist/websocket/index.d.mts +3 -1
  259. package/dist/websocket/index.d.mts.map +1 -1
  260. package/dist/websocket/index.mjs +1 -1
  261. package/dist/websocket/index.mjs.map +1 -1
  262. package/package.json +8 -7
  263. package/dist/multichain/MultichainRouter.cjs.map +0 -1
  264. package/dist/multichain/MultichainRouter.d.cts.map +0 -1
  265. package/dist/multichain/MultichainRouter.d.mts.map +0 -1
  266. package/dist/multichain/MultichainRouter.mjs.map +0 -1
  267. package/dist/services/AbstractExecutionService.cjs +0 -314
  268. package/dist/services/AbstractExecutionService.cjs.map +0 -1
  269. package/dist/services/AbstractExecutionService.d.cts +0 -107
  270. package/dist/services/AbstractExecutionService.d.cts.map +0 -1
  271. package/dist/services/AbstractExecutionService.d.mts +0 -107
  272. package/dist/services/AbstractExecutionService.d.mts.map +0 -1
  273. package/dist/services/AbstractExecutionService.mjs +0 -313
  274. package/dist/services/AbstractExecutionService.mjs.map +0 -1
  275. package/dist/snaps/registry/json.cjs.map +0 -1
  276. package/dist/snaps/registry/json.d.cts +0 -58
  277. package/dist/snaps/registry/json.d.cts.map +0 -1
  278. package/dist/snaps/registry/json.d.mts +0 -58
  279. package/dist/snaps/registry/json.d.mts.map +0 -1
  280. package/dist/snaps/registry/json.mjs.map +0 -1
  281. package/dist/snaps/registry/registry.cjs +0 -11
  282. package/dist/snaps/registry/registry.cjs.map +0 -1
  283. package/dist/snaps/registry/registry.d.cts +0 -41
  284. package/dist/snaps/registry/registry.d.cts.map +0 -1
  285. package/dist/snaps/registry/registry.d.mts +0 -41
  286. package/dist/snaps/registry/registry.d.mts.map +0 -1
  287. package/dist/snaps/registry/registry.mjs +0 -8
  288. package/dist/snaps/registry/registry.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IframeExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":";;;AACA,uEAAwE;AACxE,uDAAqD;AAErD,2CAA0C;AAK1C,8EAAuE;AAMvE,MAAa,sBAAuB,SAAQ,mDAAgC;IACnE,SAAS,CAAM;IAEtB,YAAY,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EAC+B;QACtC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CACpC,UAAU,CAAC,EAAE,CACc,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEf,MAAM,IAAA,mBAAW,EACf,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC;QAC7B,CAAC,CAAC,EACF,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAY,EAAC;YACtC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,6CAAuB,CAAC;YACzC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;CACF;AA7DD,wDA6DC","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { WindowPostMessageStream } from '@metamask/post-message-stream';\nimport { createWindow } from '@metamask/snaps-utils';\n\nimport { withTimeout } from '../../utils';\nimport type {\n ExecutionServiceArgs,\n TerminateJobArgs,\n} from '../AbstractExecutionService';\nimport { AbstractExecutionService } from '../AbstractExecutionService';\n\ntype IframeExecutionEnvironmentServiceArgs = {\n iframeUrl: URL;\n} & ExecutionServiceArgs;\n\nexport class IframeExecutionService extends AbstractExecutionService<Window> {\n public iframeUrl: URL;\n\n constructor({\n iframeUrl,\n messenger,\n setupSnapProvider,\n ...args\n }: IframeExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n });\n this.iframeUrl = iframeUrl;\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Window>,\n ): Promise<void> {\n const iframe = document.getElementById(\n jobWrapper.id,\n ) as HTMLIFrameElement | null;\n\n if (!iframe) {\n return;\n }\n\n iframe.id = '';\n\n await withTimeout(\n new Promise<void>((resolve) => {\n iframe.addEventListener('load', () => resolve(), { once: true });\n iframe.src = 'about:blank';\n }),\n 10,\n );\n\n iframe.remove();\n }\n\n protected async initEnvStream(snapId: string): Promise<{\n worker: Window;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const iframeWindow = await createWindow({\n uri: this.iframeUrl.toString(),\n id: snapId,\n });\n\n const stream = new WindowPostMessageStream({\n name: 'parent',\n target: 'child',\n targetWindow: iframeWindow,\n targetOrigin: '*',\n });\n\n return { worker: iframeWindow, stream };\n }\n}\n"]}
1
+ {"version":3,"file":"IframeExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":";;;AACA,uEAAwE;AACxE,uDAAqD;AAErD,2CAA0C;AAK1C,8DAAuD;AAMvD,MAAa,sBAAuB,SAAQ,mCAAwB;IAC3D,SAAS,CAAM;IAEtB,YAAY,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EAC+B;QACtC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CACpC,UAAU,CAAC,EAAE,CACc,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEf,MAAM,IAAA,mBAAW,EACf,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC;QAC7B,CAAC,CAAC,EACF,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAY,EAAC;YACtC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,6CAAuB,CAAC;YACzC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;CACF;AA7DD,wDA6DC","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { WindowPostMessageStream } from '@metamask/post-message-stream';\nimport { createWindow } from '@metamask/snaps-utils';\n\nimport { withTimeout } from '../../utils';\nimport type {\n ExecutionServiceArgs,\n TerminateJobArgs,\n} from '../ExecutionService';\nimport { ExecutionService } from '../ExecutionService';\n\ntype IframeExecutionEnvironmentServiceArgs = {\n iframeUrl: URL;\n} & ExecutionServiceArgs;\n\nexport class IframeExecutionService extends ExecutionService<Window> {\n public iframeUrl: URL;\n\n constructor({\n iframeUrl,\n messenger,\n setupSnapProvider,\n ...args\n }: IframeExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n });\n this.iframeUrl = iframeUrl;\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Window>,\n ): Promise<void> {\n const iframe = document.getElementById(\n jobWrapper.id,\n ) as HTMLIFrameElement | null;\n\n if (!iframe) {\n return;\n }\n\n iframe.id = '';\n\n await withTimeout(\n new Promise<void>((resolve) => {\n iframe.addEventListener('load', () => resolve(), { once: true });\n iframe.src = 'about:blank';\n }),\n 10,\n );\n\n iframe.remove();\n }\n\n protected async initEnvStream(snapId: string): Promise<{\n worker: Window;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const iframeWindow = await createWindow({\n uri: this.iframeUrl.toString(),\n id: snapId,\n });\n\n const stream = new WindowPostMessageStream({\n name: 'parent',\n target: 'child',\n targetWindow: iframeWindow,\n targetOrigin: '*',\n });\n\n return { worker: iframeWindow, stream };\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { BasePostMessageStream } from "@metamask/post-message-stream";
2
- import type { ExecutionServiceArgs, TerminateJobArgs } from "../AbstractExecutionService.cjs";
3
- import { AbstractExecutionService } from "../AbstractExecutionService.cjs";
2
+ import type { ExecutionServiceArgs, TerminateJobArgs } from "../ExecutionService.cjs";
3
+ import { ExecutionService } from "../ExecutionService.cjs";
4
4
  type IframeExecutionEnvironmentServiceArgs = {
5
5
  iframeUrl: URL;
6
6
  } & ExecutionServiceArgs;
7
- export declare class IframeExecutionService extends AbstractExecutionService<Window> {
7
+ export declare class IframeExecutionService extends ExecutionService<Window> {
8
8
  iframeUrl: URL;
9
9
  constructor({ iframeUrl, messenger, setupSnapProvider, ...args }: IframeExecutionEnvironmentServiceArgs);
10
10
  protected terminateJob(jobWrapper: TerminateJobArgs<Window>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"IframeExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAK3E,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EACjB,wCAAoC;AACrC,OAAO,EAAE,wBAAwB,EAAE,wCAAoC;AAEvE,KAAK,qCAAqC,GAAG;IAC3C,SAAS,EAAE,GAAG,CAAC;CAChB,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,sBAAuB,SAAQ,wBAAwB,CAAC,MAAM,CAAC;IACnE,SAAS,EAAE,GAAG,CAAC;gBAEV,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,qCAAqC;cASxB,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;cAsBA,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;CAiBH"}
1
+ {"version":3,"file":"IframeExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAK3E,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EACjB,gCAA4B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAEvD,KAAK,qCAAqC,GAAG;IAC3C,SAAS,EAAE,GAAG,CAAC;CAChB,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,MAAM,CAAC;IAC3D,SAAS,EAAE,GAAG,CAAC;gBAEV,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,qCAAqC;cASxB,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;cAsBA,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;CAiBH"}
@@ -1,10 +1,10 @@
1
1
  import type { BasePostMessageStream } from "@metamask/post-message-stream";
2
- import type { ExecutionServiceArgs, TerminateJobArgs } from "../AbstractExecutionService.mjs";
3
- import { AbstractExecutionService } from "../AbstractExecutionService.mjs";
2
+ import type { ExecutionServiceArgs, TerminateJobArgs } from "../ExecutionService.mjs";
3
+ import { ExecutionService } from "../ExecutionService.mjs";
4
4
  type IframeExecutionEnvironmentServiceArgs = {
5
5
  iframeUrl: URL;
6
6
  } & ExecutionServiceArgs;
7
- export declare class IframeExecutionService extends AbstractExecutionService<Window> {
7
+ export declare class IframeExecutionService extends ExecutionService<Window> {
8
8
  iframeUrl: URL;
9
9
  constructor({ iframeUrl, messenger, setupSnapProvider, ...args }: IframeExecutionEnvironmentServiceArgs);
10
10
  protected terminateJob(jobWrapper: TerminateJobArgs<Window>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"IframeExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAK3E,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EACjB,wCAAoC;AACrC,OAAO,EAAE,wBAAwB,EAAE,wCAAoC;AAEvE,KAAK,qCAAqC,GAAG;IAC3C,SAAS,EAAE,GAAG,CAAC;CAChB,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,sBAAuB,SAAQ,wBAAwB,CAAC,MAAM,CAAC;IACnE,SAAS,EAAE,GAAG,CAAC;gBAEV,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,qCAAqC;cASxB,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;cAsBA,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;CAiBH"}
1
+ {"version":3,"file":"IframeExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAK3E,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EACjB,gCAA4B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAEvD,KAAK,qCAAqC,GAAG;IAC3C,SAAS,EAAE,GAAG,CAAC;CAChB,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,MAAM,CAAC;IAC3D,SAAS,EAAE,GAAG,CAAC;gBAEV,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,qCAAqC;cASxB,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;cAsBA,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;CAiBH"}
@@ -1,8 +1,8 @@
1
1
  import { WindowPostMessageStream } from "@metamask/post-message-stream";
2
2
  import { createWindow } from "@metamask/snaps-utils";
3
3
  import { withTimeout } from "../../utils.mjs";
4
- import { AbstractExecutionService } from "../AbstractExecutionService.mjs";
5
- export class IframeExecutionService extends AbstractExecutionService {
4
+ import { ExecutionService } from "../ExecutionService.mjs";
5
+ export class IframeExecutionService extends ExecutionService {
6
6
  iframeUrl;
7
7
  constructor({ iframeUrl, messenger, setupSnapProvider, ...args }) {
8
8
  super({
@@ -1 +1 @@
1
- {"version":3,"file":"IframeExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,sCAAsC;AACxE,OAAO,EAAE,YAAY,EAAE,8BAA8B;AAErD,OAAO,EAAE,WAAW,EAAE,wBAAoB;AAK1C,OAAO,EAAE,wBAAwB,EAAE,wCAAoC;AAMvE,MAAM,OAAO,sBAAuB,SAAQ,wBAAgC;IACnE,SAAS,CAAM;IAEtB,YAAY,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EAC+B;QACtC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CACpC,UAAU,CAAC,EAAE,CACc,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEf,MAAM,WAAW,CACf,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC;QAC7B,CAAC,CAAC,EACF,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC;YACtC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC;YACzC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { WindowPostMessageStream } from '@metamask/post-message-stream';\nimport { createWindow } from '@metamask/snaps-utils';\n\nimport { withTimeout } from '../../utils';\nimport type {\n ExecutionServiceArgs,\n TerminateJobArgs,\n} from '../AbstractExecutionService';\nimport { AbstractExecutionService } from '../AbstractExecutionService';\n\ntype IframeExecutionEnvironmentServiceArgs = {\n iframeUrl: URL;\n} & ExecutionServiceArgs;\n\nexport class IframeExecutionService extends AbstractExecutionService<Window> {\n public iframeUrl: URL;\n\n constructor({\n iframeUrl,\n messenger,\n setupSnapProvider,\n ...args\n }: IframeExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n });\n this.iframeUrl = iframeUrl;\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Window>,\n ): Promise<void> {\n const iframe = document.getElementById(\n jobWrapper.id,\n ) as HTMLIFrameElement | null;\n\n if (!iframe) {\n return;\n }\n\n iframe.id = '';\n\n await withTimeout(\n new Promise<void>((resolve) => {\n iframe.addEventListener('load', () => resolve(), { once: true });\n iframe.src = 'about:blank';\n }),\n 10,\n );\n\n iframe.remove();\n }\n\n protected async initEnvStream(snapId: string): Promise<{\n worker: Window;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const iframeWindow = await createWindow({\n uri: this.iframeUrl.toString(),\n id: snapId,\n });\n\n const stream = new WindowPostMessageStream({\n name: 'parent',\n target: 'child',\n targetWindow: iframeWindow,\n targetOrigin: '*',\n });\n\n return { worker: iframeWindow, stream };\n }\n}\n"]}
1
+ {"version":3,"file":"IframeExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,sCAAsC;AACxE,OAAO,EAAE,YAAY,EAAE,8BAA8B;AAErD,OAAO,EAAE,WAAW,EAAE,wBAAoB;AAK1C,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAMvD,MAAM,OAAO,sBAAuB,SAAQ,gBAAwB;IAC3D,SAAS,CAAM;IAEtB,YAAY,EACV,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,GAAG,IAAI,EAC+B;QACtC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CACpC,UAAU,CAAC,EAAE,CACc,CAAC;QAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QAEf,MAAM,WAAW,CACf,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC;QAC7B,CAAC,CAAC,EACF,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC;YACtC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9B,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC;YACzC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,GAAG;SAClB,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { WindowPostMessageStream } from '@metamask/post-message-stream';\nimport { createWindow } from '@metamask/snaps-utils';\n\nimport { withTimeout } from '../../utils';\nimport type {\n ExecutionServiceArgs,\n TerminateJobArgs,\n} from '../ExecutionService';\nimport { ExecutionService } from '../ExecutionService';\n\ntype IframeExecutionEnvironmentServiceArgs = {\n iframeUrl: URL;\n} & ExecutionServiceArgs;\n\nexport class IframeExecutionService extends ExecutionService<Window> {\n public iframeUrl: URL;\n\n constructor({\n iframeUrl,\n messenger,\n setupSnapProvider,\n ...args\n }: IframeExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n });\n this.iframeUrl = iframeUrl;\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Window>,\n ): Promise<void> {\n const iframe = document.getElementById(\n jobWrapper.id,\n ) as HTMLIFrameElement | null;\n\n if (!iframe) {\n return;\n }\n\n iframe.id = '';\n\n await withTimeout(\n new Promise<void>((resolve) => {\n iframe.addEventListener('load', () => resolve(), { once: true });\n iframe.src = 'about:blank';\n }),\n 10,\n );\n\n iframe.remove();\n }\n\n protected async initEnvStream(snapId: string): Promise<{\n worker: Window;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const iframeWindow = await createWindow({\n uri: this.iframeUrl.toString(),\n id: snapId,\n });\n\n const stream = new WindowPostMessageStream({\n name: 'parent',\n target: 'child',\n targetWindow: iframeWindow,\n targetOrigin: '*',\n });\n\n return { worker: iframeWindow, stream };\n }\n}\n"]}
@@ -14,7 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./AbstractExecutionService.cjs"), exports);
17
+ exports.setupMultiplex = exports.ExecutionService = void 0;
18
+ var ExecutionService_1 = require("./ExecutionService.cjs");
19
+ Object.defineProperty(exports, "ExecutionService", { enumerable: true, get: function () { return ExecutionService_1.ExecutionService; } });
20
+ var multiplex_1 = require("./multiplex.cjs");
21
+ Object.defineProperty(exports, "setupMultiplex", { enumerable: true, get: function () { return multiplex_1.setupMultiplex; } });
18
22
  __exportStar(require("./ProxyPostMessageStream.cjs"), exports);
19
23
  __exportStar(require("./iframe/index.cjs"), exports);
20
24
  __exportStar(require("./offscreen/index.cjs"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA2C;AAE3C,+DAAyC;AACzC,qDAAyB;AACzB,wDAA4B","sourcesContent":["export * from './AbstractExecutionService';\nexport type * from './ExecutionService';\nexport * from './ProxyPostMessageStream';\nexport * from './iframe';\nexport * from './offscreen';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAWA,2DAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAOzB,6CAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,+DAAyC;AACzC,qDAAyB;AACzB,wDAA4B","sourcesContent":["export type {\n ExecutionServiceActions,\n ExecutionServiceArgs,\n ExecutionServiceEvents,\n ExecutionServiceMessenger,\n ExecutionServiceOutboundRequestEvent,\n ExecutionServiceOutboundResponseEvent,\n ExecutionServiceUnhandledErrorEvent,\n SnapErrorJson,\n SnapExecutionData,\n} from './ExecutionService';\nexport { ExecutionService } from './ExecutionService';\nexport type {\n ExecutionServiceTerminateSnapAction,\n ExecutionServiceTerminateAllSnapsAction,\n ExecutionServiceExecuteSnapAction,\n ExecutionServiceHandleRpcRequestAction,\n} from './ExecutionService-method-action-types';\nexport { setupMultiplex } from './multiplex';\nexport * from './ProxyPostMessageStream';\nexport * from './iframe';\nexport * from './offscreen';\n"]}
@@ -1,5 +1,7 @@
1
- export * from "./AbstractExecutionService.cjs";
2
- export type * from "./ExecutionService.cjs";
1
+ export type { ExecutionServiceActions, ExecutionServiceArgs, ExecutionServiceEvents, ExecutionServiceMessenger, ExecutionServiceOutboundRequestEvent, ExecutionServiceOutboundResponseEvent, ExecutionServiceUnhandledErrorEvent, SnapErrorJson, SnapExecutionData, } from "./ExecutionService.cjs";
2
+ export { ExecutionService } from "./ExecutionService.cjs";
3
+ export type { ExecutionServiceTerminateSnapAction, ExecutionServiceTerminateAllSnapsAction, ExecutionServiceExecuteSnapAction, ExecutionServiceHandleRpcRequestAction, } from "./ExecutionService-method-action-types.cjs";
4
+ export { setupMultiplex } from "./multiplex.cjs";
3
5
  export * from "./ProxyPostMessageStream.cjs";
4
6
  export * from "./iframe/index.cjs";
5
7
  export * from "./offscreen/index.cjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,+CAA2C;AAC3C,4CAAwC;AACxC,6CAAyC;AACzC,mCAAyB;AACzB,sCAA4B"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,oCAAoC,EACpC,qCAAqC,EACrC,mCAAmC,EACnC,aAAa,EACb,iBAAiB,GAClB,+BAA2B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,YAAY,EACV,mCAAmC,EACnC,uCAAuC,EACvC,iCAAiC,EACjC,sCAAsC,GACvC,mDAA+C;AAChD,OAAO,EAAE,cAAc,EAAE,wBAAoB;AAC7C,6CAAyC;AACzC,mCAAyB;AACzB,sCAA4B"}
@@ -1,5 +1,7 @@
1
- export * from "./AbstractExecutionService.mjs";
2
- export type * from "./ExecutionService.mjs";
1
+ export type { ExecutionServiceActions, ExecutionServiceArgs, ExecutionServiceEvents, ExecutionServiceMessenger, ExecutionServiceOutboundRequestEvent, ExecutionServiceOutboundResponseEvent, ExecutionServiceUnhandledErrorEvent, SnapErrorJson, SnapExecutionData, } from "./ExecutionService.mjs";
2
+ export { ExecutionService } from "./ExecutionService.mjs";
3
+ export type { ExecutionServiceTerminateSnapAction, ExecutionServiceTerminateAllSnapsAction, ExecutionServiceExecuteSnapAction, ExecutionServiceHandleRpcRequestAction, } from "./ExecutionService-method-action-types.mjs";
4
+ export { setupMultiplex } from "./multiplex.mjs";
3
5
  export * from "./ProxyPostMessageStream.mjs";
4
6
  export * from "./iframe/index.mjs";
5
7
  export * from "./offscreen/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,+CAA2C;AAC3C,4CAAwC;AACxC,6CAAyC;AACzC,mCAAyB;AACzB,sCAA4B"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,oCAAoC,EACpC,qCAAqC,EACrC,mCAAmC,EACnC,aAAa,EACb,iBAAiB,GAClB,+BAA2B;AAC5B,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AACtD,YAAY,EACV,mCAAmC,EACnC,uCAAuC,EACvC,iCAAiC,EACjC,sCAAsC,GACvC,mDAA+C;AAChD,OAAO,EAAE,cAAc,EAAE,wBAAoB;AAC7C,6CAAyC;AACzC,mCAAyB;AACzB,sCAA4B"}
@@ -1,4 +1,5 @@
1
- export * from "./AbstractExecutionService.mjs";
1
+ export { ExecutionService } from "./ExecutionService.mjs";
2
+ export { setupMultiplex } from "./multiplex.mjs";
2
3
  export * from "./ProxyPostMessageStream.mjs";
3
4
  export * from "./iframe/index.mjs";
4
5
  export * from "./offscreen/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,+CAA2C;AAE3C,6CAAyC;AACzC,mCAAyB;AACzB,sCAA4B","sourcesContent":["export * from './AbstractExecutionService';\nexport type * from './ExecutionService';\nexport * from './ProxyPostMessageStream';\nexport * from './iframe';\nexport * from './offscreen';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,gBAAgB,EAAE,+BAA2B;AAOtD,OAAO,EAAE,cAAc,EAAE,wBAAoB;AAC7C,6CAAyC;AACzC,mCAAyB;AACzB,sCAA4B","sourcesContent":["export type {\n ExecutionServiceActions,\n ExecutionServiceArgs,\n ExecutionServiceEvents,\n ExecutionServiceMessenger,\n ExecutionServiceOutboundRequestEvent,\n ExecutionServiceOutboundResponseEvent,\n ExecutionServiceUnhandledErrorEvent,\n SnapErrorJson,\n SnapExecutionData,\n} from './ExecutionService';\nexport { ExecutionService } from './ExecutionService';\nexport type {\n ExecutionServiceTerminateSnapAction,\n ExecutionServiceTerminateAllSnapsAction,\n ExecutionServiceExecuteSnapAction,\n ExecutionServiceHandleRpcRequestAction,\n} from './ExecutionService-method-action-types';\nexport { setupMultiplex } from './multiplex';\nexport * from './ProxyPostMessageStream';\nexport * from './iframe';\nexport * from './offscreen';\n"]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setupMultiplex = void 0;
7
+ const object_multiplex_1 = __importDefault(require("@metamask/object-multiplex"));
8
+ const snaps_utils_1 = require("@metamask/snaps-utils");
9
+ const readable_stream_1 = require("readable-stream");
10
+ /**
11
+ * Sets up stream multiplexing for the given stream.
12
+ *
13
+ * @param connectionStream - The stream to mux.
14
+ * @param streamName - The name of the stream, for identification in errors.
15
+ * @returns The multiplexed stream.
16
+ */
17
+ function setupMultiplex(connectionStream, streamName) {
18
+ const mux = new object_multiplex_1.default();
19
+ (0, readable_stream_1.pipeline)(connectionStream, mux, connectionStream, (error) => {
20
+ if (error && !error.message?.match('Premature close')) {
21
+ (0, snaps_utils_1.logError)(`"${streamName}" stream failure.`, error);
22
+ }
23
+ });
24
+ return mux;
25
+ }
26
+ exports.setupMultiplex = setupMultiplex;
27
+ //# sourceMappingURL=multiplex.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiplex.cjs","sourceRoot":"","sources":["../../src/services/multiplex.ts"],"names":[],"mappings":";;;;;;AAAA,kFAAyD;AACzD,uDAAiD;AAEjD,qDAA2C;AAE3C;;;;;;GAMG;AACH,SAAgB,cAAc,CAC5B,gBAAwB,EACxB,UAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,0BAAe,EAAE,CAAC;IAClC,IAAA,0BAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtD,IAAA,sBAAQ,EAAC,IAAI,UAAU,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,wCAWC","sourcesContent":["import ObjectMultiplex from '@metamask/object-multiplex';\nimport { logError } from '@metamask/snaps-utils';\nimport type { Duplex } from 'readable-stream';\nimport { pipeline } from 'readable-stream';\n\n/**\n * Sets up stream multiplexing for the given stream.\n *\n * @param connectionStream - The stream to mux.\n * @param streamName - The name of the stream, for identification in errors.\n * @returns The multiplexed stream.\n */\nexport function setupMultiplex(\n connectionStream: Duplex,\n streamName: string,\n): ObjectMultiplex {\n const mux = new ObjectMultiplex();\n pipeline(connectionStream, mux, connectionStream, (error) => {\n if (error && !error.message?.match('Premature close')) {\n logError(`\"${streamName}\" stream failure.`, error);\n }\n });\n return mux;\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import ObjectMultiplex from "@metamask/object-multiplex";
2
+ import type { Duplex } from "readable-stream";
3
+ /**
4
+ * Sets up stream multiplexing for the given stream.
5
+ *
6
+ * @param connectionStream - The stream to mux.
7
+ * @param streamName - The name of the stream, for identification in errors.
8
+ * @returns The multiplexed stream.
9
+ */
10
+ export declare function setupMultiplex(connectionStream: Duplex, streamName: string): ObjectMultiplex;
11
+ //# sourceMappingURL=multiplex.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiplex.d.cts","sourceRoot":"","sources":["../../src/services/multiplex.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,mCAAmC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,wBAAwB;AAG9C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,eAAe,CAQjB"}
@@ -0,0 +1,11 @@
1
+ import ObjectMultiplex from "@metamask/object-multiplex";
2
+ import type { Duplex } from "readable-stream";
3
+ /**
4
+ * Sets up stream multiplexing for the given stream.
5
+ *
6
+ * @param connectionStream - The stream to mux.
7
+ * @param streamName - The name of the stream, for identification in errors.
8
+ * @returns The multiplexed stream.
9
+ */
10
+ export declare function setupMultiplex(connectionStream: Duplex, streamName: string): ObjectMultiplex;
11
+ //# sourceMappingURL=multiplex.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiplex.d.mts","sourceRoot":"","sources":["../../src/services/multiplex.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,mCAAmC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,wBAAwB;AAG9C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,eAAe,CAQjB"}
@@ -0,0 +1,27 @@
1
+ function $importDefault(module) {
2
+ if (module?.__esModule) {
3
+ return module.default;
4
+ }
5
+ return module;
6
+ }
7
+ import $ObjectMultiplex from "@metamask/object-multiplex";
8
+ const ObjectMultiplex = $importDefault($ObjectMultiplex);
9
+ import { logError } from "@metamask/snaps-utils";
10
+ import { pipeline } from "readable-stream";
11
+ /**
12
+ * Sets up stream multiplexing for the given stream.
13
+ *
14
+ * @param connectionStream - The stream to mux.
15
+ * @param streamName - The name of the stream, for identification in errors.
16
+ * @returns The multiplexed stream.
17
+ */
18
+ export function setupMultiplex(connectionStream, streamName) {
19
+ const mux = new ObjectMultiplex();
20
+ pipeline(connectionStream, mux, connectionStream, (error) => {
21
+ if (error && !error.message?.match('Premature close')) {
22
+ logError(`"${streamName}" stream failure.`, error);
23
+ }
24
+ });
25
+ return mux;
26
+ }
27
+ //# sourceMappingURL=multiplex.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiplex.mjs","sourceRoot":"","sources":["../../src/services/multiplex.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,gBAAe,mCAAmC;;AACzD,OAAO,EAAE,QAAQ,EAAE,8BAA8B;AAEjD,OAAO,EAAE,QAAQ,EAAE,wBAAwB;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAAwB,EACxB,UAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtD,QAAQ,CAAC,IAAI,UAAU,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import ObjectMultiplex from '@metamask/object-multiplex';\nimport { logError } from '@metamask/snaps-utils';\nimport type { Duplex } from 'readable-stream';\nimport { pipeline } from 'readable-stream';\n\n/**\n * Sets up stream multiplexing for the given stream.\n *\n * @param connectionStream - The stream to mux.\n * @param streamName - The name of the stream, for identification in errors.\n * @returns The multiplexed stream.\n */\nexport function setupMultiplex(\n connectionStream: Duplex,\n streamName: string,\n): ObjectMultiplex {\n const mux = new ObjectMultiplex();\n pipeline(connectionStream, mux, connectionStream, (error) => {\n if (error && !error.message?.match('Premature close')) {\n logError(`\"${streamName}\" stream failure.`, error);\n }\n });\n return mux;\n}\n"]}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeProcessExecutionService = void 0;
4
4
  const node_1 = require("@metamask/post-message-stream/node");
5
5
  const child_process_1 = require("child_process");
6
- const __1 = require("../index.cjs");
7
- class NodeProcessExecutionService extends __1.AbstractExecutionService {
6
+ const ExecutionService_1 = require("../ExecutionService.cjs");
7
+ class NodeProcessExecutionService extends ExecutionService_1.ExecutionService {
8
8
  async initEnvStream(snapId) {
9
9
  this.setSnapStatus(snapId, 'initializing');
10
10
  const worker = (0, child_process_1.fork)(require.resolve('@metamask/snaps-execution-environments/node-process'), {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeProcessExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";;;AACA,6DAAgF;AAEhF,iDAAqC;AAGrC,oCAA8C;AAE9C,MAAa,2BAA4B,SAAQ,4BAAsC;IAC3E,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAA,oBAAI,EACjB,OAAO,CAAC,OAAO,CAAC,qDAAqD,CAAC,EACtE;YACE,KAAK,EAAE,MAAM;SACd,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,iCAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAA0C;QAE1C,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF;AAnCD,kEAmCC","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ProcessParentMessageStream } from '@metamask/post-message-stream/node';\nimport type { ChildProcess } from 'child_process';\nimport { fork } from 'child_process';\n\nimport type { TerminateJobArgs } from '..';\nimport { AbstractExecutionService } from '..';\n\nexport class NodeProcessExecutionService extends AbstractExecutionService<ChildProcess> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: ChildProcess;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = fork(\n require.resolve('@metamask/snaps-execution-environments/node-process'),\n {\n stdio: 'pipe',\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ProcessParentMessageStream({ process: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<ChildProcess>,\n ): Promise<void> {\n jobWrapper.worker?.kill();\n }\n}\n"]}
1
+ {"version":3,"file":"NodeProcessExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";;;AACA,6DAAgF;AAEhF,iDAAqC;AAGrC,8DAAuD;AAEvD,MAAa,2BAA4B,SAAQ,mCAA8B;IACnE,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAA,oBAAI,EACjB,OAAO,CAAC,OAAO,CAAC,qDAAqD,CAAC,EACtE;YACE,KAAK,EAAE,MAAM;SACd,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,iCAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAA0C;QAE1C,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF;AAnCD,kEAmCC","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ProcessParentMessageStream } from '@metamask/post-message-stream/node';\nimport type { ChildProcess } from 'child_process';\nimport { fork } from 'child_process';\n\nimport type { TerminateJobArgs } from '../ExecutionService';\nimport { ExecutionService } from '../ExecutionService';\n\nexport class NodeProcessExecutionService extends ExecutionService<ChildProcess> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: ChildProcess;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = fork(\n require.resolve('@metamask/snaps-execution-environments/node-process'),\n {\n stdio: 'pipe',\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ProcessParentMessageStream({ process: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<ChildProcess>,\n ): Promise<void> {\n jobWrapper.worker?.kill();\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import type { BasePostMessageStream } from "@metamask/post-message-stream";
3
3
  import type { ChildProcess } from "child_process";
4
- import type { TerminateJobArgs } from "../index.cjs";
5
- import { AbstractExecutionService } from "../index.cjs";
6
- export declare class NodeProcessExecutionService extends AbstractExecutionService<ChildProcess> {
4
+ import type { TerminateJobArgs } from "../ExecutionService.cjs";
5
+ import { ExecutionService } from "../ExecutionService.cjs";
6
+ export declare class NodeProcessExecutionService extends ExecutionService<ChildProcess> {
7
7
  protected initEnvStream(snapId: string): Promise<{
8
8
  worker: ChildProcess;
9
9
  stream: BasePostMessageStream;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeProcessExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAW;AAC3C,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,qBAAa,2BAA4B,SAAQ,wBAAwB,CAAC,YAAY,CAAC;cACrE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,YAAY,CAAC;QACrB,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA0Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
1
+ {"version":3,"file":"NodeProcessExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gCAA4B;AAC5D,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAEvD,qBAAa,2BAA4B,SAAQ,gBAAgB,CAAC,YAAY,CAAC;cAC7D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,YAAY,CAAC;QACrB,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA0Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import type { BasePostMessageStream } from "@metamask/post-message-stream";
3
3
  import type { ChildProcess } from "child_process";
4
- import type { TerminateJobArgs } from "../index.mjs";
5
- import { AbstractExecutionService } from "../index.mjs";
6
- export declare class NodeProcessExecutionService extends AbstractExecutionService<ChildProcess> {
4
+ import type { TerminateJobArgs } from "../ExecutionService.mjs";
5
+ import { ExecutionService } from "../ExecutionService.mjs";
6
+ export declare class NodeProcessExecutionService extends ExecutionService<ChildProcess> {
7
7
  protected initEnvStream(snapId: string): Promise<{
8
8
  worker: ChildProcess;
9
9
  stream: BasePostMessageStream;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeProcessExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAW;AAC3C,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,qBAAa,2BAA4B,SAAQ,wBAAwB,CAAC,YAAY,CAAC;cACrE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,YAAY,CAAC;QACrB,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA0Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
1
+ {"version":3,"file":"NodeProcessExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gCAA4B;AAC5D,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAEvD,qBAAa,2BAA4B,SAAQ,gBAAgB,CAAC,YAAY,CAAC;cAC7D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,YAAY,CAAC;QACrB,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA0Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
@@ -2,8 +2,8 @@ import { createRequire as $createRequire } from "module";
2
2
  const $require = $createRequire(import.meta.url);
3
3
  import { ProcessParentMessageStream } from "@metamask/post-message-stream/node";
4
4
  import { fork } from "child_process";
5
- import { AbstractExecutionService } from "../index.mjs";
6
- export class NodeProcessExecutionService extends AbstractExecutionService {
5
+ import { ExecutionService } from "../ExecutionService.mjs";
6
+ export class NodeProcessExecutionService extends ExecutionService {
7
7
  async initEnvStream(snapId) {
8
8
  this.setSnapStatus(snapId, 'initializing');
9
9
  const worker = fork($require.resolve('@metamask/snaps-execution-environments/node-process'), {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeProcessExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,0BAA0B,EAAE,2CAA2C;AAEhF,OAAO,EAAE,IAAI,EAAE,sBAAsB;AAGrC,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,MAAM,OAAO,2BAA4B,SAAQ,wBAAsC;IAC3E,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,kBACD,qDAAqD,GACrE;YACE,KAAK,EAAE,MAAM;SACd,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAA0C;QAE1C,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ProcessParentMessageStream } from '@metamask/post-message-stream/node';\nimport type { ChildProcess } from 'child_process';\nimport { fork } from 'child_process';\n\nimport type { TerminateJobArgs } from '..';\nimport { AbstractExecutionService } from '..';\n\nexport class NodeProcessExecutionService extends AbstractExecutionService<ChildProcess> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: ChildProcess;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = fork(\n require.resolve('@metamask/snaps-execution-environments/node-process'),\n {\n stdio: 'pipe',\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ProcessParentMessageStream({ process: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<ChildProcess>,\n ): Promise<void> {\n jobWrapper.worker?.kill();\n }\n}\n"]}
1
+ {"version":3,"file":"NodeProcessExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,0BAA0B,EAAE,2CAA2C;AAEhF,OAAO,EAAE,IAAI,EAAE,sBAAsB;AAGrC,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAEvD,MAAM,OAAO,2BAA4B,SAAQ,gBAA8B;IACnE,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,kBACD,qDAAqD,GACrE;YACE,KAAK,EAAE,MAAM;SACd,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAA0C;QAE1C,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ProcessParentMessageStream } from '@metamask/post-message-stream/node';\nimport type { ChildProcess } from 'child_process';\nimport { fork } from 'child_process';\n\nimport type { TerminateJobArgs } from '../ExecutionService';\nimport { ExecutionService } from '../ExecutionService';\n\nexport class NodeProcessExecutionService extends ExecutionService<ChildProcess> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: ChildProcess;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = fork(\n require.resolve('@metamask/snaps-execution-environments/node-process'),\n {\n stdio: 'pipe',\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ProcessParentMessageStream({ process: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<ChildProcess>,\n ): Promise<void> {\n jobWrapper.worker?.kill();\n }\n}\n"]}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodeThreadExecutionService = void 0;
4
4
  const node_1 = require("@metamask/post-message-stream/node");
5
5
  const worker_threads_1 = require("worker_threads");
6
- const __1 = require("../index.cjs");
7
- class NodeThreadExecutionService extends __1.AbstractExecutionService {
6
+ const ExecutionService_1 = require("../ExecutionService.cjs");
7
+ class NodeThreadExecutionService extends ExecutionService_1.ExecutionService {
8
8
  async initEnvStream(snapId) {
9
9
  this.setSnapStatus(snapId, 'initializing');
10
10
  const worker = new worker_threads_1.Worker(require.resolve('@metamask/snaps-execution-environments/node-thread'), {
@@ -24,9 +24,6 @@ class NodeThreadExecutionService extends __1.AbstractExecutionService {
24
24
  const stream = new node_1.ThreadParentMessageStream({ thread: worker });
25
25
  return Promise.resolve({ worker, stream });
26
26
  }
27
- // TODO: Either fix this lint violation or explain why it's necessary to
28
- // ignore.
29
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
30
27
  async terminateJob(jobWrapper) {
31
28
  await jobWrapper.worker?.terminate();
32
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeThreadExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";;;AACA,6DAA+E;AAC/E,mDAAwC;AAGxC,oCAA8C;AAE9C,MAAa,0BAA2B,SAAQ,4BAAgC;IACpE,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,uBAAM,CACvB,OAAO,CAAC,OAAO,CAAC,oDAAoD,CAAC,EACrE;YACE,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,gCAAyB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,wEAAwE;IACxE,WAAW;IACX,kEAAkE;IACxD,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IACvC,CAAC;CACF;AAvCD,gEAuCC","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ThreadParentMessageStream } from '@metamask/post-message-stream/node';\nimport { Worker } from 'worker_threads';\n\nimport type { TerminateJobArgs } from '..';\nimport { AbstractExecutionService } from '..';\n\nexport class NodeThreadExecutionService extends AbstractExecutionService<Worker> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: Worker;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = new Worker(\n require.resolve('@metamask/snaps-execution-environments/node-thread'),\n {\n stdout: true,\n stderr: true,\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ThreadParentMessageStream({ thread: worker });\n return Promise.resolve({ worker, stream });\n }\n\n // TODO: Either fix this lint violation or explain why it's necessary to\n // ignore.\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Worker>,\n ): Promise<void> {\n await jobWrapper.worker?.terminate();\n }\n}\n"]}
1
+ {"version":3,"file":"NodeThreadExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";;;AACA,6DAA+E;AAC/E,mDAAwC;AAExC,8DAAuD;AAGvD,MAAa,0BAA2B,SAAQ,mCAAwB;IAC5D,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,uBAAM,CACvB,OAAO,CAAC,OAAO,CAAC,oDAAoD,CAAC,EACrE;YACE,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,gCAAyB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IACvC,CAAC;CACF;AApCD,gEAoCC","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ThreadParentMessageStream } from '@metamask/post-message-stream/node';\nimport { Worker } from 'worker_threads';\n\nimport { ExecutionService } from '../ExecutionService';\nimport type { TerminateJobArgs } from '../ExecutionService';\n\nexport class NodeThreadExecutionService extends ExecutionService<Worker> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: Worker;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = new Worker(\n require.resolve('@metamask/snaps-execution-environments/node-thread'),\n {\n stdout: true,\n stderr: true,\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ThreadParentMessageStream({ thread: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Worker>,\n ): Promise<void> {\n await jobWrapper.worker?.terminate();\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import type { BasePostMessageStream } from "@metamask/post-message-stream";
3
3
  import { Worker } from "worker_threads";
4
- import type { TerminateJobArgs } from "../index.cjs";
5
- import { AbstractExecutionService } from "../index.cjs";
6
- export declare class NodeThreadExecutionService extends AbstractExecutionService<Worker> {
4
+ import { ExecutionService } from "../ExecutionService.cjs";
5
+ import type { TerminateJobArgs } from "../ExecutionService.cjs";
6
+ export declare class NodeThreadExecutionService extends ExecutionService<Worker> {
7
7
  protected initEnvStream(snapId: string): Promise<{
8
8
  worker: Worker;
9
9
  stream: BasePostMessageStream;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeThreadExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,EAAE,MAAM,EAAE,uBAAuB;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAW;AAC3C,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,qBAAa,0BAA2B,SAAQ,wBAAwB,CAAC,MAAM,CAAC;cAC9D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA8Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
1
+ {"version":3,"file":"NodeThreadExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,EAAE,MAAM,EAAE,uBAAuB;AAExC,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gCAA4B;AAE5D,qBAAa,0BAA2B,SAAQ,gBAAgB,CAAC,MAAM,CAAC;cACtD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA2Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import type { BasePostMessageStream } from "@metamask/post-message-stream";
3
3
  import { Worker } from "worker_threads";
4
- import type { TerminateJobArgs } from "../index.mjs";
5
- import { AbstractExecutionService } from "../index.mjs";
6
- export declare class NodeThreadExecutionService extends AbstractExecutionService<Worker> {
4
+ import { ExecutionService } from "../ExecutionService.mjs";
5
+ import type { TerminateJobArgs } from "../ExecutionService.mjs";
6
+ export declare class NodeThreadExecutionService extends ExecutionService<Worker> {
7
7
  protected initEnvStream(snapId: string): Promise<{
8
8
  worker: Worker;
9
9
  stream: BasePostMessageStream;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeThreadExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,EAAE,MAAM,EAAE,uBAAuB;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAW;AAC3C,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,qBAAa,0BAA2B,SAAQ,wBAAwB,CAAC,MAAM,CAAC;cAC9D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA8Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
1
+ {"version":3,"file":"NodeThreadExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sCAAsC;AAE3E,OAAO,EAAE,MAAM,EAAE,uBAAuB;AAExC,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gCAA4B;AAE5D,qBAAa,0BAA2B,SAAQ,gBAAgB,CAAC,MAAM,CAAC;cACtD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;cA2Bc,YAAY,CAC1B,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
@@ -2,8 +2,8 @@ import { createRequire as $createRequire } from "module";
2
2
  const $require = $createRequire(import.meta.url);
3
3
  import { ThreadParentMessageStream } from "@metamask/post-message-stream/node";
4
4
  import { Worker } from "worker_threads";
5
- import { AbstractExecutionService } from "../index.mjs";
6
- export class NodeThreadExecutionService extends AbstractExecutionService {
5
+ import { ExecutionService } from "../ExecutionService.mjs";
6
+ export class NodeThreadExecutionService extends ExecutionService {
7
7
  async initEnvStream(snapId) {
8
8
  this.setSnapStatus(snapId, 'initializing');
9
9
  const worker = new Worker($require.resolve('@metamask/snaps-execution-environments/node-thread'), {
@@ -23,9 +23,6 @@ export class NodeThreadExecutionService extends AbstractExecutionService {
23
23
  const stream = new ThreadParentMessageStream({ thread: worker });
24
24
  return Promise.resolve({ worker, stream });
25
25
  }
26
- // TODO: Either fix this lint violation or explain why it's necessary to
27
- // ignore.
28
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
29
26
  async terminateJob(jobWrapper) {
30
27
  await jobWrapper.worker?.terminate();
31
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeThreadExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,yBAAyB,EAAE,2CAA2C;AAC/E,OAAO,EAAE,MAAM,EAAE,uBAAuB;AAGxC,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,MAAM,OAAO,0BAA2B,SAAQ,wBAAgC;IACpE,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,MAAM,kBACP,oDAAoD,GACpE;YACE,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,wEAAwE;IACxE,WAAW;IACX,kEAAkE;IACxD,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IACvC,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ThreadParentMessageStream } from '@metamask/post-message-stream/node';\nimport { Worker } from 'worker_threads';\n\nimport type { TerminateJobArgs } from '..';\nimport { AbstractExecutionService } from '..';\n\nexport class NodeThreadExecutionService extends AbstractExecutionService<Worker> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: Worker;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = new Worker(\n require.resolve('@metamask/snaps-execution-environments/node-thread'),\n {\n stdout: true,\n stderr: true,\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ThreadParentMessageStream({ thread: worker });\n return Promise.resolve({ worker, stream });\n }\n\n // TODO: Either fix this lint violation or explain why it's necessary to\n // ignore.\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Worker>,\n ): Promise<void> {\n await jobWrapper.worker?.terminate();\n }\n}\n"]}
1
+ {"version":3,"file":"NodeThreadExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,yBAAyB,EAAE,2CAA2C;AAC/E,OAAO,EAAE,MAAM,EAAE,uBAAuB;AAExC,OAAO,EAAE,gBAAgB,EAAE,gCAA4B;AAGvD,MAAM,OAAO,0BAA2B,SAAQ,gBAAwB;IAC5D,KAAK,CAAC,aAAa,CAAC,MAAc;QAI1C,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,MAAM,kBACP,oDAAoD,GACpE;YACE,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IACvC,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ThreadParentMessageStream } from '@metamask/post-message-stream/node';\nimport { Worker } from 'worker_threads';\n\nimport { ExecutionService } from '../ExecutionService';\nimport type { TerminateJobArgs } from '../ExecutionService';\n\nexport class NodeThreadExecutionService extends ExecutionService<Worker> {\n protected async initEnvStream(snapId: string): Promise<{\n worker: Worker;\n stream: BasePostMessageStream;\n }> {\n this.setSnapStatus(snapId, 'initializing');\n\n const worker = new Worker(\n require.resolve('@metamask/snaps-execution-environments/node-thread'),\n {\n stdout: true,\n stderr: true,\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ThreadParentMessageStream({ thread: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Worker>,\n ): Promise<void> {\n await jobWrapper.worker?.terminate();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"OffscreenExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":";;;AAAA,uEAAgF;AAGhF,8EAAuE;AAMvE,MAAa,yBAA0B,SAAQ,6CAAqB;IACzD,iBAAiB,CAAmB;IAE7C;;;;;;;;;;OAUG;IACH,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACkC;QACzC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;YACjB,MAAM,EAAE,IAAI,qDAA+B,CAAC;gBAC1C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,aAAa,CAAC,MAAc;QAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAE7B,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AA7CD,8DA6CC","sourcesContent":["import { BrowserRuntimePostMessageStream } from '@metamask/post-message-stream';\n\nimport type { ExecutionServiceArgs } from '../AbstractExecutionService';\nimport { ProxyExecutionService } from '../proxy/ProxyExecutionService';\n\ntype OffscreenExecutionEnvironmentServiceArgs = {\n offscreenPromise: Promise<unknown>;\n} & ExecutionServiceArgs;\n\nexport class OffscreenExecutionService extends ProxyExecutionService {\n readonly #offscreenPromise: Promise<unknown>;\n\n /**\n * Create a new offscreen execution service.\n *\n * @param args - The constructor arguments.\n * @param args.messenger - The messenger to use for communication with the\n * `SnapController`.\n * @param args.setupSnapProvider - The function to use to set up the snap\n * provider.\n * @param args.offscreenPromise - A promise that resolves when the offscreen\n * environment is ready.\n */\n constructor({\n messenger,\n setupSnapProvider,\n offscreenPromise,\n ...args\n }: OffscreenExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n stream: new BrowserRuntimePostMessageStream({\n name: 'parent',\n target: 'child',\n }),\n });\n\n this.#offscreenPromise = offscreenPromise;\n }\n\n /**\n * Create a new stream for the given Snap ID. This will wait for the offscreen\n * environment to be ready before creating the stream.\n *\n * @param snapId - The Snap ID to create a stream for.\n * @returns The stream for the given Snap ID.\n */\n protected async initEnvStream(snapId: string) {\n await this.#offscreenPromise;\n\n return await super.initEnvStream(snapId);\n }\n}\n"]}
1
+ {"version":3,"file":"OffscreenExecutionService.cjs","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":";;;AAAA,uEAAgF;AAGhF,8EAAuE;AAMvE,MAAa,yBAA0B,SAAQ,6CAAqB;IACzD,iBAAiB,CAAmB;IAE7C;;;;;;;;;;OAUG;IACH,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACkC;QACzC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;YACjB,MAAM,EAAE,IAAI,qDAA+B,CAAC;gBAC1C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,aAAa,CAAC,MAAc;QAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAE7B,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AA7CD,8DA6CC","sourcesContent":["import { BrowserRuntimePostMessageStream } from '@metamask/post-message-stream';\n\nimport type { ExecutionServiceArgs } from '../ExecutionService';\nimport { ProxyExecutionService } from '../proxy/ProxyExecutionService';\n\ntype OffscreenExecutionEnvironmentServiceArgs = {\n offscreenPromise: Promise<unknown>;\n} & ExecutionServiceArgs;\n\nexport class OffscreenExecutionService extends ProxyExecutionService {\n readonly #offscreenPromise: Promise<unknown>;\n\n /**\n * Create a new offscreen execution service.\n *\n * @param args - The constructor arguments.\n * @param args.messenger - The messenger to use for communication with the\n * `SnapController`.\n * @param args.setupSnapProvider - The function to use to set up the snap\n * provider.\n * @param args.offscreenPromise - A promise that resolves when the offscreen\n * environment is ready.\n */\n constructor({\n messenger,\n setupSnapProvider,\n offscreenPromise,\n ...args\n }: OffscreenExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n stream: new BrowserRuntimePostMessageStream({\n name: 'parent',\n target: 'child',\n }),\n });\n\n this.#offscreenPromise = offscreenPromise;\n }\n\n /**\n * Create a new stream for the given Snap ID. This will wait for the offscreen\n * environment to be ready before creating the stream.\n *\n * @param snapId - The Snap ID to create a stream for.\n * @returns The stream for the given Snap ID.\n */\n protected async initEnvStream(snapId: string) {\n await this.#offscreenPromise;\n\n return await super.initEnvStream(snapId);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { ExecutionServiceArgs } from "../AbstractExecutionService.cjs";
1
+ import type { ExecutionServiceArgs } from "../ExecutionService.cjs";
2
2
  import { ProxyExecutionService } from "../proxy/ProxyExecutionService.cjs";
3
3
  type OffscreenExecutionEnvironmentServiceArgs = {
4
4
  offscreenPromise: Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"OffscreenExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wCAAoC;AACxE,OAAO,EAAE,qBAAqB,EAAE,2CAAuC;AAEvE,KAAK,wCAAwC,GAAG;IAC9C,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,yBAA0B,SAAQ,qBAAqB;;IAGlE;;;;;;;;;;OAUG;gBACS,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,wCAAwC;IAc3C;;;;;;OAMG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM;;;;CAK7C"}
1
+ {"version":3,"file":"OffscreenExecutionService.d.cts","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gCAA4B;AAChE,OAAO,EAAE,qBAAqB,EAAE,2CAAuC;AAEvE,KAAK,wCAAwC,GAAG;IAC9C,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,yBAA0B,SAAQ,qBAAqB;;IAGlE;;;;;;;;;;OAUG;gBACS,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,wCAAwC;IAc3C;;;;;;OAMG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM;;;;CAK7C"}
@@ -1,4 +1,4 @@
1
- import type { ExecutionServiceArgs } from "../AbstractExecutionService.mjs";
1
+ import type { ExecutionServiceArgs } from "../ExecutionService.mjs";
2
2
  import { ProxyExecutionService } from "../proxy/ProxyExecutionService.mjs";
3
3
  type OffscreenExecutionEnvironmentServiceArgs = {
4
4
  offscreenPromise: Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"OffscreenExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,wCAAoC;AACxE,OAAO,EAAE,qBAAqB,EAAE,2CAAuC;AAEvE,KAAK,wCAAwC,GAAG;IAC9C,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,yBAA0B,SAAQ,qBAAqB;;IAGlE;;;;;;;;;;OAUG;gBACS,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,wCAAwC;IAc3C;;;;;;OAMG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM;;;;CAK7C"}
1
+ {"version":3,"file":"OffscreenExecutionService.d.mts","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gCAA4B;AAChE,OAAO,EAAE,qBAAqB,EAAE,2CAAuC;AAEvE,KAAK,wCAAwC,GAAG;IAC9C,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CACpC,GAAG,oBAAoB,CAAC;AAEzB,qBAAa,yBAA0B,SAAQ,qBAAqB;;IAGlE;;;;;;;;;;OAUG;gBACS,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACR,EAAE,wCAAwC;IAc3C;;;;;;OAMG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM;;;;CAK7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"OffscreenExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,sCAAsC;AAGhF,OAAO,EAAE,qBAAqB,EAAE,2CAAuC;AAMvE,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;IACzD,iBAAiB,CAAmB;IAE7C;;;;;;;;;;OAUG;IACH,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACkC;QACzC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;YACjB,MAAM,EAAE,IAAI,+BAA+B,CAAC;gBAC1C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,aAAa,CAAC,MAAc;QAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAE7B,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import { BrowserRuntimePostMessageStream } from '@metamask/post-message-stream';\n\nimport type { ExecutionServiceArgs } from '../AbstractExecutionService';\nimport { ProxyExecutionService } from '../proxy/ProxyExecutionService';\n\ntype OffscreenExecutionEnvironmentServiceArgs = {\n offscreenPromise: Promise<unknown>;\n} & ExecutionServiceArgs;\n\nexport class OffscreenExecutionService extends ProxyExecutionService {\n readonly #offscreenPromise: Promise<unknown>;\n\n /**\n * Create a new offscreen execution service.\n *\n * @param args - The constructor arguments.\n * @param args.messenger - The messenger to use for communication with the\n * `SnapController`.\n * @param args.setupSnapProvider - The function to use to set up the snap\n * provider.\n * @param args.offscreenPromise - A promise that resolves when the offscreen\n * environment is ready.\n */\n constructor({\n messenger,\n setupSnapProvider,\n offscreenPromise,\n ...args\n }: OffscreenExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n stream: new BrowserRuntimePostMessageStream({\n name: 'parent',\n target: 'child',\n }),\n });\n\n this.#offscreenPromise = offscreenPromise;\n }\n\n /**\n * Create a new stream for the given Snap ID. This will wait for the offscreen\n * environment to be ready before creating the stream.\n *\n * @param snapId - The Snap ID to create a stream for.\n * @returns The stream for the given Snap ID.\n */\n protected async initEnvStream(snapId: string) {\n await this.#offscreenPromise;\n\n return await super.initEnvStream(snapId);\n }\n}\n"]}
1
+ {"version":3,"file":"OffscreenExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/offscreen/OffscreenExecutionService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,sCAAsC;AAGhF,OAAO,EAAE,qBAAqB,EAAE,2CAAuC;AAMvE,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;IACzD,iBAAiB,CAAmB;IAE7C;;;;;;;;;;OAUG;IACH,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,GAAG,IAAI,EACkC;QACzC,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,SAAS;YACT,iBAAiB;YACjB,MAAM,EAAE,IAAI,+BAA+B,CAAC;gBAC1C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,aAAa,CAAC,MAAc;QAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAE7B,OAAO,MAAM,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import { BrowserRuntimePostMessageStream } from '@metamask/post-message-stream';\n\nimport type { ExecutionServiceArgs } from '../ExecutionService';\nimport { ProxyExecutionService } from '../proxy/ProxyExecutionService';\n\ntype OffscreenExecutionEnvironmentServiceArgs = {\n offscreenPromise: Promise<unknown>;\n} & ExecutionServiceArgs;\n\nexport class OffscreenExecutionService extends ProxyExecutionService {\n readonly #offscreenPromise: Promise<unknown>;\n\n /**\n * Create a new offscreen execution service.\n *\n * @param args - The constructor arguments.\n * @param args.messenger - The messenger to use for communication with the\n * `SnapController`.\n * @param args.setupSnapProvider - The function to use to set up the snap\n * provider.\n * @param args.offscreenPromise - A promise that resolves when the offscreen\n * environment is ready.\n */\n constructor({\n messenger,\n setupSnapProvider,\n offscreenPromise,\n ...args\n }: OffscreenExecutionEnvironmentServiceArgs) {\n super({\n ...args,\n messenger,\n setupSnapProvider,\n stream: new BrowserRuntimePostMessageStream({\n name: 'parent',\n target: 'child',\n }),\n });\n\n this.#offscreenPromise = offscreenPromise;\n }\n\n /**\n * Create a new stream for the given Snap ID. This will wait for the offscreen\n * environment to be ready before creating the stream.\n *\n * @param snapId - The Snap ID to create a stream for.\n * @returns The stream for the given Snap ID.\n */\n protected async initEnvStream(snapId: string) {\n await this.#offscreenPromise;\n\n return await super.initEnvStream(snapId);\n }\n}\n"]}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProxyExecutionService = void 0;
4
4
  const nanoid_1 = require("nanoid");
5
- const AbstractExecutionService_1 = require("../AbstractExecutionService.cjs");
5
+ const ExecutionService_1 = require("../ExecutionService.cjs");
6
6
  const ProxyPostMessageStream_1 = require("../ProxyPostMessageStream.cjs");
7
- class ProxyExecutionService extends AbstractExecutionService_1.AbstractExecutionService {
7
+ class ProxyExecutionService extends ExecutionService_1.ExecutionService {
8
8
  #stream;
9
9
  /**
10
10
  * Create a new proxy execution service.
@@ -31,9 +31,6 @@ class ProxyExecutionService extends AbstractExecutionService_1.AbstractExecution
31
31
  *
32
32
  * @param job - The job to terminate.
33
33
  */
34
- // TODO: Either fix this lint violation or explain why it's necessary to
35
- // ignore.
36
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
37
34
  async terminateJob(job) {
38
35
  // The `AbstractExecutionService` will have already closed the job stream,
39
36
  // so we write to the runtime stream directly.