sweetlink 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/README.md +237 -0
  4. package/dist/daemon/src/codename.d.ts +8 -0
  5. package/dist/daemon/src/codename.d.ts.map +1 -0
  6. package/dist/daemon/src/codename.js +42 -0
  7. package/dist/daemon/src/codename.js.map +1 -0
  8. package/dist/daemon/src/index.d.ts +3 -0
  9. package/dist/daemon/src/index.d.ts.map +1 -0
  10. package/dist/daemon/src/index.js +675 -0
  11. package/dist/daemon/src/index.js.map +1 -0
  12. package/dist/shared/src/env.d.ts +24 -0
  13. package/dist/shared/src/env.d.ts.map +1 -0
  14. package/dist/shared/src/env.js +39 -0
  15. package/dist/shared/src/env.js.map +1 -0
  16. package/dist/shared/src/index.d.ts +211 -0
  17. package/dist/shared/src/index.d.ts.map +1 -0
  18. package/dist/shared/src/index.js +73 -0
  19. package/dist/shared/src/index.js.map +1 -0
  20. package/dist/shared/src/node.d.ts +12 -0
  21. package/dist/shared/src/node.d.ts.map +1 -0
  22. package/dist/shared/src/node.js +67 -0
  23. package/dist/shared/src/node.js.map +1 -0
  24. package/dist/src/codex.d.ts +11 -0
  25. package/dist/src/codex.d.ts.map +1 -0
  26. package/dist/src/codex.js +67 -0
  27. package/dist/src/codex.js.map +1 -0
  28. package/dist/src/commands/click.d.ts +3 -0
  29. package/dist/src/commands/click.d.ts.map +1 -0
  30. package/dist/src/commands/click.js +93 -0
  31. package/dist/src/commands/click.js.map +1 -0
  32. package/dist/src/commands/run-js.d.ts +4 -0
  33. package/dist/src/commands/run-js.d.ts.map +1 -0
  34. package/dist/src/commands/run-js.js +28 -0
  35. package/dist/src/commands/run-js.js.map +1 -0
  36. package/dist/src/commands/trust-ca.d.ts +3 -0
  37. package/dist/src/commands/trust-ca.d.ts.map +1 -0
  38. package/dist/src/commands/trust-ca.js +43 -0
  39. package/dist/src/commands/trust-ca.js.map +1 -0
  40. package/dist/src/core/config-file.d.ts +41 -0
  41. package/dist/src/core/config-file.d.ts.map +1 -0
  42. package/dist/src/core/config-file.js +284 -0
  43. package/dist/src/core/config-file.js.map +1 -0
  44. package/dist/src/core/config.d.ts +23 -0
  45. package/dist/src/core/config.d.ts.map +1 -0
  46. package/dist/src/core/config.js +132 -0
  47. package/dist/src/core/config.js.map +1 -0
  48. package/dist/src/core/env.d.ts +11 -0
  49. package/dist/src/core/env.d.ts.map +1 -0
  50. package/dist/src/core/env.js +30 -0
  51. package/dist/src/core/env.js.map +1 -0
  52. package/dist/src/devtools-registry.d.ts +3 -0
  53. package/dist/src/devtools-registry.d.ts.map +1 -0
  54. package/dist/src/devtools-registry.js +294 -0
  55. package/dist/src/devtools-registry.js.map +1 -0
  56. package/dist/src/env.d.ts +16 -0
  57. package/dist/src/env.d.ts.map +1 -0
  58. package/dist/src/env.js +17 -0
  59. package/dist/src/env.js.map +1 -0
  60. package/dist/src/http.d.ts +2 -0
  61. package/dist/src/http.d.ts.map +1 -0
  62. package/dist/src/http.js +53 -0
  63. package/dist/src/http.js.map +1 -0
  64. package/dist/src/index.d.ts +19 -0
  65. package/dist/src/index.d.ts.map +1 -0
  66. package/dist/src/index.js +1941 -0
  67. package/dist/src/index.js.map +1 -0
  68. package/dist/src/runtime/browser/client.d.ts +10 -0
  69. package/dist/src/runtime/browser/client.d.ts.map +1 -0
  70. package/dist/src/runtime/browser/client.js +497 -0
  71. package/dist/src/runtime/browser/client.js.map +1 -0
  72. package/dist/src/runtime/browser/commands/index.d.ts +10 -0
  73. package/dist/src/runtime/browser/commands/index.d.ts.map +1 -0
  74. package/dist/src/runtime/browser/commands/index.js +219 -0
  75. package/dist/src/runtime/browser/commands/index.js.map +1 -0
  76. package/dist/src/runtime/browser/dom-to-image-loader.d.ts +6 -0
  77. package/dist/src/runtime/browser/dom-to-image-loader.d.ts.map +1 -0
  78. package/dist/src/runtime/browser/dom-to-image-loader.js +50 -0
  79. package/dist/src/runtime/browser/dom-to-image-loader.js.map +1 -0
  80. package/dist/src/runtime/browser/index.d.ts +4 -0
  81. package/dist/src/runtime/browser/index.d.ts.map +1 -0
  82. package/dist/src/runtime/browser/index.js +4 -0
  83. package/dist/src/runtime/browser/index.js.map +1 -0
  84. package/dist/src/runtime/browser/module-loader.d.ts +6 -0
  85. package/dist/src/runtime/browser/module-loader.d.ts.map +1 -0
  86. package/dist/src/runtime/browser/module-loader.js +26 -0
  87. package/dist/src/runtime/browser/module-loader.js.map +1 -0
  88. package/dist/src/runtime/browser/screenshot/hooks.d.ts +71 -0
  89. package/dist/src/runtime/browser/screenshot/hooks.d.ts.map +1 -0
  90. package/dist/src/runtime/browser/screenshot/hooks.js +219 -0
  91. package/dist/src/runtime/browser/screenshot/hooks.js.map +1 -0
  92. package/dist/src/runtime/browser/screenshot/index.d.ts +9 -0
  93. package/dist/src/runtime/browser/screenshot/index.d.ts.map +1 -0
  94. package/dist/src/runtime/browser/screenshot/index.js +90 -0
  95. package/dist/src/runtime/browser/screenshot/index.js.map +1 -0
  96. package/dist/src/runtime/browser/screenshot/renderers/dom-to-image.d.ts +13 -0
  97. package/dist/src/runtime/browser/screenshot/renderers/dom-to-image.d.ts.map +1 -0
  98. package/dist/src/runtime/browser/screenshot/renderers/dom-to-image.js +51 -0
  99. package/dist/src/runtime/browser/screenshot/renderers/dom-to-image.js.map +1 -0
  100. package/dist/src/runtime/browser/screenshot/renderers/html2canvas.d.ts +12 -0
  101. package/dist/src/runtime/browser/screenshot/renderers/html2canvas.d.ts.map +1 -0
  102. package/dist/src/runtime/browser/screenshot/renderers/html2canvas.js +136 -0
  103. package/dist/src/runtime/browser/screenshot/renderers/html2canvas.js.map +1 -0
  104. package/dist/src/runtime/browser/screenshot/targets.d.ts +6 -0
  105. package/dist/src/runtime/browser/screenshot/targets.d.ts.map +1 -0
  106. package/dist/src/runtime/browser/screenshot/targets.js +53 -0
  107. package/dist/src/runtime/browser/screenshot/targets.js.map +1 -0
  108. package/dist/src/runtime/browser/screenshot/utils.d.ts +9 -0
  109. package/dist/src/runtime/browser/screenshot/utils.d.ts.map +1 -0
  110. package/dist/src/runtime/browser/screenshot/utils.js +471 -0
  111. package/dist/src/runtime/browser/screenshot/utils.js.map +1 -0
  112. package/dist/src/runtime/browser/selector-discovery.d.ts +9 -0
  113. package/dist/src/runtime/browser/selector-discovery.d.ts.map +1 -0
  114. package/dist/src/runtime/browser/selector-discovery.js +218 -0
  115. package/dist/src/runtime/browser/selector-discovery.js.map +1 -0
  116. package/dist/src/runtime/browser/storage/session-storage.d.ts +13 -0
  117. package/dist/src/runtime/browser/storage/session-storage.d.ts.map +1 -0
  118. package/dist/src/runtime/browser/storage/session-storage.js +119 -0
  119. package/dist/src/runtime/browser/storage/session-storage.js.map +1 -0
  120. package/dist/src/runtime/browser/types.d.ts +96 -0
  121. package/dist/src/runtime/browser/types.d.ts.map +1 -0
  122. package/dist/src/runtime/browser/types.js +6 -0
  123. package/dist/src/runtime/browser/types.js.map +1 -0
  124. package/dist/src/runtime/browser/utils/console.d.ts +5 -0
  125. package/dist/src/runtime/browser/utils/console.d.ts.map +1 -0
  126. package/dist/src/runtime/browser/utils/console.js +54 -0
  127. package/dist/src/runtime/browser/utils/console.js.map +1 -0
  128. package/dist/src/runtime/browser/utils/environment.d.ts +3 -0
  129. package/dist/src/runtime/browser/utils/environment.d.ts.map +1 -0
  130. package/dist/src/runtime/browser/utils/environment.js +13 -0
  131. package/dist/src/runtime/browser/utils/environment.js.map +1 -0
  132. package/dist/src/runtime/browser/utils/errors.d.ts +3 -0
  133. package/dist/src/runtime/browser/utils/errors.d.ts.map +1 -0
  134. package/dist/src/runtime/browser/utils/errors.js +42 -0
  135. package/dist/src/runtime/browser/utils/errors.js.map +1 -0
  136. package/dist/src/runtime/browser/utils/number.d.ts +2 -0
  137. package/dist/src/runtime/browser/utils/number.d.ts.map +1 -0
  138. package/dist/src/runtime/browser/utils/number.js +2 -0
  139. package/dist/src/runtime/browser/utils/number.js.map +1 -0
  140. package/dist/src/runtime/browser/utils/object.d.ts +3 -0
  141. package/dist/src/runtime/browser/utils/object.d.ts.map +1 -0
  142. package/dist/src/runtime/browser/utils/object.js +9 -0
  143. package/dist/src/runtime/browser/utils/object.js.map +1 -0
  144. package/dist/src/runtime/browser/utils/sanitize.d.ts +2 -0
  145. package/dist/src/runtime/browser/utils/sanitize.d.ts.map +1 -0
  146. package/dist/src/runtime/browser/utils/sanitize.js +28 -0
  147. package/dist/src/runtime/browser/utils/sanitize.js.map +1 -0
  148. package/dist/src/runtime/browser/utils/time.d.ts +2 -0
  149. package/dist/src/runtime/browser/utils/time.d.ts.map +1 -0
  150. package/dist/src/runtime/browser/utils/time.js +7 -0
  151. package/dist/src/runtime/browser/utils/time.js.map +1 -0
  152. package/dist/src/runtime/chrome/constants.d.ts +5 -0
  153. package/dist/src/runtime/chrome/constants.d.ts.map +1 -0
  154. package/dist/src/runtime/chrome/constants.js +5 -0
  155. package/dist/src/runtime/chrome/constants.js.map +1 -0
  156. package/dist/src/runtime/chrome/cookies.d.ts +20 -0
  157. package/dist/src/runtime/chrome/cookies.d.ts.map +1 -0
  158. package/dist/src/runtime/chrome/cookies.js +139 -0
  159. package/dist/src/runtime/chrome/cookies.js.map +1 -0
  160. package/dist/src/runtime/chrome/diagnostics.d.ts +6 -0
  161. package/dist/src/runtime/chrome/diagnostics.d.ts.map +1 -0
  162. package/dist/src/runtime/chrome/diagnostics.js +49 -0
  163. package/dist/src/runtime/chrome/diagnostics.js.map +1 -0
  164. package/dist/src/runtime/chrome/focus.d.ts +2 -0
  165. package/dist/src/runtime/chrome/focus.d.ts.map +1 -0
  166. package/dist/src/runtime/chrome/focus.js +41 -0
  167. package/dist/src/runtime/chrome/focus.js.map +1 -0
  168. package/dist/src/runtime/chrome/launch.d.ts +23 -0
  169. package/dist/src/runtime/chrome/launch.d.ts.map +1 -0
  170. package/dist/src/runtime/chrome/launch.js +102 -0
  171. package/dist/src/runtime/chrome/launch.js.map +1 -0
  172. package/dist/src/runtime/chrome/puppeteer.d.ts +7 -0
  173. package/dist/src/runtime/chrome/puppeteer.d.ts.map +1 -0
  174. package/dist/src/runtime/chrome/puppeteer.js +87 -0
  175. package/dist/src/runtime/chrome/puppeteer.js.map +1 -0
  176. package/dist/src/runtime/chrome/reuse/constants.d.ts +4 -0
  177. package/dist/src/runtime/chrome/reuse/constants.d.ts.map +1 -0
  178. package/dist/src/runtime/chrome/reuse/constants.js +4 -0
  179. package/dist/src/runtime/chrome/reuse/constants.js.map +1 -0
  180. package/dist/src/runtime/chrome/reuse.d.ts +13 -0
  181. package/dist/src/runtime/chrome/reuse.d.ts.map +1 -0
  182. package/dist/src/runtime/chrome/reuse.js +183 -0
  183. package/dist/src/runtime/chrome/reuse.js.map +1 -0
  184. package/dist/src/runtime/chrome/session.d.ts +13 -0
  185. package/dist/src/runtime/chrome/session.d.ts.map +1 -0
  186. package/dist/src/runtime/chrome/session.js +47 -0
  187. package/dist/src/runtime/chrome/session.js.map +1 -0
  188. package/dist/src/runtime/chrome.d.ts +9 -0
  189. package/dist/src/runtime/chrome.d.ts.map +1 -0
  190. package/dist/src/runtime/chrome.js +10 -0
  191. package/dist/src/runtime/chrome.js.map +1 -0
  192. package/dist/src/runtime/cookies.d.ts +37 -0
  193. package/dist/src/runtime/cookies.d.ts.map +1 -0
  194. package/dist/src/runtime/cookies.js +592 -0
  195. package/dist/src/runtime/cookies.js.map +1 -0
  196. package/dist/src/runtime/devstack.d.ts +14 -0
  197. package/dist/src/runtime/devstack.d.ts.map +1 -0
  198. package/dist/src/runtime/devstack.js +174 -0
  199. package/dist/src/runtime/devstack.js.map +1 -0
  200. package/dist/src/runtime/devtools/background.d.ts +5 -0
  201. package/dist/src/runtime/devtools/background.d.ts.map +1 -0
  202. package/dist/src/runtime/devtools/background.js +109 -0
  203. package/dist/src/runtime/devtools/background.js.map +1 -0
  204. package/dist/src/runtime/devtools/cdp.d.ts +16 -0
  205. package/dist/src/runtime/devtools/cdp.d.ts.map +1 -0
  206. package/dist/src/runtime/devtools/cdp.js +392 -0
  207. package/dist/src/runtime/devtools/cdp.js.map +1 -0
  208. package/dist/src/runtime/devtools/config.d.ts +12 -0
  209. package/dist/src/runtime/devtools/config.d.ts.map +1 -0
  210. package/dist/src/runtime/devtools/config.js +78 -0
  211. package/dist/src/runtime/devtools/config.js.map +1 -0
  212. package/dist/src/runtime/devtools/constants.d.ts +10 -0
  213. package/dist/src/runtime/devtools/constants.d.ts.map +1 -0
  214. package/dist/src/runtime/devtools/constants.js +18 -0
  215. package/dist/src/runtime/devtools/constants.js.map +1 -0
  216. package/dist/src/runtime/devtools/diagnostics.d.ts +8 -0
  217. package/dist/src/runtime/devtools/diagnostics.d.ts.map +1 -0
  218. package/dist/src/runtime/devtools/diagnostics.js +189 -0
  219. package/dist/src/runtime/devtools/diagnostics.js.map +1 -0
  220. package/dist/src/runtime/devtools/oauth.d.ts +9 -0
  221. package/dist/src/runtime/devtools/oauth.d.ts.map +1 -0
  222. package/dist/src/runtime/devtools/oauth.js +130 -0
  223. package/dist/src/runtime/devtools/oauth.js.map +1 -0
  224. package/dist/src/runtime/devtools/types.d.ts +108 -0
  225. package/dist/src/runtime/devtools/types.d.ts.map +1 -0
  226. package/dist/src/runtime/devtools/types.js +2 -0
  227. package/dist/src/runtime/devtools/types.js.map +1 -0
  228. package/dist/src/runtime/devtools.d.ts +8 -0
  229. package/dist/src/runtime/devtools.d.ts.map +1 -0
  230. package/dist/src/runtime/devtools.js +9 -0
  231. package/dist/src/runtime/devtools.js.map +1 -0
  232. package/dist/src/runtime/next-devtools.d.ts +2 -0
  233. package/dist/src/runtime/next-devtools.d.ts.map +1 -0
  234. package/dist/src/runtime/next-devtools.js +72 -0
  235. package/dist/src/runtime/next-devtools.js.map +1 -0
  236. package/dist/src/runtime/screenshot.d.ts +78 -0
  237. package/dist/src/runtime/screenshot.d.ts.map +1 -0
  238. package/dist/src/runtime/screenshot.js +232 -0
  239. package/dist/src/runtime/screenshot.js.map +1 -0
  240. package/dist/src/runtime/scripts.d.ts +16 -0
  241. package/dist/src/runtime/scripts.d.ts.map +1 -0
  242. package/dist/src/runtime/scripts.js +110 -0
  243. package/dist/src/runtime/scripts.js.map +1 -0
  244. package/dist/src/runtime/session.d.ts +64 -0
  245. package/dist/src/runtime/session.d.ts.map +1 -0
  246. package/dist/src/runtime/session.js +205 -0
  247. package/dist/src/runtime/session.js.map +1 -0
  248. package/dist/src/runtime/smoke.d.ts +36 -0
  249. package/dist/src/runtime/smoke.d.ts.map +1 -0
  250. package/dist/src/runtime/smoke.js +417 -0
  251. package/dist/src/runtime/smoke.js.map +1 -0
  252. package/dist/src/runtime/url.d.ts +10 -0
  253. package/dist/src/runtime/url.d.ts.map +1 -0
  254. package/dist/src/runtime/url.js +147 -0
  255. package/dist/src/runtime/url.js.map +1 -0
  256. package/dist/src/screenshot-hooks.d.ts +13 -0
  257. package/dist/src/screenshot-hooks.d.ts.map +1 -0
  258. package/dist/src/screenshot-hooks.js +56 -0
  259. package/dist/src/screenshot-hooks.js.map +1 -0
  260. package/dist/src/shared/env.d.ts +23 -0
  261. package/dist/src/shared/env.d.ts.map +1 -0
  262. package/dist/src/shared/env.js +38 -0
  263. package/dist/src/shared/env.js.map +1 -0
  264. package/dist/src/shared/index.d.ts +211 -0
  265. package/dist/src/shared/index.d.ts.map +1 -0
  266. package/dist/src/shared/index.js +73 -0
  267. package/dist/src/shared/index.js.map +1 -0
  268. package/dist/src/shared/node.d.ts +12 -0
  269. package/dist/src/shared/node.d.ts.map +1 -0
  270. package/dist/src/shared/node.js +67 -0
  271. package/dist/src/shared/node.js.map +1 -0
  272. package/dist/src/token.d.ts +4 -0
  273. package/dist/src/token.d.ts.map +1 -0
  274. package/dist/src/token.js +58 -0
  275. package/dist/src/token.js.map +1 -0
  276. package/dist/src/types.d.ts +17 -0
  277. package/dist/src/types.d.ts.map +1 -0
  278. package/dist/src/types.js +2 -0
  279. package/dist/src/types.js.map +1 -0
  280. package/dist/src/util/app-label.d.ts +5 -0
  281. package/dist/src/util/app-label.d.ts.map +1 -0
  282. package/dist/src/util/app-label.js +21 -0
  283. package/dist/src/util/app-label.js.map +1 -0
  284. package/dist/src/util/errors.d.ts +9 -0
  285. package/dist/src/util/errors.d.ts.map +1 -0
  286. package/dist/src/util/errors.js +56 -0
  287. package/dist/src/util/errors.js.map +1 -0
  288. package/dist/src/util/path.d.ts +3 -0
  289. package/dist/src/util/path.d.ts.map +1 -0
  290. package/dist/src/util/path.js +6 -0
  291. package/dist/src/util/path.js.map +1 -0
  292. package/dist/src/util/regex.d.ts +4 -0
  293. package/dist/src/util/regex.d.ts.map +1 -0
  294. package/dist/src/util/regex.js +5 -0
  295. package/dist/src/util/regex.js.map +1 -0
  296. package/dist/src/util/time.d.ts +3 -0
  297. package/dist/src/util/time.d.ts.map +1 -0
  298. package/dist/src/util/time.js +7 -0
  299. package/dist/src/util/time.js.map +1 -0
  300. package/package.json +86 -0
@@ -0,0 +1,2 @@
1
+ export declare const clamp: (value: number, min: number, max: number) => number;
2
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/number.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAA6C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const clamp = (value, min, max) => Math.min(Math.max(value, min), max);
2
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/number.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const isRecord: <T extends Record<string, unknown>>(value: unknown) => value is T;
2
+ export declare const toTrimmedNonEmptyString: (value: unknown) => string | null;
3
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/object.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,OAAO,KAAG,KAAK,IAAI,CAAyE,CAAC;AAEhK,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,IAMjE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export const isRecord = (value) => Boolean(value && typeof value === 'object' && !Array.isArray(value));
2
+ export const toTrimmedNonEmptyString = (value) => {
3
+ if (typeof value !== 'string') {
4
+ return null;
5
+ }
6
+ const trimmed = value.trim();
7
+ return trimmed.length > 0 ? trimmed : null;
8
+ };
9
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/object.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAoC,KAAc,EAAc,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAEhK,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAc,EAAiB,EAAE;IACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function sanitizeResult(value: unknown): unknown;
2
+ //# sourceMappingURL=sanitize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/sanitize.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAwBtD"}
@@ -0,0 +1,28 @@
1
+ export function sanitizeResult(value) {
2
+ if (value instanceof Error) {
3
+ return {
4
+ name: value.name,
5
+ message: value.message,
6
+ stack: value.stack,
7
+ };
8
+ }
9
+ if (typeof value === 'bigint') {
10
+ return value.toString();
11
+ }
12
+ if (typeof value === 'function') {
13
+ return value.toString();
14
+ }
15
+ try {
16
+ return structuredClone(value);
17
+ }
18
+ catch {
19
+ try {
20
+ const serialized = JSON.stringify(value);
21
+ return JSON.parse(serialized);
22
+ }
23
+ catch {
24
+ return String(value);
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/sanitize.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const normalizeExpiresAtMs: (expiresAt: unknown) => number | null;
2
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAAI,WAAW,OAAO,KAAG,MAAM,GAAG,IAKlE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const normalizeExpiresAtMs = (expiresAt) => {
2
+ if (typeof expiresAt !== 'number' || !Number.isFinite(expiresAt)) {
3
+ return null;
4
+ }
5
+ return expiresAt > 10_000_000_000 ? expiresAt : expiresAt * 1000;
6
+ };
7
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../../src/runtime/browser/utils/time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAkB,EAAiB,EAAE;IACxE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;AACnE,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const PUPPETEER_NAVIGATION_TIMEOUT_MS = 45000;
2
+ export declare const PAGE_READY_PRIMARY_TIMEOUT_MS = 15000;
3
+ export declare const PAGE_READY_SECONDARY_TIMEOUT_MS = 30000;
4
+ export declare const PUPPETEER_PROTOCOL_TIMEOUT_MS = 45000;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/runtime/chrome/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,+BAA+B,QAAS,CAAC;AACtD,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,+BAA+B,QAAS,CAAC;AACtD,eAAO,MAAM,6BAA6B,QAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const PUPPETEER_NAVIGATION_TIMEOUT_MS = 45_000;
2
+ export const PAGE_READY_PRIMARY_TIMEOUT_MS = 15_000;
3
+ export const PAGE_READY_SECONDARY_TIMEOUT_MS = 30_000;
4
+ export const PUPPETEER_PROTOCOL_TIMEOUT_MS = 45_000;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/runtime/chrome/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { delay } from '../../util/time.js';
2
+ import { buildCookieOrigins, collectChromeCookies } from '../cookies.js';
3
+ import { attemptPuppeteerReload, navigatePuppeteerPage, resolvePuppeteerPage, waitForPageReady } from './puppeteer.js';
4
+ type PrimeChromeCookiesDeps = {
5
+ collectChromeCookies: typeof collectChromeCookies;
6
+ resolvePuppeteerPage: typeof resolvePuppeteerPage;
7
+ navigatePuppeteerPage: typeof navigatePuppeteerPage;
8
+ waitForPageReady: typeof waitForPageReady;
9
+ attemptPuppeteerReload: typeof attemptPuppeteerReload;
10
+ delay: typeof delay;
11
+ buildCookieOrigins: typeof buildCookieOrigins;
12
+ };
13
+ export declare function primeControlledChromeCookies(options: {
14
+ devtoolsUrl: string;
15
+ targetUrl: string;
16
+ reload: boolean;
17
+ context: 'new-window' | 'existing-tab' | 'new-tab';
18
+ }, deps?: Partial<PrimeChromeCookiesDeps>): Promise<void>;
19
+ export {};
20
+ //# sourceMappingURL=cookies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.d.ts","sourceRoot":"","sources":["../../../../src/runtime/chrome/cookies.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAA6B,MAAM,eAAe,CAAC;AAEpG,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvH,KAAK,sBAAsB,GAAG;IAC5B,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C,CAAC;AAEF,wBAAsB,4BAA4B,CAChD,OAAO,EAAE;IACP,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC;CACpD,EACD,IAAI,GAAE,OAAO,CAAC,sBAAsB,CAAM,GACzC,OAAO,CAAC,IAAI,CAAC,CAkHf"}
@@ -0,0 +1,139 @@
1
+ import { regex } from 'arkregex';
2
+ import { uniq } from 'es-toolkit';
3
+ import { sweetLinkDebug } from '../../env.js';
4
+ import { delay } from '../../util/time.js';
5
+ import { buildCookieOrigins, collectChromeCookies } from '../cookies.js';
6
+ import { PUPPETEER_PROTOCOL_TIMEOUT_MS } from './constants.js';
7
+ import { attemptPuppeteerReload, navigatePuppeteerPage, resolvePuppeteerPage, waitForPageReady } from './puppeteer.js';
8
+ const AUTH_COOKIE_PATTERN = regex.as('auth|session|token', 'i');
9
+ export async function primeControlledChromeCookies(options, deps = {}) {
10
+ const { collectChromeCookies: collectCookies = collectChromeCookies, resolvePuppeteerPage: resolvePage = resolvePuppeteerPage, navigatePuppeteerPage: navigatePage = navigatePuppeteerPage, waitForPageReady: waitForPage = waitForPageReady, attemptPuppeteerReload: reloadPage = attemptPuppeteerReload, delay: delayFn = delay, buildCookieOrigins: buildOrigins = buildCookieOrigins, } = deps;
11
+ const cookies = await collectCookies(options.targetUrl);
12
+ if (cookies.length === 0) {
13
+ console.log('No Chrome cookies found for this origin; continuing without priming the controlled window.');
14
+ return;
15
+ }
16
+ let puppeteer = null;
17
+ try {
18
+ ({ default: puppeteer } = await import('puppeteer'));
19
+ }
20
+ catch (error) {
21
+ console.warn('Unable to load Puppeteer while priming cookies:', error);
22
+ return;
23
+ }
24
+ if (!puppeteer) {
25
+ return;
26
+ }
27
+ let browser = null;
28
+ for (let attempt = 0; attempt < 10; attempt += 1) {
29
+ try {
30
+ // biome-ignore lint/performance/noAwaitInLoops: puppeteer connection retries must be sequential.
31
+ browser = await puppeteer.connect({
32
+ browserURL: options.devtoolsUrl,
33
+ defaultViewport: null,
34
+ protocolTimeout: PUPPETEER_PROTOCOL_TIMEOUT_MS,
35
+ });
36
+ break;
37
+ }
38
+ catch (error) {
39
+ if (attempt === 9) {
40
+ console.warn('Unable to attach to controlled Chrome for cookie priming:', error);
41
+ return;
42
+ }
43
+ await delayFn(200);
44
+ }
45
+ }
46
+ if (!browser) {
47
+ console.warn('Unable to attach to controlled Chrome for cookie priming: unknown error');
48
+ return;
49
+ }
50
+ try {
51
+ let page = await resolvePage(browser, options.targetUrl);
52
+ if (!page) {
53
+ const fallbackPage = await browser.newPage();
54
+ const navigated = await navigatePage(fallbackPage, options.targetUrl, 3);
55
+ if (!navigated) {
56
+ console.warn('Unable to locate or recreate the controlled tab while priming cookies.');
57
+ await fallbackPage.close().catch(() => {
58
+ /* ignored */
59
+ });
60
+ return;
61
+ }
62
+ page = fallbackPage;
63
+ }
64
+ await waitForPage(page);
65
+ await page.setCookie(...cookies);
66
+ await verifyCookieSync(page, options.targetUrl, cookies, buildOrigins);
67
+ if (options.reload) {
68
+ await reloadPage(page);
69
+ }
70
+ let contextLabel = 'controlled window';
71
+ if (options.context === 'existing-tab') {
72
+ contextLabel = 'existing controlled tab';
73
+ }
74
+ else if (options.context === 'new-tab') {
75
+ contextLabel = 'controlled tab';
76
+ }
77
+ console.log(`Copied ${cookies.length} cookie${cookies.length === 1 ? '' : 's'} from your main Chrome profile into the ${contextLabel}${options.reload ? ' and refreshed the tab to apply the session.' : '.'}`);
78
+ const cookieNames = cookies
79
+ .map((cookie) => (typeof cookie.name === 'string' ? cookie.name : null))
80
+ .filter((name) => typeof name === 'string' && name.trim().length > 0);
81
+ if (cookieNames.length > 0) {
82
+ const authCookies = uniq(cookieNames.filter((name) => AUTH_COOKIE_PATTERN.test(name)));
83
+ if (authCookies.length > 0) {
84
+ console.log(`Detected likely auth cookies: ${authCookies.join(', ')}.`);
85
+ }
86
+ else {
87
+ console.log('No obvious auth/session cookies detected—expect to re-authenticate in the controlled window.');
88
+ }
89
+ const hasHttpOnly = cookies.some((cookie) => Boolean(cookie.httpOnly));
90
+ console.log(`HttpOnly cookies present: ${hasHttpOnly ? 'yes' : 'no'} (Chrome may restrict visibility inside the page).`);
91
+ }
92
+ if (!options.reload && options.context === 'existing-tab') {
93
+ console.log('Hint: reload the tab if the session has not updated yet.');
94
+ }
95
+ }
96
+ catch (error) {
97
+ console.warn('Failed to apply Chrome cookies to the controlled window:', error);
98
+ }
99
+ finally {
100
+ try {
101
+ await browser.disconnect();
102
+ }
103
+ catch (disconnectError) {
104
+ if (sweetLinkDebug) {
105
+ console.warn('Unable to disconnect Puppeteer browser after cookie sync.', disconnectError);
106
+ }
107
+ }
108
+ }
109
+ }
110
+ async function verifyCookieSync(page, targetUrl, attempted, buildOrigins = buildCookieOrigins) {
111
+ if (attempted.length === 0) {
112
+ return;
113
+ }
114
+ try {
115
+ const appliedNames = new Set();
116
+ const origins = buildOrigins(targetUrl);
117
+ for (const origin of origins) {
118
+ try {
119
+ // biome-ignore lint/performance/noAwaitInLoops: cookie collection per origin must remain sequential for accurate logging.
120
+ const cookies = await page.cookies(origin);
121
+ for (const cookie of cookies) {
122
+ appliedNames.add(cookie.name);
123
+ }
124
+ }
125
+ catch {
126
+ /* ignore per-origin failures */
127
+ }
128
+ }
129
+ const missing = attempted.filter((cookie) => !appliedNames.has(cookie.name));
130
+ if (missing.length > 0) {
131
+ const missingNames = missing.map((cookie) => cookie.name).join(', ');
132
+ console.warn(`Warning: the controlled window is missing ${missing.length} cookie(s) (${missingNames}).`);
133
+ }
134
+ }
135
+ catch (error) {
136
+ console.warn('Unable to verify cookie sync in the controlled window:', error);
137
+ }
138
+ }
139
+ //# sourceMappingURL=cookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../../../src/runtime/chrome/cookies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function collectPuppeteerDiagnostics(devtoolsUrl: string, targetUrl: string): Promise<{
2
+ overlayText?: string | null;
3
+ bodyText?: string | null;
4
+ title?: string | null;
5
+ } | null>;
6
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../../src/runtime/chrome/diagnostics.ts"],"names":[],"mappings":"AAGA,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CA+ClG"}
@@ -0,0 +1,49 @@
1
+ import { sweetLinkDebug } from '../../env.js';
2
+ import { connectPuppeteerBrowser, resolvePuppeteerPage, waitForPageReady } from './puppeteer.js';
3
+ export async function collectPuppeteerDiagnostics(devtoolsUrl, targetUrl) {
4
+ let puppeteer;
5
+ try {
6
+ ({ default: puppeteer } = await import('puppeteer'));
7
+ }
8
+ catch (error) {
9
+ console.warn('Unable to load Puppeteer while collecting diagnostics:', error);
10
+ return null;
11
+ }
12
+ const browser = await connectPuppeteerBrowser(puppeteer, devtoolsUrl, 2);
13
+ if (!browser) {
14
+ return null;
15
+ }
16
+ try {
17
+ const page = await resolvePuppeteerPage(browser, targetUrl);
18
+ if (!page) {
19
+ return null;
20
+ }
21
+ await waitForPageReady(page).catch(() => {
22
+ /* ignore readiness errors */
23
+ });
24
+ return await page.evaluate(() => {
25
+ const overlay = document.querySelector('[data-nextjs-error-overlay-root]') ||
26
+ document.querySelector('[data-nextjs-error-overlay]') ||
27
+ document.querySelector('#__nextjs__container_errors');
28
+ const overlayText = overlay && typeof overlay.textContent === 'string' ? overlay.textContent : null;
29
+ const bodyText = document.body && typeof document.body.textContent === 'string' ? document.body.textContent : null;
30
+ const title = typeof document.title === 'string' ? document.title : null;
31
+ return { overlayText, bodyText, title };
32
+ });
33
+ }
34
+ catch (error) {
35
+ if (sweetLinkDebug) {
36
+ console.warn('Unable to capture Puppeteer diagnostics:', error);
37
+ }
38
+ return null;
39
+ }
40
+ finally {
41
+ try {
42
+ await browser.disconnect();
43
+ }
44
+ catch {
45
+ /* ignore */
46
+ }
47
+ }
48
+ }
49
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../../src/runtime/chrome/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEjG,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,SAAiB;IAEjB,IAAI,SAA6C,CAAC;IAClD,IAAI,CAAC;QACH,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACtC,6BAA6B;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC9B,MAAM,OAAO,GACX,QAAQ,CAAC,aAAa,CAAC,kCAAkC,CAAC;gBAC1D,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC;gBACrD,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,OAAO,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACpG,MAAM,QAAQ,GACZ,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACpG,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function focusControlledChromePage(devtoolsUrl: string, targetUrl: string): Promise<boolean>;
2
+ //# sourceMappingURL=focus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../../../../src/runtime/chrome/focus.ts"],"names":[],"mappings":"AAGA,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmCxG"}
@@ -0,0 +1,41 @@
1
+ import { logDebugError } from '../../util/errors.js';
2
+ import { connectPuppeteerBrowser, resolvePuppeteerPage } from './puppeteer.js';
3
+ export async function focusControlledChromePage(devtoolsUrl, targetUrl) {
4
+ let puppeteer;
5
+ try {
6
+ ({ default: puppeteer } = await import('puppeteer'));
7
+ }
8
+ catch (error) {
9
+ logDebugError('Unable to load Puppeteer while attempting to focus controlled Chrome', error);
10
+ return false;
11
+ }
12
+ const browser = await connectPuppeteerBrowser(puppeteer, devtoolsUrl, 3);
13
+ if (!browser) {
14
+ return false;
15
+ }
16
+ try {
17
+ let page = await resolvePuppeteerPage(browser, targetUrl);
18
+ if (!page) {
19
+ const pages = await browser.pages();
20
+ page = pages.at(0) ?? null;
21
+ }
22
+ if (!page) {
23
+ return false;
24
+ }
25
+ await page.bringToFront();
26
+ return true;
27
+ }
28
+ catch (error) {
29
+ logDebugError('Failed to focus controlled Chrome page', error);
30
+ return false;
31
+ }
32
+ finally {
33
+ try {
34
+ await browser.disconnect();
35
+ }
36
+ catch {
37
+ /* ignore */
38
+ }
39
+ }
40
+ }
41
+ //# sourceMappingURL=focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus.js","sourceRoot":"","sources":["../../../../src/runtime/chrome/focus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,WAAmB,EAAE,SAAiB;IACpF,IAAI,SAA6C,CAAC;IAClD,IAAI,CAAC;QACH,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,aAAa,CAAC,sEAAsE,EAAE,KAAK,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,IAAI,IAAI,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,aAAa,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ export declare function launchChrome(target: string, options?: {
2
+ foreground?: boolean;
3
+ }): Promise<void>;
4
+ export declare function launchControlledChrome(target: string, options: {
5
+ port?: number;
6
+ cookieSync: boolean;
7
+ headless?: boolean;
8
+ foreground?: boolean;
9
+ }): Promise<{
10
+ port: number;
11
+ userDataDir: string;
12
+ devtoolsUrl: string;
13
+ }>;
14
+ export declare function prepareChromeLaunch(platform: NodeJS.Platform, chromePath: string, chromeArgs: string[], options?: {
15
+ background?: boolean;
16
+ }): {
17
+ command: string;
18
+ args: string[];
19
+ };
20
+ export declare function spawnChromeDetached(chromePath: string, chromeArgs: string[], options?: {
21
+ background?: boolean;
22
+ }): Promise<void>;
23
+ //# sourceMappingURL=launch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../../src/runtime/chrome/launch.ts"],"names":[],"mappings":"AAWA,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxG;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACxF,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAoDrE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO;;;EAYvC;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -0,0 +1,102 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { existsSync, mkdirSync } from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import { cliEnv } from '../../env.js';
6
+ import { saveDevToolsConfig } from '../devtools.js';
7
+ import { primeControlledChromeCookies } from './cookies.js';
8
+ import { findAvailablePort } from './reuse.js';
9
+ const DEFAULT_MAC_CHROME = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
10
+ export async function launchChrome(target, options = {}) {
11
+ const chromePath = cliEnv.chromePath ?? DEFAULT_MAC_CHROME;
12
+ if (!existsSync(chromePath)) {
13
+ throw new Error(`Google Chrome is required but was not found at "${chromePath}". Set SWEETLINK_CHROME_PATH to override the location.`);
14
+ }
15
+ const background = process.platform === 'darwin' && options.foreground !== true;
16
+ await spawnChromeDetached(chromePath, ['--new-tab', target], { background });
17
+ }
18
+ export async function launchControlledChrome(target, options) {
19
+ const chromePath = cliEnv.chromePath ?? DEFAULT_MAC_CHROME;
20
+ if (!existsSync(chromePath)) {
21
+ throw new Error(`Google Chrome is required but was not found at "${chromePath}". Set SWEETLINK_CHROME_PATH to override the location.`);
22
+ }
23
+ const port = options.port && !Number.isNaN(options.port) ? options.port : await findAvailablePort();
24
+ const userDataDirectory = path.join(os.tmpdir(), `sweetlink-chrome-${port}-${Date.now()}`);
25
+ mkdirSync(userDataDirectory, { recursive: true });
26
+ const args = [
27
+ `--remote-debugging-port=${port}`,
28
+ `--user-data-dir=${userDataDirectory}`,
29
+ '--no-first-run',
30
+ '--no-default-browser-check',
31
+ '--disable-background-networking',
32
+ '--disable-renderer-backgrounding',
33
+ '--allow-insecure-localhost',
34
+ '--new-window',
35
+ target,
36
+ ];
37
+ if (options.headless) {
38
+ args.push('--headless=new', '--disable-gpu', '--hide-scrollbars');
39
+ }
40
+ const background = process.platform === 'darwin' && options.foreground !== true;
41
+ await spawnChromeDetached(chromePath, args, { background });
42
+ const devtoolsUrl = `http://127.0.0.1:${port}`;
43
+ await saveDevToolsConfig({
44
+ devtoolsUrl,
45
+ port,
46
+ userDataDir: userDataDirectory,
47
+ updatedAt: Date.now(),
48
+ targetUrl: target,
49
+ }).catch((error) => {
50
+ console.warn('Failed to persist DevTools config:', error);
51
+ });
52
+ if (options.cookieSync) {
53
+ await primeControlledChromeCookies({
54
+ devtoolsUrl,
55
+ targetUrl: target,
56
+ reload: true,
57
+ context: 'new-window',
58
+ });
59
+ }
60
+ return { port, userDataDir: userDataDirectory, devtoolsUrl };
61
+ }
62
+ export function prepareChromeLaunch(platform, chromePath, chromeArgs, options = {}) {
63
+ const background = Boolean(options.background);
64
+ if (platform === 'darwin' && background) {
65
+ const appTarget = deriveMacChromeApplication(chromePath) ?? 'Google Chrome';
66
+ const args = ['-g', '-n', '-a', appTarget];
67
+ if (chromeArgs.length > 0) {
68
+ args.push('--args', ...chromeArgs);
69
+ }
70
+ return { command: 'open', args };
71
+ }
72
+ return { command: chromePath, args: chromeArgs };
73
+ }
74
+ export async function spawnChromeDetached(chromePath, chromeArgs, options = {}) {
75
+ const spec = prepareChromeLaunch(process.platform, chromePath, chromeArgs, options);
76
+ await new Promise((resolve, reject) => {
77
+ const child = spawn(spec.command, spec.args, {
78
+ detached: true,
79
+ stdio: 'ignore',
80
+ });
81
+ child.once('error', (error) => reject(error));
82
+ child.once('spawn', () => {
83
+ child.unref();
84
+ resolve();
85
+ });
86
+ });
87
+ }
88
+ function deriveMacChromeApplication(chromePath) {
89
+ let candidate = chromePath;
90
+ for (let depth = 0; depth < 4; depth += 1) {
91
+ if (candidate.endsWith('.app')) {
92
+ return candidate;
93
+ }
94
+ const parent = path.dirname(candidate);
95
+ if (parent === candidate) {
96
+ break;
97
+ }
98
+ candidate = parent;
99
+ }
100
+ return null;
101
+ }
102
+ //# sourceMappingURL=launch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../../src/runtime/chrome/launch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Browser as PuppeteerBrowser, Page as PuppeteerPage } from 'puppeteer';
2
+ export declare function connectPuppeteerBrowser(puppeteer: typeof import('puppeteer').default, browserURL: string, attempts: number): Promise<PuppeteerBrowser | null>;
3
+ export declare function resolvePuppeteerPage(browser: PuppeteerBrowser, targetUrl: string): Promise<PuppeteerPage | null>;
4
+ export declare function navigatePuppeteerPage(page: PuppeteerPage, targetUrl: string, attempts?: number): Promise<boolean>;
5
+ export declare function waitForPageReady(page: PuppeteerPage): Promise<void>;
6
+ export declare function attemptPuppeteerReload(page: PuppeteerPage): Promise<void>;
7
+ //# sourceMappingURL=puppeteer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../../../../src/runtime/chrome/puppeteer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,IAAI,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAWpF,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,cAAc,WAAW,EAAE,OAAO,EAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAoBlC;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAmB/B;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,SAAI,GACX,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzE;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/E"}