@lhremote/core 0.8.0 → 0.9.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 (438) hide show
  1. package/dist/cdp/app-discovery.d.ts +57 -0
  2. package/dist/cdp/app-discovery.d.ts.map +1 -1
  3. package/dist/cdp/app-discovery.js +90 -7
  4. package/dist/cdp/app-discovery.js.map +1 -1
  5. package/dist/cdp/app-discovery.test.js +180 -9
  6. package/dist/cdp/app-discovery.test.js.map +1 -1
  7. package/dist/cdp/client.d.ts +8 -1
  8. package/dist/cdp/client.d.ts.map +1 -1
  9. package/dist/cdp/client.js +8 -1
  10. package/dist/cdp/client.js.map +1 -1
  11. package/dist/cdp/discovery.d.ts.map +1 -1
  12. package/dist/cdp/discovery.js +5 -1
  13. package/dist/cdp/discovery.js.map +1 -1
  14. package/dist/cdp/discovery.test.js +7 -0
  15. package/dist/cdp/discovery.test.js.map +1 -1
  16. package/dist/cdp/index.d.ts +1 -1
  17. package/dist/cdp/index.d.ts.map +1 -1
  18. package/dist/cdp/index.js +1 -1
  19. package/dist/cdp/index.js.map +1 -1
  20. package/dist/cdp/instance-discovery.d.ts.map +1 -1
  21. package/dist/cdp/instance-discovery.js +25 -10
  22. package/dist/cdp/instance-discovery.js.map +1 -1
  23. package/dist/cdp/instance-discovery.test.js +17 -0
  24. package/dist/cdp/instance-discovery.test.js.map +1 -1
  25. package/dist/cdp/testing/launch-chromium.d.ts +1 -1
  26. package/dist/cdp/testing/launch-chromium.js +2 -2
  27. package/dist/db/client.d.ts.map +1 -1
  28. package/dist/db/client.js +3 -0
  29. package/dist/db/client.js.map +1 -1
  30. package/dist/db/repositories/collection-list.integration.test.js +6 -4
  31. package/dist/db/repositories/collection-list.integration.test.js.map +1 -1
  32. package/dist/index.d.ts +6 -6
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +6 -6
  35. package/dist/index.js.map +1 -1
  36. package/dist/linkedin/dom-automation-retry.test.d.ts +2 -0
  37. package/dist/linkedin/dom-automation-retry.test.d.ts.map +1 -0
  38. package/dist/linkedin/dom-automation-retry.test.js +51 -0
  39. package/dist/linkedin/dom-automation-retry.test.js.map +1 -0
  40. package/dist/linkedin/dom-automation.d.ts +160 -3
  41. package/dist/linkedin/dom-automation.d.ts.map +1 -1
  42. package/dist/linkedin/dom-automation.js +489 -14
  43. package/dist/linkedin/dom-automation.js.map +1 -1
  44. package/dist/linkedin/humanized-mouse.d.ts +69 -0
  45. package/dist/linkedin/humanized-mouse.d.ts.map +1 -0
  46. package/dist/linkedin/humanized-mouse.js +109 -0
  47. package/dist/linkedin/humanized-mouse.js.map +1 -0
  48. package/dist/linkedin/index.d.ts +2 -1
  49. package/dist/linkedin/index.d.ts.map +1 -1
  50. package/dist/linkedin/index.js +2 -1
  51. package/dist/linkedin/index.js.map +1 -1
  52. package/dist/operations/add-people-to-collection.d.ts +1 -1
  53. package/dist/operations/add-people-to-collection.d.ts.map +1 -1
  54. package/dist/operations/add-people-to-collection.js +3 -6
  55. package/dist/operations/add-people-to-collection.js.map +1 -1
  56. package/dist/operations/build-linkedin-url.test.d.ts +2 -0
  57. package/dist/operations/build-linkedin-url.test.d.ts.map +1 -0
  58. package/dist/operations/build-linkedin-url.test.js +158 -0
  59. package/dist/operations/build-linkedin-url.test.js.map +1 -0
  60. package/dist/operations/campaign-add-action.d.ts +1 -1
  61. package/dist/operations/campaign-add-action.d.ts.map +1 -1
  62. package/dist/operations/campaign-add-action.js +3 -6
  63. package/dist/operations/campaign-add-action.js.map +1 -1
  64. package/dist/operations/campaign-create.d.ts +1 -1
  65. package/dist/operations/campaign-create.d.ts.map +1 -1
  66. package/dist/operations/campaign-create.js +3 -6
  67. package/dist/operations/campaign-create.js.map +1 -1
  68. package/dist/operations/campaign-delete.d.ts +1 -1
  69. package/dist/operations/campaign-delete.d.ts.map +1 -1
  70. package/dist/operations/campaign-delete.js +3 -6
  71. package/dist/operations/campaign-delete.js.map +1 -1
  72. package/dist/operations/campaign-erase.d.ts +1 -1
  73. package/dist/operations/campaign-erase.d.ts.map +1 -1
  74. package/dist/operations/campaign-erase.js +3 -6
  75. package/dist/operations/campaign-erase.js.map +1 -1
  76. package/dist/operations/campaign-exclude-add.d.ts +1 -1
  77. package/dist/operations/campaign-exclude-add.d.ts.map +1 -1
  78. package/dist/operations/campaign-exclude-add.js +3 -6
  79. package/dist/operations/campaign-exclude-add.js.map +1 -1
  80. package/dist/operations/campaign-exclude-list.d.ts +1 -1
  81. package/dist/operations/campaign-exclude-list.d.ts.map +1 -1
  82. package/dist/operations/campaign-exclude-list.js +3 -6
  83. package/dist/operations/campaign-exclude-list.js.map +1 -1
  84. package/dist/operations/campaign-exclude-remove.d.ts +1 -1
  85. package/dist/operations/campaign-exclude-remove.d.ts.map +1 -1
  86. package/dist/operations/campaign-exclude-remove.js +3 -6
  87. package/dist/operations/campaign-exclude-remove.js.map +1 -1
  88. package/dist/operations/campaign-export.d.ts +1 -1
  89. package/dist/operations/campaign-export.d.ts.map +1 -1
  90. package/dist/operations/campaign-export.js +3 -6
  91. package/dist/operations/campaign-export.js.map +1 -1
  92. package/dist/operations/campaign-get.d.ts +1 -1
  93. package/dist/operations/campaign-get.d.ts.map +1 -1
  94. package/dist/operations/campaign-get.js +3 -6
  95. package/dist/operations/campaign-get.js.map +1 -1
  96. package/dist/operations/campaign-list-people.d.ts +1 -1
  97. package/dist/operations/campaign-list-people.d.ts.map +1 -1
  98. package/dist/operations/campaign-list-people.js +3 -6
  99. package/dist/operations/campaign-list-people.js.map +1 -1
  100. package/dist/operations/campaign-list.d.ts +1 -1
  101. package/dist/operations/campaign-list.d.ts.map +1 -1
  102. package/dist/operations/campaign-list.js +3 -6
  103. package/dist/operations/campaign-list.js.map +1 -1
  104. package/dist/operations/campaign-move-next.d.ts +1 -1
  105. package/dist/operations/campaign-move-next.d.ts.map +1 -1
  106. package/dist/operations/campaign-move-next.js +3 -6
  107. package/dist/operations/campaign-move-next.js.map +1 -1
  108. package/dist/operations/campaign-remove-action.d.ts +1 -1
  109. package/dist/operations/campaign-remove-action.d.ts.map +1 -1
  110. package/dist/operations/campaign-remove-action.js +3 -6
  111. package/dist/operations/campaign-remove-action.js.map +1 -1
  112. package/dist/operations/campaign-remove-people.d.ts +1 -1
  113. package/dist/operations/campaign-remove-people.d.ts.map +1 -1
  114. package/dist/operations/campaign-remove-people.js +3 -6
  115. package/dist/operations/campaign-remove-people.js.map +1 -1
  116. package/dist/operations/campaign-reorder-actions.d.ts +1 -1
  117. package/dist/operations/campaign-reorder-actions.d.ts.map +1 -1
  118. package/dist/operations/campaign-reorder-actions.js +3 -6
  119. package/dist/operations/campaign-reorder-actions.js.map +1 -1
  120. package/dist/operations/campaign-retry.d.ts +1 -1
  121. package/dist/operations/campaign-retry.d.ts.map +1 -1
  122. package/dist/operations/campaign-retry.js +3 -6
  123. package/dist/operations/campaign-retry.js.map +1 -1
  124. package/dist/operations/campaign-start.d.ts +1 -1
  125. package/dist/operations/campaign-start.d.ts.map +1 -1
  126. package/dist/operations/campaign-start.js +3 -6
  127. package/dist/operations/campaign-start.js.map +1 -1
  128. package/dist/operations/campaign-statistics.d.ts +1 -1
  129. package/dist/operations/campaign-statistics.d.ts.map +1 -1
  130. package/dist/operations/campaign-statistics.js +3 -6
  131. package/dist/operations/campaign-statistics.js.map +1 -1
  132. package/dist/operations/campaign-status.d.ts +1 -1
  133. package/dist/operations/campaign-status.d.ts.map +1 -1
  134. package/dist/operations/campaign-status.js +3 -6
  135. package/dist/operations/campaign-status.js.map +1 -1
  136. package/dist/operations/campaign-stop.d.ts +1 -1
  137. package/dist/operations/campaign-stop.d.ts.map +1 -1
  138. package/dist/operations/campaign-stop.js +3 -6
  139. package/dist/operations/campaign-stop.js.map +1 -1
  140. package/dist/operations/campaign-update-action.d.ts +1 -1
  141. package/dist/operations/campaign-update-action.d.ts.map +1 -1
  142. package/dist/operations/campaign-update-action.js +3 -6
  143. package/dist/operations/campaign-update-action.js.map +1 -1
  144. package/dist/operations/campaign-update.d.ts +1 -1
  145. package/dist/operations/campaign-update.d.ts.map +1 -1
  146. package/dist/operations/campaign-update.js +3 -6
  147. package/dist/operations/campaign-update.js.map +1 -1
  148. package/dist/operations/check-replies.d.ts +3 -1
  149. package/dist/operations/check-replies.d.ts.map +1 -1
  150. package/dist/operations/check-replies.js +132 -17
  151. package/dist/operations/check-replies.js.map +1 -1
  152. package/dist/operations/check-replies.test.js +177 -17
  153. package/dist/operations/check-replies.test.js.map +1 -1
  154. package/dist/operations/collect-people.d.ts +1 -1
  155. package/dist/operations/collect-people.d.ts.map +1 -1
  156. package/dist/operations/collect-people.js +3 -6
  157. package/dist/operations/collect-people.js.map +1 -1
  158. package/dist/operations/comment-on-post.d.ts +4 -1
  159. package/dist/operations/comment-on-post.d.ts.map +1 -1
  160. package/dist/operations/comment-on-post.js +15 -19
  161. package/dist/operations/comment-on-post.js.map +1 -1
  162. package/dist/operations/comment-on-post.test.js +8 -6
  163. package/dist/operations/comment-on-post.test.js.map +1 -1
  164. package/dist/operations/create-collection.d.ts +1 -1
  165. package/dist/operations/create-collection.d.ts.map +1 -1
  166. package/dist/operations/create-collection.js +3 -6
  167. package/dist/operations/create-collection.js.map +1 -1
  168. package/dist/operations/delete-collection.d.ts +1 -1
  169. package/dist/operations/delete-collection.d.ts.map +1 -1
  170. package/dist/operations/delete-collection.js +3 -6
  171. package/dist/operations/delete-collection.js.map +1 -1
  172. package/dist/operations/dismiss-errors.d.ts +7 -4
  173. package/dist/operations/dismiss-errors.d.ts.map +1 -1
  174. package/dist/operations/dismiss-errors.js +52 -33
  175. package/dist/operations/dismiss-errors.js.map +1 -1
  176. package/dist/operations/dismiss-errors.test.js +53 -6
  177. package/dist/operations/dismiss-errors.test.js.map +1 -1
  178. package/dist/operations/endorse-skills.test.d.ts +2 -0
  179. package/dist/operations/endorse-skills.test.d.ts.map +1 -0
  180. package/dist/operations/endorse-skills.test.js +70 -0
  181. package/dist/operations/endorse-skills.test.js.map +1 -0
  182. package/dist/operations/enrich-profile.test.d.ts +2 -0
  183. package/dist/operations/enrich-profile.test.d.ts.map +1 -0
  184. package/dist/operations/enrich-profile.test.js +73 -0
  185. package/dist/operations/enrich-profile.test.js.map +1 -0
  186. package/dist/operations/ephemeral-action.d.ts +1 -1
  187. package/dist/operations/ephemeral-action.d.ts.map +1 -1
  188. package/dist/operations/ephemeral-action.js +3 -6
  189. package/dist/operations/ephemeral-action.js.map +1 -1
  190. package/dist/operations/ephemeral-action.test.d.ts +2 -0
  191. package/dist/operations/ephemeral-action.test.d.ts.map +1 -0
  192. package/dist/operations/ephemeral-action.test.js +140 -0
  193. package/dist/operations/ephemeral-action.test.js.map +1 -0
  194. package/dist/operations/follow-person.test.d.ts +2 -0
  195. package/dist/operations/follow-person.test.d.ts.map +1 -0
  196. package/dist/operations/follow-person.test.js +57 -0
  197. package/dist/operations/follow-person.test.js.map +1 -0
  198. package/dist/operations/get-action-budget.d.ts +1 -1
  199. package/dist/operations/get-action-budget.d.ts.map +1 -1
  200. package/dist/operations/get-action-budget.js +3 -6
  201. package/dist/operations/get-action-budget.js.map +1 -1
  202. package/dist/operations/get-errors.d.ts +5 -1
  203. package/dist/operations/get-errors.d.ts.map +1 -1
  204. package/dist/operations/get-errors.js +55 -33
  205. package/dist/operations/get-errors.js.map +1 -1
  206. package/dist/operations/get-errors.test.js +54 -55
  207. package/dist/operations/get-errors.test.js.map +1 -1
  208. package/dist/operations/get-feed.d.ts +83 -4
  209. package/dist/operations/get-feed.d.ts.map +1 -1
  210. package/dist/operations/get-feed.js +400 -153
  211. package/dist/operations/get-feed.js.map +1 -1
  212. package/dist/operations/get-feed.test.js +416 -190
  213. package/dist/operations/get-feed.test.js.map +1 -1
  214. package/dist/operations/get-post-engagers.d.ts +6 -3
  215. package/dist/operations/get-post-engagers.d.ts.map +1 -1
  216. package/dist/operations/get-post-engagers.js +278 -78
  217. package/dist/operations/get-post-engagers.js.map +1 -1
  218. package/dist/operations/get-post-engagers.test.js +292 -14
  219. package/dist/operations/get-post-engagers.test.js.map +1 -1
  220. package/dist/operations/get-post-stats.d.ts +8 -3
  221. package/dist/operations/get-post-stats.d.ts.map +1 -1
  222. package/dist/operations/get-post-stats.js +101 -37
  223. package/dist/operations/get-post-stats.js.map +1 -1
  224. package/dist/operations/get-post-stats.test.js +137 -2
  225. package/dist/operations/get-post-stats.test.js.map +1 -1
  226. package/dist/operations/get-post.d.ts +9 -150
  227. package/dist/operations/get-post.d.ts.map +1 -1
  228. package/dist/operations/get-post.js +356 -210
  229. package/dist/operations/get-post.js.map +1 -1
  230. package/dist/operations/get-post.test.js +210 -387
  231. package/dist/operations/get-post.test.js.map +1 -1
  232. package/dist/operations/get-profile-activity.d.ts +13 -92
  233. package/dist/operations/get-profile-activity.d.ts.map +1 -1
  234. package/dist/operations/get-profile-activity.js +305 -105
  235. package/dist/operations/get-profile-activity.js.map +1 -1
  236. package/dist/operations/get-profile-activity.test.js +277 -158
  237. package/dist/operations/get-profile-activity.test.js.map +1 -1
  238. package/dist/operations/get-throttle-status.d.ts +1 -1
  239. package/dist/operations/get-throttle-status.d.ts.map +1 -1
  240. package/dist/operations/get-throttle-status.js +4 -10
  241. package/dist/operations/get-throttle-status.js.map +1 -1
  242. package/dist/operations/import-people-from-collection.d.ts +1 -1
  243. package/dist/operations/import-people-from-collection.d.ts.map +1 -1
  244. package/dist/operations/import-people-from-collection.js +3 -6
  245. package/dist/operations/import-people-from-collection.js.map +1 -1
  246. package/dist/operations/import-people-from-urls.d.ts +1 -1
  247. package/dist/operations/import-people-from-urls.d.ts.map +1 -1
  248. package/dist/operations/import-people-from-urls.js +3 -6
  249. package/dist/operations/import-people-from-urls.js.map +1 -1
  250. package/dist/operations/index.d.ts +2 -2
  251. package/dist/operations/index.d.ts.map +1 -1
  252. package/dist/operations/index.js +2 -1
  253. package/dist/operations/index.js.map +1 -1
  254. package/dist/operations/like-person-posts.test.d.ts +2 -0
  255. package/dist/operations/like-person-posts.test.d.ts.map +1 -0
  256. package/dist/operations/like-person-posts.test.js +103 -0
  257. package/dist/operations/like-person-posts.test.js.map +1 -0
  258. package/dist/operations/list-collections.d.ts +1 -1
  259. package/dist/operations/list-collections.d.ts.map +1 -1
  260. package/dist/operations/list-collections.js +3 -6
  261. package/dist/operations/list-collections.js.map +1 -1
  262. package/dist/operations/message-person.test.d.ts +2 -0
  263. package/dist/operations/message-person.test.d.ts.map +1 -0
  264. package/dist/operations/message-person.test.js +108 -0
  265. package/dist/operations/message-person.test.js.map +1 -0
  266. package/dist/operations/navigate-away.d.ts +14 -0
  267. package/dist/operations/navigate-away.d.ts.map +1 -0
  268. package/dist/operations/navigate-away.js +24 -0
  269. package/dist/operations/navigate-away.js.map +1 -0
  270. package/dist/operations/navigate-away.test.d.ts +2 -0
  271. package/dist/operations/navigate-away.test.d.ts.map +1 -0
  272. package/dist/operations/navigate-away.test.js +51 -0
  273. package/dist/operations/navigate-away.test.js.map +1 -0
  274. package/dist/operations/query-messages.d.ts +1 -1
  275. package/dist/operations/query-messages.d.ts.map +1 -1
  276. package/dist/operations/query-messages.js +3 -6
  277. package/dist/operations/query-messages.js.map +1 -1
  278. package/dist/operations/react-to-post.d.ts +3 -0
  279. package/dist/operations/react-to-post.d.ts.map +1 -1
  280. package/dist/operations/react-to-post.js +13 -15
  281. package/dist/operations/react-to-post.js.map +1 -1
  282. package/dist/operations/react-to-post.test.js +8 -5
  283. package/dist/operations/react-to-post.test.js.map +1 -1
  284. package/dist/operations/remove-connection.test.d.ts +2 -0
  285. package/dist/operations/remove-connection.test.d.ts.map +1 -0
  286. package/dist/operations/remove-connection.test.js +45 -0
  287. package/dist/operations/remove-connection.test.js.map +1 -0
  288. package/dist/operations/remove-people-from-collection.d.ts +1 -1
  289. package/dist/operations/remove-people-from-collection.d.ts.map +1 -1
  290. package/dist/operations/remove-people-from-collection.js +3 -6
  291. package/dist/operations/remove-people-from-collection.js.map +1 -1
  292. package/dist/operations/resolve-linkedin-entity.d.ts.map +1 -1
  293. package/dist/operations/resolve-linkedin-entity.js +2 -2
  294. package/dist/operations/resolve-linkedin-entity.js.map +1 -1
  295. package/dist/operations/resolve-linkedin-entity.test.d.ts +2 -0
  296. package/dist/operations/resolve-linkedin-entity.test.d.ts.map +1 -0
  297. package/dist/operations/resolve-linkedin-entity.test.js +343 -0
  298. package/dist/operations/resolve-linkedin-entity.test.js.map +1 -0
  299. package/dist/operations/scrape-messaging-history.d.ts +2 -1
  300. package/dist/operations/scrape-messaging-history.d.ts.map +1 -1
  301. package/dist/operations/scrape-messaging-history.js +121 -18
  302. package/dist/operations/scrape-messaging-history.js.map +1 -1
  303. package/dist/operations/scrape-messaging-history.test.js +134 -12
  304. package/dist/operations/scrape-messaging-history.test.js.map +1 -1
  305. package/dist/operations/search-posts.d.ts +20 -112
  306. package/dist/operations/search-posts.d.ts.map +1 -1
  307. package/dist/operations/search-posts.js +369 -170
  308. package/dist/operations/search-posts.js.map +1 -1
  309. package/dist/operations/search-posts.test.js +273 -234
  310. package/dist/operations/search-posts.test.js.map +1 -1
  311. package/dist/operations/send-inmail.test.d.ts +2 -0
  312. package/dist/operations/send-inmail.test.d.ts.map +1 -0
  313. package/dist/operations/send-inmail.test.js +108 -0
  314. package/dist/operations/send-inmail.test.js.map +1 -0
  315. package/dist/operations/send-invite.test.d.ts +2 -0
  316. package/dist/operations/send-invite.test.d.ts.map +1 -0
  317. package/dist/operations/send-invite.test.js +59 -0
  318. package/dist/operations/send-invite.test.js.map +1 -0
  319. package/dist/operations/types.d.ts +24 -1
  320. package/dist/operations/types.d.ts.map +1 -1
  321. package/dist/operations/types.js +13 -1
  322. package/dist/operations/types.js.map +1 -1
  323. package/dist/operations/visit-profile.d.ts +1 -1
  324. package/dist/operations/visit-profile.d.ts.map +1 -1
  325. package/dist/operations/visit-profile.js +3 -6
  326. package/dist/operations/visit-profile.js.map +1 -1
  327. package/dist/services/account-resolution.d.ts +9 -4
  328. package/dist/services/account-resolution.d.ts.map +1 -1
  329. package/dist/services/account-resolution.js +60 -5
  330. package/dist/services/account-resolution.js.map +1 -1
  331. package/dist/services/app.d.ts +6 -2
  332. package/dist/services/app.d.ts.map +1 -1
  333. package/dist/services/app.js +18 -6
  334. package/dist/services/app.js.map +1 -1
  335. package/dist/services/app.test.js +41 -7
  336. package/dist/services/app.test.js.map +1 -1
  337. package/dist/services/campaign.d.ts +34 -2
  338. package/dist/services/campaign.d.ts.map +1 -1
  339. package/dist/services/campaign.js +108 -1
  340. package/dist/services/campaign.js.map +1 -1
  341. package/dist/services/errors.d.ts +2 -1
  342. package/dist/services/errors.d.ts.map +1 -1
  343. package/dist/services/errors.js +6 -3
  344. package/dist/services/errors.js.map +1 -1
  345. package/dist/services/index.d.ts +0 -1
  346. package/dist/services/index.d.ts.map +1 -1
  347. package/dist/services/index.js +0 -1
  348. package/dist/services/index.js.map +1 -1
  349. package/dist/services/instance-context.d.ts +5 -1
  350. package/dist/services/instance-context.d.ts.map +1 -1
  351. package/dist/services/instance-context.js +87 -28
  352. package/dist/services/instance-context.js.map +1 -1
  353. package/dist/services/instance-context.test.js +5 -1
  354. package/dist/services/instance-context.test.js.map +1 -1
  355. package/dist/services/instance-lifecycle.d.ts.map +1 -1
  356. package/dist/services/instance-lifecycle.js +32 -1
  357. package/dist/services/instance-lifecycle.js.map +1 -1
  358. package/dist/services/instance-lifecycle.test.js +52 -1
  359. package/dist/services/instance-lifecycle.test.js.map +1 -1
  360. package/dist/services/instance.d.ts +19 -7
  361. package/dist/services/instance.d.ts.map +1 -1
  362. package/dist/services/instance.js +56 -17
  363. package/dist/services/instance.js.map +1 -1
  364. package/dist/services/instance.test.js +65 -0
  365. package/dist/services/instance.test.js.map +1 -1
  366. package/dist/services/launcher.d.ts +47 -3
  367. package/dist/services/launcher.d.ts.map +1 -1
  368. package/dist/services/launcher.js +205 -33
  369. package/dist/services/launcher.js.map +1 -1
  370. package/dist/services/launcher.test.js +133 -6
  371. package/dist/services/launcher.test.js.map +1 -1
  372. package/dist/services/status.d.ts +6 -2
  373. package/dist/services/status.d.ts.map +1 -1
  374. package/dist/services/status.js +67 -34
  375. package/dist/services/status.js.map +1 -1
  376. package/dist/services/status.test.js +9 -2
  377. package/dist/services/status.test.js.map +1 -1
  378. package/dist/testing/e2e-helpers.d.ts +23 -1
  379. package/dist/testing/e2e-helpers.d.ts.map +1 -1
  380. package/dist/testing/e2e-helpers.js +110 -5
  381. package/dist/testing/e2e-helpers.js.map +1 -1
  382. package/dist/testing/index.d.ts +1 -1
  383. package/dist/testing/index.d.ts.map +1 -1
  384. package/dist/testing/index.js +1 -1
  385. package/dist/testing/index.js.map +1 -1
  386. package/dist/types/account.d.ts +1 -1
  387. package/dist/types/feed.d.ts +1 -3
  388. package/dist/types/feed.d.ts.map +1 -1
  389. package/dist/types/index.d.ts +0 -1
  390. package/dist/types/index.d.ts.map +1 -1
  391. package/dist/utils/cdp-port.d.ts.map +1 -1
  392. package/dist/utils/cdp-port.js +3 -1
  393. package/dist/utils/cdp-port.js.map +1 -1
  394. package/dist/utils/cdp-port.test.js +1 -1
  395. package/dist/utils/cdp-port.test.js.map +1 -1
  396. package/dist/utils/delay.d.ts +79 -0
  397. package/dist/utils/delay.d.ts.map +1 -1
  398. package/dist/utils/delay.js +118 -0
  399. package/dist/utils/delay.js.map +1 -1
  400. package/dist/utils/delay.test.js +111 -1
  401. package/dist/utils/delay.test.js.map +1 -1
  402. package/dist/utils/index.d.ts +2 -1
  403. package/dist/utils/index.d.ts.map +1 -1
  404. package/dist/utils/index.js +2 -1
  405. package/dist/utils/index.js.map +1 -1
  406. package/dist/utils/session-pacer.d.ts +27 -0
  407. package/dist/utils/session-pacer.d.ts.map +1 -0
  408. package/dist/utils/session-pacer.js +55 -0
  409. package/dist/utils/session-pacer.js.map +1 -0
  410. package/dist/utils/session-pacer.test.d.ts +2 -0
  411. package/dist/utils/session-pacer.test.d.ts.map +1 -0
  412. package/dist/utils/session-pacer.test.js +111 -0
  413. package/dist/utils/session-pacer.test.js.map +1 -0
  414. package/package.json +1 -1
  415. package/dist/linkedin/__tests__/selectors.integration.test.d.ts +0 -2
  416. package/dist/linkedin/__tests__/selectors.integration.test.d.ts.map +0 -1
  417. package/dist/linkedin/__tests__/selectors.integration.test.js +0 -258
  418. package/dist/linkedin/__tests__/selectors.integration.test.js.map +0 -1
  419. package/dist/types/search-posts.d.ts +0 -22
  420. package/dist/types/search-posts.d.ts.map +0 -1
  421. package/dist/types/search-posts.js +0 -4
  422. package/dist/types/search-posts.js.map +0 -1
  423. package/dist/voyager/index.d.ts +0 -2
  424. package/dist/voyager/index.d.ts.map +0 -1
  425. package/dist/voyager/index.js +0 -4
  426. package/dist/voyager/index.js.map +0 -1
  427. package/dist/voyager/interceptor.d.ts +0 -100
  428. package/dist/voyager/interceptor.d.ts.map +0 -1
  429. package/dist/voyager/interceptor.integration.test.d.ts +0 -2
  430. package/dist/voyager/interceptor.integration.test.d.ts.map +0 -1
  431. package/dist/voyager/interceptor.integration.test.js +0 -89
  432. package/dist/voyager/interceptor.integration.test.js.map +0 -1
  433. package/dist/voyager/interceptor.js +0 -235
  434. package/dist/voyager/interceptor.js.map +0 -1
  435. package/dist/voyager/interceptor.test.d.ts +0 -2
  436. package/dist/voyager/interceptor.test.d.ts.map +0 -1
  437. package/dist/voyager/interceptor.test.js +0 -372
  438. package/dist/voyager/interceptor.test.js.map +0 -1
@@ -11,6 +11,22 @@ import { LinkedHelperNotRunningError, LinkedHelperUnreachableError, NodeIntegrat
11
11
  * methods to start/stop instances and query accounts.
12
12
  */
13
13
  export class LauncherService {
14
+ /**
15
+ * CDP expression snippet that waits for the webpack module registry
16
+ * and sets `wpRequire` in the enclosing scope. Callers must check
17
+ * `wpRequire` for null and handle the failure case themselves.
18
+ */
19
+ static WEBPACK_INIT = `
20
+ const _wpDeadline = Date.now() + 15000;
21
+ while (!window.webpackChunk_linked_helper_front && Date.now() < _wpDeadline) {
22
+ await new Promise(r => setTimeout(r, 250));
23
+ }
24
+ let wpRequire = null;
25
+ if (window.webpackChunk_linked_helper_front) {
26
+ window.webpackChunk_linked_helper_front.push(
27
+ [[Symbol()], {}, (req) => { wpRequire = req; }]
28
+ );
29
+ }`;
14
30
  port;
15
31
  host;
16
32
  allowRemote;
@@ -41,8 +57,29 @@ export class LauncherService {
41
57
  }
42
58
  throw error;
43
59
  }
60
+ let nodeContextId;
61
+ try {
62
+ nodeContextId = await this.resolveNodeContextId(client);
63
+ }
64
+ catch {
65
+ // No Node.js context — likely a LinkedIn page on the instance port.
66
+ client.disconnect();
67
+ throw new WrongPortError(this.port);
68
+ }
69
+ // Validate that the target is the launcher (has electronStore),
70
+ // not an instance UI page that happens to have Node.js access.
71
+ const isLauncher = await client.evaluate(`(() => {
72
+ try {
73
+ const r = require('@electron/remote');
74
+ return typeof r.getGlobal('mainWindow')?.electronStore?.get === 'function';
75
+ } catch { return false; }
76
+ })()`, false, nodeContextId);
77
+ if (!isLauncher) {
78
+ client.disconnect();
79
+ throw new WrongPortError(this.port);
80
+ }
44
81
  this.client = client;
45
- this.nodeContextId = await this.resolveNodeContextId(client);
82
+ this.nodeContextId = nodeContextId;
46
83
  }
47
84
  /**
48
85
  * Disconnect from the launcher.
@@ -55,6 +92,16 @@ export class LauncherService {
55
92
  /**
56
93
  * Start a LinkedHelper instance for the given account.
57
94
  *
95
+ * Replicates the data-fetching sequence that the LinkedHelper UI
96
+ * performs before calling `mainWindow.startInstance()`:
97
+ *
98
+ * 1. Resolve renderer-side services via the webpack module registry.
99
+ * 2. Refetch the full account object (with license, proxy, instance data).
100
+ * 3. Read `userId` from the auth service and user profile from the user service.
101
+ * 4. Fetch `frontendSettings` from the frontend-settings service.
102
+ * 5. Transform the license into the format expected by the instance.
103
+ * 6. Call `startInstance` with all populated fields.
104
+ *
58
105
  * @throws {StartInstanceError} if the instance fails to start.
59
106
  */
60
107
  async startInstance(accountId) {
@@ -63,15 +110,79 @@ export class LauncherService {
63
110
  try {
64
111
  const remote = require('@electron/remote');
65
112
  const mainWindow = remote.getGlobal('mainWindow');
113
+
114
+ ${LauncherService.WEBPACK_INIT}
115
+ if (!wpRequire) {
116
+ return { success: false, error: 'webpack module registry not available' };
117
+ }
118
+
119
+ const authService = wpRequire(2742).authService;
120
+ const userService = wpRequire(75381).userService;
121
+ const liAccountsSvc = wpRequire(44354).runningLiAccountsService;
122
+ const feSettingsSvc = wpRequire(81954).frontendSettingsService;
123
+
124
+ // 2. Get the account object from the service cache.
125
+ // Using refetch: false because the LH backend API now
126
+ // rejects the embed format used by refetchLinkedInAccounts.
127
+ // The cache is populated by the launcher on startup, but
128
+ // may not be ready immediately — poll until available.
129
+ let account = null;
130
+ const cacheDeadline = Date.now() + 30000;
131
+ while (Date.now() < cacheDeadline) {
132
+ try {
133
+ account = await liAccountsSvc.getLinkedInAccount({
134
+ id: ${String(accountId)},
135
+ refetch: false,
136
+ });
137
+ break;
138
+ } catch {
139
+ await new Promise(r => setTimeout(r, 500));
140
+ }
141
+ }
142
+ if (!account) {
143
+ return { success: false, error: 'Account not found in cache after 30s' };
144
+ }
145
+
146
+ // 3. Read userId and user profile
147
+ const userId = authService.userId;
148
+ const currentUser = userService.currentUserBS?.value
149
+ ?? await userService.fetchUser(userId);
150
+
151
+ // 4. Fetch frontend settings
152
+ const frontendSettings = await feSettingsSvc.getFrontendSettings();
153
+
154
+ // 5. Transform the license
155
+ let license = null;
156
+ if (account.license) {
157
+ const lic = account.license;
158
+ const ownerUid = lic.organizationId
159
+ ? 'lh2:org:' + lic.organizationId
160
+ : 'lh2:user:' + (lic.userId ?? userId);
161
+ license = {
162
+ id: lic.id,
163
+ ownerUid: ownerUid,
164
+ days: lic.days,
165
+ expireAt: lic.expireAt,
166
+ featureSet: lic.featureSet,
167
+ subscriptionId: lic.subscriptionId,
168
+ addedExpiryTimeAsSubscriptionGracePeriodMs:
169
+ lic.addedExpiryTimeAsSubscriptionGracePeriodMs,
170
+ };
171
+ }
172
+
173
+ // 6. Call startInstance with all populated fields
66
174
  await mainWindow.startInstance({
67
- linkedInAccount: { id: ${String(accountId)}, liId: ${String(accountId)} },
68
- accountData: { id: ${String(accountId)}, liId: ${String(accountId)} },
69
- instanceId: 1,
70
- proxy: null,
71
- license: null,
72
- userId: null,
73
- frontendSettings: {},
74
- lhAccount: {},
175
+ linkedInAccount: account,
176
+ instanceId: account.instance?.[0]?.id,
177
+ proxy: account.proxy ?? null,
178
+ license: license,
179
+ userId: userId,
180
+ frontendSettings: frontendSettings ?? {},
181
+ lhAccount: {
182
+ email: currentUser?.email ?? '',
183
+ fullName: [currentUser?.firstName, currentUser?.lastName]
184
+ .filter(Boolean).join(' '),
185
+ },
75
186
  zoomDefault: 0.9,
76
187
  shouldBringToFront: true,
77
188
  shouldStartRunningCampaigns: false,
@@ -114,34 +225,42 @@ export class LauncherService {
114
225
  return status;
115
226
  }
116
227
  /**
117
- * List all accounts configured in the LinkedHelper Electron store.
228
+ * List all accounts configured in LinkedHelper.
118
229
  *
119
- * Accounts are discovered from the `linkedInPasswords` store key whose
120
- * entries use the format `userId:li:accountId`.
230
+ * Accounts are read from the renderer-side webpack service cache
231
+ * (`runningLiAccountsService.extendedLinkedInAccountsBS`). The
232
+ * launcher populates this cache on startup via IPC; we poll until
233
+ * it becomes available rather than calling `refetchLinkedInAccounts`
234
+ * (whose backend API now rejects the old embed format with 400).
121
235
  */
122
236
  async listAccounts() {
123
237
  const client = this.ensureConnected();
124
- const accounts = await this.launcherEvaluate(client, `(() => {
125
- const remote = require('@electron/remote');
126
- const mainWindow = remote.getGlobal('mainWindow');
127
- const store = mainWindow?.electronStore;
128
- if (!store) return null;
129
- const passwords = store.get('linkedInPasswords') ?? {};
130
- return Object.keys(passwords)
131
- .map(k => {
132
- const parts = k.split(':li:');
133
- if (parts.length !== 2) return null;
134
- const accountId = Number(parts[1]);
135
- if (Number.isNaN(accountId)) return null;
136
- return {
137
- id: accountId,
138
- liId: accountId,
139
- name: '',
140
- email: undefined,
141
- };
142
- })
143
- .filter(a => a !== null);
144
- })()`);
238
+ const accounts = await this.launcherEvaluate(client, `(async () => {
239
+ ${LauncherService.WEBPACK_INIT}
240
+ if (!wpRequire) return null;
241
+
242
+ const svc = wpRequire(44354).runningLiAccountsService;
243
+
244
+ // Poll until the cache is populated by the launcher's startup
245
+ // process (same pattern as startInstance's account polling).
246
+ const cacheDeadline = Date.now() + 30000;
247
+ while (Date.now() < cacheDeadline) {
248
+ const raw = svc.extendedLinkedInAccountsBS?.value;
249
+ if (raw) {
250
+ const entries = Array.isArray(raw) ? raw : Object.values(raw);
251
+ if (entries.length > 0) {
252
+ return entries.map(a => ({
253
+ id: a.id,
254
+ liId: a.id,
255
+ name: a.fullName ?? '',
256
+ email: a.email ?? undefined,
257
+ }));
258
+ }
259
+ }
260
+ await new Promise(r => setTimeout(r, 500));
261
+ }
262
+ return [];
263
+ })()`, true);
145
264
  if (accounts === null) {
146
265
  throw new WrongPortError(this.port);
147
266
  }
@@ -211,6 +330,59 @@ export class LauncherService {
211
330
  return true;
212
331
  })()`);
213
332
  }
333
+ /**
334
+ * Dismiss an active dialog issue on a LinkedHelper instance.
335
+ *
336
+ * Dialogs appear as "issues" on the instance (e.g. when the launcher
337
+ * sends a close command). Each dialog exposes one or more control
338
+ * buttons identified by `buttonId`. This method programmatically
339
+ * clicks the specified button to dismiss the dialog.
340
+ *
341
+ * @param liId LinkedIn account ID that owns the instance.
342
+ * @param dialogId The dialog issue ID (from {@link InstanceIssue}).
343
+ * @param buttonId The control button ID to click (from `DialogIssueData.options.controls[].id`).
344
+ */
345
+ async dismissInstanceDialog(liId, dialogId, buttonId) {
346
+ const client = this.ensureConnected();
347
+ await this.launcherEvaluate(client, `(async () => {
348
+ const remote = require('@electron/remote');
349
+ const mainWindow = remote.getGlobal('mainWindow');
350
+ return await mainWindow.instanceManager.closeInstanceDialog(
351
+ ${String(liId)},
352
+ ${JSON.stringify(dialogId)},
353
+ { buttonId: ${JSON.stringify(buttonId)} }
354
+ );
355
+ })()`, true);
356
+ }
357
+ /**
358
+ * Stop a running instance, automatically dismissing the confirmation
359
+ * dialog that LinkedHelper may show.
360
+ *
361
+ * Calls {@link stopInstance}, then polls {@link getInstanceIssues} at
362
+ * 500 ms intervals for up to 10 s. When a dialog issue appears, its
363
+ * first control button is clicked via {@link dismissInstanceDialog}.
364
+ * If no dialog surfaces within the timeout the method returns normally.
365
+ *
366
+ * @param liId LinkedIn account ID that owns the instance.
367
+ */
368
+ async stopInstanceWithDialogDismissal(liId) {
369
+ await this.stopInstance(liId);
370
+ const POLL_INTERVAL = 500;
371
+ const POLL_TIMEOUT = 10_000;
372
+ const deadline = Date.now() + POLL_TIMEOUT;
373
+ while (Date.now() < deadline) {
374
+ const issues = await this.getInstanceIssues(liId);
375
+ const dialog = issues.find((i) => i.type === "dialog");
376
+ if (dialog) {
377
+ const firstControl = dialog.data.options.controls[0];
378
+ if (firstControl) {
379
+ await this.dismissInstanceDialog(liId, dialog.id, firstControl.id);
380
+ }
381
+ return;
382
+ }
383
+ await new Promise((r) => setTimeout(r, POLL_INTERVAL));
384
+ }
385
+ }
214
386
  /**
215
387
  * Check the overall UI health of a LinkedHelper instance.
216
388
  *
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/services/launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/services/launcher.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: AGPL-3.0-only
2
2
  // Copyright (C) 2026 Oleksii PELYKH
3
3
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
- import { LinkedHelperNotRunningError, NodeIntegrationUnavailableError, ServiceError, StartInstanceError, WrongPortError, } from "./errors.js";
4
+ import { LinkedHelperNotRunningError, ServiceError, StartInstanceError, WrongPortError, } from "./errors.js";
5
5
  import { LauncherService } from "./launcher.js";
6
6
  /**
7
7
  * Shared CDPClient mocks — LauncherService creates exactly one CDPClient,
@@ -46,12 +46,16 @@ describe("LauncherService", () => {
46
46
  service = new LauncherService(9222);
47
47
  mockConnect.mockResolvedValue(undefined);
48
48
  nextEvaluateResult = undefined;
49
- // Default: require is available in the default context.
50
- // The probe call returns true; all other calls return nextEvaluateResult.
49
+ // Default: require is available in the default context, and the
50
+ // launcher validation (electronStore probe) succeeds.
51
+ // All other calls return nextEvaluateResult.
51
52
  mockEvaluate.mockImplementation((expression) => {
52
53
  if (expression === "typeof require === 'function'") {
53
54
  return Promise.resolve(true);
54
55
  }
56
+ if (expression.includes("electronStore?.get")) {
57
+ return Promise.resolve(true);
58
+ }
55
59
  return Promise.resolve(nextEvaluateResult);
56
60
  });
57
61
  });
@@ -73,6 +77,19 @@ describe("LauncherService", () => {
73
77
  mockConnect.mockRejectedValue(new TypeError("unexpected"));
74
78
  await expect(service.connect()).rejects.toThrow(TypeError);
75
79
  });
80
+ it("throws WrongPortError when electronStore validation fails", async () => {
81
+ mockEvaluate.mockImplementation((expression) => {
82
+ if (expression === "typeof require === 'function'") {
83
+ return Promise.resolve(true);
84
+ }
85
+ if (expression.includes("electronStore?.get")) {
86
+ return Promise.resolve(false);
87
+ }
88
+ return Promise.resolve(undefined);
89
+ });
90
+ await expect(service.connect()).rejects.toThrow(WrongPortError);
91
+ expect(mockDisconnect).toHaveBeenCalled();
92
+ });
76
93
  });
77
94
  describe("connect with context fallback", () => {
78
95
  it("falls back to preload context when default lacks require", async () => {
@@ -84,6 +101,9 @@ describe("LauncherService", () => {
84
101
  // Second probe (preload context id=2): has require
85
102
  return Promise.resolve(probeCount >= 2 && contextId === 2);
86
103
  }
104
+ if (expression.includes("electronStore?.get")) {
105
+ return Promise.resolve(true);
106
+ }
87
107
  return Promise.resolve(undefined);
88
108
  });
89
109
  mockOn.mockImplementation((event, handler) => {
@@ -98,7 +118,7 @@ describe("LauncherService", () => {
98
118
  expect(mockSend).toHaveBeenCalledWith("Runtime.enable");
99
119
  expect(mockSend).toHaveBeenCalledWith("Runtime.disable");
100
120
  });
101
- it("throws NodeIntegrationUnavailableError when no context has require", async () => {
121
+ it("throws WrongPortError when no context has require (instance port)", async () => {
102
122
  mockEvaluate.mockImplementation((expression) => {
103
123
  if (expression === "typeof require === 'function'") {
104
124
  return Promise.resolve(false);
@@ -112,7 +132,8 @@ describe("LauncherService", () => {
112
132
  }
113
133
  });
114
134
  mockSend.mockResolvedValue(undefined);
115
- await expect(service.connect()).rejects.toThrow(NodeIntegrationUnavailableError);
135
+ await expect(service.connect()).rejects.toThrow(WrongPortError);
136
+ expect(mockDisconnect).toHaveBeenCalled();
116
137
  });
117
138
  it("uses preload context for subsequent evaluations", async () => {
118
139
  const PRELOAD_CONTEXT_ID = 42;
@@ -122,6 +143,9 @@ describe("LauncherService", () => {
122
143
  probeCount++;
123
144
  return Promise.resolve(probeCount >= 2 && contextId === PRELOAD_CONTEXT_ID);
124
145
  }
146
+ if (expression.includes("electronStore?.get")) {
147
+ return Promise.resolve(true);
148
+ }
125
149
  return Promise.resolve(nextEvaluateResult);
126
150
  });
127
151
  mockOn.mockImplementation((event, handler) => {
@@ -223,11 +247,114 @@ describe("LauncherService", () => {
223
247
  });
224
248
  await expect(service.listAccounts()).rejects.toThrow(CDPEvaluationError);
225
249
  });
226
- it("throws WrongPortError when electronStore is not available", async () => {
250
+ it("throws WrongPortError when webpack is not available", async () => {
227
251
  await service.connect();
228
252
  nextEvaluateResult = null;
229
253
  await expect(service.listAccounts()).rejects.toThrow(WrongPortError);
230
254
  });
255
+ it("passes awaitPromise=true for the async expression", async () => {
256
+ await service.connect();
257
+ nextEvaluateResult = [];
258
+ await service.listAccounts();
259
+ const listCall = mockEvaluate.mock.calls.find((c) => typeof c[0] === "string" && c[0].includes("extendedLinkedInAccountsBS"));
260
+ expect(listCall).toBeDefined();
261
+ expect(listCall?.[1]).toBe(true);
262
+ });
263
+ });
264
+ describe("dismissInstanceDialog", () => {
265
+ it("evaluates the closeInstanceDialog expression", async () => {
266
+ await service.connect();
267
+ await service.dismissInstanceDialog(42, "dlg-1", "btn-ok");
268
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining("closeInstanceDialog"), true, undefined);
269
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining("42"), true, undefined);
270
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining('"dlg-1"'), true, undefined);
271
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining('"btn-ok"'), true, undefined);
272
+ });
273
+ it("throws ServiceError when not connected", async () => {
274
+ await expect(service.dismissInstanceDialog(42, "dlg-1", "btn-ok")).rejects.toThrow(ServiceError);
275
+ });
276
+ });
277
+ describe("stopInstanceWithDialogDismissal", () => {
278
+ it("calls stopInstance then polls and dismisses a dialog", async () => {
279
+ await service.connect();
280
+ let pollCount = 0;
281
+ mockEvaluate.mockImplementation((expression) => {
282
+ if (expression === "typeof require === 'function'") {
283
+ return Promise.resolve(true);
284
+ }
285
+ if (expression.includes("electronStore?.get")) {
286
+ return Promise.resolve(true);
287
+ }
288
+ // stopInstance call
289
+ if (expression.includes("stopInstance")) {
290
+ return Promise.resolve(undefined);
291
+ }
292
+ // getInstanceIssues — return a dialog on the second poll
293
+ if (expression.includes("issues?.items")) {
294
+ pollCount++;
295
+ if (pollCount >= 2) {
296
+ return Promise.resolve([
297
+ {
298
+ type: "dialog",
299
+ id: "dlg-close",
300
+ data: {
301
+ id: "dlg-close",
302
+ options: {
303
+ message: "Are you sure?",
304
+ controls: [{ id: "btn-yes", text: "Yes" }],
305
+ },
306
+ },
307
+ },
308
+ ]);
309
+ }
310
+ return Promise.resolve([]);
311
+ }
312
+ // dismissInstanceDialog call
313
+ if (expression.includes("closeInstanceDialog")) {
314
+ return Promise.resolve(undefined);
315
+ }
316
+ return Promise.resolve(undefined);
317
+ });
318
+ await service.stopInstanceWithDialogDismissal(42);
319
+ // Verify stopInstance was called
320
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining("stopInstance"), true, undefined);
321
+ // Verify dismissInstanceDialog was called with the dialog's first button
322
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining("closeInstanceDialog"), true, undefined);
323
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining('"dlg-close"'), true, undefined);
324
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining('"btn-yes"'), true, undefined);
325
+ });
326
+ it("returns normally when no dialog appears within timeout", async () => {
327
+ await service.connect();
328
+ mockEvaluate.mockImplementation((expression) => {
329
+ if (expression === "typeof require === 'function'") {
330
+ return Promise.resolve(true);
331
+ }
332
+ if (expression.includes("electronStore?.get")) {
333
+ return Promise.resolve(true);
334
+ }
335
+ if (expression.includes("stopInstance")) {
336
+ return Promise.resolve(undefined);
337
+ }
338
+ // Always return empty issues
339
+ if (expression.includes("issues?.items")) {
340
+ return Promise.resolve([]);
341
+ }
342
+ return Promise.resolve(undefined);
343
+ });
344
+ // Use fake timers to avoid waiting 10s
345
+ vi.useFakeTimers();
346
+ const promise = service.stopInstanceWithDialogDismissal(42);
347
+ // Advance past the polling timeout
348
+ await vi.advanceTimersByTimeAsync(11_000);
349
+ await promise;
350
+ vi.useRealTimers();
351
+ // Verify stopInstance was called but dismissInstanceDialog was not
352
+ expect(mockEvaluate).toHaveBeenCalledWith(expect.stringContaining("stopInstance"), true, undefined);
353
+ expect(mockEvaluate).not.toHaveBeenCalledWith(expect.stringContaining("closeInstanceDialog"), expect.anything(), expect.anything());
354
+ });
355
+ it("throws ServiceError when not connected", async () => {
356
+ await expect(service.stopInstanceWithDialogDismissal(42)).rejects.toThrow(ServiceError);
357
+ });
231
358
  });
232
359
  });
233
360
  //# sourceMappingURL=launcher.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.test.js","sourceRoot":"","sources":["../../src/services/launcher.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launcher.test.js","sourceRoot":"","sources":["../../src/services/launcher.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type DiscoveredApp } from "../cdp/index.js";
2
2
  /** Status of the LinkedHelper launcher process. */
3
3
  export interface LauncherStatus {
4
4
  reachable: boolean;
5
- port: number;
5
+ port: number | null;
6
6
  /** Detected LH processes (populated only when launcher is unreachable). */
7
7
  processes?: DiscoveredApp[];
8
8
  }
@@ -31,7 +31,11 @@ export interface StatusReport {
31
31
  * The function is intentionally fault-tolerant: individual component
32
32
  * failures are reported in the result rather than thrown as exceptions.
33
33
  *
34
- * @param cdpPort - The CDP port of the LinkedHelper launcher (default 9222).
34
+ * When {@link cdpPort} is omitted, the launcher port is auto-discovered
35
+ * via {@link resolveLauncherPort}. If no launcher is available, the report
36
+ * reflects this and still includes database and process information.
37
+ *
38
+ * @param cdpPort - The CDP port of the LinkedHelper launcher (auto-discovered if omitted).
35
39
  */
36
40
  export declare function checkStatus(cdpPort?: number, options?: {
37
41
  host?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/services/status.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAiC,MAAM,iBAAiB,CAAC;AAOpF,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,wDAAwD;AACxD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,OAAO,SAAmB,EAC1B,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,YAAY,CAAC,CA2EvB"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/services/status.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAsD,MAAM,iBAAiB,CAAC;AAMzG,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,wDAAwD;AACxD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,YAAY,CAAC,CA4GvB"}