@metamask/snaps-controllers 9.4.0 → 9.6.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 (716) hide show
  1. package/CHANGELOG.md +23 -2
  2. package/dist/cronjob/CronjobController.cjs +255 -0
  3. package/dist/cronjob/CronjobController.cjs.map +1 -0
  4. package/dist/{types/cronjob/CronjobController.d.ts → cronjob/CronjobController.d.cts} +13 -10
  5. package/dist/cronjob/CronjobController.d.cts.map +1 -0
  6. package/dist/cronjob/CronjobController.d.mts +121 -0
  7. package/dist/cronjob/CronjobController.d.mts.map +1 -0
  8. package/dist/cronjob/CronjobController.mjs +249 -41
  9. package/dist/cronjob/CronjobController.mjs.map +1 -1
  10. package/dist/cronjob/index.cjs +18 -0
  11. package/dist/cronjob/index.cjs.map +1 -0
  12. package/dist/cronjob/index.d.cts +2 -0
  13. package/dist/cronjob/index.d.cts.map +1 -0
  14. package/dist/cronjob/index.d.mts +2 -0
  15. package/dist/cronjob/index.d.mts.map +1 -0
  16. package/dist/cronjob/index.mjs +1 -42
  17. package/dist/cronjob/index.mjs.map +1 -1
  18. package/dist/fsm.cjs +75 -0
  19. package/dist/fsm.cjs.map +1 -0
  20. package/dist/{types/fsm.d.ts → fsm.d.cts} +2 -1
  21. package/dist/fsm.d.cts.map +1 -0
  22. package/dist/fsm.d.mts +25 -0
  23. package/dist/fsm.d.mts.map +1 -0
  24. package/dist/fsm.mjs +69 -9
  25. package/dist/fsm.mjs.map +1 -1
  26. package/dist/index.cjs +23 -0
  27. package/dist/index.cjs.map +1 -0
  28. package/dist/index.d.cts +8 -0
  29. package/dist/index.d.cts.map +1 -0
  30. package/dist/index.d.mts +8 -0
  31. package/dist/index.d.mts.map +1 -0
  32. package/dist/index.mjs +6 -124
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/insights/SnapInsightsController.cjs +182 -0
  35. package/dist/insights/SnapInsightsController.cjs.map +1 -0
  36. package/dist/{types/insights/SnapInsightsController.d.ts → insights/SnapInsightsController.d.cts} +13 -9
  37. package/dist/insights/SnapInsightsController.d.cts.map +1 -0
  38. package/dist/insights/SnapInsightsController.d.mts +38 -0
  39. package/dist/insights/SnapInsightsController.d.mts.map +1 -0
  40. package/dist/insights/SnapInsightsController.mjs +176 -23
  41. package/dist/insights/SnapInsightsController.mjs.map +1 -1
  42. package/dist/insights/index.cjs +18 -0
  43. package/dist/insights/index.cjs.map +1 -0
  44. package/dist/insights/index.d.cts +2 -0
  45. package/dist/insights/index.d.cts.map +1 -0
  46. package/dist/insights/index.d.mts +2 -0
  47. package/dist/insights/index.d.mts.map +1 -0
  48. package/dist/insights/index.mjs +1 -25
  49. package/dist/insights/index.mjs.map +1 -1
  50. package/dist/interface/SnapInterfaceController.cjs +176 -0
  51. package/dist/interface/SnapInterfaceController.cjs.map +1 -0
  52. package/dist/{types/interface/SnapInterfaceController.d.ts → interface/SnapInterfaceController.d.cts} +13 -9
  53. package/dist/interface/SnapInterfaceController.d.cts.map +1 -0
  54. package/dist/interface/SnapInterfaceController.d.mts +107 -0
  55. package/dist/interface/SnapInterfaceController.d.mts.map +1 -0
  56. package/dist/interface/SnapInterfaceController.mjs +170 -7
  57. package/dist/interface/SnapInterfaceController.mjs.map +1 -1
  58. package/dist/interface/index.cjs +18 -0
  59. package/dist/interface/index.cjs.map +1 -0
  60. package/dist/interface/index.d.cts +2 -0
  61. package/dist/interface/index.d.cts.map +1 -0
  62. package/dist/interface/index.d.mts +2 -0
  63. package/dist/interface/index.d.mts.map +1 -0
  64. package/dist/interface/index.mjs +1 -9
  65. package/dist/interface/index.mjs.map +1 -1
  66. package/dist/interface/utils.cjs +165 -0
  67. package/dist/interface/utils.cjs.map +1 -0
  68. package/dist/{types/interface/utils.d.ts → interface/utils.d.cts} +3 -2
  69. package/dist/interface/utils.d.cts.map +1 -0
  70. package/dist/interface/utils.d.mts +34 -0
  71. package/dist/interface/utils.d.mts.map +1 -0
  72. package/dist/interface/utils.mjs +157 -13
  73. package/dist/interface/utils.mjs.map +1 -1
  74. package/dist/logging.cjs +13 -0
  75. package/dist/logging.cjs.map +1 -0
  76. package/dist/{types/logging.d.ts → logging.d.cts} +1 -0
  77. package/dist/logging.d.cts.map +1 -0
  78. package/dist/logging.d.mts +9 -0
  79. package/dist/logging.d.mts.map +1 -0
  80. package/dist/logging.mjs +9 -7
  81. package/dist/logging.mjs.map +1 -1
  82. package/dist/node.cjs +20 -0
  83. package/dist/node.cjs.map +1 -0
  84. package/dist/node.d.cts +3 -0
  85. package/dist/node.d.cts.map +1 -0
  86. package/dist/node.d.mts +3 -0
  87. package/dist/node.d.mts.map +1 -0
  88. package/dist/node.mjs +3 -134
  89. package/dist/node.mjs.map +1 -1
  90. package/dist/react-native.cjs +20 -0
  91. package/dist/react-native.cjs.map +1 -0
  92. package/dist/react-native.d.cts +3 -0
  93. package/dist/react-native.d.cts.map +1 -0
  94. package/dist/react-native.d.mts +3 -0
  95. package/dist/react-native.d.mts.map +1 -0
  96. package/dist/react-native.mjs +3 -131
  97. package/dist/react-native.mjs.map +1 -1
  98. package/dist/services/AbstractExecutionService.cjs +348 -0
  99. package/dist/services/AbstractExecutionService.cjs.map +1 -0
  100. package/dist/{types/services/AbstractExecutionService.d.ts → services/AbstractExecutionService.d.cts} +8 -8
  101. package/dist/services/AbstractExecutionService.d.cts.map +1 -0
  102. package/dist/services/AbstractExecutionService.d.mts +131 -0
  103. package/dist/services/AbstractExecutionService.d.mts.map +1 -0
  104. package/dist/services/AbstractExecutionService.mjs +345 -11
  105. package/dist/services/AbstractExecutionService.mjs.map +1 -1
  106. package/dist/services/ExecutionService.cjs +4 -0
  107. package/dist/services/ExecutionService.cjs.map +1 -0
  108. package/dist/{types/services/ExecutionService.d.ts → services/ExecutionService.d.cts} +4 -3
  109. package/dist/services/ExecutionService.d.cts.map +1 -0
  110. package/dist/services/ExecutionService.d.mts +69 -0
  111. package/dist/services/ExecutionService.d.mts.map +1 -0
  112. package/dist/services/ExecutionService.mjs +2 -1
  113. package/dist/services/ExecutionService.mjs.map +1 -1
  114. package/dist/services/ProxyPostMessageStream.cjs +58 -0
  115. package/dist/services/ProxyPostMessageStream.cjs.map +1 -0
  116. package/dist/{types/services/ProxyPostMessageStream.d.ts → services/ProxyPostMessageStream.d.cts} +3 -2
  117. package/dist/services/ProxyPostMessageStream.d.cts.map +1 -0
  118. package/dist/services/ProxyPostMessageStream.d.mts +35 -0
  119. package/dist/services/ProxyPostMessageStream.d.mts.map +1 -0
  120. package/dist/services/ProxyPostMessageStream.mjs +53 -6
  121. package/dist/services/ProxyPostMessageStream.mjs.map +1 -1
  122. package/dist/services/browser.cjs +27 -0
  123. package/dist/services/browser.cjs.map +1 -0
  124. package/dist/services/browser.d.cts +8 -0
  125. package/dist/services/browser.d.cts.map +1 -0
  126. package/dist/services/browser.d.mts +8 -0
  127. package/dist/services/browser.d.mts.map +1 -0
  128. package/dist/services/browser.mjs +8 -39
  129. package/dist/services/browser.mjs.map +1 -1
  130. package/dist/services/iframe/IframeExecutionService.cjs +30 -0
  131. package/dist/services/iframe/IframeExecutionService.cjs.map +1 -0
  132. package/dist/{types/services/iframe/IframeExecutionService.d.ts → services/iframe/IframeExecutionService.d.cts} +4 -3
  133. package/dist/services/iframe/IframeExecutionService.d.cts.map +1 -0
  134. package/dist/services/iframe/IframeExecutionService.d.mts +17 -0
  135. package/dist/services/iframe/IframeExecutionService.d.mts.map +1 -0
  136. package/dist/services/iframe/IframeExecutionService.mjs +26 -11
  137. package/dist/services/iframe/IframeExecutionService.mjs.map +1 -1
  138. package/dist/services/iframe/index.cjs +18 -0
  139. package/dist/services/iframe/index.cjs.map +1 -0
  140. package/dist/services/iframe/index.d.cts +2 -0
  141. package/dist/services/iframe/index.d.cts.map +1 -0
  142. package/dist/services/iframe/index.d.mts +2 -0
  143. package/dist/services/iframe/index.d.mts.map +1 -0
  144. package/dist/services/iframe/index.mjs +1 -12
  145. package/dist/services/iframe/index.mjs.map +1 -1
  146. package/dist/services/index.cjs +25 -0
  147. package/dist/services/index.cjs.map +1 -0
  148. package/dist/services/index.d.cts +7 -0
  149. package/dist/services/index.d.cts.map +1 -0
  150. package/dist/services/index.d.mts +7 -0
  151. package/dist/services/index.d.mts.map +1 -0
  152. package/dist/services/index.mjs +6 -34
  153. package/dist/services/index.mjs.map +1 -1
  154. package/dist/services/node-js/NodeProcessExecutionService.cjs +30 -0
  155. package/dist/services/node-js/NodeProcessExecutionService.cjs.map +1 -0
  156. package/dist/{types/services/node-js/NodeProcessExecutionService.d.ts → services/node-js/NodeProcessExecutionService.d.cts} +5 -4
  157. package/dist/services/node-js/NodeProcessExecutionService.d.cts.map +1 -0
  158. package/dist/services/node-js/NodeProcessExecutionService.d.mts +13 -0
  159. package/dist/services/node-js/NodeProcessExecutionService.d.mts.map +1 -0
  160. package/dist/services/node-js/NodeProcessExecutionService.mjs +26 -21
  161. package/dist/services/node-js/NodeProcessExecutionService.mjs.map +1 -1
  162. package/dist/services/node-js/NodeThreadExecutionService.cjs +32 -0
  163. package/dist/services/node-js/NodeThreadExecutionService.cjs.map +1 -0
  164. package/dist/{types/services/node-js/NodeThreadExecutionService.d.ts → services/node-js/NodeThreadExecutionService.d.cts} +5 -4
  165. package/dist/services/node-js/NodeThreadExecutionService.d.cts.map +1 -0
  166. package/dist/services/node-js/NodeThreadExecutionService.d.mts +13 -0
  167. package/dist/services/node-js/NodeThreadExecutionService.d.mts.map +1 -0
  168. package/dist/services/node-js/NodeThreadExecutionService.mjs +28 -21
  169. package/dist/services/node-js/NodeThreadExecutionService.mjs.map +1 -1
  170. package/dist/services/node-js/index.cjs +19 -0
  171. package/dist/services/node-js/index.cjs.map +1 -0
  172. package/dist/services/node-js/index.d.cts +3 -0
  173. package/dist/services/node-js/index.d.cts.map +1 -0
  174. package/dist/services/node-js/index.d.mts +3 -0
  175. package/dist/services/node-js/index.d.mts.map +1 -0
  176. package/dist/services/node-js/index.mjs +2 -26
  177. package/dist/services/node-js/index.mjs.map +1 -1
  178. package/dist/services/node.cjs +19 -0
  179. package/dist/services/node.cjs.map +1 -0
  180. package/dist/services/node.d.cts +3 -0
  181. package/dist/services/node.d.cts.map +1 -0
  182. package/dist/services/node.d.mts +3 -0
  183. package/dist/services/node.d.mts.map +1 -0
  184. package/dist/services/node.mjs +2 -44
  185. package/dist/services/node.mjs.map +1 -1
  186. package/dist/services/offscreen/OffscreenExecutionService.cjs +56 -0
  187. package/dist/services/offscreen/OffscreenExecutionService.cjs.map +1 -0
  188. package/dist/{types/services/offscreen/OffscreenExecutionService.d.ts → services/offscreen/OffscreenExecutionService.d.cts} +3 -2
  189. package/dist/services/offscreen/OffscreenExecutionService.d.cts.map +1 -0
  190. package/dist/services/offscreen/OffscreenExecutionService.d.mts +33 -0
  191. package/dist/services/offscreen/OffscreenExecutionService.d.mts.map +1 -0
  192. package/dist/services/offscreen/OffscreenExecutionService.mjs +51 -12
  193. package/dist/services/offscreen/OffscreenExecutionService.mjs.map +1 -1
  194. package/dist/services/offscreen/index.cjs +18 -0
  195. package/dist/services/offscreen/index.cjs.map +1 -0
  196. package/dist/services/offscreen/index.d.cts +2 -0
  197. package/dist/services/offscreen/index.d.cts.map +1 -0
  198. package/dist/services/offscreen/index.d.mts +2 -0
  199. package/dist/services/offscreen/index.d.mts.map +1 -0
  200. package/dist/services/offscreen/index.mjs +1 -14
  201. package/dist/services/offscreen/index.mjs.map +1 -1
  202. package/dist/services/proxy/ProxyExecutionService.cjs +85 -0
  203. package/dist/services/proxy/ProxyExecutionService.cjs.map +1 -0
  204. package/dist/{types/services/proxy/ProxyExecutionService.d.ts → services/proxy/ProxyExecutionService.d.cts} +6 -4
  205. package/dist/services/proxy/ProxyExecutionService.d.cts.map +1 -0
  206. package/dist/services/proxy/ProxyExecutionService.d.mts +41 -0
  207. package/dist/services/proxy/ProxyExecutionService.d.mts.map +1 -0
  208. package/dist/services/proxy/ProxyExecutionService.mjs +79 -11
  209. package/dist/services/proxy/ProxyExecutionService.mjs.map +1 -1
  210. package/dist/services/react-native.cjs +19 -0
  211. package/dist/services/react-native.cjs.map +1 -0
  212. package/dist/services/react-native.d.cts +3 -0
  213. package/dist/services/react-native.d.cts.map +1 -0
  214. package/dist/services/react-native.d.mts +3 -0
  215. package/dist/services/react-native.d.mts.map +1 -0
  216. package/dist/services/react-native.mjs +2 -41
  217. package/dist/services/react-native.mjs.map +1 -1
  218. package/dist/services/webview/WebViewExecutionService.cjs +54 -0
  219. package/dist/services/webview/WebViewExecutionService.cjs.map +1 -0
  220. package/dist/{types/services/webview/WebViewExecutionService.d.ts → services/webview/WebViewExecutionService.d.cts} +5 -3
  221. package/dist/services/webview/WebViewExecutionService.d.cts.map +1 -0
  222. package/dist/services/webview/WebViewExecutionService.d.mts +22 -0
  223. package/dist/services/webview/WebViewExecutionService.d.mts.map +1 -0
  224. package/dist/services/webview/WebViewExecutionService.mjs +48 -13
  225. package/dist/services/webview/WebViewExecutionService.mjs.map +1 -1
  226. package/dist/services/webview/WebViewMessageStream.cjs +89 -0
  227. package/dist/services/webview/WebViewMessageStream.cjs.map +1 -0
  228. package/dist/{types/services/webview/WebViewMessageStream.d.ts → services/webview/WebViewMessageStream.d.cts} +3 -2
  229. package/dist/services/webview/WebViewMessageStream.d.cts.map +1 -0
  230. package/dist/services/webview/WebViewMessageStream.d.mts +33 -0
  231. package/dist/services/webview/WebViewMessageStream.d.mts.map +1 -0
  232. package/dist/services/webview/WebViewMessageStream.mjs +84 -6
  233. package/dist/services/webview/WebViewMessageStream.mjs.map +1 -1
  234. package/dist/services/webview/index.cjs +18 -0
  235. package/dist/services/webview/index.cjs.map +1 -0
  236. package/dist/services/webview/index.d.cts +2 -0
  237. package/dist/services/webview/index.d.cts.map +1 -0
  238. package/dist/services/webview/index.d.mts +2 -0
  239. package/dist/services/webview/index.d.mts.map +1 -0
  240. package/dist/services/webview/index.mjs +1 -15
  241. package/dist/services/webview/index.mjs.map +1 -1
  242. package/dist/services/webworker/WebWorkerExecutionService.cjs +101 -0
  243. package/dist/services/webworker/WebWorkerExecutionService.cjs.map +1 -0
  244. package/dist/{types/services/webworker/WebWorkerExecutionService.d.ts → services/webworker/WebWorkerExecutionService.d.cts} +5 -3
  245. package/dist/services/webworker/WebWorkerExecutionService.d.cts.map +1 -0
  246. package/dist/services/webworker/WebWorkerExecutionService.d.mts +47 -0
  247. package/dist/services/webworker/WebWorkerExecutionService.d.mts.map +1 -0
  248. package/dist/services/webworker/WebWorkerExecutionService.mjs +96 -13
  249. package/dist/services/webworker/WebWorkerExecutionService.mjs.map +1 -1
  250. package/dist/services/webworker/index.cjs +18 -0
  251. package/dist/services/webworker/index.cjs.map +1 -0
  252. package/dist/services/webworker/index.d.cts +2 -0
  253. package/dist/services/webworker/index.d.cts.map +1 -0
  254. package/dist/services/webworker/index.d.mts +2 -0
  255. package/dist/services/webworker/index.d.mts.map +1 -0
  256. package/dist/services/webworker/index.mjs +1 -15
  257. package/dist/services/webworker/index.mjs.map +1 -1
  258. package/dist/snaps/RequestQueue.cjs +44 -0
  259. package/dist/snaps/RequestQueue.cjs.map +1 -0
  260. package/dist/{types/snaps/RequestQueue.d.ts → snaps/RequestQueue.d.cts} +1 -0
  261. package/dist/snaps/RequestQueue.d.cts.map +1 -0
  262. package/dist/snaps/RequestQueue.d.mts +25 -0
  263. package/dist/snaps/RequestQueue.d.mts.map +1 -0
  264. package/dist/snaps/RequestQueue.mjs +39 -7
  265. package/dist/snaps/RequestQueue.mjs.map +1 -1
  266. package/dist/snaps/SnapController.cjs +1896 -0
  267. package/dist/snaps/SnapController.cjs.map +1 -0
  268. package/dist/{types/snaps/SnapController.d.ts → snaps/SnapController.d.cts} +39 -21
  269. package/dist/snaps/SnapController.d.cts.map +1 -0
  270. package/dist/snaps/SnapController.d.mts +667 -0
  271. package/dist/snaps/SnapController.d.mts.map +1 -0
  272. package/dist/snaps/SnapController.mjs +1890 -28
  273. package/dist/snaps/SnapController.mjs.map +1 -1
  274. package/dist/snaps/Timer.cjs +103 -0
  275. package/dist/snaps/Timer.cjs.map +1 -0
  276. package/dist/{types/snaps/Timer.d.ts → snaps/Timer.d.cts} +1 -0
  277. package/dist/snaps/Timer.d.cts.map +1 -0
  278. package/dist/snaps/Timer.d.mts +47 -0
  279. package/dist/snaps/Timer.d.mts.map +1 -0
  280. package/dist/snaps/Timer.mjs +98 -7
  281. package/dist/snaps/Timer.mjs.map +1 -1
  282. package/dist/snaps/constants.cjs +24 -0
  283. package/dist/snaps/constants.cjs.map +1 -0
  284. package/dist/{types/snaps/constants.d.ts → snaps/constants.d.cts} +1 -0
  285. package/dist/snaps/constants.d.cts.map +1 -0
  286. package/dist/snaps/constants.d.mts +8 -0
  287. package/dist/snaps/constants.d.mts.map +1 -0
  288. package/dist/snaps/constants.mjs +19 -8
  289. package/dist/snaps/constants.mjs.map +1 -1
  290. package/dist/snaps/index.cjs +21 -0
  291. package/dist/snaps/index.cjs.map +1 -0
  292. package/dist/snaps/index.d.cts +5 -0
  293. package/dist/snaps/index.d.cts.map +1 -0
  294. package/dist/snaps/index.d.mts +5 -0
  295. package/dist/snaps/index.d.mts.map +1 -0
  296. package/dist/snaps/index.mjs +4 -62
  297. package/dist/snaps/index.mjs.map +1 -1
  298. package/dist/snaps/location/http.cjs +75 -0
  299. package/dist/snaps/location/http.cjs.map +1 -0
  300. package/dist/{types/snaps/location/http.d.ts → snaps/location/http.d.cts} +4 -3
  301. package/dist/snaps/location/http.d.cts.map +1 -0
  302. package/dist/snaps/location/http.d.mts +23 -0
  303. package/dist/snaps/location/http.d.mts.map +1 -0
  304. package/dist/snaps/location/http.mjs +70 -7
  305. package/dist/snaps/location/http.mjs.map +1 -1
  306. package/dist/snaps/location/index.cjs +21 -0
  307. package/dist/snaps/location/index.cjs.map +1 -0
  308. package/dist/snaps/location/index.d.cts +5 -0
  309. package/dist/snaps/location/index.d.cts.map +1 -0
  310. package/dist/snaps/location/index.d.mts +5 -0
  311. package/dist/snaps/location/index.d.mts.map +1 -0
  312. package/dist/snaps/location/index.mjs +4 -30
  313. package/dist/snaps/location/index.mjs.map +1 -1
  314. package/dist/snaps/location/local.cjs +51 -0
  315. package/dist/snaps/location/local.cjs.map +1 -0
  316. package/dist/{types/snaps/location/local.d.ts → snaps/location/local.d.cts} +4 -3
  317. package/dist/snaps/location/local.d.cts.map +1 -0
  318. package/dist/snaps/location/local.d.mts +11 -0
  319. package/dist/snaps/location/local.d.mts.map +1 -0
  320. package/dist/snaps/location/local.mjs +45 -7
  321. package/dist/snaps/location/local.mjs.map +1 -1
  322. package/dist/snaps/location/location.cjs +34 -0
  323. package/dist/{chunk-2AEM5R2M.mjs.map → snaps/location/location.cjs.map} +1 -1
  324. package/dist/{types/snaps/location/location.d.ts → snaps/location/location.d.cts} +4 -3
  325. package/dist/snaps/location/location.d.cts.map +1 -0
  326. package/dist/snaps/location/location.d.mts +45 -0
  327. package/dist/snaps/location/location.d.mts.map +1 -0
  328. package/dist/snaps/location/location.mjs +29 -10
  329. package/dist/snaps/location/location.mjs.map +1 -1
  330. package/dist/snaps/location/npm.cjs +335 -0
  331. package/dist/snaps/location/npm.cjs.map +1 -0
  332. package/dist/{types/snaps/location/npm.d.ts → snaps/location/npm.d.cts} +5 -4
  333. package/dist/snaps/location/npm.d.cts.map +1 -0
  334. package/dist/snaps/location/npm.d.mts +84 -0
  335. package/dist/snaps/location/npm.d.mts.map +1 -0
  336. package/dist/snaps/location/npm.mjs +331 -16
  337. package/dist/snaps/location/npm.mjs.map +1 -1
  338. package/dist/snaps/registry/index.cjs +19 -0
  339. package/dist/snaps/registry/index.cjs.map +1 -0
  340. package/dist/snaps/registry/index.d.cts +3 -0
  341. package/dist/snaps/registry/index.d.cts.map +1 -0
  342. package/dist/snaps/registry/index.d.mts +3 -0
  343. package/dist/snaps/registry/index.d.mts.map +1 -0
  344. package/dist/snaps/registry/index.mjs +2 -12
  345. package/dist/snaps/registry/index.mjs.map +1 -1
  346. package/dist/snaps/registry/json.cjs +224 -0
  347. package/dist/snaps/registry/json.cjs.map +1 -0
  348. package/dist/{types/snaps/registry/json.d.ts → snaps/registry/json.d.cts} +10 -7
  349. package/dist/snaps/registry/json.d.cts.map +1 -0
  350. package/dist/snaps/registry/json.d.mts +51 -0
  351. package/dist/snaps/registry/json.d.mts.map +1 -0
  352. package/dist/snaps/registry/json.mjs +219 -7
  353. package/dist/snaps/registry/json.mjs.map +1 -1
  354. package/dist/snaps/registry/registry.cjs +11 -0
  355. package/dist/snaps/registry/registry.cjs.map +1 -0
  356. package/dist/{types/snaps/registry/registry.d.ts → snaps/registry/registry.d.cts} +4 -3
  357. package/dist/snaps/registry/registry.d.cts.map +1 -0
  358. package/dist/snaps/registry/registry.d.mts +42 -0
  359. package/dist/snaps/registry/registry.d.mts.map +1 -0
  360. package/dist/snaps/registry/registry.mjs +7 -7
  361. package/dist/snaps/registry/registry.mjs.map +1 -1
  362. package/dist/snaps/selectors.cjs +6 -0
  363. package/dist/snaps/selectors.cjs.map +1 -0
  364. package/dist/snaps/selectors.d.cts +3 -0
  365. package/dist/snaps/selectors.d.cts.map +1 -0
  366. package/dist/snaps/selectors.d.mts +3 -0
  367. package/dist/snaps/selectors.d.mts.map +1 -0
  368. package/dist/snaps/selectors.mjs +1 -7
  369. package/dist/snaps/selectors.mjs.map +1 -1
  370. package/dist/types/controllers.cjs +4 -0
  371. package/dist/types/controllers.cjs.map +1 -0
  372. package/dist/types/{types/controllers.d.ts → controllers.d.cts} +3 -2
  373. package/dist/types/controllers.d.cts.map +1 -0
  374. package/dist/types/controllers.d.mts +132 -0
  375. package/dist/types/controllers.d.mts.map +1 -0
  376. package/dist/types/controllers.mjs +2 -1
  377. package/dist/types/controllers.mjs.map +1 -1
  378. package/dist/types/encryptor.cjs +3 -0
  379. package/dist/types/encryptor.cjs.map +1 -0
  380. package/dist/types/{types/encryptor.d.ts → encryptor.d.cts} +2 -1
  381. package/dist/types/encryptor.d.cts.map +1 -0
  382. package/dist/types/encryptor.d.mts +99 -0
  383. package/dist/types/encryptor.d.mts.map +1 -0
  384. package/dist/types/encryptor.mjs +1 -1
  385. package/dist/types/encryptor.mjs.map +1 -1
  386. package/dist/types/index.cjs +19 -0
  387. package/dist/types/index.cjs.map +1 -0
  388. package/dist/types/index.d.cts +3 -0
  389. package/dist/types/index.d.cts.map +1 -0
  390. package/dist/types/index.d.mts +3 -0
  391. package/dist/types/index.d.mts.map +1 -0
  392. package/dist/types/index.mjs +2 -2
  393. package/dist/types/index.mjs.map +1 -1
  394. package/dist/utils.cjs +174 -0
  395. package/dist/utils.cjs.map +1 -0
  396. package/dist/{types/utils.d.ts → utils.d.cts} +9 -15
  397. package/dist/utils.d.cts.map +1 -0
  398. package/dist/utils.d.mts +245 -0
  399. package/dist/utils.d.mts.map +1 -0
  400. package/dist/utils.mjs +167 -22
  401. package/dist/utils.mjs.map +1 -1
  402. package/package.json +42 -30
  403. package/react-native.d.ts +3 -1
  404. package/react-native.js +1 -1
  405. package/dist/chunk-272IFIK7.mjs +0 -1
  406. package/dist/chunk-272IFIK7.mjs.map +0 -1
  407. package/dist/chunk-2AEM5R2M.mjs +0 -40
  408. package/dist/chunk-2MH7QYBP.mjs +0 -2548
  409. package/dist/chunk-2MH7QYBP.mjs.map +0 -1
  410. package/dist/chunk-2XQD4P2S.mjs +0 -1
  411. package/dist/chunk-2XQD4P2S.mjs.map +0 -1
  412. package/dist/chunk-33RRV7F4.mjs +0 -283
  413. package/dist/chunk-33RRV7F4.mjs.map +0 -1
  414. package/dist/chunk-3RNW7OKG.mjs +0 -1
  415. package/dist/chunk-3RNW7OKG.mjs.map +0 -1
  416. package/dist/chunk-3WEWHK2I.mjs +0 -104
  417. package/dist/chunk-3WEWHK2I.mjs.map +0 -1
  418. package/dist/chunk-4CA3O64H.js +0 -13
  419. package/dist/chunk-4CA3O64H.js.map +0 -1
  420. package/dist/chunk-4HVWEABQ.mjs +0 -9
  421. package/dist/chunk-4HVWEABQ.mjs.map +0 -1
  422. package/dist/chunk-4M2FX2AT.mjs +0 -26
  423. package/dist/chunk-4M2FX2AT.mjs.map +0 -1
  424. package/dist/chunk-4URGXJP7.js +0 -1
  425. package/dist/chunk-4URGXJP7.js.map +0 -1
  426. package/dist/chunk-5O4O4BI5.js +0 -276
  427. package/dist/chunk-5O4O4BI5.js.map +0 -1
  428. package/dist/chunk-6EZSNS4O.mjs +0 -59
  429. package/dist/chunk-6EZSNS4O.mjs.map +0 -1
  430. package/dist/chunk-6GMWL4JR.mjs +0 -92
  431. package/dist/chunk-6GMWL4JR.mjs.map +0 -1
  432. package/dist/chunk-6M4XK4PN.mjs +0 -273
  433. package/dist/chunk-6M4XK4PN.mjs.map +0 -1
  434. package/dist/chunk-6WGCLJGC.mjs +0 -58
  435. package/dist/chunk-6WGCLJGC.mjs.map +0 -1
  436. package/dist/chunk-7BUNUNUC.js +0 -58
  437. package/dist/chunk-7BUNUNUC.js.map +0 -1
  438. package/dist/chunk-7Y6P5FRN.js +0 -60
  439. package/dist/chunk-7Y6P5FRN.js.map +0 -1
  440. package/dist/chunk-A6WJEA3C.js +0 -1
  441. package/dist/chunk-A6WJEA3C.js.map +0 -1
  442. package/dist/chunk-AP7CJ6DA.js +0 -47
  443. package/dist/chunk-AP7CJ6DA.js.map +0 -1
  444. package/dist/chunk-B3UTLNYS.mjs +0 -48
  445. package/dist/chunk-B3UTLNYS.mjs.map +0 -1
  446. package/dist/chunk-B6KTRDBK.js +0 -127
  447. package/dist/chunk-B6KTRDBK.js.map +0 -1
  448. package/dist/chunk-B7R3EWM3.mjs +0 -1
  449. package/dist/chunk-B7R3EWM3.mjs.map +0 -1
  450. package/dist/chunk-BAEXVO3U.mjs +0 -1
  451. package/dist/chunk-BAEXVO3U.mjs.map +0 -1
  452. package/dist/chunk-BO2ZDPWV.js +0 -59
  453. package/dist/chunk-BO2ZDPWV.js.map +0 -1
  454. package/dist/chunk-BOFPNIRX.js +0 -119
  455. package/dist/chunk-BOFPNIRX.js.map +0 -1
  456. package/dist/chunk-C4D6GBMY.js +0 -71
  457. package/dist/chunk-C4D6GBMY.js.map +0 -1
  458. package/dist/chunk-CJY2LYEL.mjs +0 -253
  459. package/dist/chunk-CJY2LYEL.mjs.map +0 -1
  460. package/dist/chunk-CPUUURMT.js +0 -273
  461. package/dist/chunk-CPUUURMT.js.map +0 -1
  462. package/dist/chunk-D66YLO7T.js +0 -38
  463. package/dist/chunk-D66YLO7T.js.map +0 -1
  464. package/dist/chunk-D74XJG2L.js +0 -1
  465. package/dist/chunk-D74XJG2L.js.map +0 -1
  466. package/dist/chunk-ESQPQNEF.mjs +0 -1
  467. package/dist/chunk-ESQPQNEF.mjs.map +0 -1
  468. package/dist/chunk-EVKVZUYY.js +0 -104
  469. package/dist/chunk-EVKVZUYY.js.map +0 -1
  470. package/dist/chunk-EXN2TFDJ.js +0 -38
  471. package/dist/chunk-EXN2TFDJ.js.map +0 -1
  472. package/dist/chunk-FKQTV3LO.js +0 -2548
  473. package/dist/chunk-FKQTV3LO.js.map +0 -1
  474. package/dist/chunk-FX5AADOV.mjs +0 -1
  475. package/dist/chunk-FX5AADOV.mjs.map +0 -1
  476. package/dist/chunk-FZOI4WPB.js +0 -82
  477. package/dist/chunk-FZOI4WPB.js.map +0 -1
  478. package/dist/chunk-G66GQJS6.js +0 -1
  479. package/dist/chunk-G66GQJS6.js.map +0 -1
  480. package/dist/chunk-G7U6WKWS.mjs +0 -1
  481. package/dist/chunk-G7U6WKWS.mjs.map +0 -1
  482. package/dist/chunk-HLQQTAMM.mjs +0 -105
  483. package/dist/chunk-HLQQTAMM.mjs.map +0 -1
  484. package/dist/chunk-HOY6NKQR.js +0 -1
  485. package/dist/chunk-HOY6NKQR.js.map +0 -1
  486. package/dist/chunk-HP6S5IOB.js +0 -1
  487. package/dist/chunk-HP6S5IOB.js.map +0 -1
  488. package/dist/chunk-HWJE3SDW.mjs +0 -1
  489. package/dist/chunk-HWJE3SDW.mjs.map +0 -1
  490. package/dist/chunk-IABOI7TW.mjs +0 -1
  491. package/dist/chunk-IABOI7TW.mjs.map +0 -1
  492. package/dist/chunk-IDCWJJCQ.js +0 -1
  493. package/dist/chunk-IDCWJJCQ.js.map +0 -1
  494. package/dist/chunk-IGC4E7PI.mjs +0 -71
  495. package/dist/chunk-IGC4E7PI.mjs.map +0 -1
  496. package/dist/chunk-JAUAKTUL.js +0 -1
  497. package/dist/chunk-JAUAKTUL.js.map +0 -1
  498. package/dist/chunk-JQ54YYLU.js +0 -26
  499. package/dist/chunk-JQ54YYLU.js.map +0 -1
  500. package/dist/chunk-JW7WBUL7.js +0 -1
  501. package/dist/chunk-JW7WBUL7.js.map +0 -1
  502. package/dist/chunk-KCMULJ2M.mjs +0 -1
  503. package/dist/chunk-KCMULJ2M.mjs.map +0 -1
  504. package/dist/chunk-KELDSV7H.js +0 -39
  505. package/dist/chunk-KELDSV7H.js.map +0 -1
  506. package/dist/chunk-KRI4OKC3.mjs +0 -127
  507. package/dist/chunk-KRI4OKC3.mjs.map +0 -1
  508. package/dist/chunk-KYRKZ3RH.mjs +0 -38
  509. package/dist/chunk-KYRKZ3RH.mjs.map +0 -1
  510. package/dist/chunk-LDL6LJ3P.mjs +0 -38
  511. package/dist/chunk-LDL6LJ3P.mjs.map +0 -1
  512. package/dist/chunk-LWBPKSU2.js +0 -48
  513. package/dist/chunk-LWBPKSU2.js.map +0 -1
  514. package/dist/chunk-M7DWHPVM.js +0 -1
  515. package/dist/chunk-M7DWHPVM.js.map +0 -1
  516. package/dist/chunk-NC5PBDKD.mjs +0 -47
  517. package/dist/chunk-NC5PBDKD.mjs.map +0 -1
  518. package/dist/chunk-NXZVKBSV.js +0 -9
  519. package/dist/chunk-NXZVKBSV.js.map +0 -1
  520. package/dist/chunk-NZOUFWUN.mjs +0 -1
  521. package/dist/chunk-NZOUFWUN.mjs.map +0 -1
  522. package/dist/chunk-OHMCPTOI.js +0 -1
  523. package/dist/chunk-OHMCPTOI.js.map +0 -1
  524. package/dist/chunk-OIEUL55W.js +0 -1
  525. package/dist/chunk-OIEUL55W.js.map +0 -1
  526. package/dist/chunk-OJBUUQ5D.js +0 -253
  527. package/dist/chunk-OJBUUQ5D.js.map +0 -1
  528. package/dist/chunk-OVATPF5I.js +0 -58
  529. package/dist/chunk-OVATPF5I.js.map +0 -1
  530. package/dist/chunk-P66VIDFG.js +0 -105
  531. package/dist/chunk-P66VIDFG.js.map +0 -1
  532. package/dist/chunk-P7Y6MIZW.mjs +0 -7
  533. package/dist/chunk-P7Y6MIZW.mjs.map +0 -1
  534. package/dist/chunk-POQSARDG.js +0 -40
  535. package/dist/chunk-POQSARDG.js.map +0 -1
  536. package/dist/chunk-PYSDWIVK.js +0 -38
  537. package/dist/chunk-PYSDWIVK.js.map +0 -1
  538. package/dist/chunk-QL3QGUTM.mjs +0 -1
  539. package/dist/chunk-QL3QGUTM.mjs.map +0 -1
  540. package/dist/chunk-QRISQRFI.js +0 -399
  541. package/dist/chunk-QRISQRFI.js.map +0 -1
  542. package/dist/chunk-RDBT3ZJQ.js +0 -92
  543. package/dist/chunk-RDBT3ZJQ.js.map +0 -1
  544. package/dist/chunk-TG6OXBLR.js +0 -1
  545. package/dist/chunk-TG6OXBLR.js.map +0 -1
  546. package/dist/chunk-TMWMIQV4.js +0 -1
  547. package/dist/chunk-TMWMIQV4.js.map +0 -1
  548. package/dist/chunk-TSDUJNOP.mjs +0 -399
  549. package/dist/chunk-TSDUJNOP.mjs.map +0 -1
  550. package/dist/chunk-U74FML7Z.mjs +0 -1
  551. package/dist/chunk-U74FML7Z.mjs.map +0 -1
  552. package/dist/chunk-UMVUXQ3B.mjs +0 -276
  553. package/dist/chunk-UMVUXQ3B.mjs.map +0 -1
  554. package/dist/chunk-V6NFZ47P.mjs +0 -1
  555. package/dist/chunk-V6NFZ47P.mjs.map +0 -1
  556. package/dist/chunk-VKMY6CKT.mjs +0 -39
  557. package/dist/chunk-VKMY6CKT.mjs.map +0 -1
  558. package/dist/chunk-VNOCJWOK.js +0 -1
  559. package/dist/chunk-VNOCJWOK.js.map +0 -1
  560. package/dist/chunk-WEY7ICES.js +0 -1
  561. package/dist/chunk-WEY7ICES.js.map +0 -1
  562. package/dist/chunk-WKQRCGUW.mjs +0 -331
  563. package/dist/chunk-WKQRCGUW.mjs.map +0 -1
  564. package/dist/chunk-WR7CVDEY.mjs +0 -58
  565. package/dist/chunk-WR7CVDEY.mjs.map +0 -1
  566. package/dist/chunk-XFUP7RFI.js +0 -283
  567. package/dist/chunk-XFUP7RFI.js.map +0 -1
  568. package/dist/chunk-XO7KDFBY.mjs +0 -119
  569. package/dist/chunk-XO7KDFBY.mjs.map +0 -1
  570. package/dist/chunk-XOSHP4J3.mjs +0 -82
  571. package/dist/chunk-XOSHP4J3.mjs.map +0 -1
  572. package/dist/chunk-XWDEGRM5.js +0 -331
  573. package/dist/chunk-XWDEGRM5.js.map +0 -1
  574. package/dist/chunk-YRZVIDCF.mjs +0 -38
  575. package/dist/chunk-YRZVIDCF.mjs.map +0 -1
  576. package/dist/chunk-YYPUPKQY.js +0 -7
  577. package/dist/chunk-YYPUPKQY.js.map +0 -1
  578. package/dist/chunk-ZQAGLOXD.mjs +0 -1
  579. package/dist/chunk-ZQAGLOXD.mjs.map +0 -1
  580. package/dist/chunk-ZVOYOZFT.mjs +0 -60
  581. package/dist/chunk-ZVOYOZFT.mjs.map +0 -1
  582. package/dist/chunk-ZZD3HUNE.mjs +0 -13
  583. package/dist/chunk-ZZD3HUNE.mjs.map +0 -1
  584. package/dist/cronjob/CronjobController.js +0 -43
  585. package/dist/cronjob/CronjobController.js.map +0 -1
  586. package/dist/cronjob/index.js +0 -43
  587. package/dist/cronjob/index.js.map +0 -1
  588. package/dist/fsm.js +0 -10
  589. package/dist/fsm.js.map +0 -1
  590. package/dist/index.js +0 -125
  591. package/dist/index.js.map +0 -1
  592. package/dist/insights/SnapInsightsController.js +0 -25
  593. package/dist/insights/SnapInsightsController.js.map +0 -1
  594. package/dist/insights/index.js +0 -26
  595. package/dist/insights/index.js.map +0 -1
  596. package/dist/interface/SnapInterfaceController.js +0 -9
  597. package/dist/interface/SnapInterfaceController.js.map +0 -1
  598. package/dist/interface/index.js +0 -10
  599. package/dist/interface/index.js.map +0 -1
  600. package/dist/interface/utils.js +0 -14
  601. package/dist/interface/utils.js.map +0 -1
  602. package/dist/logging.js +0 -8
  603. package/dist/logging.js.map +0 -1
  604. package/dist/node.js +0 -135
  605. package/dist/node.js.map +0 -1
  606. package/dist/react-native.js +0 -132
  607. package/dist/react-native.js.map +0 -1
  608. package/dist/services/AbstractExecutionService.js +0 -13
  609. package/dist/services/AbstractExecutionService.js.map +0 -1
  610. package/dist/services/ExecutionService.js +0 -2
  611. package/dist/services/ExecutionService.js.map +0 -1
  612. package/dist/services/ProxyPostMessageStream.js +0 -8
  613. package/dist/services/ProxyPostMessageStream.js.map +0 -1
  614. package/dist/services/browser.js +0 -40
  615. package/dist/services/browser.js.map +0 -1
  616. package/dist/services/iframe/IframeExecutionService.js +0 -12
  617. package/dist/services/iframe/IframeExecutionService.js.map +0 -1
  618. package/dist/services/iframe/index.js +0 -13
  619. package/dist/services/iframe/index.js.map +0 -1
  620. package/dist/services/index.js +0 -35
  621. package/dist/services/index.js.map +0 -1
  622. package/dist/services/node-js/NodeProcessExecutionService.js +0 -22
  623. package/dist/services/node-js/NodeProcessExecutionService.js.map +0 -1
  624. package/dist/services/node-js/NodeThreadExecutionService.js +0 -22
  625. package/dist/services/node-js/NodeThreadExecutionService.js.map +0 -1
  626. package/dist/services/node-js/index.js +0 -27
  627. package/dist/services/node-js/index.js.map +0 -1
  628. package/dist/services/node.js +0 -45
  629. package/dist/services/node.js.map +0 -1
  630. package/dist/services/offscreen/OffscreenExecutionService.js +0 -14
  631. package/dist/services/offscreen/OffscreenExecutionService.js.map +0 -1
  632. package/dist/services/offscreen/index.js +0 -15
  633. package/dist/services/offscreen/index.js.map +0 -1
  634. package/dist/services/proxy/ProxyExecutionService.js +0 -13
  635. package/dist/services/proxy/ProxyExecutionService.js.map +0 -1
  636. package/dist/services/react-native.js +0 -42
  637. package/dist/services/react-native.js.map +0 -1
  638. package/dist/services/webview/WebViewExecutionService.js +0 -15
  639. package/dist/services/webview/WebViewExecutionService.js.map +0 -1
  640. package/dist/services/webview/WebViewMessageStream.js +0 -8
  641. package/dist/services/webview/WebViewMessageStream.js.map +0 -1
  642. package/dist/services/webview/index.js +0 -16
  643. package/dist/services/webview/index.js.map +0 -1
  644. package/dist/services/webworker/WebWorkerExecutionService.js +0 -15
  645. package/dist/services/webworker/WebWorkerExecutionService.js.map +0 -1
  646. package/dist/services/webworker/index.js +0 -16
  647. package/dist/services/webworker/index.js.map +0 -1
  648. package/dist/snaps/RequestQueue.js +0 -8
  649. package/dist/snaps/RequestQueue.js.map +0 -1
  650. package/dist/snaps/SnapController.js +0 -30
  651. package/dist/snaps/SnapController.js.map +0 -1
  652. package/dist/snaps/Timer.js +0 -8
  653. package/dist/snaps/Timer.js.map +0 -1
  654. package/dist/snaps/constants.js +0 -10
  655. package/dist/snaps/constants.js.map +0 -1
  656. package/dist/snaps/index.js +0 -63
  657. package/dist/snaps/index.js.map +0 -1
  658. package/dist/snaps/location/http.js +0 -8
  659. package/dist/snaps/location/http.js.map +0 -1
  660. package/dist/snaps/location/index.js +0 -31
  661. package/dist/snaps/location/index.js.map +0 -1
  662. package/dist/snaps/location/local.js +0 -9
  663. package/dist/snaps/location/local.js.map +0 -1
  664. package/dist/snaps/location/location.js +0 -11
  665. package/dist/snaps/location/location.js.map +0 -1
  666. package/dist/snaps/location/npm.js +0 -18
  667. package/dist/snaps/location/npm.js.map +0 -1
  668. package/dist/snaps/registry/index.js +0 -13
  669. package/dist/snaps/registry/index.js.map +0 -1
  670. package/dist/snaps/registry/json.js +0 -9
  671. package/dist/snaps/registry/json.js.map +0 -1
  672. package/dist/snaps/registry/registry.js +0 -8
  673. package/dist/snaps/registry/registry.js.map +0 -1
  674. package/dist/snaps/selectors.js +0 -8
  675. package/dist/snaps/selectors.js.map +0 -1
  676. package/dist/tsconfig.build.tsbuildinfo +0 -1
  677. package/dist/types/controllers.js +0 -2
  678. package/dist/types/controllers.js.map +0 -1
  679. package/dist/types/cronjob/index.d.ts +0 -1
  680. package/dist/types/encryptor.js +0 -2
  681. package/dist/types/encryptor.js.map +0 -1
  682. package/dist/types/index.d.ts +0 -7
  683. package/dist/types/index.js +0 -3
  684. package/dist/types/index.js.map +0 -1
  685. package/dist/types/insights/index.d.ts +0 -1
  686. package/dist/types/interface/index.d.ts +0 -1
  687. package/dist/types/node.d.ts +0 -2
  688. package/dist/types/react-native.d.ts +0 -2
  689. package/dist/types/services/browser.d.ts +0 -7
  690. package/dist/types/services/iframe/index.d.ts +0 -1
  691. package/dist/types/services/index.d.ts +0 -6
  692. package/dist/types/services/node-js/index.d.ts +0 -2
  693. package/dist/types/services/node.d.ts +0 -2
  694. package/dist/types/services/offscreen/index.d.ts +0 -1
  695. package/dist/types/services/react-native.d.ts +0 -2
  696. package/dist/types/services/webview/index.d.ts +0 -1
  697. package/dist/types/services/webworker/index.d.ts +0 -1
  698. package/dist/types/snaps/index.d.ts +0 -4
  699. package/dist/types/snaps/location/index.d.ts +0 -4
  700. package/dist/types/snaps/registry/index.d.ts +0 -2
  701. package/dist/types/snaps/selectors.d.ts +0 -2
  702. package/dist/types/types/index.d.ts +0 -2
  703. package/dist/types/vendor/global.d.js +0 -1
  704. package/dist/types/vendor/global.d.js.map +0 -1
  705. package/dist/types/vendor/global.d.mjs +0 -1
  706. package/dist/types/vendor/global.d.mjs.map +0 -1
  707. package/dist/types/vendor/readable-stream.d.js +0 -1
  708. package/dist/types/vendor/readable-stream.d.js.map +0 -1
  709. package/dist/types/vendor/readable-stream.d.mjs +0 -1
  710. package/dist/types/vendor/readable-stream.d.mjs.map +0 -1
  711. package/dist/types/vendor/zlib.d.js +0 -1
  712. package/dist/types/vendor/zlib.d.js.map +0 -1
  713. package/dist/types/vendor/zlib.d.mjs +0 -1
  714. package/dist/types/vendor/zlib.d.mjs.map +0 -1
  715. package/dist/utils.js +0 -23
  716. package/dist/utils.js.map +0 -1
@@ -1,8 +1,99 @@
1
- import {
2
- Timer
3
- } from "../chunk-XO7KDFBY.mjs";
4
- import "../chunk-YRZVIDCF.mjs";
5
- export {
6
- Timer
7
- };
1
+ import { assert } from "@metamask/utils";
2
+ export class Timer {
3
+ /**
4
+ * If `ms` is smaller or equal to zero (including -Infinity), the callback is added to the event loop and executed async immediately
5
+ * If `ms` is +Infinity the timer never finishes.
6
+ *
7
+ * @throws {@link TypeError}. If `ms` is NaN or negative.
8
+ * @param ms - The number of milliseconds before the callback is called after started.
9
+ */
10
+ constructor(ms) {
11
+ assert(!Number.isNaN(ms), new TypeError("Can't start a timer with NaN time"));
12
+ assert(ms >= 0, new TypeError("Can't start a timer with negative time"));
13
+ this.state = { value: 'stopped', remaining: ms };
14
+ }
15
+ get status() {
16
+ return this.state.value;
17
+ }
18
+ get remaining() {
19
+ return this.state.remaining;
20
+ }
21
+ /**
22
+ * Cancels the currently running timer and marks it finished.
23
+ *
24
+ * @throws {@link Error}. If it wasn't running or paused.
25
+ */
26
+ cancel() {
27
+ assert(this.status === 'paused' || this.status === 'running', new Error('Tried to cancel a not running Timer'));
28
+ this.onFinish(false);
29
+ }
30
+ /**
31
+ * Marks the timer as finished prematurely and triggers the callback.
32
+ *
33
+ * @throws {@link Error}. If it wasn't running or paused.
34
+ */
35
+ finish() {
36
+ assert(this.status !== 'finished', new Error('Tried to finish a finished Timer.'));
37
+ this.onFinish(true);
38
+ }
39
+ /**
40
+ * Pauses a currently running timer, allowing it to resume later.
41
+ *
42
+ * @throws {@link Error}. If it wasn't running.
43
+ */
44
+ pause() {
45
+ assert(this.state.value === 'running', new Error('Tried to pause a not running Timer'));
46
+ const { callback, start, timeout, remaining } = this.state;
47
+ timeout !== undefined && clearTimeout(timeout);
48
+ this.state = {
49
+ value: 'paused',
50
+ callback,
51
+ remaining: remaining - (Date.now() - start),
52
+ };
53
+ }
54
+ /**
55
+ * Starts the timer.
56
+ *
57
+ * @param callback - The function that will be called after the timer finishes.
58
+ * @throws {@link Error}. If it was already started.
59
+ */
60
+ start(callback) {
61
+ assert(this.state.value === 'stopped', new Error('Tried to start an already running Timer'));
62
+ const { remaining } = this.state;
63
+ this.state = { value: 'paused', remaining, callback };
64
+ this.resume();
65
+ }
66
+ /**
67
+ * Resumes a currently paused timer.
68
+ *
69
+ * @throws {@link Error}. If it wasn't paused.
70
+ */
71
+ resume() {
72
+ assert(this.state.value === 'paused', new Error('Tried to resume not paused Timer'));
73
+ const { remaining, callback } = this.state;
74
+ const start = Date.now();
75
+ let timeout;
76
+ // setTimeout returns immediately on +Infinity which we use
77
+ if (remaining !== Number.POSITIVE_INFINITY) {
78
+ timeout = setTimeout(() => this.onFinish(true), remaining);
79
+ }
80
+ this.state = { value: 'running', callback, remaining, start, timeout };
81
+ }
82
+ onFinish(shouldCall) {
83
+ assert(this.state.value === 'running' || this.state.value === 'paused');
84
+ if (this.state.value === 'running' && this.state.timeout !== undefined) {
85
+ clearTimeout(this.state.timeout);
86
+ }
87
+ const { callback, remaining } = this.state;
88
+ this.state = {
89
+ value: 'finished',
90
+ remaining: this.state.value === 'running'
91
+ ? remaining - (Date.now() - this.state.start)
92
+ : remaining,
93
+ };
94
+ if (shouldCall) {
95
+ callback();
96
+ }
97
+ }
98
+ }
8
99
  //# sourceMappingURL=Timer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"Timer.mjs","sourceRoot":"","sources":["../../src/snaps/Timer.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert } from '@metamask/utils';\n\nexport type TimerStatus = 'stopped' | 'paused' | 'running' | 'finished';\n\nexport class Timer {\n private state:\n | { value: 'stopped'; remaining: number }\n | {\n value: 'paused';\n remaining: number;\n callback: () => void;\n }\n | {\n value: 'running';\n remaining: number;\n callback: () => void;\n start: number;\n timeout?: unknown;\n }\n | { value: 'finished'; remaining: number };\n\n /**\n * If `ms` is smaller or equal to zero (including -Infinity), the callback is added to the event loop and executed async immediately\n * If `ms` is +Infinity the timer never finishes.\n *\n * @throws {@link TypeError}. If `ms` is NaN or negative.\n * @param ms - The number of milliseconds before the callback is called after started.\n */\n constructor(ms: number) {\n assert(\n !Number.isNaN(ms),\n new TypeError(\"Can't start a timer with NaN time\"),\n );\n assert(ms >= 0, new TypeError(\"Can't start a timer with negative time\"));\n this.state = { value: 'stopped', remaining: ms };\n }\n\n get status(): TimerStatus {\n return this.state.value;\n }\n\n get remaining(): number {\n return this.state.remaining;\n }\n\n /**\n * Cancels the currently running timer and marks it finished.\n *\n * @throws {@link Error}. If it wasn't running or paused.\n */\n cancel() {\n assert(\n this.status === 'paused' || this.status === 'running',\n new Error('Tried to cancel a not running Timer'),\n );\n this.onFinish(false);\n }\n\n /**\n * Marks the timer as finished prematurely and triggers the callback.\n *\n * @throws {@link Error}. If it wasn't running or paused.\n */\n finish() {\n assert(\n this.status !== 'finished',\n new Error('Tried to finish a finished Timer.'),\n );\n this.onFinish(true);\n }\n\n /**\n * Pauses a currently running timer, allowing it to resume later.\n *\n * @throws {@link Error}. If it wasn't running.\n */\n pause() {\n assert(\n this.state.value === 'running',\n new Error('Tried to pause a not running Timer'),\n );\n\n const { callback, start, timeout, remaining } = this.state;\n\n timeout !== undefined && clearTimeout(timeout as any);\n this.state = {\n value: 'paused',\n callback,\n remaining: remaining - (Date.now() - start),\n };\n }\n\n /**\n * Starts the timer.\n *\n * @param callback - The function that will be called after the timer finishes.\n * @throws {@link Error}. If it was already started.\n */\n start(callback: () => void) {\n assert(\n this.state.value === 'stopped',\n new Error('Tried to start an already running Timer'),\n );\n\n const { remaining } = this.state;\n this.state = { value: 'paused', remaining, callback };\n this.resume();\n }\n\n /**\n * Resumes a currently paused timer.\n *\n * @throws {@link Error}. If it wasn't paused.\n */\n resume() {\n assert(\n this.state.value === 'paused',\n new Error('Tried to resume not paused Timer'),\n );\n const { remaining, callback } = this.state;\n const start = Date.now();\n\n let timeout: unknown;\n // setTimeout returns immediately on +Infinity which we use\n if (remaining !== Number.POSITIVE_INFINITY) {\n timeout = setTimeout(() => this.onFinish(true), remaining);\n }\n\n this.state = { value: 'running', callback, remaining, start, timeout };\n }\n\n private onFinish(shouldCall: boolean) {\n assert(this.state.value === 'running' || this.state.value === 'paused');\n\n if (this.state.value === 'running' && this.state.timeout !== undefined) {\n clearTimeout(this.state.timeout as any);\n }\n\n const { callback, remaining } = this.state;\n this.state = {\n value: 'finished',\n remaining:\n this.state.value === 'running'\n ? remaining - (Date.now() - this.state.start)\n : remaining,\n };\n\n if (shouldCall) {\n callback();\n }\n }\n}\n"]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = exports.ALLOWED_PERMISSIONS = void 0;
4
+ const snaps_rpc_methods_1 = require("@metamask/snaps-rpc-methods");
5
+ // These permissions are allowed without being on the allowlist.
6
+ exports.ALLOWED_PERMISSIONS = Object.freeze([
7
+ 'snap_dialog',
8
+ 'snap_manageState',
9
+ 'snap_notify',
10
+ 'snap_getLocale',
11
+ snaps_rpc_methods_1.SnapEndowments.Cronjob,
12
+ snaps_rpc_methods_1.SnapEndowments.HomePage,
13
+ snaps_rpc_methods_1.SnapEndowments.LifecycleHooks,
14
+ snaps_rpc_methods_1.SnapEndowments.EthereumProvider,
15
+ snaps_rpc_methods_1.SnapEndowments.TransactionInsight,
16
+ snaps_rpc_methods_1.SnapEndowments.SignatureInsight,
17
+ ]);
18
+ exports.LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = {
19
+ algorithm: 'PBKDF2',
20
+ params: {
21
+ iterations: 10000,
22
+ },
23
+ };
24
+ //# sourceMappingURL=constants.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../../src/snaps/constants.ts"],"names":[],"mappings":";;;AAAA,mEAA6D;AAE7D,gEAAgE;AACnD,QAAA,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,kCAAc,CAAC,OAAO;IACtB,kCAAc,CAAC,QAAQ;IACvB,kCAAc,CAAC,cAAc;IAC7B,kCAAc,CAAC,gBAAgB;IAC/B,kCAAc,CAAC,kBAAkB;IACjC,kCAAc,CAAC,gBAAgB;CAChC,CAAC,CAAC;AAEU,QAAA,wCAAwC,GAAG;IACtD,SAAS,EAAE,QAAiB;IAC5B,MAAM,EAAE;QACN,UAAU,EAAE,KAAM;KACnB;CACF,CAAC","sourcesContent":["import { SnapEndowments } from '@metamask/snaps-rpc-methods';\n\n// These permissions are allowed without being on the allowlist.\nexport const ALLOWED_PERMISSIONS = Object.freeze([\n 'snap_dialog',\n 'snap_manageState',\n 'snap_notify',\n 'snap_getLocale',\n SnapEndowments.Cronjob,\n SnapEndowments.HomePage,\n SnapEndowments.LifecycleHooks,\n SnapEndowments.EthereumProvider,\n SnapEndowments.TransactionInsight,\n SnapEndowments.SignatureInsight,\n]);\n\nexport const LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = {\n algorithm: 'PBKDF2' as const,\n params: {\n iterations: 10_000,\n },\n};\n"]}
@@ -5,3 +5,4 @@ export declare const LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS: {
5
5
  iterations: number;
6
6
  };
7
7
  };
8
+ //# sourceMappingURL=constants.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../../src/snaps/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,mBAW9B,CAAC;AAEH,eAAO,MAAM,wCAAwC;;;;;CAKpD,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare const ALLOWED_PERMISSIONS: readonly string[];
2
+ export declare const LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS: {
3
+ algorithm: "PBKDF2";
4
+ params: {
5
+ iterations: number;
6
+ };
7
+ };
8
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/snaps/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,mBAW9B,CAAC;AAEH,eAAO,MAAM,wCAAwC;;;;;CAKpD,CAAC"}
@@ -1,10 +1,21 @@
1
- import {
2
- ALLOWED_PERMISSIONS,
3
- LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS
4
- } from "../chunk-4M2FX2AT.mjs";
5
- import "../chunk-YRZVIDCF.mjs";
6
- export {
7
- ALLOWED_PERMISSIONS,
8
- LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS
1
+ import { SnapEndowments } from "@metamask/snaps-rpc-methods";
2
+ // These permissions are allowed without being on the allowlist.
3
+ export const ALLOWED_PERMISSIONS = Object.freeze([
4
+ 'snap_dialog',
5
+ 'snap_manageState',
6
+ 'snap_notify',
7
+ 'snap_getLocale',
8
+ SnapEndowments.Cronjob,
9
+ SnapEndowments.HomePage,
10
+ SnapEndowments.LifecycleHooks,
11
+ SnapEndowments.EthereumProvider,
12
+ SnapEndowments.TransactionInsight,
13
+ SnapEndowments.SignatureInsight,
14
+ ]);
15
+ export const LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = {
16
+ algorithm: 'PBKDF2',
17
+ params: {
18
+ iterations: 10000,
19
+ },
9
20
  };
10
21
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/snaps/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oCAAoC;AAE7D,gEAAgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,cAAc,CAAC,OAAO;IACtB,cAAc,CAAC,QAAQ;IACvB,cAAc,CAAC,cAAc;IAC7B,cAAc,CAAC,gBAAgB;IAC/B,cAAc,CAAC,kBAAkB;IACjC,cAAc,CAAC,gBAAgB;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,SAAS,EAAE,QAAiB;IAC5B,MAAM,EAAE;QACN,UAAU,EAAE,KAAM;KACnB;CACF,CAAC","sourcesContent":["import { SnapEndowments } from '@metamask/snaps-rpc-methods';\n\n// These permissions are allowed without being on the allowlist.\nexport const ALLOWED_PERMISSIONS = Object.freeze([\n 'snap_dialog',\n 'snap_manageState',\n 'snap_notify',\n 'snap_getLocale',\n SnapEndowments.Cronjob,\n SnapEndowments.HomePage,\n SnapEndowments.LifecycleHooks,\n SnapEndowments.EthereumProvider,\n SnapEndowments.TransactionInsight,\n SnapEndowments.SignatureInsight,\n]);\n\nexport const LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = {\n algorithm: 'PBKDF2' as const,\n params: {\n iterations: 10_000,\n },\n};\n"]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./location/index.cjs"), exports);
18
+ __exportStar(require("./SnapController.cjs"), exports);
19
+ __exportStar(require("./selectors.cjs"), exports);
20
+ __exportStar(require("./registry/index.cjs"), exports);
21
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/snaps/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAA2B;AAC3B,uDAAiC;AACjC,kDAA4B;AAC5B,uDAA2B","sourcesContent":["export * from './location';\nexport * from './SnapController';\nexport * from './selectors';\nexport * from './registry';\n"]}
@@ -0,0 +1,5 @@
1
+ export * from "./location/index.cjs";
2
+ export * from "./SnapController.cjs";
3
+ export * from "./selectors.cjs";
4
+ export * from "./registry/index.cjs";
5
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/snaps/index.ts"],"names":[],"mappings":"AAAA,qCAA2B;AAC3B,qCAAiC;AACjC,gCAA4B;AAC5B,qCAA2B"}
@@ -0,0 +1,5 @@
1
+ export * from "./location/index.mjs";
2
+ export * from "./SnapController.mjs";
3
+ export * from "./selectors.mjs";
4
+ export * from "./registry/index.mjs";
5
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/snaps/index.ts"],"names":[],"mappings":"AAAA,qCAA2B;AAC3B,qCAAiC;AACjC,gCAA4B;AAC5B,qCAA2B"}
@@ -1,63 +1,5 @@
1
- import "../chunk-BAEXVO3U.mjs";
2
- import {
3
- getRunnableSnaps
4
- } from "../chunk-P7Y6MIZW.mjs";
5
- import {
6
- SNAP_APPROVAL_INSTALL,
7
- SNAP_APPROVAL_RESULT,
8
- SNAP_APPROVAL_UPDATE,
9
- SnapController,
10
- controllerName
11
- } from "../chunk-2MH7QYBP.mjs";
12
- import "../chunk-QL3QGUTM.mjs";
13
- import {
14
- detectSnapLocation
15
- } from "../chunk-2AEM5R2M.mjs";
16
- import {
17
- LocalLocation
18
- } from "../chunk-B3UTLNYS.mjs";
19
- import {
20
- HttpLocation
21
- } from "../chunk-6GMWL4JR.mjs";
22
- import {
23
- BaseNpmLocation,
24
- DEFAULT_NPM_REGISTRY,
25
- NpmLocation,
26
- TARBALL_SIZE_SAFETY_LIMIT,
27
- fetchNpmMetadata,
28
- getNpmCanonicalBasePath
29
- } from "../chunk-WKQRCGUW.mjs";
30
- import "../chunk-HWJE3SDW.mjs";
31
- import {
32
- JsonSnapsRegistry
33
- } from "../chunk-6M4XK4PN.mjs";
34
- import {
35
- SnapsRegistryStatus
36
- } from "../chunk-ZZD3HUNE.mjs";
37
- import "../chunk-NC5PBDKD.mjs";
38
- import "../chunk-4M2FX2AT.mjs";
39
- import "../chunk-6EZSNS4O.mjs";
40
- import "../chunk-4HVWEABQ.mjs";
41
- import "../chunk-KRI4OKC3.mjs";
42
- import "../chunk-XO7KDFBY.mjs";
43
- import "../chunk-YRZVIDCF.mjs";
44
- export {
45
- BaseNpmLocation,
46
- DEFAULT_NPM_REGISTRY,
47
- HttpLocation,
48
- JsonSnapsRegistry,
49
- LocalLocation,
50
- NpmLocation,
51
- SNAP_APPROVAL_INSTALL,
52
- SNAP_APPROVAL_RESULT,
53
- SNAP_APPROVAL_UPDATE,
54
- SnapController,
55
- SnapsRegistryStatus,
56
- TARBALL_SIZE_SAFETY_LIMIT,
57
- controllerName,
58
- detectSnapLocation,
59
- fetchNpmMetadata,
60
- getNpmCanonicalBasePath,
61
- getRunnableSnaps
62
- };
1
+ export * from "./location/index.mjs";
2
+ export * from "./SnapController.mjs";
3
+ export * from "./selectors.mjs";
4
+ export * from "./registry/index.mjs";
63
5
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/snaps/index.ts"],"names":[],"mappings":"AAAA,qCAA2B;AAC3B,qCAAiC;AACjC,gCAA4B;AAC5B,qCAA2B","sourcesContent":["export * from './location';\nexport * from './SnapController';\nexport * from './selectors';\nexport * from './registry';\n"]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpLocation = void 0;
4
+ const snaps_utils_1 = require("@metamask/snaps-utils");
5
+ const utils_1 = require("@metamask/utils");
6
+ class HttpLocation {
7
+ constructor(url, opts = {}) {
8
+ // We keep contents separate because then we can use only one Blob in cache,
9
+ // which we convert to Uint8Array when actually returning the file.
10
+ //
11
+ // That avoids deepCloning file contents.
12
+ // I imagine ArrayBuffers are copy-on-write optimized, meaning
13
+ // in most often case we'll only have one file contents in common case.
14
+ this.cache = new Map();
15
+ (0, utils_1.assertStruct)(url.toString(), snaps_utils_1.HttpSnapIdStruct, 'Invalid Snap Id: ');
16
+ this.fetchFn = opts.fetch ?? globalThis.fetch.bind(undefined);
17
+ this.fetchOptions = opts.fetchOptions;
18
+ this.url = url;
19
+ }
20
+ async manifest() {
21
+ if (this.validatedManifest) {
22
+ return this.validatedManifest.clone();
23
+ }
24
+ // jest-fetch-mock doesn't handle new URL(), we need to convert .toString()
25
+ const canonicalPath = new URL(snaps_utils_1.NpmSnapFileNames.Manifest, this.url).toString();
26
+ const response = await this.fetchFn(canonicalPath, this.fetchOptions);
27
+ if (!response.ok) {
28
+ throw new Error(`Failed to fetch "${canonicalPath}". Status code: ${response.status}.`);
29
+ }
30
+ const contents = await response.text();
31
+ const manifest = (0, snaps_utils_1.parseJson)(contents);
32
+ const vfile = new snaps_utils_1.VirtualFile({
33
+ value: contents,
34
+ result: (0, snaps_utils_1.createSnapManifest)(manifest),
35
+ path: snaps_utils_1.NpmSnapFileNames.Manifest,
36
+ data: { canonicalPath },
37
+ });
38
+ this.validatedManifest = vfile;
39
+ return this.manifest();
40
+ }
41
+ async fetch(path) {
42
+ const relativePath = (0, snaps_utils_1.normalizeRelative)(path);
43
+ const cached = this.cache.get(relativePath);
44
+ if (cached !== undefined) {
45
+ const { file, contents } = cached;
46
+ const value = new Uint8Array(await contents.arrayBuffer());
47
+ const vfile = file.clone();
48
+ vfile.value = value;
49
+ return vfile;
50
+ }
51
+ const canonicalPath = this.toCanonical(relativePath).toString();
52
+ const response = await this.fetchFn(canonicalPath, this.fetchOptions);
53
+ if (!response.ok) {
54
+ throw new Error(`Failed to fetch "${canonicalPath}". Status code: ${response.status}.`);
55
+ }
56
+ const vfile = new snaps_utils_1.VirtualFile({
57
+ value: '',
58
+ path: relativePath,
59
+ data: { canonicalPath },
60
+ });
61
+ const blob = await response.blob();
62
+ (0, utils_1.assert)(!this.cache.has(relativePath), 'Corrupted cache, multiple files with same path.');
63
+ this.cache.set(relativePath, { file: vfile, contents: blob });
64
+ return this.fetch(relativePath);
65
+ }
66
+ get root() {
67
+ return new URL(this.url);
68
+ }
69
+ toCanonical(path) {
70
+ (0, utils_1.assert)(!path.startsWith('/'), 'Tried to parse absolute path.');
71
+ return new URL(path, this.url);
72
+ }
73
+ }
74
+ exports.HttpLocation = HttpLocation;
75
+ //# sourceMappingURL=http.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.cjs","sourceRoot":"","sources":["../../../src/snaps/location/http.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SnapManifest } from '@metamask/snaps-utils';\nimport {\n VirtualFile,\n HttpSnapIdStruct,\n NpmSnapFileNames,\n createSnapManifest,\n normalizeRelative,\n parseJson,\n} from '@metamask/snaps-utils';\nimport { assert, assertStruct } from '@metamask/utils';\n\nimport type { SnapLocation } from './location';\n\nexport interface HttpOptions {\n /**\n * @default fetch\n */\n fetch?: typeof fetch;\n fetchOptions?: RequestInit;\n}\n\nexport class HttpLocation implements SnapLocation {\n // We keep contents separate because then we can use only one Blob in cache,\n // which we convert to Uint8Array when actually returning the file.\n //\n // That avoids deepCloning file contents.\n // I imagine ArrayBuffers are copy-on-write optimized, meaning\n // in most often case we'll only have one file contents in common case.\n private readonly cache = new Map<\n string,\n { file: VirtualFile; contents: Blob }\n >();\n\n private validatedManifest?: VirtualFile<SnapManifest>;\n\n private readonly url: URL;\n\n private readonly fetchFn: typeof fetch;\n\n private readonly fetchOptions?: RequestInit;\n\n constructor(url: URL, opts: HttpOptions = {}) {\n assertStruct(url.toString(), HttpSnapIdStruct, 'Invalid Snap Id: ');\n this.fetchFn = opts.fetch ?? globalThis.fetch.bind(undefined);\n this.fetchOptions = opts.fetchOptions;\n this.url = url;\n }\n\n async manifest(): Promise<VirtualFile<SnapManifest>> {\n if (this.validatedManifest) {\n return this.validatedManifest.clone();\n }\n\n // jest-fetch-mock doesn't handle new URL(), we need to convert .toString()\n const canonicalPath = new URL(\n NpmSnapFileNames.Manifest,\n this.url,\n ).toString();\n\n const response = await this.fetchFn(canonicalPath, this.fetchOptions);\n if (!response.ok) {\n throw new Error(\n `Failed to fetch \"${canonicalPath}\". Status code: ${response.status}.`,\n );\n }\n const contents = await response.text();\n const manifest = parseJson(contents);\n const vfile = new VirtualFile<SnapManifest>({\n value: contents,\n result: createSnapManifest(manifest),\n path: NpmSnapFileNames.Manifest,\n data: { canonicalPath },\n });\n this.validatedManifest = vfile;\n\n return this.manifest();\n }\n\n async fetch(path: string): Promise<VirtualFile> {\n const relativePath = normalizeRelative(path);\n const cached = this.cache.get(relativePath);\n if (cached !== undefined) {\n const { file, contents } = cached;\n const value = new Uint8Array(await contents.arrayBuffer());\n const vfile = file.clone();\n vfile.value = value;\n return vfile;\n }\n\n const canonicalPath = this.toCanonical(relativePath).toString();\n const response = await this.fetchFn(canonicalPath, this.fetchOptions);\n if (!response.ok) {\n throw new Error(\n `Failed to fetch \"${canonicalPath}\". Status code: ${response.status}.`,\n );\n }\n const vfile = new VirtualFile({\n value: '',\n path: relativePath,\n data: { canonicalPath },\n });\n const blob = await response.blob();\n assert(\n !this.cache.has(relativePath),\n 'Corrupted cache, multiple files with same path.',\n );\n this.cache.set(relativePath, { file: vfile, contents: blob });\n\n return this.fetch(relativePath);\n }\n\n get root(): URL {\n return new URL(this.url);\n }\n\n private toCanonical(path: string): URL {\n assert(!path.startsWith('/'), 'Tried to parse absolute path.');\n return new URL(path, this.url);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import type { SnapManifest } from '@metamask/snaps-utils';
2
- import { VirtualFile } from '@metamask/snaps-utils';
3
- import type { SnapLocation } from './location';
1
+ import type { SnapManifest } from "@metamask/snaps-utils";
2
+ import { VirtualFile } from "@metamask/snaps-utils";
3
+ import type { SnapLocation } from "./location.cjs";
4
4
  export interface HttpOptions {
5
5
  /**
6
6
  * @default fetch
@@ -20,3 +20,4 @@ export declare class HttpLocation implements SnapLocation {
20
20
  get root(): URL;
21
21
  private toCanonical;
22
22
  }
23
+ //# sourceMappingURL=http.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.cts","sourceRoot":"","sources":["../../../src/snaps/location/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAC1D,OAAO,EACL,WAAW,EAMZ,8BAA8B;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAmB;AAE/C,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,qBAAa,YAAa,YAAW,YAAY;IAO/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGlB;IAEJ,OAAO,CAAC,iBAAiB,CAAC,CAA4B;IAEtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;gBAEhC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,WAAgB;IAOtC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IA8B9C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiC/C,IAAI,IAAI,IAAI,GAAG,CAEd;IAED,OAAO,CAAC,WAAW;CAIpB"}
@@ -0,0 +1,23 @@
1
+ import type { SnapManifest } from "@metamask/snaps-utils";
2
+ import { VirtualFile } from "@metamask/snaps-utils";
3
+ import type { SnapLocation } from "./location.mjs";
4
+ export interface HttpOptions {
5
+ /**
6
+ * @default fetch
7
+ */
8
+ fetch?: typeof fetch;
9
+ fetchOptions?: RequestInit;
10
+ }
11
+ export declare class HttpLocation implements SnapLocation {
12
+ private readonly cache;
13
+ private validatedManifest?;
14
+ private readonly url;
15
+ private readonly fetchFn;
16
+ private readonly fetchOptions?;
17
+ constructor(url: URL, opts?: HttpOptions);
18
+ manifest(): Promise<VirtualFile<SnapManifest>>;
19
+ fetch(path: string): Promise<VirtualFile>;
20
+ get root(): URL;
21
+ private toCanonical;
22
+ }
23
+ //# sourceMappingURL=http.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.mts","sourceRoot":"","sources":["../../../src/snaps/location/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B;AAC1D,OAAO,EACL,WAAW,EAMZ,8BAA8B;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAmB;AAE/C,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,qBAAa,YAAa,YAAW,YAAY;IAO/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGlB;IAEJ,OAAO,CAAC,iBAAiB,CAAC,CAA4B;IAEtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;gBAEhC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,WAAgB;IAOtC,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IA8B9C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiC/C,IAAI,IAAI,IAAI,GAAG,CAEd;IAED,OAAO,CAAC,WAAW;CAIpB"}
@@ -1,8 +1,71 @@
1
- import {
2
- HttpLocation
3
- } from "../../chunk-6GMWL4JR.mjs";
4
- import "../../chunk-YRZVIDCF.mjs";
5
- export {
6
- HttpLocation
7
- };
1
+ import { VirtualFile, HttpSnapIdStruct, NpmSnapFileNames, createSnapManifest, normalizeRelative, parseJson } from "@metamask/snaps-utils";
2
+ import { assert, assertStruct } from "@metamask/utils";
3
+ export class HttpLocation {
4
+ constructor(url, opts = {}) {
5
+ // We keep contents separate because then we can use only one Blob in cache,
6
+ // which we convert to Uint8Array when actually returning the file.
7
+ //
8
+ // That avoids deepCloning file contents.
9
+ // I imagine ArrayBuffers are copy-on-write optimized, meaning
10
+ // in most often case we'll only have one file contents in common case.
11
+ this.cache = new Map();
12
+ assertStruct(url.toString(), HttpSnapIdStruct, 'Invalid Snap Id: ');
13
+ this.fetchFn = opts.fetch ?? globalThis.fetch.bind(undefined);
14
+ this.fetchOptions = opts.fetchOptions;
15
+ this.url = url;
16
+ }
17
+ async manifest() {
18
+ if (this.validatedManifest) {
19
+ return this.validatedManifest.clone();
20
+ }
21
+ // jest-fetch-mock doesn't handle new URL(), we need to convert .toString()
22
+ const canonicalPath = new URL(NpmSnapFileNames.Manifest, this.url).toString();
23
+ const response = await this.fetchFn(canonicalPath, this.fetchOptions);
24
+ if (!response.ok) {
25
+ throw new Error(`Failed to fetch "${canonicalPath}". Status code: ${response.status}.`);
26
+ }
27
+ const contents = await response.text();
28
+ const manifest = parseJson(contents);
29
+ const vfile = new VirtualFile({
30
+ value: contents,
31
+ result: createSnapManifest(manifest),
32
+ path: NpmSnapFileNames.Manifest,
33
+ data: { canonicalPath },
34
+ });
35
+ this.validatedManifest = vfile;
36
+ return this.manifest();
37
+ }
38
+ async fetch(path) {
39
+ const relativePath = normalizeRelative(path);
40
+ const cached = this.cache.get(relativePath);
41
+ if (cached !== undefined) {
42
+ const { file, contents } = cached;
43
+ const value = new Uint8Array(await contents.arrayBuffer());
44
+ const vfile = file.clone();
45
+ vfile.value = value;
46
+ return vfile;
47
+ }
48
+ const canonicalPath = this.toCanonical(relativePath).toString();
49
+ const response = await this.fetchFn(canonicalPath, this.fetchOptions);
50
+ if (!response.ok) {
51
+ throw new Error(`Failed to fetch "${canonicalPath}". Status code: ${response.status}.`);
52
+ }
53
+ const vfile = new VirtualFile({
54
+ value: '',
55
+ path: relativePath,
56
+ data: { canonicalPath },
57
+ });
58
+ const blob = await response.blob();
59
+ assert(!this.cache.has(relativePath), 'Corrupted cache, multiple files with same path.');
60
+ this.cache.set(relativePath, { file: vfile, contents: blob });
61
+ return this.fetch(relativePath);
62
+ }
63
+ get root() {
64
+ return new URL(this.url);
65
+ }
66
+ toCanonical(path) {
67
+ assert(!path.startsWith('/'), 'Tried to parse absolute path.');
68
+ return new URL(path, this.url);
69
+ }
70
+ }
8
71
  //# sourceMappingURL=http.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"http.mjs","sourceRoot":"","sources":["../../../src/snaps/location/http.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SnapManifest } from '@metamask/snaps-utils';\nimport {\n VirtualFile,\n HttpSnapIdStruct,\n NpmSnapFileNames,\n createSnapManifest,\n normalizeRelative,\n parseJson,\n} from '@metamask/snaps-utils';\nimport { assert, assertStruct } from '@metamask/utils';\n\nimport type { SnapLocation } from './location';\n\nexport interface HttpOptions {\n /**\n * @default fetch\n */\n fetch?: typeof fetch;\n fetchOptions?: RequestInit;\n}\n\nexport class HttpLocation implements SnapLocation {\n // We keep contents separate because then we can use only one Blob in cache,\n // which we convert to Uint8Array when actually returning the file.\n //\n // That avoids deepCloning file contents.\n // I imagine ArrayBuffers are copy-on-write optimized, meaning\n // in most often case we'll only have one file contents in common case.\n private readonly cache = new Map<\n string,\n { file: VirtualFile; contents: Blob }\n >();\n\n private validatedManifest?: VirtualFile<SnapManifest>;\n\n private readonly url: URL;\n\n private readonly fetchFn: typeof fetch;\n\n private readonly fetchOptions?: RequestInit;\n\n constructor(url: URL, opts: HttpOptions = {}) {\n assertStruct(url.toString(), HttpSnapIdStruct, 'Invalid Snap Id: ');\n this.fetchFn = opts.fetch ?? globalThis.fetch.bind(undefined);\n this.fetchOptions = opts.fetchOptions;\n this.url = url;\n }\n\n async manifest(): Promise<VirtualFile<SnapManifest>> {\n if (this.validatedManifest) {\n return this.validatedManifest.clone();\n }\n\n // jest-fetch-mock doesn't handle new URL(), we need to convert .toString()\n const canonicalPath = new URL(\n NpmSnapFileNames.Manifest,\n this.url,\n ).toString();\n\n const response = await this.fetchFn(canonicalPath, this.fetchOptions);\n if (!response.ok) {\n throw new Error(\n `Failed to fetch \"${canonicalPath}\". Status code: ${response.status}.`,\n );\n }\n const contents = await response.text();\n const manifest = parseJson(contents);\n const vfile = new VirtualFile<SnapManifest>({\n value: contents,\n result: createSnapManifest(manifest),\n path: NpmSnapFileNames.Manifest,\n data: { canonicalPath },\n });\n this.validatedManifest = vfile;\n\n return this.manifest();\n }\n\n async fetch(path: string): Promise<VirtualFile> {\n const relativePath = normalizeRelative(path);\n const cached = this.cache.get(relativePath);\n if (cached !== undefined) {\n const { file, contents } = cached;\n const value = new Uint8Array(await contents.arrayBuffer());\n const vfile = file.clone();\n vfile.value = value;\n return vfile;\n }\n\n const canonicalPath = this.toCanonical(relativePath).toString();\n const response = await this.fetchFn(canonicalPath, this.fetchOptions);\n if (!response.ok) {\n throw new Error(\n `Failed to fetch \"${canonicalPath}\". Status code: ${response.status}.`,\n );\n }\n const vfile = new VirtualFile({\n value: '',\n path: relativePath,\n data: { canonicalPath },\n });\n const blob = await response.blob();\n assert(\n !this.cache.has(relativePath),\n 'Corrupted cache, multiple files with same path.',\n );\n this.cache.set(relativePath, { file: vfile, contents: blob });\n\n return this.fetch(relativePath);\n }\n\n get root(): URL {\n return new URL(this.url);\n }\n\n private toCanonical(path: string): URL {\n assert(!path.startsWith('/'), 'Tried to parse absolute path.');\n return new URL(path, this.url);\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./location.cjs"), exports);
18
+ __exportStar(require("./npm.cjs"), exports);
19
+ __exportStar(require("./local.cjs"), exports);
20
+ __exportStar(require("./http.cjs"), exports);
21
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../src/snaps/location/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA2B;AAC3B,4CAAsB;AACtB,8CAAwB;AACxB,6CAAuB","sourcesContent":["export * from './location';\nexport * from './npm';\nexport * from './local';\nexport * from './http';\n"]}
@@ -0,0 +1,5 @@
1
+ export * from "./location.cjs";
2
+ export * from "./npm.cjs";
3
+ export * from "./local.cjs";
4
+ export * from "./http.cjs";
5
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/snaps/location/index.ts"],"names":[],"mappings":"AAAA,+BAA2B;AAC3B,0BAAsB;AACtB,4BAAwB;AACxB,2BAAuB"}
@@ -0,0 +1,5 @@
1
+ export * from "./location.mjs";
2
+ export * from "./npm.mjs";
3
+ export * from "./local.mjs";
4
+ export * from "./http.mjs";
5
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/snaps/location/index.ts"],"names":[],"mappings":"AAAA,+BAA2B;AAC3B,0BAAsB;AACtB,4BAAwB;AACxB,2BAAuB"}