@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.
- package/dist/cdp/app-discovery.d.ts +57 -0
- package/dist/cdp/app-discovery.d.ts.map +1 -1
- package/dist/cdp/app-discovery.js +90 -7
- package/dist/cdp/app-discovery.js.map +1 -1
- package/dist/cdp/app-discovery.test.js +180 -9
- package/dist/cdp/app-discovery.test.js.map +1 -1
- package/dist/cdp/client.d.ts +8 -1
- package/dist/cdp/client.d.ts.map +1 -1
- package/dist/cdp/client.js +8 -1
- package/dist/cdp/client.js.map +1 -1
- package/dist/cdp/discovery.d.ts.map +1 -1
- package/dist/cdp/discovery.js +5 -1
- package/dist/cdp/discovery.js.map +1 -1
- package/dist/cdp/discovery.test.js +7 -0
- package/dist/cdp/discovery.test.js.map +1 -1
- package/dist/cdp/index.d.ts +1 -1
- package/dist/cdp/index.d.ts.map +1 -1
- package/dist/cdp/index.js +1 -1
- package/dist/cdp/index.js.map +1 -1
- package/dist/cdp/instance-discovery.d.ts.map +1 -1
- package/dist/cdp/instance-discovery.js +25 -10
- package/dist/cdp/instance-discovery.js.map +1 -1
- package/dist/cdp/instance-discovery.test.js +17 -0
- package/dist/cdp/instance-discovery.test.js.map +1 -1
- package/dist/cdp/testing/launch-chromium.d.ts +1 -1
- package/dist/cdp/testing/launch-chromium.js +2 -2
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +3 -0
- package/dist/db/client.js.map +1 -1
- package/dist/db/repositories/campaign-hard-delete.integration.test.js +4 -1
- package/dist/db/repositories/campaign-hard-delete.integration.test.js.map +1 -1
- package/dist/db/repositories/campaign.d.ts.map +1 -1
- package/dist/db/repositories/campaign.js +81 -33
- package/dist/db/repositories/campaign.js.map +1 -1
- package/dist/db/repositories/campaign.test.js +2 -2
- package/dist/db/repositories/collection-list.d.ts +11 -0
- package/dist/db/repositories/collection-list.d.ts.map +1 -1
- package/dist/db/repositories/collection-list.integration.test.js +6 -4
- package/dist/db/repositories/collection-list.integration.test.js.map +1 -1
- package/dist/db/repositories/collection-list.js +92 -2
- package/dist/db/repositories/collection-list.js.map +1 -1
- package/dist/db/testing/create-fixture.js +36 -2
- package/dist/db/testing/create-fixture.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/linkedin/dom-automation-retry.test.d.ts +2 -0
- package/dist/linkedin/dom-automation-retry.test.d.ts.map +1 -0
- package/dist/linkedin/dom-automation-retry.test.js +51 -0
- package/dist/linkedin/dom-automation-retry.test.js.map +1 -0
- package/dist/linkedin/dom-automation.d.ts +166 -6
- package/dist/linkedin/dom-automation.d.ts.map +1 -1
- package/dist/linkedin/dom-automation.js +496 -21
- package/dist/linkedin/dom-automation.js.map +1 -1
- package/dist/linkedin/humanized-mouse.d.ts +69 -0
- package/dist/linkedin/humanized-mouse.d.ts.map +1 -0
- package/dist/linkedin/humanized-mouse.js +109 -0
- package/dist/linkedin/humanized-mouse.js.map +1 -0
- package/dist/linkedin/index.d.ts +3 -2
- package/dist/linkedin/index.d.ts.map +1 -1
- package/dist/linkedin/index.js +3 -2
- package/dist/linkedin/index.js.map +1 -1
- package/dist/linkedin/selectors.d.ts +74 -48
- package/dist/linkedin/selectors.d.ts.map +1 -1
- package/dist/linkedin/selectors.js +64 -41
- package/dist/linkedin/selectors.js.map +1 -1
- package/dist/operations/add-people-to-collection.d.ts +1 -1
- package/dist/operations/add-people-to-collection.d.ts.map +1 -1
- package/dist/operations/add-people-to-collection.js +3 -6
- package/dist/operations/add-people-to-collection.js.map +1 -1
- package/dist/operations/build-linkedin-url.test.d.ts +2 -0
- package/dist/operations/build-linkedin-url.test.d.ts.map +1 -0
- package/dist/operations/build-linkedin-url.test.js +158 -0
- package/dist/operations/build-linkedin-url.test.js.map +1 -0
- package/dist/operations/campaign-add-action.d.ts +1 -1
- package/dist/operations/campaign-add-action.d.ts.map +1 -1
- package/dist/operations/campaign-add-action.js +3 -6
- package/dist/operations/campaign-add-action.js.map +1 -1
- package/dist/operations/campaign-create.d.ts +1 -1
- package/dist/operations/campaign-create.d.ts.map +1 -1
- package/dist/operations/campaign-create.js +3 -6
- package/dist/operations/campaign-create.js.map +1 -1
- package/dist/operations/campaign-delete.d.ts +1 -1
- package/dist/operations/campaign-delete.d.ts.map +1 -1
- package/dist/operations/campaign-delete.js +3 -6
- package/dist/operations/campaign-delete.js.map +1 -1
- package/dist/operations/campaign-erase.d.ts +1 -1
- package/dist/operations/campaign-erase.d.ts.map +1 -1
- package/dist/operations/campaign-erase.js +3 -6
- package/dist/operations/campaign-erase.js.map +1 -1
- package/dist/operations/campaign-exclude-add.d.ts +1 -1
- package/dist/operations/campaign-exclude-add.d.ts.map +1 -1
- package/dist/operations/campaign-exclude-add.js +3 -6
- package/dist/operations/campaign-exclude-add.js.map +1 -1
- package/dist/operations/campaign-exclude-list.d.ts +1 -1
- package/dist/operations/campaign-exclude-list.d.ts.map +1 -1
- package/dist/operations/campaign-exclude-list.js +3 -6
- package/dist/operations/campaign-exclude-list.js.map +1 -1
- package/dist/operations/campaign-exclude-remove.d.ts +1 -1
- package/dist/operations/campaign-exclude-remove.d.ts.map +1 -1
- package/dist/operations/campaign-exclude-remove.js +3 -6
- package/dist/operations/campaign-exclude-remove.js.map +1 -1
- package/dist/operations/campaign-export.d.ts +1 -1
- package/dist/operations/campaign-export.d.ts.map +1 -1
- package/dist/operations/campaign-export.js +3 -6
- package/dist/operations/campaign-export.js.map +1 -1
- package/dist/operations/campaign-get.d.ts +1 -1
- package/dist/operations/campaign-get.d.ts.map +1 -1
- package/dist/operations/campaign-get.js +3 -6
- package/dist/operations/campaign-get.js.map +1 -1
- package/dist/operations/campaign-list-people.d.ts +1 -1
- package/dist/operations/campaign-list-people.d.ts.map +1 -1
- package/dist/operations/campaign-list-people.js +3 -6
- package/dist/operations/campaign-list-people.js.map +1 -1
- package/dist/operations/campaign-list.d.ts +1 -1
- package/dist/operations/campaign-list.d.ts.map +1 -1
- package/dist/operations/campaign-list.js +3 -6
- package/dist/operations/campaign-list.js.map +1 -1
- package/dist/operations/campaign-move-next.d.ts +1 -1
- package/dist/operations/campaign-move-next.d.ts.map +1 -1
- package/dist/operations/campaign-move-next.js +3 -6
- package/dist/operations/campaign-move-next.js.map +1 -1
- package/dist/operations/campaign-remove-action.d.ts +1 -1
- package/dist/operations/campaign-remove-action.d.ts.map +1 -1
- package/dist/operations/campaign-remove-action.js +3 -6
- package/dist/operations/campaign-remove-action.js.map +1 -1
- package/dist/operations/campaign-remove-people.d.ts +1 -1
- package/dist/operations/campaign-remove-people.d.ts.map +1 -1
- package/dist/operations/campaign-remove-people.js +3 -6
- package/dist/operations/campaign-remove-people.js.map +1 -1
- package/dist/operations/campaign-reorder-actions.d.ts +1 -1
- package/dist/operations/campaign-reorder-actions.d.ts.map +1 -1
- package/dist/operations/campaign-reorder-actions.js +3 -6
- package/dist/operations/campaign-reorder-actions.js.map +1 -1
- package/dist/operations/campaign-retry.d.ts +1 -1
- package/dist/operations/campaign-retry.d.ts.map +1 -1
- package/dist/operations/campaign-retry.js +3 -6
- package/dist/operations/campaign-retry.js.map +1 -1
- package/dist/operations/campaign-start.d.ts +1 -1
- package/dist/operations/campaign-start.d.ts.map +1 -1
- package/dist/operations/campaign-start.js +3 -6
- package/dist/operations/campaign-start.js.map +1 -1
- package/dist/operations/campaign-statistics.d.ts +1 -1
- package/dist/operations/campaign-statistics.d.ts.map +1 -1
- package/dist/operations/campaign-statistics.js +3 -6
- package/dist/operations/campaign-statistics.js.map +1 -1
- package/dist/operations/campaign-status.d.ts +1 -1
- package/dist/operations/campaign-status.d.ts.map +1 -1
- package/dist/operations/campaign-status.js +3 -6
- package/dist/operations/campaign-status.js.map +1 -1
- package/dist/operations/campaign-stop.d.ts +1 -1
- package/dist/operations/campaign-stop.d.ts.map +1 -1
- package/dist/operations/campaign-stop.js +3 -6
- package/dist/operations/campaign-stop.js.map +1 -1
- package/dist/operations/campaign-update-action.d.ts +1 -1
- package/dist/operations/campaign-update-action.d.ts.map +1 -1
- package/dist/operations/campaign-update-action.js +3 -6
- package/dist/operations/campaign-update-action.js.map +1 -1
- package/dist/operations/campaign-update.d.ts +1 -1
- package/dist/operations/campaign-update.d.ts.map +1 -1
- package/dist/operations/campaign-update.js +3 -6
- package/dist/operations/campaign-update.js.map +1 -1
- package/dist/operations/check-replies.d.ts +3 -1
- package/dist/operations/check-replies.d.ts.map +1 -1
- package/dist/operations/check-replies.js +124 -17
- package/dist/operations/check-replies.js.map +1 -1
- package/dist/operations/check-replies.test.js +152 -17
- package/dist/operations/check-replies.test.js.map +1 -1
- package/dist/operations/collect-people.d.ts +1 -1
- package/dist/operations/collect-people.d.ts.map +1 -1
- package/dist/operations/collect-people.js +18 -12
- package/dist/operations/collect-people.js.map +1 -1
- package/dist/operations/collect-people.test.js +21 -5
- package/dist/operations/collect-people.test.js.map +1 -1
- package/dist/operations/comment-on-post.d.ts +4 -1
- package/dist/operations/comment-on-post.d.ts.map +1 -1
- package/dist/operations/comment-on-post.js +15 -19
- package/dist/operations/comment-on-post.js.map +1 -1
- package/dist/operations/comment-on-post.test.js +8 -6
- package/dist/operations/comment-on-post.test.js.map +1 -1
- package/dist/operations/create-collection.d.ts +1 -1
- package/dist/operations/create-collection.d.ts.map +1 -1
- package/dist/operations/create-collection.js +5 -7
- package/dist/operations/create-collection.js.map +1 -1
- package/dist/operations/create-collection.test.js +3 -1
- package/dist/operations/create-collection.test.js.map +1 -1
- package/dist/operations/delete-collection.d.ts +1 -1
- package/dist/operations/delete-collection.d.ts.map +1 -1
- package/dist/operations/delete-collection.js +3 -6
- package/dist/operations/delete-collection.js.map +1 -1
- package/dist/operations/dismiss-errors.d.ts +11 -5
- package/dist/operations/dismiss-errors.d.ts.map +1 -1
- package/dist/operations/dismiss-errors.js +68 -34
- package/dist/operations/dismiss-errors.js.map +1 -1
- package/dist/operations/dismiss-errors.test.js +129 -8
- package/dist/operations/dismiss-errors.test.js.map +1 -1
- package/dist/operations/endorse-skills.test.d.ts +2 -0
- package/dist/operations/endorse-skills.test.d.ts.map +1 -0
- package/dist/operations/endorse-skills.test.js +70 -0
- package/dist/operations/endorse-skills.test.js.map +1 -0
- package/dist/operations/enrich-profile.test.d.ts +2 -0
- package/dist/operations/enrich-profile.test.d.ts.map +1 -0
- package/dist/operations/enrich-profile.test.js +73 -0
- package/dist/operations/enrich-profile.test.js.map +1 -0
- package/dist/operations/ephemeral-action.d.ts +2 -1
- package/dist/operations/ephemeral-action.d.ts.map +1 -1
- package/dist/operations/ephemeral-action.js +5 -7
- package/dist/operations/ephemeral-action.js.map +1 -1
- package/dist/operations/ephemeral-action.test.d.ts +2 -0
- package/dist/operations/ephemeral-action.test.d.ts.map +1 -0
- package/dist/operations/ephemeral-action.test.js +159 -0
- package/dist/operations/ephemeral-action.test.js.map +1 -0
- package/dist/operations/follow-person.test.d.ts +2 -0
- package/dist/operations/follow-person.test.d.ts.map +1 -0
- package/dist/operations/follow-person.test.js +57 -0
- package/dist/operations/follow-person.test.js.map +1 -0
- package/dist/operations/get-action-budget.d.ts +1 -1
- package/dist/operations/get-action-budget.d.ts.map +1 -1
- package/dist/operations/get-action-budget.js +3 -6
- package/dist/operations/get-action-budget.js.map +1 -1
- package/dist/operations/get-errors.d.ts +5 -1
- package/dist/operations/get-errors.d.ts.map +1 -1
- package/dist/operations/get-errors.js +55 -33
- package/dist/operations/get-errors.js.map +1 -1
- package/dist/operations/get-errors.test.js +54 -55
- package/dist/operations/get-errors.test.js.map +1 -1
- package/dist/operations/get-feed.d.ts +83 -4
- package/dist/operations/get-feed.d.ts.map +1 -1
- package/dist/operations/get-feed.js +400 -153
- package/dist/operations/get-feed.js.map +1 -1
- package/dist/operations/get-feed.test.js +416 -190
- package/dist/operations/get-feed.test.js.map +1 -1
- package/dist/operations/get-post-engagers.d.ts +6 -3
- package/dist/operations/get-post-engagers.d.ts.map +1 -1
- package/dist/operations/get-post-engagers.js +278 -78
- package/dist/operations/get-post-engagers.js.map +1 -1
- package/dist/operations/get-post-engagers.test.js +292 -14
- package/dist/operations/get-post-engagers.test.js.map +1 -1
- package/dist/operations/get-post-stats.d.ts +8 -3
- package/dist/operations/get-post-stats.d.ts.map +1 -1
- package/dist/operations/get-post-stats.js +101 -37
- package/dist/operations/get-post-stats.js.map +1 -1
- package/dist/operations/get-post-stats.test.js +137 -2
- package/dist/operations/get-post-stats.test.js.map +1 -1
- package/dist/operations/get-post.d.ts +9 -150
- package/dist/operations/get-post.d.ts.map +1 -1
- package/dist/operations/get-post.js +356 -210
- package/dist/operations/get-post.js.map +1 -1
- package/dist/operations/get-post.test.js +210 -387
- package/dist/operations/get-post.test.js.map +1 -1
- package/dist/operations/get-profile-activity.d.ts +13 -92
- package/dist/operations/get-profile-activity.d.ts.map +1 -1
- package/dist/operations/get-profile-activity.js +305 -105
- package/dist/operations/get-profile-activity.js.map +1 -1
- package/dist/operations/get-profile-activity.test.js +277 -158
- package/dist/operations/get-profile-activity.test.js.map +1 -1
- package/dist/operations/get-throttle-status.d.ts +1 -1
- package/dist/operations/get-throttle-status.d.ts.map +1 -1
- package/dist/operations/get-throttle-status.js +4 -10
- package/dist/operations/get-throttle-status.js.map +1 -1
- package/dist/operations/import-people-from-collection.d.ts +1 -1
- package/dist/operations/import-people-from-collection.d.ts.map +1 -1
- package/dist/operations/import-people-from-collection.js +3 -6
- package/dist/operations/import-people-from-collection.js.map +1 -1
- package/dist/operations/import-people-from-urls.d.ts +1 -1
- package/dist/operations/import-people-from-urls.d.ts.map +1 -1
- package/dist/operations/import-people-from-urls.js +3 -6
- package/dist/operations/import-people-from-urls.js.map +1 -1
- package/dist/operations/index.d.ts +2 -2
- package/dist/operations/index.d.ts.map +1 -1
- package/dist/operations/index.js +2 -1
- package/dist/operations/index.js.map +1 -1
- package/dist/operations/like-person-posts.test.d.ts +2 -0
- package/dist/operations/like-person-posts.test.d.ts.map +1 -0
- package/dist/operations/like-person-posts.test.js +103 -0
- package/dist/operations/like-person-posts.test.js.map +1 -0
- package/dist/operations/list-collections.d.ts +1 -1
- package/dist/operations/list-collections.d.ts.map +1 -1
- package/dist/operations/list-collections.js +3 -6
- package/dist/operations/list-collections.js.map +1 -1
- package/dist/operations/message-person.test.d.ts +2 -0
- package/dist/operations/message-person.test.d.ts.map +1 -0
- package/dist/operations/message-person.test.js +108 -0
- package/dist/operations/message-person.test.js.map +1 -0
- package/dist/operations/navigate-away.d.ts +14 -0
- package/dist/operations/navigate-away.d.ts.map +1 -0
- package/dist/operations/navigate-away.js +24 -0
- package/dist/operations/navigate-away.js.map +1 -0
- package/dist/operations/navigate-away.test.d.ts +2 -0
- package/dist/operations/navigate-away.test.d.ts.map +1 -0
- package/dist/operations/navigate-away.test.js +51 -0
- package/dist/operations/navigate-away.test.js.map +1 -0
- package/dist/operations/query-messages.d.ts +1 -1
- package/dist/operations/query-messages.d.ts.map +1 -1
- package/dist/operations/query-messages.js +3 -6
- package/dist/operations/query-messages.js.map +1 -1
- package/dist/operations/react-to-post.d.ts +16 -4
- package/dist/operations/react-to-post.d.ts.map +1 -1
- package/dist/operations/react-to-post.js +86 -24
- package/dist/operations/react-to-post.js.map +1 -1
- package/dist/operations/react-to-post.test.js +55 -5
- package/dist/operations/react-to-post.test.js.map +1 -1
- package/dist/operations/remove-connection.test.d.ts +2 -0
- package/dist/operations/remove-connection.test.d.ts.map +1 -0
- package/dist/operations/remove-connection.test.js +45 -0
- package/dist/operations/remove-connection.test.js.map +1 -0
- package/dist/operations/remove-people-from-collection.d.ts +1 -1
- package/dist/operations/remove-people-from-collection.d.ts.map +1 -1
- package/dist/operations/remove-people-from-collection.js +3 -6
- package/dist/operations/remove-people-from-collection.js.map +1 -1
- package/dist/operations/resolve-linkedin-entity.d.ts.map +1 -1
- package/dist/operations/resolve-linkedin-entity.js +2 -2
- package/dist/operations/resolve-linkedin-entity.js.map +1 -1
- package/dist/operations/resolve-linkedin-entity.test.d.ts +2 -0
- package/dist/operations/resolve-linkedin-entity.test.d.ts.map +1 -0
- package/dist/operations/resolve-linkedin-entity.test.js +343 -0
- package/dist/operations/resolve-linkedin-entity.test.js.map +1 -0
- package/dist/operations/scrape-messaging-history.d.ts +2 -1
- package/dist/operations/scrape-messaging-history.d.ts.map +1 -1
- package/dist/operations/scrape-messaging-history.js +113 -18
- package/dist/operations/scrape-messaging-history.js.map +1 -1
- package/dist/operations/scrape-messaging-history.test.js +109 -12
- package/dist/operations/scrape-messaging-history.test.js.map +1 -1
- package/dist/operations/search-posts.d.ts +20 -112
- package/dist/operations/search-posts.d.ts.map +1 -1
- package/dist/operations/search-posts.js +369 -170
- package/dist/operations/search-posts.js.map +1 -1
- package/dist/operations/search-posts.test.js +273 -234
- package/dist/operations/search-posts.test.js.map +1 -1
- package/dist/operations/send-inmail.test.d.ts +2 -0
- package/dist/operations/send-inmail.test.d.ts.map +1 -0
- package/dist/operations/send-inmail.test.js +108 -0
- package/dist/operations/send-inmail.test.js.map +1 -0
- package/dist/operations/send-invite.test.d.ts +2 -0
- package/dist/operations/send-invite.test.d.ts.map +1 -0
- package/dist/operations/send-invite.test.js +59 -0
- package/dist/operations/send-invite.test.js.map +1 -0
- package/dist/operations/types.d.ts +27 -1
- package/dist/operations/types.d.ts.map +1 -1
- package/dist/operations/types.js +14 -1
- package/dist/operations/types.js.map +1 -1
- package/dist/operations/visit-profile.d.ts +1 -1
- package/dist/operations/visit-profile.d.ts.map +1 -1
- package/dist/operations/visit-profile.js +3 -6
- package/dist/operations/visit-profile.js.map +1 -1
- package/dist/services/account-resolution.d.ts +10 -4
- package/dist/services/account-resolution.d.ts.map +1 -1
- package/dist/services/account-resolution.js +63 -5
- package/dist/services/account-resolution.js.map +1 -1
- package/dist/services/app.d.ts +6 -2
- package/dist/services/app.d.ts.map +1 -1
- package/dist/services/app.js +18 -6
- package/dist/services/app.js.map +1 -1
- package/dist/services/app.test.js +41 -7
- package/dist/services/app.test.js.map +1 -1
- package/dist/services/campaign.d.ts +40 -4
- package/dist/services/campaign.d.ts.map +1 -1
- package/dist/services/campaign.js +176 -10
- package/dist/services/campaign.js.map +1 -1
- package/dist/services/campaign.test.js +53 -15
- package/dist/services/campaign.test.js.map +1 -1
- package/dist/services/collection.d.ts +16 -21
- package/dist/services/collection.d.ts.map +1 -1
- package/dist/services/collection.js +34 -47
- package/dist/services/collection.js.map +1 -1
- package/dist/services/collection.test.js +30 -91
- package/dist/services/collection.test.js.map +1 -1
- package/dist/services/ephemeral-campaign.d.ts +6 -0
- package/dist/services/ephemeral-campaign.d.ts.map +1 -1
- package/dist/services/ephemeral-campaign.js +54 -10
- package/dist/services/ephemeral-campaign.js.map +1 -1
- package/dist/services/ephemeral-campaign.test.js +23 -10
- package/dist/services/ephemeral-campaign.test.js.map +1 -1
- package/dist/services/errors.d.ts +2 -1
- package/dist/services/errors.d.ts.map +1 -1
- package/dist/services/errors.js +6 -3
- package/dist/services/errors.js.map +1 -1
- package/dist/services/index.d.ts +1 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -2
- package/dist/services/index.js.map +1 -1
- package/dist/services/instance-context.d.ts +5 -1
- package/dist/services/instance-context.d.ts.map +1 -1
- package/dist/services/instance-context.js +87 -28
- package/dist/services/instance-context.js.map +1 -1
- package/dist/services/instance-context.test.js +5 -1
- package/dist/services/instance-context.test.js.map +1 -1
- package/dist/services/instance-lifecycle.d.ts.map +1 -1
- package/dist/services/instance-lifecycle.js +32 -1
- package/dist/services/instance-lifecycle.js.map +1 -1
- package/dist/services/instance-lifecycle.test.js +52 -1
- package/dist/services/instance-lifecycle.test.js.map +1 -1
- package/dist/services/instance.d.ts +37 -9
- package/dist/services/instance.d.ts.map +1 -1
- package/dist/services/instance.js +100 -25
- package/dist/services/instance.js.map +1 -1
- package/dist/services/instance.test.js +157 -0
- package/dist/services/instance.test.js.map +1 -1
- package/dist/services/launcher.d.ts +47 -3
- package/dist/services/launcher.d.ts.map +1 -1
- package/dist/services/launcher.js +205 -33
- package/dist/services/launcher.js.map +1 -1
- package/dist/services/launcher.test.js +133 -6
- package/dist/services/launcher.test.js.map +1 -1
- package/dist/services/source-type-registry.d.ts +8 -0
- package/dist/services/source-type-registry.d.ts.map +1 -1
- package/dist/services/source-type-registry.js +39 -0
- package/dist/services/source-type-registry.js.map +1 -1
- package/dist/services/source-type-registry.test.js +31 -1
- package/dist/services/source-type-registry.test.js.map +1 -1
- package/dist/services/status.d.ts +6 -2
- package/dist/services/status.d.ts.map +1 -1
- package/dist/services/status.js +67 -34
- package/dist/services/status.js.map +1 -1
- package/dist/services/status.test.js +9 -2
- package/dist/services/status.test.js.map +1 -1
- package/dist/testing/e2e-helpers.d.ts +47 -1
- package/dist/testing/e2e-helpers.d.ts.map +1 -1
- package/dist/testing/e2e-helpers.js +244 -7
- package/dist/testing/e2e-helpers.js.map +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/types/account.d.ts +1 -1
- package/dist/types/campaign.d.ts +1 -1
- package/dist/types/campaign.d.ts.map +1 -1
- package/dist/types/feed.d.ts +1 -3
- package/dist/types/feed.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/cdp-port.d.ts.map +1 -1
- package/dist/utils/cdp-port.js +3 -1
- package/dist/utils/cdp-port.js.map +1 -1
- package/dist/utils/cdp-port.test.js +1 -1
- package/dist/utils/cdp-port.test.js.map +1 -1
- package/dist/utils/delay.d.ts +79 -0
- package/dist/utils/delay.d.ts.map +1 -1
- package/dist/utils/delay.js +118 -0
- package/dist/utils/delay.js.map +1 -1
- package/dist/utils/delay.test.js +111 -1
- package/dist/utils/delay.test.js.map +1 -1
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/session-pacer.d.ts +27 -0
- package/dist/utils/session-pacer.d.ts.map +1 -0
- package/dist/utils/session-pacer.js +55 -0
- package/dist/utils/session-pacer.js.map +1 -0
- package/dist/utils/session-pacer.test.d.ts +2 -0
- package/dist/utils/session-pacer.test.d.ts.map +1 -0
- package/dist/utils/session-pacer.test.js +111 -0
- package/dist/utils/session-pacer.test.js.map +1 -0
- package/package.json +1 -1
- package/dist/linkedin/__tests__/selectors.integration.test.d.ts +0 -2
- package/dist/linkedin/__tests__/selectors.integration.test.d.ts.map +0 -1
- package/dist/linkedin/__tests__/selectors.integration.test.js +0 -258
- package/dist/linkedin/__tests__/selectors.integration.test.js.map +0 -1
- package/dist/types/search-posts.d.ts +0 -22
- package/dist/types/search-posts.d.ts.map +0 -1
- package/dist/types/search-posts.js +0 -4
- package/dist/types/search-posts.js.map +0 -1
- package/dist/voyager/index.d.ts +0 -2
- package/dist/voyager/index.d.ts.map +0 -1
- package/dist/voyager/index.js +0 -4
- package/dist/voyager/index.js.map +0 -1
- package/dist/voyager/interceptor.d.ts +0 -100
- package/dist/voyager/interceptor.d.ts.map +0 -1
- package/dist/voyager/interceptor.integration.test.d.ts +0 -2
- package/dist/voyager/interceptor.integration.test.d.ts.map +0 -1
- package/dist/voyager/interceptor.integration.test.js +0 -89
- package/dist/voyager/interceptor.integration.test.js.map +0 -1
- package/dist/voyager/interceptor.js +0 -235
- package/dist/voyager/interceptor.js.map +0 -1
- package/dist/voyager/interceptor.test.d.ts +0 -2
- package/dist/voyager/interceptor.test.d.ts.map +0 -1
- package/dist/voyager/interceptor.test.js +0 -372
- 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"}
|
package/dist/linkedin/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { click, hover, scrollTo, typeText, type TypeMethod, waitForElement, type WaitForElementOptions, } from "./dom-automation.js";
|
|
2
|
-
export {
|
|
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,
|
|
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"}
|
package/dist/linkedin/index.js
CHANGED
|
@@ -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 {
|
|
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,
|
|
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
|
-
|
|
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: "
|
|
49
|
-
readonly
|
|
50
|
-
readonly
|
|
51
|
-
readonly
|
|
52
|
-
readonly
|
|
53
|
-
readonly
|
|
54
|
-
readonly
|
|
55
|
-
readonly
|
|
56
|
-
readonly
|
|
57
|
-
readonly
|
|
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
|
|
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 =
|
|
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
|
-
/**
|
|
23
|
-
|
|
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
|
-
/**
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
export const
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export const
|
|
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
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-people-to-collection.d.ts","sourceRoot":"","sources":["../../src/operations/add-people-to-collection.ts"],"names":[],"mappings":"
|
|
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 {
|
|
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
|
|
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,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"build-linkedin-url.test.d.ts","sourceRoot":"","sources":["../../src/operations/build-linkedin-url.test.ts"],"names":[],"mappings":""}
|