@lhremote/core 0.8.0 → 0.10.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 (480) 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/campaign-hard-delete.integration.test.js +4 -1
  31. package/dist/db/repositories/campaign-hard-delete.integration.test.js.map +1 -1
  32. package/dist/db/repositories/campaign.d.ts.map +1 -1
  33. package/dist/db/repositories/campaign.js +81 -33
  34. package/dist/db/repositories/campaign.js.map +1 -1
  35. package/dist/db/repositories/campaign.test.js +2 -2
  36. package/dist/db/repositories/collection-list.d.ts +11 -0
  37. package/dist/db/repositories/collection-list.d.ts.map +1 -1
  38. package/dist/db/repositories/collection-list.integration.test.js +6 -4
  39. package/dist/db/repositories/collection-list.integration.test.js.map +1 -1
  40. package/dist/db/repositories/collection-list.js +92 -2
  41. package/dist/db/repositories/collection-list.js.map +1 -1
  42. package/dist/db/testing/create-fixture.js +36 -2
  43. package/dist/db/testing/create-fixture.js.map +1 -1
  44. package/dist/index.d.ts +6 -6
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +6 -6
  47. package/dist/index.js.map +1 -1
  48. package/dist/linkedin/dom-automation-retry.test.d.ts +2 -0
  49. package/dist/linkedin/dom-automation-retry.test.d.ts.map +1 -0
  50. package/dist/linkedin/dom-automation-retry.test.js +51 -0
  51. package/dist/linkedin/dom-automation-retry.test.js.map +1 -0
  52. package/dist/linkedin/dom-automation.d.ts +166 -6
  53. package/dist/linkedin/dom-automation.d.ts.map +1 -1
  54. package/dist/linkedin/dom-automation.js +496 -21
  55. package/dist/linkedin/dom-automation.js.map +1 -1
  56. package/dist/linkedin/humanized-mouse.d.ts +69 -0
  57. package/dist/linkedin/humanized-mouse.d.ts.map +1 -0
  58. package/dist/linkedin/humanized-mouse.js +109 -0
  59. package/dist/linkedin/humanized-mouse.js.map +1 -0
  60. package/dist/linkedin/index.d.ts +3 -2
  61. package/dist/linkedin/index.d.ts.map +1 -1
  62. package/dist/linkedin/index.js +3 -2
  63. package/dist/linkedin/index.js.map +1 -1
  64. package/dist/linkedin/selectors.d.ts +74 -48
  65. package/dist/linkedin/selectors.d.ts.map +1 -1
  66. package/dist/linkedin/selectors.js +64 -41
  67. package/dist/linkedin/selectors.js.map +1 -1
  68. package/dist/operations/add-people-to-collection.d.ts +1 -1
  69. package/dist/operations/add-people-to-collection.d.ts.map +1 -1
  70. package/dist/operations/add-people-to-collection.js +3 -6
  71. package/dist/operations/add-people-to-collection.js.map +1 -1
  72. package/dist/operations/build-linkedin-url.test.d.ts +2 -0
  73. package/dist/operations/build-linkedin-url.test.d.ts.map +1 -0
  74. package/dist/operations/build-linkedin-url.test.js +158 -0
  75. package/dist/operations/build-linkedin-url.test.js.map +1 -0
  76. package/dist/operations/campaign-add-action.d.ts +1 -1
  77. package/dist/operations/campaign-add-action.d.ts.map +1 -1
  78. package/dist/operations/campaign-add-action.js +3 -6
  79. package/dist/operations/campaign-add-action.js.map +1 -1
  80. package/dist/operations/campaign-create.d.ts +1 -1
  81. package/dist/operations/campaign-create.d.ts.map +1 -1
  82. package/dist/operations/campaign-create.js +3 -6
  83. package/dist/operations/campaign-create.js.map +1 -1
  84. package/dist/operations/campaign-delete.d.ts +1 -1
  85. package/dist/operations/campaign-delete.d.ts.map +1 -1
  86. package/dist/operations/campaign-delete.js +3 -6
  87. package/dist/operations/campaign-delete.js.map +1 -1
  88. package/dist/operations/campaign-erase.d.ts +1 -1
  89. package/dist/operations/campaign-erase.d.ts.map +1 -1
  90. package/dist/operations/campaign-erase.js +3 -6
  91. package/dist/operations/campaign-erase.js.map +1 -1
  92. package/dist/operations/campaign-exclude-add.d.ts +1 -1
  93. package/dist/operations/campaign-exclude-add.d.ts.map +1 -1
  94. package/dist/operations/campaign-exclude-add.js +3 -6
  95. package/dist/operations/campaign-exclude-add.js.map +1 -1
  96. package/dist/operations/campaign-exclude-list.d.ts +1 -1
  97. package/dist/operations/campaign-exclude-list.d.ts.map +1 -1
  98. package/dist/operations/campaign-exclude-list.js +3 -6
  99. package/dist/operations/campaign-exclude-list.js.map +1 -1
  100. package/dist/operations/campaign-exclude-remove.d.ts +1 -1
  101. package/dist/operations/campaign-exclude-remove.d.ts.map +1 -1
  102. package/dist/operations/campaign-exclude-remove.js +3 -6
  103. package/dist/operations/campaign-exclude-remove.js.map +1 -1
  104. package/dist/operations/campaign-export.d.ts +1 -1
  105. package/dist/operations/campaign-export.d.ts.map +1 -1
  106. package/dist/operations/campaign-export.js +3 -6
  107. package/dist/operations/campaign-export.js.map +1 -1
  108. package/dist/operations/campaign-get.d.ts +1 -1
  109. package/dist/operations/campaign-get.d.ts.map +1 -1
  110. package/dist/operations/campaign-get.js +3 -6
  111. package/dist/operations/campaign-get.js.map +1 -1
  112. package/dist/operations/campaign-list-people.d.ts +1 -1
  113. package/dist/operations/campaign-list-people.d.ts.map +1 -1
  114. package/dist/operations/campaign-list-people.js +3 -6
  115. package/dist/operations/campaign-list-people.js.map +1 -1
  116. package/dist/operations/campaign-list.d.ts +1 -1
  117. package/dist/operations/campaign-list.d.ts.map +1 -1
  118. package/dist/operations/campaign-list.js +3 -6
  119. package/dist/operations/campaign-list.js.map +1 -1
  120. package/dist/operations/campaign-move-next.d.ts +1 -1
  121. package/dist/operations/campaign-move-next.d.ts.map +1 -1
  122. package/dist/operations/campaign-move-next.js +3 -6
  123. package/dist/operations/campaign-move-next.js.map +1 -1
  124. package/dist/operations/campaign-remove-action.d.ts +1 -1
  125. package/dist/operations/campaign-remove-action.d.ts.map +1 -1
  126. package/dist/operations/campaign-remove-action.js +3 -6
  127. package/dist/operations/campaign-remove-action.js.map +1 -1
  128. package/dist/operations/campaign-remove-people.d.ts +1 -1
  129. package/dist/operations/campaign-remove-people.d.ts.map +1 -1
  130. package/dist/operations/campaign-remove-people.js +3 -6
  131. package/dist/operations/campaign-remove-people.js.map +1 -1
  132. package/dist/operations/campaign-reorder-actions.d.ts +1 -1
  133. package/dist/operations/campaign-reorder-actions.d.ts.map +1 -1
  134. package/dist/operations/campaign-reorder-actions.js +3 -6
  135. package/dist/operations/campaign-reorder-actions.js.map +1 -1
  136. package/dist/operations/campaign-retry.d.ts +1 -1
  137. package/dist/operations/campaign-retry.d.ts.map +1 -1
  138. package/dist/operations/campaign-retry.js +3 -6
  139. package/dist/operations/campaign-retry.js.map +1 -1
  140. package/dist/operations/campaign-start.d.ts +1 -1
  141. package/dist/operations/campaign-start.d.ts.map +1 -1
  142. package/dist/operations/campaign-start.js +3 -6
  143. package/dist/operations/campaign-start.js.map +1 -1
  144. package/dist/operations/campaign-statistics.d.ts +1 -1
  145. package/dist/operations/campaign-statistics.d.ts.map +1 -1
  146. package/dist/operations/campaign-statistics.js +3 -6
  147. package/dist/operations/campaign-statistics.js.map +1 -1
  148. package/dist/operations/campaign-status.d.ts +1 -1
  149. package/dist/operations/campaign-status.d.ts.map +1 -1
  150. package/dist/operations/campaign-status.js +3 -6
  151. package/dist/operations/campaign-status.js.map +1 -1
  152. package/dist/operations/campaign-stop.d.ts +1 -1
  153. package/dist/operations/campaign-stop.d.ts.map +1 -1
  154. package/dist/operations/campaign-stop.js +3 -6
  155. package/dist/operations/campaign-stop.js.map +1 -1
  156. package/dist/operations/campaign-update-action.d.ts +1 -1
  157. package/dist/operations/campaign-update-action.d.ts.map +1 -1
  158. package/dist/operations/campaign-update-action.js +3 -6
  159. package/dist/operations/campaign-update-action.js.map +1 -1
  160. package/dist/operations/campaign-update.d.ts +1 -1
  161. package/dist/operations/campaign-update.d.ts.map +1 -1
  162. package/dist/operations/campaign-update.js +3 -6
  163. package/dist/operations/campaign-update.js.map +1 -1
  164. package/dist/operations/check-replies.d.ts +3 -1
  165. package/dist/operations/check-replies.d.ts.map +1 -1
  166. package/dist/operations/check-replies.js +124 -17
  167. package/dist/operations/check-replies.js.map +1 -1
  168. package/dist/operations/check-replies.test.js +152 -17
  169. package/dist/operations/check-replies.test.js.map +1 -1
  170. package/dist/operations/collect-people.d.ts +1 -1
  171. package/dist/operations/collect-people.d.ts.map +1 -1
  172. package/dist/operations/collect-people.js +18 -12
  173. package/dist/operations/collect-people.js.map +1 -1
  174. package/dist/operations/collect-people.test.js +21 -5
  175. package/dist/operations/collect-people.test.js.map +1 -1
  176. package/dist/operations/comment-on-post.d.ts +4 -1
  177. package/dist/operations/comment-on-post.d.ts.map +1 -1
  178. package/dist/operations/comment-on-post.js +15 -19
  179. package/dist/operations/comment-on-post.js.map +1 -1
  180. package/dist/operations/comment-on-post.test.js +8 -6
  181. package/dist/operations/comment-on-post.test.js.map +1 -1
  182. package/dist/operations/create-collection.d.ts +1 -1
  183. package/dist/operations/create-collection.d.ts.map +1 -1
  184. package/dist/operations/create-collection.js +5 -7
  185. package/dist/operations/create-collection.js.map +1 -1
  186. package/dist/operations/create-collection.test.js +3 -1
  187. package/dist/operations/create-collection.test.js.map +1 -1
  188. package/dist/operations/delete-collection.d.ts +1 -1
  189. package/dist/operations/delete-collection.d.ts.map +1 -1
  190. package/dist/operations/delete-collection.js +3 -6
  191. package/dist/operations/delete-collection.js.map +1 -1
  192. package/dist/operations/dismiss-errors.d.ts +11 -5
  193. package/dist/operations/dismiss-errors.d.ts.map +1 -1
  194. package/dist/operations/dismiss-errors.js +68 -34
  195. package/dist/operations/dismiss-errors.js.map +1 -1
  196. package/dist/operations/dismiss-errors.test.js +129 -8
  197. package/dist/operations/dismiss-errors.test.js.map +1 -1
  198. package/dist/operations/endorse-skills.test.d.ts +2 -0
  199. package/dist/operations/endorse-skills.test.d.ts.map +1 -0
  200. package/dist/operations/endorse-skills.test.js +70 -0
  201. package/dist/operations/endorse-skills.test.js.map +1 -0
  202. package/dist/operations/enrich-profile.test.d.ts +2 -0
  203. package/dist/operations/enrich-profile.test.d.ts.map +1 -0
  204. package/dist/operations/enrich-profile.test.js +73 -0
  205. package/dist/operations/enrich-profile.test.js.map +1 -0
  206. package/dist/operations/ephemeral-action.d.ts +2 -1
  207. package/dist/operations/ephemeral-action.d.ts.map +1 -1
  208. package/dist/operations/ephemeral-action.js +5 -7
  209. package/dist/operations/ephemeral-action.js.map +1 -1
  210. package/dist/operations/ephemeral-action.test.d.ts +2 -0
  211. package/dist/operations/ephemeral-action.test.d.ts.map +1 -0
  212. package/dist/operations/ephemeral-action.test.js +159 -0
  213. package/dist/operations/ephemeral-action.test.js.map +1 -0
  214. package/dist/operations/follow-person.test.d.ts +2 -0
  215. package/dist/operations/follow-person.test.d.ts.map +1 -0
  216. package/dist/operations/follow-person.test.js +57 -0
  217. package/dist/operations/follow-person.test.js.map +1 -0
  218. package/dist/operations/get-action-budget.d.ts +1 -1
  219. package/dist/operations/get-action-budget.d.ts.map +1 -1
  220. package/dist/operations/get-action-budget.js +3 -6
  221. package/dist/operations/get-action-budget.js.map +1 -1
  222. package/dist/operations/get-errors.d.ts +5 -1
  223. package/dist/operations/get-errors.d.ts.map +1 -1
  224. package/dist/operations/get-errors.js +55 -33
  225. package/dist/operations/get-errors.js.map +1 -1
  226. package/dist/operations/get-errors.test.js +54 -55
  227. package/dist/operations/get-errors.test.js.map +1 -1
  228. package/dist/operations/get-feed.d.ts +83 -4
  229. package/dist/operations/get-feed.d.ts.map +1 -1
  230. package/dist/operations/get-feed.js +400 -153
  231. package/dist/operations/get-feed.js.map +1 -1
  232. package/dist/operations/get-feed.test.js +416 -190
  233. package/dist/operations/get-feed.test.js.map +1 -1
  234. package/dist/operations/get-post-engagers.d.ts +6 -3
  235. package/dist/operations/get-post-engagers.d.ts.map +1 -1
  236. package/dist/operations/get-post-engagers.js +278 -78
  237. package/dist/operations/get-post-engagers.js.map +1 -1
  238. package/dist/operations/get-post-engagers.test.js +292 -14
  239. package/dist/operations/get-post-engagers.test.js.map +1 -1
  240. package/dist/operations/get-post-stats.d.ts +8 -3
  241. package/dist/operations/get-post-stats.d.ts.map +1 -1
  242. package/dist/operations/get-post-stats.js +101 -37
  243. package/dist/operations/get-post-stats.js.map +1 -1
  244. package/dist/operations/get-post-stats.test.js +137 -2
  245. package/dist/operations/get-post-stats.test.js.map +1 -1
  246. package/dist/operations/get-post.d.ts +9 -150
  247. package/dist/operations/get-post.d.ts.map +1 -1
  248. package/dist/operations/get-post.js +356 -210
  249. package/dist/operations/get-post.js.map +1 -1
  250. package/dist/operations/get-post.test.js +210 -387
  251. package/dist/operations/get-post.test.js.map +1 -1
  252. package/dist/operations/get-profile-activity.d.ts +13 -92
  253. package/dist/operations/get-profile-activity.d.ts.map +1 -1
  254. package/dist/operations/get-profile-activity.js +305 -105
  255. package/dist/operations/get-profile-activity.js.map +1 -1
  256. package/dist/operations/get-profile-activity.test.js +277 -158
  257. package/dist/operations/get-profile-activity.test.js.map +1 -1
  258. package/dist/operations/get-throttle-status.d.ts +1 -1
  259. package/dist/operations/get-throttle-status.d.ts.map +1 -1
  260. package/dist/operations/get-throttle-status.js +4 -10
  261. package/dist/operations/get-throttle-status.js.map +1 -1
  262. package/dist/operations/import-people-from-collection.d.ts +1 -1
  263. package/dist/operations/import-people-from-collection.d.ts.map +1 -1
  264. package/dist/operations/import-people-from-collection.js +3 -6
  265. package/dist/operations/import-people-from-collection.js.map +1 -1
  266. package/dist/operations/import-people-from-urls.d.ts +1 -1
  267. package/dist/operations/import-people-from-urls.d.ts.map +1 -1
  268. package/dist/operations/import-people-from-urls.js +3 -6
  269. package/dist/operations/import-people-from-urls.js.map +1 -1
  270. package/dist/operations/index.d.ts +2 -2
  271. package/dist/operations/index.d.ts.map +1 -1
  272. package/dist/operations/index.js +2 -1
  273. package/dist/operations/index.js.map +1 -1
  274. package/dist/operations/like-person-posts.test.d.ts +2 -0
  275. package/dist/operations/like-person-posts.test.d.ts.map +1 -0
  276. package/dist/operations/like-person-posts.test.js +103 -0
  277. package/dist/operations/like-person-posts.test.js.map +1 -0
  278. package/dist/operations/list-collections.d.ts +1 -1
  279. package/dist/operations/list-collections.d.ts.map +1 -1
  280. package/dist/operations/list-collections.js +3 -6
  281. package/dist/operations/list-collections.js.map +1 -1
  282. package/dist/operations/message-person.test.d.ts +2 -0
  283. package/dist/operations/message-person.test.d.ts.map +1 -0
  284. package/dist/operations/message-person.test.js +108 -0
  285. package/dist/operations/message-person.test.js.map +1 -0
  286. package/dist/operations/navigate-away.d.ts +14 -0
  287. package/dist/operations/navigate-away.d.ts.map +1 -0
  288. package/dist/operations/navigate-away.js +24 -0
  289. package/dist/operations/navigate-away.js.map +1 -0
  290. package/dist/operations/navigate-away.test.d.ts +2 -0
  291. package/dist/operations/navigate-away.test.d.ts.map +1 -0
  292. package/dist/operations/navigate-away.test.js +51 -0
  293. package/dist/operations/navigate-away.test.js.map +1 -0
  294. package/dist/operations/query-messages.d.ts +1 -1
  295. package/dist/operations/query-messages.d.ts.map +1 -1
  296. package/dist/operations/query-messages.js +3 -6
  297. package/dist/operations/query-messages.js.map +1 -1
  298. package/dist/operations/react-to-post.d.ts +16 -4
  299. package/dist/operations/react-to-post.d.ts.map +1 -1
  300. package/dist/operations/react-to-post.js +86 -24
  301. package/dist/operations/react-to-post.js.map +1 -1
  302. package/dist/operations/react-to-post.test.js +55 -5
  303. package/dist/operations/react-to-post.test.js.map +1 -1
  304. package/dist/operations/remove-connection.test.d.ts +2 -0
  305. package/dist/operations/remove-connection.test.d.ts.map +1 -0
  306. package/dist/operations/remove-connection.test.js +45 -0
  307. package/dist/operations/remove-connection.test.js.map +1 -0
  308. package/dist/operations/remove-people-from-collection.d.ts +1 -1
  309. package/dist/operations/remove-people-from-collection.d.ts.map +1 -1
  310. package/dist/operations/remove-people-from-collection.js +3 -6
  311. package/dist/operations/remove-people-from-collection.js.map +1 -1
  312. package/dist/operations/resolve-linkedin-entity.d.ts.map +1 -1
  313. package/dist/operations/resolve-linkedin-entity.js +2 -2
  314. package/dist/operations/resolve-linkedin-entity.js.map +1 -1
  315. package/dist/operations/resolve-linkedin-entity.test.d.ts +2 -0
  316. package/dist/operations/resolve-linkedin-entity.test.d.ts.map +1 -0
  317. package/dist/operations/resolve-linkedin-entity.test.js +343 -0
  318. package/dist/operations/resolve-linkedin-entity.test.js.map +1 -0
  319. package/dist/operations/scrape-messaging-history.d.ts +2 -1
  320. package/dist/operations/scrape-messaging-history.d.ts.map +1 -1
  321. package/dist/operations/scrape-messaging-history.js +113 -18
  322. package/dist/operations/scrape-messaging-history.js.map +1 -1
  323. package/dist/operations/scrape-messaging-history.test.js +109 -12
  324. package/dist/operations/scrape-messaging-history.test.js.map +1 -1
  325. package/dist/operations/search-posts.d.ts +20 -112
  326. package/dist/operations/search-posts.d.ts.map +1 -1
  327. package/dist/operations/search-posts.js +369 -170
  328. package/dist/operations/search-posts.js.map +1 -1
  329. package/dist/operations/search-posts.test.js +273 -234
  330. package/dist/operations/search-posts.test.js.map +1 -1
  331. package/dist/operations/send-inmail.test.d.ts +2 -0
  332. package/dist/operations/send-inmail.test.d.ts.map +1 -0
  333. package/dist/operations/send-inmail.test.js +108 -0
  334. package/dist/operations/send-inmail.test.js.map +1 -0
  335. package/dist/operations/send-invite.test.d.ts +2 -0
  336. package/dist/operations/send-invite.test.d.ts.map +1 -0
  337. package/dist/operations/send-invite.test.js +59 -0
  338. package/dist/operations/send-invite.test.js.map +1 -0
  339. package/dist/operations/types.d.ts +27 -1
  340. package/dist/operations/types.d.ts.map +1 -1
  341. package/dist/operations/types.js +14 -1
  342. package/dist/operations/types.js.map +1 -1
  343. package/dist/operations/visit-profile.d.ts +1 -1
  344. package/dist/operations/visit-profile.d.ts.map +1 -1
  345. package/dist/operations/visit-profile.js +3 -6
  346. package/dist/operations/visit-profile.js.map +1 -1
  347. package/dist/services/account-resolution.d.ts +10 -4
  348. package/dist/services/account-resolution.d.ts.map +1 -1
  349. package/dist/services/account-resolution.js +63 -5
  350. package/dist/services/account-resolution.js.map +1 -1
  351. package/dist/services/app.d.ts +6 -2
  352. package/dist/services/app.d.ts.map +1 -1
  353. package/dist/services/app.js +18 -6
  354. package/dist/services/app.js.map +1 -1
  355. package/dist/services/app.test.js +41 -7
  356. package/dist/services/app.test.js.map +1 -1
  357. package/dist/services/campaign.d.ts +40 -4
  358. package/dist/services/campaign.d.ts.map +1 -1
  359. package/dist/services/campaign.js +176 -10
  360. package/dist/services/campaign.js.map +1 -1
  361. package/dist/services/campaign.test.js +53 -15
  362. package/dist/services/campaign.test.js.map +1 -1
  363. package/dist/services/collection.d.ts +16 -21
  364. package/dist/services/collection.d.ts.map +1 -1
  365. package/dist/services/collection.js +34 -47
  366. package/dist/services/collection.js.map +1 -1
  367. package/dist/services/collection.test.js +30 -91
  368. package/dist/services/collection.test.js.map +1 -1
  369. package/dist/services/ephemeral-campaign.d.ts +6 -0
  370. package/dist/services/ephemeral-campaign.d.ts.map +1 -1
  371. package/dist/services/ephemeral-campaign.js +54 -10
  372. package/dist/services/ephemeral-campaign.js.map +1 -1
  373. package/dist/services/ephemeral-campaign.test.js +23 -10
  374. package/dist/services/ephemeral-campaign.test.js.map +1 -1
  375. package/dist/services/errors.d.ts +2 -1
  376. package/dist/services/errors.d.ts.map +1 -1
  377. package/dist/services/errors.js +6 -3
  378. package/dist/services/errors.js.map +1 -1
  379. package/dist/services/index.d.ts +1 -2
  380. package/dist/services/index.d.ts.map +1 -1
  381. package/dist/services/index.js +1 -2
  382. package/dist/services/index.js.map +1 -1
  383. package/dist/services/instance-context.d.ts +5 -1
  384. package/dist/services/instance-context.d.ts.map +1 -1
  385. package/dist/services/instance-context.js +87 -28
  386. package/dist/services/instance-context.js.map +1 -1
  387. package/dist/services/instance-context.test.js +5 -1
  388. package/dist/services/instance-context.test.js.map +1 -1
  389. package/dist/services/instance-lifecycle.d.ts.map +1 -1
  390. package/dist/services/instance-lifecycle.js +32 -1
  391. package/dist/services/instance-lifecycle.js.map +1 -1
  392. package/dist/services/instance-lifecycle.test.js +52 -1
  393. package/dist/services/instance-lifecycle.test.js.map +1 -1
  394. package/dist/services/instance.d.ts +37 -9
  395. package/dist/services/instance.d.ts.map +1 -1
  396. package/dist/services/instance.js +100 -25
  397. package/dist/services/instance.js.map +1 -1
  398. package/dist/services/instance.test.js +157 -0
  399. package/dist/services/instance.test.js.map +1 -1
  400. package/dist/services/launcher.d.ts +47 -3
  401. package/dist/services/launcher.d.ts.map +1 -1
  402. package/dist/services/launcher.js +205 -33
  403. package/dist/services/launcher.js.map +1 -1
  404. package/dist/services/launcher.test.js +133 -6
  405. package/dist/services/launcher.test.js.map +1 -1
  406. package/dist/services/source-type-registry.d.ts +8 -0
  407. package/dist/services/source-type-registry.d.ts.map +1 -1
  408. package/dist/services/source-type-registry.js +39 -0
  409. package/dist/services/source-type-registry.js.map +1 -1
  410. package/dist/services/source-type-registry.test.js +31 -1
  411. package/dist/services/source-type-registry.test.js.map +1 -1
  412. package/dist/services/status.d.ts +6 -2
  413. package/dist/services/status.d.ts.map +1 -1
  414. package/dist/services/status.js +67 -34
  415. package/dist/services/status.js.map +1 -1
  416. package/dist/services/status.test.js +9 -2
  417. package/dist/services/status.test.js.map +1 -1
  418. package/dist/testing/e2e-helpers.d.ts +47 -1
  419. package/dist/testing/e2e-helpers.d.ts.map +1 -1
  420. package/dist/testing/e2e-helpers.js +244 -7
  421. package/dist/testing/e2e-helpers.js.map +1 -1
  422. package/dist/testing/index.d.ts +1 -1
  423. package/dist/testing/index.d.ts.map +1 -1
  424. package/dist/testing/index.js +1 -1
  425. package/dist/testing/index.js.map +1 -1
  426. package/dist/types/account.d.ts +1 -1
  427. package/dist/types/campaign.d.ts +1 -1
  428. package/dist/types/campaign.d.ts.map +1 -1
  429. package/dist/types/feed.d.ts +1 -3
  430. package/dist/types/feed.d.ts.map +1 -1
  431. package/dist/types/index.d.ts +0 -1
  432. package/dist/types/index.d.ts.map +1 -1
  433. package/dist/utils/cdp-port.d.ts.map +1 -1
  434. package/dist/utils/cdp-port.js +3 -1
  435. package/dist/utils/cdp-port.js.map +1 -1
  436. package/dist/utils/cdp-port.test.js +1 -1
  437. package/dist/utils/cdp-port.test.js.map +1 -1
  438. package/dist/utils/delay.d.ts +79 -0
  439. package/dist/utils/delay.d.ts.map +1 -1
  440. package/dist/utils/delay.js +118 -0
  441. package/dist/utils/delay.js.map +1 -1
  442. package/dist/utils/delay.test.js +111 -1
  443. package/dist/utils/delay.test.js.map +1 -1
  444. package/dist/utils/index.d.ts +2 -1
  445. package/dist/utils/index.d.ts.map +1 -1
  446. package/dist/utils/index.js +2 -1
  447. package/dist/utils/index.js.map +1 -1
  448. package/dist/utils/session-pacer.d.ts +27 -0
  449. package/dist/utils/session-pacer.d.ts.map +1 -0
  450. package/dist/utils/session-pacer.js +55 -0
  451. package/dist/utils/session-pacer.js.map +1 -0
  452. package/dist/utils/session-pacer.test.d.ts +2 -0
  453. package/dist/utils/session-pacer.test.d.ts.map +1 -0
  454. package/dist/utils/session-pacer.test.js +111 -0
  455. package/dist/utils/session-pacer.test.js.map +1 -0
  456. package/package.json +1 -1
  457. package/dist/linkedin/__tests__/selectors.integration.test.d.ts +0 -2
  458. package/dist/linkedin/__tests__/selectors.integration.test.d.ts.map +0 -1
  459. package/dist/linkedin/__tests__/selectors.integration.test.js +0 -258
  460. package/dist/linkedin/__tests__/selectors.integration.test.js.map +0 -1
  461. package/dist/types/search-posts.d.ts +0 -22
  462. package/dist/types/search-posts.d.ts.map +0 -1
  463. package/dist/types/search-posts.js +0 -4
  464. package/dist/types/search-posts.js.map +0 -1
  465. package/dist/voyager/index.d.ts +0 -2
  466. package/dist/voyager/index.d.ts.map +0 -1
  467. package/dist/voyager/index.js +0 -4
  468. package/dist/voyager/index.js.map +0 -1
  469. package/dist/voyager/interceptor.d.ts +0 -100
  470. package/dist/voyager/interceptor.d.ts.map +0 -1
  471. package/dist/voyager/interceptor.integration.test.d.ts +0 -2
  472. package/dist/voyager/interceptor.integration.test.d.ts.map +0 -1
  473. package/dist/voyager/interceptor.integration.test.js +0 -89
  474. package/dist/voyager/interceptor.integration.test.js.map +0 -1
  475. package/dist/voyager/interceptor.js +0 -235
  476. package/dist/voyager/interceptor.js.map +0 -1
  477. package/dist/voyager/interceptor.test.d.ts +0 -2
  478. package/dist/voyager/interceptor.test.d.ts.map +0 -1
  479. package/dist/voyager/interceptor.test.js +0 -372
  480. package/dist/voyager/interceptor.test.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ import type { InstanceService } from "../services/instance.js";
2
+ /**
3
+ * Humanized mouse interaction via LinkedHelper's VirtualMouse.
4
+ *
5
+ * Accesses LH's VirtualMouse through `@electron/remote` from the
6
+ * instance UI target. VirtualMouse provides Bezier-curve mouse paths
7
+ * with intentional overshoot, recorded human track replay, velocity
8
+ * variation, and proper press/release click timing — all dispatched
9
+ * to the LinkedIn WebView via CDP `Input.dispatchMouseEvent`.
10
+ *
11
+ * Call {@link initialize} after `InstanceService.connect()` to probe
12
+ * whether VirtualMouse is accessible. If not, all methods throw.
13
+ */
14
+ export declare class HumanizedMouse {
15
+ private readonly instance;
16
+ private available;
17
+ constructor(instance: InstanceService);
18
+ /**
19
+ * Probe whether LH's VirtualMouse is accessible via `@electron/remote`.
20
+ *
21
+ * @returns `true` if VirtualMouse is available and methods can be called.
22
+ */
23
+ initialize(): Promise<boolean>;
24
+ /** Whether LH's native VirtualMouse is available. */
25
+ get isAvailable(): boolean;
26
+ /**
27
+ * Move the cursor to the given coordinates along a humanized path.
28
+ *
29
+ * Uses Bezier curves with random cubic anchors (creating wrist-arc
30
+ * paths), intentional overshoot (40–91 % probability depending on
31
+ * distance), and variable velocity (fast start, slow finish).
32
+ * When recorded human tracks are available, replays a matching track
33
+ * rotated and scaled to fit the movement vector.
34
+ */
35
+ move(x: number, y: number): Promise<void>;
36
+ /**
37
+ * Move the cursor to the given coordinates and click.
38
+ *
39
+ * The cursor follows a humanized path to the target, then dispatches
40
+ * `mousePressed` → 100 ms delay → `mouseReleased` via CDP.
41
+ */
42
+ click(x: number, y: number): Promise<void>;
43
+ /**
44
+ * Move the cursor to the given coordinates and scroll vertically.
45
+ *
46
+ * Scrolling is emulated as incremental mouse-wheel strokes (150 px
47
+ * every 25 ms by default) to mimic a physical scroll wheel.
48
+ *
49
+ * @param deltaY - Pixels to scroll (positive = down, negative = up).
50
+ * @param x - Cursor X position for the scroll.
51
+ * @param y - Cursor Y position for the scroll.
52
+ */
53
+ scrollY(deltaY: number, x: number, y: number): Promise<void>;
54
+ /**
55
+ * Get the current VirtualMouse cursor position.
56
+ */
57
+ position(): Promise<{
58
+ x: number;
59
+ y: number;
60
+ }>;
61
+ /**
62
+ * Evaluate an expression on the VirtualMouse instance (awaited).
63
+ *
64
+ * The expression must reference the VirtualMouse instance as `vm`.
65
+ */
66
+ private vmEval;
67
+ private ensureAvailable;
68
+ }
69
+ //# sourceMappingURL=humanized-mouse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"humanized-mouse.d.ts","sourceRoot":"","sources":["../../src/linkedin/humanized-mouse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,SAAS,CAAS;gBAEG,QAAQ,EAAE,eAAe;IAEtD;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBpC,qDAAqD;IACrD,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;;;;;OAQG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;;OAKG;IACG,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;;;;;;;OASG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAYnD;;;;OAIG;YACW,MAAM;IAYpB,OAAO,CAAC,eAAe;CAOxB"}
@@ -0,0 +1,109 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ // Copyright (C) 2026 Oleksii PELYKH
3
+ /**
4
+ * Humanized mouse interaction via LinkedHelper's VirtualMouse.
5
+ *
6
+ * Accesses LH's VirtualMouse through `@electron/remote` from the
7
+ * instance UI target. VirtualMouse provides Bezier-curve mouse paths
8
+ * with intentional overshoot, recorded human track replay, velocity
9
+ * variation, and proper press/release click timing — all dispatched
10
+ * to the LinkedIn WebView via CDP `Input.dispatchMouseEvent`.
11
+ *
12
+ * Call {@link initialize} after `InstanceService.connect()` to probe
13
+ * whether VirtualMouse is accessible. If not, all methods throw.
14
+ */
15
+ export class HumanizedMouse {
16
+ instance;
17
+ available = false;
18
+ constructor(instance) {
19
+ this.instance = instance;
20
+ }
21
+ /**
22
+ * Probe whether LH's VirtualMouse is accessible via `@electron/remote`.
23
+ *
24
+ * @returns `true` if VirtualMouse is available and methods can be called.
25
+ */
26
+ async initialize() {
27
+ try {
28
+ this.available = await this.instance.evaluateUI(`(() => {
29
+ try {
30
+ const remote = require('@electron/remote');
31
+ const mw = remote.getGlobal('mainWindow');
32
+ return typeof mw?.contentWindow?.virtualMouse?.click === 'function';
33
+ } catch { return false; }
34
+ })()`, false);
35
+ }
36
+ catch {
37
+ this.available = false;
38
+ }
39
+ return this.available;
40
+ }
41
+ /** Whether LH's native VirtualMouse is available. */
42
+ get isAvailable() {
43
+ return this.available;
44
+ }
45
+ /**
46
+ * Move the cursor to the given coordinates along a humanized path.
47
+ *
48
+ * Uses Bezier curves with random cubic anchors (creating wrist-arc
49
+ * paths), intentional overshoot (40–91 % probability depending on
50
+ * distance), and variable velocity (fast start, slow finish).
51
+ * When recorded human tracks are available, replays a matching track
52
+ * rotated and scaled to fit the movement vector.
53
+ */
54
+ async move(x, y) {
55
+ await this.vmEval(`vm.move({ x: ${String(x)}, y: ${String(y)} })`);
56
+ }
57
+ /**
58
+ * Move the cursor to the given coordinates and click.
59
+ *
60
+ * The cursor follows a humanized path to the target, then dispatches
61
+ * `mousePressed` → 100 ms delay → `mouseReleased` via CDP.
62
+ */
63
+ async click(x, y) {
64
+ await this.vmEval(`vm.click({ x: ${String(x)}, y: ${String(y)} })`);
65
+ }
66
+ /**
67
+ * Move the cursor to the given coordinates and scroll vertically.
68
+ *
69
+ * Scrolling is emulated as incremental mouse-wheel strokes (150 px
70
+ * every 25 ms by default) to mimic a physical scroll wheel.
71
+ *
72
+ * @param deltaY - Pixels to scroll (positive = down, negative = up).
73
+ * @param x - Cursor X position for the scroll.
74
+ * @param y - Cursor Y position for the scroll.
75
+ */
76
+ async scrollY(deltaY, x, y) {
77
+ await this.vmEval(`vm.scrollY(${String(deltaY)}, { x: ${String(x)}, y: ${String(y)} })`);
78
+ }
79
+ /**
80
+ * Get the current VirtualMouse cursor position.
81
+ */
82
+ async position() {
83
+ this.ensureAvailable();
84
+ return this.instance.evaluateUI(`(() => {
85
+ const remote = require('@electron/remote');
86
+ const vm = remote.getGlobal('mainWindow').contentWindow.virtualMouse;
87
+ return { x: vm.position.x, y: vm.position.y };
88
+ })()`, false);
89
+ }
90
+ /**
91
+ * Evaluate an expression on the VirtualMouse instance (awaited).
92
+ *
93
+ * The expression must reference the VirtualMouse instance as `vm`.
94
+ */
95
+ async vmEval(expr) {
96
+ this.ensureAvailable();
97
+ await this.instance.evaluateUI(`(async () => {
98
+ const remote = require('@electron/remote');
99
+ const vm = remote.getGlobal('mainWindow').contentWindow.virtualMouse;
100
+ await ${expr};
101
+ })()`, true);
102
+ }
103
+ ensureAvailable() {
104
+ if (!this.available) {
105
+ throw new Error("HumanizedMouse is not available — call initialize() first or check isAvailable");
106
+ }
107
+ }
108
+ }
109
+ //# sourceMappingURL=humanized-mouse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"humanized-mouse.js","sourceRoot":"","sources":["../../src/linkedin/humanized-mouse.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAIpC;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAc;IAGI;IAFrB,SAAS,GAAG,KAAK,CAAC;IAE1B,YAA6B,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAG,CAAC;IAE1D;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7C;;;;;;aAMK,EACL,KAAK,CACN,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,qDAAqD;IACrD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAC,CAAS,EAAE,CAAS;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,CAAS,EAAE,CAAS;QAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,CAAS,EAAE,CAAS;QAChD,MAAM,IAAI,CAAC,MAAM,CACf,cAAc,MAAM,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,CACtE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7B;;;;WAIK,EACL,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,MAAM,CAAC,IAAY;QAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC5B;;;gBAGU,IAAI;WACT,EACL,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
- export { click, hover, scrollTo, typeText, type TypeMethod, waitForElement, type WaitForElementOptions, } from "./dom-automation.js";
2
- export { COMMENT_INPUT, COMMENT_SUBMIT_BUTTON, FEED_POST_CONTAINER, PAGINATION_TRIGGER, POST_AUTHOR_INFO, POST_AUTHOR_NAME, POST_TEXT_CONTENT, REACTION_CELEBRATE, REACTION_FUNNY, REACTION_INSIGHTFUL, REACTION_LIKE, REACTION_LOVE, REACTION_SUPPORT, REACTION_TRIGGER, REACTIONS_MENU, SCROLL_CONTAINER, SELECTORS, type SelectorName, } from "./selectors.js";
1
+ export { click, getElementCenter, hover, humanizedClick, humanizedHover, humanizedScrollY, scrollTo, typeText, type TypeMethod, waitForDOMStable, waitForElement, type WaitForElementOptions, } from "./dom-automation.js";
2
+ export { HumanizedMouse } from "./humanized-mouse.js";
3
+ export { COMMENT_INPUT, COMMENT_SUBMIT_BUTTON, FEED_POST_CONTAINER, REACTION_CELEBRATE, REACTION_FUNNY, REACTION_INSIGHTFUL, REACTION_LIKE, REACTION_LOVE, REACTION_SUPPORT, REACTION_TRIGGER, SELECTORS, type SelectorName, } from "./selectors.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/linkedin/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,UAAU,EACf,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/linkedin/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,KAAK,UAAU,EACf,gBAAgB,EAChB,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // SPDX-License-Identifier: AGPL-3.0-only
2
2
  // Copyright (C) 2026 Oleksii PELYKH
3
- export { click, hover, scrollTo, typeText, waitForElement, } from "./dom-automation.js";
4
- export { COMMENT_INPUT, COMMENT_SUBMIT_BUTTON, FEED_POST_CONTAINER, PAGINATION_TRIGGER, POST_AUTHOR_INFO, POST_AUTHOR_NAME, POST_TEXT_CONTENT, REACTION_CELEBRATE, REACTION_FUNNY, REACTION_INSIGHTFUL, REACTION_LIKE, REACTION_LOVE, REACTION_SUPPORT, REACTION_TRIGGER, REACTIONS_MENU, SCROLL_CONTAINER, SELECTORS, } from "./selectors.js";
3
+ export { click, getElementCenter, hover, humanizedClick, humanizedHover, humanizedScrollY, scrollTo, typeText, waitForDOMStable, waitForElement, } from "./dom-automation.js";
4
+ export { HumanizedMouse } from "./humanized-mouse.js";
5
+ export { COMMENT_INPUT, COMMENT_SUBMIT_BUTTON, FEED_POST_CONTAINER, REACTION_CELEBRATE, REACTION_FUNNY, REACTION_INSIGHTFUL, REACTION_LIKE, REACTION_LOVE, REACTION_SUPPORT, REACTION_TRIGGER, SELECTORS, } from "./selectors.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/linkedin/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EAER,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,SAAS,GAEV,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/linkedin/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EAER,gBAAgB,EAChB,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,GAEV,MAAM,gBAAgB,CAAC"}
@@ -5,39 +5,71 @@
5
5
  * interaction (feed reading, commenting, reacting). When LinkedIn
6
6
  * changes their DOM structure, integration tests identify broken
7
7
  * selectors by name.
8
+ *
9
+ * **Note:** LinkedIn currently serves two different frontend stacks:
10
+ *
11
+ * - **Feed page** (`/feed/`): CSS modules with hashed class names,
12
+ * ProseMirror/TipTap editor, modern aria-label patterns.
13
+ * - **Post page** (`/posts/...`, `/feed/update/...`): Legacy Ember.js
14
+ * with BEM class names (`artdeco-button`, `react-button__trigger`),
15
+ * Quill editor (`.ql-editor`), different aria-label wording.
16
+ *
17
+ * All selectors use CSS selector lists (comma-separated) to match
18
+ * both variants where they differ.
19
+ */
20
+ /** Individual feed post wrapper (listitem inside the main feed). */
21
+ export declare const FEED_POST_CONTAINER = "[data-testid=\"mainFeed\"] [role=\"listitem\"]";
22
+ /**
23
+ * Rich-text editor for writing comments.
24
+ *
25
+ * - Feed page: ProseMirror/TipTap `div[role="textbox"]` with
26
+ * `aria-label="Text editor for creating comment"`.
27
+ * - Post page: Quill editor with `role="textbox"` and
28
+ * `aria-label="Text editor for creating content"`.
29
+ *
30
+ * Both variants share `role="textbox"` and the `aria-label` prefix
31
+ * "Text editor for creating", so a single selector covers both.
32
+ */
33
+ export declare const COMMENT_INPUT = "[role=\"textbox\"][aria-label^=\"Text editor for creating\"]";
34
+ /**
35
+ * Main reaction trigger button (Like / React).
36
+ *
37
+ * - Feed page: `aria-label` starts with "Reaction button state:".
38
+ * - Post page: `button.react-button__trigger` (BEM class, various
39
+ * aria-labels like "Unreact Like", "React Like to X's comment").
40
+ */
41
+ export declare const REACTION_TRIGGER = "button[aria-label^=\"Reaction button state\"], button.react-button__trigger";
42
+ /**
43
+ * Like reaction button (appears after hovering {@link REACTION_TRIGGER}).
44
+ *
45
+ * The reactions popup has no container element on the feed page —
46
+ * individual buttons appear directly in the DOM after a ~3 s
47
+ * CDP-level hover. On the post page, the popup uses the legacy
48
+ * `.reactions-menu` container.
49
+ *
50
+ * - Feed page: `button[aria-label="Like"]`
51
+ * - Post page: `button[aria-label="React Like"]`
52
+ * (inside `.reactions-menu`)
53
+ */
54
+ export declare const REACTION_LIKE = "button[aria-label=\"Like\"], button[aria-label=\"React Like\"]";
55
+ /** Celebrate reaction button (appears after hovering trigger). */
56
+ export declare const REACTION_CELEBRATE = "button[aria-label=\"Celebrate\"], button[aria-label=\"React Celebrate\"]";
57
+ /** Support reaction button (appears after hovering trigger). */
58
+ export declare const REACTION_SUPPORT = "button[aria-label=\"Support\"], button[aria-label=\"React Support\"]";
59
+ /** Love reaction button (appears after hovering trigger). */
60
+ export declare const REACTION_LOVE = "button[aria-label=\"Love\"], button[aria-label=\"React Love\"]";
61
+ /** Insightful reaction button (appears after hovering trigger). */
62
+ export declare const REACTION_INSIGHTFUL = "button[aria-label=\"Insightful\"], button[aria-label=\"React Insightful\"]";
63
+ /** Funny reaction button (appears after hovering trigger). */
64
+ export declare const REACTION_FUNNY = "button[aria-label=\"Funny\"], button[aria-label=\"React Funny\"]";
65
+ /**
66
+ * Submit button for the comment form.
67
+ *
68
+ * - Feed page: `button[type="submit"]` (starts disabled, enabled
69
+ * after typing).
70
+ * - Post page: BEM class `comments-comment-box__submit-button`.
8
71
  */
9
- /** Individual feed post wrapper. */
10
- export declare const FEED_POST_CONTAINER = "div.feed-shared-update-v2";
11
- /** Text content within a feed post. */
12
- export declare const POST_TEXT_CONTENT = ".feed-shared-update-v2__description";
13
- /** Post author's display name. */
14
- export declare const POST_AUTHOR_NAME = ".update-components-actor__title";
15
- /** Post author's headline / description line. */
16
- export declare const POST_AUTHOR_INFO = ".update-components-actor__description";
17
- /** Rich-text editor for writing comments (Quill-based). */
18
- export declare const COMMENT_INPUT = ".comments-comment-texteditor .ql-editor";
19
- /** Main reaction trigger button (Like / React). */
20
- export declare const REACTION_TRIGGER = "button.react-button__trigger";
21
- /** Reactions popup menu container (appears on hover). */
22
- export declare const REACTIONS_MENU = ".reactions-menu";
23
- /** Like reaction button inside the reactions menu. */
24
- export declare const REACTION_LIKE = ".reactions-menu button[aria-label=\"React Like\"]";
25
- /** Celebrate reaction button inside the reactions menu. */
26
- export declare const REACTION_CELEBRATE = ".reactions-menu button[aria-label=\"React Celebrate\"]";
27
- /** Support reaction button inside the reactions menu. */
28
- export declare const REACTION_SUPPORT = ".reactions-menu button[aria-label=\"React Support\"]";
29
- /** Love reaction button inside the reactions menu. */
30
- export declare const REACTION_LOVE = ".reactions-menu button[aria-label=\"React Love\"]";
31
- /** Insightful reaction button inside the reactions menu. */
32
- export declare const REACTION_INSIGHTFUL = ".reactions-menu button[aria-label=\"React Insightful\"]";
33
- /** Funny reaction button inside the reactions menu. */
34
- export declare const REACTION_FUNNY = ".reactions-menu button[aria-label=\"React Funny\"]";
35
- /** Submit button for the comment form. */
36
- export declare const COMMENT_SUBMIT_BUTTON = "button[class*=\"comments-comment-box__submit-button\"]";
37
- /** Main scrollable feed container. */
38
- export declare const SCROLL_CONTAINER = ".scaffold-finite-scroll";
39
- /** "Show more" / load-more button for feed pagination. */
40
- export declare const PAGINATION_TRIGGER = ".scaffold-finite-scroll__load-button";
72
+ export declare const COMMENT_SUBMIT_BUTTON = "button[type=\"submit\"], button[class*=\"comments-comment-box__submit-button\"]";
41
73
  /**
42
74
  * Aggregated registry of all selectors, keyed by name.
43
75
  *
@@ -45,22 +77,16 @@ export declare const PAGINATION_TRIGGER = ".scaffold-finite-scroll__load-button"
45
77
  * dynamic lookup by name at runtime.
46
78
  */
47
79
  export declare const SELECTORS: {
48
- readonly FEED_POST_CONTAINER: "div.feed-shared-update-v2";
49
- readonly POST_TEXT_CONTENT: ".feed-shared-update-v2__description";
50
- readonly POST_AUTHOR_NAME: ".update-components-actor__title";
51
- readonly POST_AUTHOR_INFO: ".update-components-actor__description";
52
- readonly COMMENT_INPUT: ".comments-comment-texteditor .ql-editor";
53
- readonly REACTION_TRIGGER: "button.react-button__trigger";
54
- readonly REACTIONS_MENU: ".reactions-menu";
55
- readonly REACTION_LIKE: ".reactions-menu button[aria-label=\"React Like\"]";
56
- readonly REACTION_CELEBRATE: ".reactions-menu button[aria-label=\"React Celebrate\"]";
57
- readonly REACTION_SUPPORT: ".reactions-menu button[aria-label=\"React Support\"]";
58
- readonly REACTION_LOVE: ".reactions-menu button[aria-label=\"React Love\"]";
59
- readonly REACTION_INSIGHTFUL: ".reactions-menu button[aria-label=\"React Insightful\"]";
60
- readonly REACTION_FUNNY: ".reactions-menu button[aria-label=\"React Funny\"]";
61
- readonly COMMENT_SUBMIT_BUTTON: "button[class*=\"comments-comment-box__submit-button\"]";
62
- readonly SCROLL_CONTAINER: ".scaffold-finite-scroll";
63
- readonly PAGINATION_TRIGGER: ".scaffold-finite-scroll__load-button";
80
+ readonly FEED_POST_CONTAINER: "[data-testid=\"mainFeed\"] [role=\"listitem\"]";
81
+ readonly COMMENT_INPUT: "[role=\"textbox\"][aria-label^=\"Text editor for creating\"]";
82
+ readonly REACTION_TRIGGER: "button[aria-label^=\"Reaction button state\"], button.react-button__trigger";
83
+ readonly REACTION_LIKE: "button[aria-label=\"Like\"], button[aria-label=\"React Like\"]";
84
+ readonly REACTION_CELEBRATE: "button[aria-label=\"Celebrate\"], button[aria-label=\"React Celebrate\"]";
85
+ readonly REACTION_SUPPORT: "button[aria-label=\"Support\"], button[aria-label=\"React Support\"]";
86
+ readonly REACTION_LOVE: "button[aria-label=\"Love\"], button[aria-label=\"React Love\"]";
87
+ readonly REACTION_INSIGHTFUL: "button[aria-label=\"Insightful\"], button[aria-label=\"React Insightful\"]";
88
+ readonly REACTION_FUNNY: "button[aria-label=\"Funny\"], button[aria-label=\"React Funny\"]";
89
+ readonly COMMENT_SUBMIT_BUTTON: "button[type=\"submit\"], button[class*=\"comments-comment-box__submit-button\"]";
64
90
  };
65
91
  /** Union of all selector names in the registry. */
66
92
  export type SelectorName = keyof typeof SELECTORS;
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/linkedin/selectors.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAIH,oCAAoC;AACpC,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D,uCAAuC;AACvC,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAIvE,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAElE,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,0CAA0C,CAAC;AAIxE,2DAA2D;AAC3D,eAAO,MAAM,aAAa,4CAA4C,CAAC;AAIvE,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,iCAAiC,CAAC;AAE/D,yDAAyD;AACzD,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,sDAAsD;AACtD,eAAO,MAAM,aAAa,sDAAoD,CAAC;AAE/E,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,2DAAyD,CAAC;AAEzF,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,yDAAuD,CAAC;AAErF,sDAAsD;AACtD,eAAO,MAAM,aAAa,sDAAoD,CAAC;AAE/E,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,4DAA0D,CAAC;AAE3F,uDAAuD;AACvD,eAAO,MAAM,cAAc,uDAAqD,CAAC;AAIjF,0CAA0C;AAC1C,eAAO,MAAM,qBAAqB,2DAAyD,CAAC;AAI5F,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,4BAA4B,CAAC;AAI1D,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,yCAAyC,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;CAiBZ,CAAC;AAEX,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/linkedin/selectors.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,mDAA+C,CAAC;AAIhF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,iEACkC,CAAC;AAI7D;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,gFACgD,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,mEACoC,CAAC;AAE/D,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,6EACyC,CAAC;AAEzE,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,yEACuC,CAAC;AAErE,6DAA6D;AAC7D,eAAO,MAAM,aAAa,mEACoC,CAAC;AAE/D,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,+EAC0C,CAAC;AAE3E,8DAA8D;AAC9D,eAAO,MAAM,cAAc,qEACqC,CAAC;AAIjE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,oFAC6C,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;CAWZ,CAAC;AAEX,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC"}
@@ -7,46 +7,75 @@
7
7
  * interaction (feed reading, commenting, reacting). When LinkedIn
8
8
  * changes their DOM structure, integration tests identify broken
9
9
  * selectors by name.
10
+ *
11
+ * **Note:** LinkedIn currently serves two different frontend stacks:
12
+ *
13
+ * - **Feed page** (`/feed/`): CSS modules with hashed class names,
14
+ * ProseMirror/TipTap editor, modern aria-label patterns.
15
+ * - **Post page** (`/posts/...`, `/feed/update/...`): Legacy Ember.js
16
+ * with BEM class names (`artdeco-button`, `react-button__trigger`),
17
+ * Quill editor (`.ql-editor`), different aria-label wording.
18
+ *
19
+ * All selectors use CSS selector lists (comma-separated) to match
20
+ * both variants where they differ.
10
21
  */
11
22
  // ── Feed post containers ──────────────────────────────────────────
12
- /** Individual feed post wrapper. */
13
- export const FEED_POST_CONTAINER = "div.feed-shared-update-v2";
14
- /** Text content within a feed post. */
15
- export const POST_TEXT_CONTENT = ".feed-shared-update-v2__description";
16
- // ── Author info ───────────────────────────────────────────────────
17
- /** Post author's display name. */
18
- export const POST_AUTHOR_NAME = ".update-components-actor__title";
19
- /** Post author's headline / description line. */
20
- export const POST_AUTHOR_INFO = ".update-components-actor__description";
23
+ /** Individual feed post wrapper (listitem inside the main feed). */
24
+ export const FEED_POST_CONTAINER = '[data-testid="mainFeed"] [role="listitem"]';
21
25
  // ── Comment input fields ──────────────────────────────────────────
22
- /** Rich-text editor for writing comments (Quill-based). */
23
- export const COMMENT_INPUT = ".comments-comment-texteditor .ql-editor";
26
+ /**
27
+ * Rich-text editor for writing comments.
28
+ *
29
+ * - Feed page: ProseMirror/TipTap `div[role="textbox"]` with
30
+ * `aria-label="Text editor for creating comment"`.
31
+ * - Post page: Quill editor with `role="textbox"` and
32
+ * `aria-label="Text editor for creating content"`.
33
+ *
34
+ * Both variants share `role="textbox"` and the `aria-label` prefix
35
+ * "Text editor for creating", so a single selector covers both.
36
+ */
37
+ export const COMMENT_INPUT = '[role="textbox"][aria-label^="Text editor for creating"]';
24
38
  // ── Reaction buttons ──────────────────────────────────────────────
25
- /** Main reaction trigger button (Like / React). */
26
- export const REACTION_TRIGGER = "button.react-button__trigger";
27
- /** Reactions popup menu container (appears on hover). */
28
- export const REACTIONS_MENU = ".reactions-menu";
29
- /** Like reaction button inside the reactions menu. */
30
- export const REACTION_LIKE = '.reactions-menu button[aria-label="React Like"]';
31
- /** Celebrate reaction button inside the reactions menu. */
32
- export const REACTION_CELEBRATE = '.reactions-menu button[aria-label="React Celebrate"]';
33
- /** Support reaction button inside the reactions menu. */
34
- export const REACTION_SUPPORT = '.reactions-menu button[aria-label="React Support"]';
35
- /** Love reaction button inside the reactions menu. */
36
- export const REACTION_LOVE = '.reactions-menu button[aria-label="React Love"]';
37
- /** Insightful reaction button inside the reactions menu. */
38
- export const REACTION_INSIGHTFUL = '.reactions-menu button[aria-label="React Insightful"]';
39
- /** Funny reaction button inside the reactions menu. */
40
- export const REACTION_FUNNY = '.reactions-menu button[aria-label="React Funny"]';
39
+ /**
40
+ * Main reaction trigger button (Like / React).
41
+ *
42
+ * - Feed page: `aria-label` starts with "Reaction button state:".
43
+ * - Post page: `button.react-button__trigger` (BEM class, various
44
+ * aria-labels like "Unreact Like", "React Like to X's comment").
45
+ */
46
+ export const REACTION_TRIGGER = 'button[aria-label^="Reaction button state"], button.react-button__trigger';
47
+ /**
48
+ * Like reaction button (appears after hovering {@link REACTION_TRIGGER}).
49
+ *
50
+ * The reactions popup has no container element on the feed page —
51
+ * individual buttons appear directly in the DOM after a ~3 s
52
+ * CDP-level hover. On the post page, the popup uses the legacy
53
+ * `.reactions-menu` container.
54
+ *
55
+ * - Feed page: `button[aria-label="Like"]`
56
+ * - Post page: `button[aria-label="React Like"]`
57
+ * (inside `.reactions-menu`)
58
+ */
59
+ export const REACTION_LIKE = 'button[aria-label="Like"], button[aria-label="React Like"]';
60
+ /** Celebrate reaction button (appears after hovering trigger). */
61
+ export const REACTION_CELEBRATE = 'button[aria-label="Celebrate"], button[aria-label="React Celebrate"]';
62
+ /** Support reaction button (appears after hovering trigger). */
63
+ export const REACTION_SUPPORT = 'button[aria-label="Support"], button[aria-label="React Support"]';
64
+ /** Love reaction button (appears after hovering trigger). */
65
+ export const REACTION_LOVE = 'button[aria-label="Love"], button[aria-label="React Love"]';
66
+ /** Insightful reaction button (appears after hovering trigger). */
67
+ export const REACTION_INSIGHTFUL = 'button[aria-label="Insightful"], button[aria-label="React Insightful"]';
68
+ /** Funny reaction button (appears after hovering trigger). */
69
+ export const REACTION_FUNNY = 'button[aria-label="Funny"], button[aria-label="React Funny"]';
41
70
  // ── Send / submit buttons ─────────────────────────────────────────
42
- /** Submit button for the comment form. */
43
- export const COMMENT_SUBMIT_BUTTON = 'button[class*="comments-comment-box__submit-button"]';
44
- // ── Scroll containers ─────────────────────────────────────────────
45
- /** Main scrollable feed container. */
46
- export const SCROLL_CONTAINER = ".scaffold-finite-scroll";
47
- // ── Pagination triggers ───────────────────────────────────────────
48
- /** "Show more" / load-more button for feed pagination. */
49
- export const PAGINATION_TRIGGER = ".scaffold-finite-scroll__load-button";
71
+ /**
72
+ * Submit button for the comment form.
73
+ *
74
+ * - Feed page: `button[type="submit"]` (starts disabled, enabled
75
+ * after typing).
76
+ * - Post page: BEM class `comments-comment-box__submit-button`.
77
+ */
78
+ export const COMMENT_SUBMIT_BUTTON = 'button[type="submit"], button[class*="comments-comment-box__submit-button"]';
50
79
  /**
51
80
  * Aggregated registry of all selectors, keyed by name.
52
81
  *
@@ -55,12 +84,8 @@ export const PAGINATION_TRIGGER = ".scaffold-finite-scroll__load-button";
55
84
  */
56
85
  export const SELECTORS = {
57
86
  FEED_POST_CONTAINER,
58
- POST_TEXT_CONTENT,
59
- POST_AUTHOR_NAME,
60
- POST_AUTHOR_INFO,
61
87
  COMMENT_INPUT,
62
88
  REACTION_TRIGGER,
63
- REACTIONS_MENU,
64
89
  REACTION_LIKE,
65
90
  REACTION_CELEBRATE,
66
91
  REACTION_SUPPORT,
@@ -68,7 +93,5 @@ export const SELECTORS = {
68
93
  REACTION_INSIGHTFUL,
69
94
  REACTION_FUNNY,
70
95
  COMMENT_SUBMIT_BUTTON,
71
- SCROLL_CONTAINER,
72
- PAGINATION_TRIGGER,
73
96
  };
74
97
  //# sourceMappingURL=selectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/linkedin/selectors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC;;;;;;;GAOG;AAEH,qEAAqE;AAErE,oCAAoC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAE/D,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,qCAAqC,CAAC;AAEvE,qEAAqE;AAErE,kCAAkC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAElE,iDAAiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;AAExE,qEAAqE;AAErE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC;AAEvE,qEAAqE;AAErE,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAE/D,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEhD,sDAAsD;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,iDAAiD,CAAC;AAE/E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,sDAAsD,CAAC;AAEzF,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,oDAAoD,CAAC;AAErF,sDAAsD;AACtD,MAAM,CAAC,MAAM,aAAa,GAAG,iDAAiD,CAAC;AAE/E,4DAA4D;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,uDAAuD,CAAC;AAE3F,uDAAuD;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,kDAAkD,CAAC;AAEjF,qEAAqE;AAErE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,sDAAsD,CAAC;AAE5F,qEAAqE;AAErE,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAE1D,qEAAqE;AAErE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,qBAAqB;IACrB,gBAAgB;IAChB,kBAAkB;CACV,CAAC"}
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/linkedin/selectors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC;;;;;;;;;;;;;;;;;;GAkBG;AAEH,qEAAqE;AAErE,oEAAoE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,4CAA4C,CAAC;AAEhF,qEAAqE;AAErE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,0DAA0D,CAAC;AAE7D,qEAAqE;AAErE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,2EAA2E,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,4DAA4D,CAAC;AAE/D,kEAAkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,sEAAsE,CAAC;AAEzE,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAC3B,kEAAkE,CAAC;AAErE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GACxB,4DAA4D,CAAC;AAE/D,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAC9B,wEAAwE,CAAC;AAE3E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GACzB,8DAA8D,CAAC;AAEjE,qEAAqE;AAErE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,6EAA6E,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,mBAAmB;IACnB,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,qBAAqB;CACb,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ConnectionOptions } from "./types.js";
1
+ import { type ConnectionOptions } from "./types.js";
2
2
  /**
3
3
  * Input for the add-people-to-collection operation.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"add-people-to-collection.d.ts","sourceRoot":"","sources":["../../src/operations/add-people-to-collection.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAkBtC"}
1
+ {"version":3,"file":"add-people-to-collection.d.ts","sourceRoot":"","sources":["../../src/operations/add-people-to-collection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAetC"}
@@ -3,16 +3,13 @@
3
3
  import { resolveAccount } from "../services/account-resolution.js";
4
4
  import { withDatabase } from "../services/instance-context.js";
5
5
  import { CollectionListRepository } from "../db/index.js";
6
- import { DEFAULT_CDP_PORT } from "../constants.js";
6
+ import { buildCdpOptions } from "./types.js";
7
7
  /**
8
8
  * Add people to a collection by person IDs.
9
9
  */
10
10
  export async function addPeopleToCollection(input) {
11
- const cdpPort = input.cdpPort ?? DEFAULT_CDP_PORT;
12
- const accountId = await resolveAccount(cdpPort, {
13
- ...(input.cdpHost !== undefined && { host: input.cdpHost }),
14
- ...(input.allowRemote !== undefined && { allowRemote: input.allowRemote }),
15
- });
11
+ const cdpPort = input.cdpPort;
12
+ const accountId = await resolveAccount(cdpPort, buildCdpOptions(input));
16
13
  return withDatabase(accountId, ({ db }) => {
17
14
  const repo = new CollectionListRepository(db);
18
15
  const added = repo.addPeople(input.collectionId, input.personIds);
@@ -1 +1 @@
1
- {"version":3,"file":"add-people-to-collection.js","sourceRoot":"","sources":["../../src/operations/add-people-to-collection.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAqBnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAiC;IAEjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC;IAElD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;QAC9C,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3D,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;KAC3E,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,IAAa;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK;YACL,mBAAmB,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK;SACpD,CAAC;IACJ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"add-people-to-collection.js","sourceRoot":"","sources":["../../src/operations/add-people-to-collection.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAA0B,MAAM,YAAY,CAAC;AAoBrE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAiC;IAEjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAE9B,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAExE,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,IAAa;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK;YACL,mBAAmB,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK;SACpD,CAAC;IACJ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=build-linkedin-url.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-linkedin-url.test.d.ts","sourceRoot":"","sources":["../../src/operations/build-linkedin-url.test.ts"],"names":[],"mappings":""}