@lhremote/core 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/db/index.d.ts +1 -1
  2. package/dist/db/index.d.ts.map +1 -1
  3. package/dist/db/index.js +1 -1
  4. package/dist/db/index.js.map +1 -1
  5. package/dist/db/repositories/collection-list.d.ts +69 -0
  6. package/dist/db/repositories/collection-list.d.ts.map +1 -0
  7. package/dist/db/repositories/collection-list.integration.test.d.ts +2 -0
  8. package/dist/db/repositories/collection-list.integration.test.d.ts.map +1 -0
  9. package/dist/db/repositories/collection-list.integration.test.js +124 -0
  10. package/dist/db/repositories/collection-list.integration.test.js.map +1 -0
  11. package/dist/db/repositories/collection-list.js +161 -0
  12. package/dist/db/repositories/collection-list.js.map +1 -0
  13. package/dist/db/repositories/index.d.ts +1 -0
  14. package/dist/db/repositories/index.d.ts.map +1 -1
  15. package/dist/db/repositories/index.js +1 -0
  16. package/dist/db/repositories/index.js.map +1 -1
  17. package/dist/db/testing/create-fixture.js +17 -0
  18. package/dist/db/testing/create-fixture.js.map +1 -1
  19. package/dist/index.d.ts +4 -4
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +7 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/operations/add-people-to-collection.d.ts +22 -0
  24. package/dist/operations/add-people-to-collection.d.ts.map +1 -0
  25. package/dist/operations/add-people-to-collection.js +27 -0
  26. package/dist/operations/add-people-to-collection.js.map +1 -0
  27. package/dist/operations/add-people-to-collection.test.d.ts +2 -0
  28. package/dist/operations/add-people-to-collection.test.d.ts.map +1 -0
  29. package/dist/operations/add-people-to-collection.test.js +69 -0
  30. package/dist/operations/add-people-to-collection.test.js.map +1 -0
  31. package/dist/operations/collect-people.d.ts +40 -0
  32. package/dist/operations/collect-people.d.ts.map +1 -0
  33. package/dist/operations/collect-people.js +55 -0
  34. package/dist/operations/collect-people.js.map +1 -0
  35. package/dist/operations/collect-people.test.d.ts +2 -0
  36. package/dist/operations/collect-people.test.d.ts.map +1 -0
  37. package/dist/operations/collect-people.test.js +156 -0
  38. package/dist/operations/collect-people.test.js.map +1 -0
  39. package/dist/operations/create-collection.d.ts +20 -0
  40. package/dist/operations/create-collection.d.ts.map +1 -0
  41. package/dist/operations/create-collection.js +26 -0
  42. package/dist/operations/create-collection.js.map +1 -0
  43. package/dist/operations/create-collection.test.d.ts +2 -0
  44. package/dist/operations/create-collection.test.d.ts.map +1 -0
  45. package/dist/operations/create-collection.test.js +72 -0
  46. package/dist/operations/create-collection.test.js.map +1 -0
  47. package/dist/operations/delete-collection.d.ts +20 -0
  48. package/dist/operations/delete-collection.d.ts.map +1 -0
  49. package/dist/operations/delete-collection.js +26 -0
  50. package/dist/operations/delete-collection.js.map +1 -0
  51. package/dist/operations/delete-collection.test.d.ts +2 -0
  52. package/dist/operations/delete-collection.test.d.ts.map +1 -0
  53. package/dist/operations/delete-collection.test.js +61 -0
  54. package/dist/operations/delete-collection.test.js.map +1 -0
  55. package/dist/operations/import-people-from-collection.d.ts +30 -0
  56. package/dist/operations/import-people-from-collection.d.ts.map +1 -0
  57. package/dist/operations/import-people-from-collection.js +65 -0
  58. package/dist/operations/import-people-from-collection.js.map +1 -0
  59. package/dist/operations/import-people-from-collection.test.d.ts +2 -0
  60. package/dist/operations/import-people-from-collection.test.d.ts.map +1 -0
  61. package/dist/operations/import-people-from-collection.test.js +170 -0
  62. package/dist/operations/import-people-from-collection.test.js.map +1 -0
  63. package/dist/operations/index.d.ts +7 -0
  64. package/dist/operations/index.d.ts.map +1 -1
  65. package/dist/operations/index.js +9 -0
  66. package/dist/operations/index.js.map +1 -1
  67. package/dist/operations/list-collections.d.ts +18 -0
  68. package/dist/operations/list-collections.d.ts.map +1 -0
  69. package/dist/operations/list-collections.js +22 -0
  70. package/dist/operations/list-collections.js.map +1 -0
  71. package/dist/operations/list-collections.test.d.ts +2 -0
  72. package/dist/operations/list-collections.test.d.ts.map +1 -0
  73. package/dist/operations/list-collections.test.js +73 -0
  74. package/dist/operations/list-collections.test.js.map +1 -0
  75. package/dist/operations/remove-people-from-collection.d.ts +21 -0
  76. package/dist/operations/remove-people-from-collection.d.ts.map +1 -0
  77. package/dist/operations/remove-people-from-collection.js +26 -0
  78. package/dist/operations/remove-people-from-collection.js.map +1 -0
  79. package/dist/operations/remove-people-from-collection.test.d.ts +2 -0
  80. package/dist/operations/remove-people-from-collection.test.d.ts.map +1 -0
  81. package/dist/operations/remove-people-from-collection.test.js +68 -0
  82. package/dist/operations/remove-people-from-collection.test.js.map +1 -0
  83. package/dist/services/collection.d.ts +84 -0
  84. package/dist/services/collection.d.ts.map +1 -0
  85. package/dist/services/collection.js +145 -0
  86. package/dist/services/collection.js.map +1 -0
  87. package/dist/services/collection.test.d.ts +2 -0
  88. package/dist/services/collection.test.d.ts.map +1 -0
  89. package/dist/services/collection.test.js +203 -0
  90. package/dist/services/collection.test.js.map +1 -0
  91. package/dist/services/errors.d.ts +16 -0
  92. package/dist/services/errors.d.ts.map +1 -1
  93. package/dist/services/errors.js +23 -0
  94. package/dist/services/errors.js.map +1 -1
  95. package/dist/services/index.d.ts +3 -1
  96. package/dist/services/index.d.ts.map +1 -1
  97. package/dist/services/index.js +3 -1
  98. package/dist/services/index.js.map +1 -1
  99. package/dist/services/source-type-registry.d.ts +19 -0
  100. package/dist/services/source-type-registry.d.ts.map +1 -0
  101. package/dist/services/source-type-registry.js +66 -0
  102. package/dist/services/source-type-registry.js.map +1 -0
  103. package/dist/services/source-type-registry.test.d.ts +2 -0
  104. package/dist/services/source-type-registry.test.d.ts.map +1 -0
  105. package/dist/services/source-type-registry.test.js +124 -0
  106. package/dist/services/source-type-registry.test.js.map +1 -0
  107. package/dist/types/collection.d.ts +12 -0
  108. package/dist/types/collection.d.ts.map +1 -0
  109. package/dist/types/collection.js +4 -0
  110. package/dist/types/collection.js.map +1 -0
  111. package/dist/types/index.d.ts +1 -0
  112. package/dist/types/index.d.ts.map +1 -1
  113. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -8,5 +8,7 @@ export { checkStatus, } from "./status.js";
8
8
  export { CampaignService } from "./campaign.js";
9
9
  export { AccountResolutionError, resolveAccount, } from "./account-resolution.js";
10
10
  export { withDatabase, withInstanceDatabase, } from "./instance-context.js";
11
- export { ActionExecutionError, AppLaunchError, AppNotFoundError, CampaignExecutionError, CampaignTimeoutError, ExtractionTimeoutError, InstanceNotRunningError, InvalidProfileUrlError, LinkedHelperNotRunningError, LinkedHelperUnreachableError, ServiceError, StartInstanceError, UIBlockedError, WrongPortError, } from "./errors.js";
11
+ export { detectSourceType, validateSourceType } from "./source-type-registry.js";
12
+ export { CollectionService } from "./collection.js";
13
+ export { ActionExecutionError, AppLaunchError, AppNotFoundError, CampaignExecutionError, CampaignTimeoutError, CollectionBusyError, CollectionError, ExtractionTimeoutError, InstanceNotRunningError, InvalidProfileUrlError, LinkedHelperNotRunningError, LinkedHelperUnreachableError, ServiceError, StartInstanceError, UIBlockedError, WrongPortError, } from "./errors.js";
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,UAAU,EAA0B,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAyC,MAAM,eAAe,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAEpC,OAAO,EAAE,UAAU,EAA0B,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAyC,MAAM,eAAe,CAAC;AACvF,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,WAAW,GAKZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,EACZ,oBAAoB,GAGrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { SourceType } from "../types/collection.js";
2
+ /**
3
+ * Detect the LinkedIn source type from a URL.
4
+ *
5
+ * Tests the URL pathname against known LinkedIn page patterns and
6
+ * returns the matching source type, or `undefined` if no pattern matches.
7
+ *
8
+ * @param url - Full LinkedIn URL or pathname
9
+ * @returns The detected source type, or `undefined` for unknown URLs
10
+ */
11
+ export declare function detectSourceType(url: string): SourceType | undefined;
12
+ /**
13
+ * Validate whether a string is a known source type.
14
+ *
15
+ * @param type - String to validate
16
+ * @returns `true` if `type` is a valid {@link SourceType}
17
+ */
18
+ export declare function validateSourceType(type: string): type is SourceType;
19
+ //# sourceMappingURL=source-type-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-type-registry.d.ts","sourceRoot":"","sources":["../../src/services/source-type-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA2CzD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAgBpE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,UAAU,CAEnE"}
@@ -0,0 +1,66 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ // Copyright (C) 2026 Oleksii PELYKH
3
+ /**
4
+ * Ordered list of URL patterns for source type detection.
5
+ *
6
+ * Patterns are tested in order; the first match wins.
7
+ */
8
+ const SOURCE_TYPE_PATTERNS = [
9
+ { pattern: /\/search\/results\/people\//, sourceType: "SearchPage" },
10
+ { pattern: /\/mynetwork\/invite-connect\/connections\//, sourceType: "MyConnections" },
11
+ { pattern: /\/school\/[^/]+\/people\//, sourceType: "Alumni" },
12
+ { pattern: /\/company\/[^/]+\/people\//, sourceType: "OrganizationPeople" },
13
+ { pattern: /\/groups\/[^/]+\/members\//, sourceType: "Group" },
14
+ { pattern: /\/events\/[^/]+\/attendees\//, sourceType: "Event" },
15
+ { pattern: /\/me\/profile-views\//, sourceType: "LWVYPP" },
16
+ { pattern: /\/mynetwork\/invitation-manager\/sent\//, sourceType: "SentInvitationPage" },
17
+ { pattern: /\/me\/my-network\/followers\//, sourceType: "FollowersPage" },
18
+ { pattern: /\/me\/my-network\/following\//, sourceType: "FollowingPage" },
19
+ { pattern: /\/sales\/search\/people/, sourceType: "SNSearchPage" },
20
+ { pattern: /\/sales\/lists\/people\//, sourceType: "SNListPage" },
21
+ { pattern: /\/sales\/search\/company/, sourceType: "SNOrgsPage" },
22
+ { pattern: /\/sales\/lists\/company\//, sourceType: "SNOrgsListsPage" },
23
+ { pattern: /\/talent\/search\//, sourceType: "TSearchPage" },
24
+ { pattern: /\/talent\/projects\//, sourceType: "TProjectPage" },
25
+ { pattern: /\/recruiter\/search\//, sourceType: "RSearchPage" },
26
+ { pattern: /\/recruiter\/projects\//, sourceType: "RProjectPage" },
27
+ ];
28
+ /**
29
+ * Set of all valid source type strings for fast validation.
30
+ */
31
+ const VALID_SOURCE_TYPES = new Set(SOURCE_TYPE_PATTERNS.map((entry) => entry.sourceType));
32
+ /**
33
+ * Detect the LinkedIn source type from a URL.
34
+ *
35
+ * Tests the URL pathname against known LinkedIn page patterns and
36
+ * returns the matching source type, or `undefined` if no pattern matches.
37
+ *
38
+ * @param url - Full LinkedIn URL or pathname
39
+ * @returns The detected source type, or `undefined` for unknown URLs
40
+ */
41
+ export function detectSourceType(url) {
42
+ let pathname;
43
+ try {
44
+ pathname = new URL(url).pathname;
45
+ }
46
+ catch {
47
+ // Treat non-URL strings as raw pathnames
48
+ pathname = url;
49
+ }
50
+ for (const { pattern, sourceType } of SOURCE_TYPE_PATTERNS) {
51
+ if (pattern.test(pathname)) {
52
+ return sourceType;
53
+ }
54
+ }
55
+ return undefined;
56
+ }
57
+ /**
58
+ * Validate whether a string is a known source type.
59
+ *
60
+ * @param type - String to validate
61
+ * @returns `true` if `type` is a valid {@link SourceType}
62
+ */
63
+ export function validateSourceType(type) {
64
+ return VALID_SOURCE_TYPES.has(type);
65
+ }
66
+ //# sourceMappingURL=source-type-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-type-registry.js","sourceRoot":"","sources":["../../src/services/source-type-registry.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC;AAYpC;;;;GAIG;AACH,MAAM,oBAAoB,GAAwB;IAChD,EAAE,OAAO,EAAE,6BAA6B,EAAE,UAAU,EAAE,YAAY,EAAE;IACpE,EAAE,OAAO,EAAE,4CAA4C,EAAE,UAAU,EAAE,eAAe,EAAE;IACtF,EAAE,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC9D,EAAE,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAE,oBAAoB,EAAE;IAC3E,EAAE,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAE,OAAO,EAAE;IAC9D,EAAE,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAE,OAAO,EAAE;IAChE,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE;IAC1D,EAAE,OAAO,EAAE,yCAAyC,EAAE,UAAU,EAAE,oBAAoB,EAAE;IACxF,EAAE,OAAO,EAAE,+BAA+B,EAAE,UAAU,EAAE,eAAe,EAAE;IACzE,EAAE,OAAO,EAAE,+BAA+B,EAAE,UAAU,EAAE,eAAe,EAAE;IACzE,EAAE,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc,EAAE;IAClE,EAAE,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,YAAY,EAAE;IACjE,EAAE,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,YAAY,EAAE;IACjE,EAAE,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,iBAAiB,EAAE;IACvE,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,aAAa,EAAE;IAC5D,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,cAAc,EAAE;IAC/D,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,aAAa,EAAE;IAC/D,EAAE,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc,EAAE;CACnE,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CACrD,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CACtD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;QACzC,QAAQ,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,oBAAoB,EAAE,CAAC;QAC3D,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=source-type-registry.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-type-registry.test.d.ts","sourceRoot":"","sources":["../../src/services/source-type-registry.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,124 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ // Copyright (C) 2026 Oleksii PELYKH
3
+ import { describe, expect, it } from "vitest";
4
+ import { detectSourceType, validateSourceType } from "./source-type-registry.js";
5
+ describe("detectSourceType", () => {
6
+ describe("Free tier", () => {
7
+ it("should detect SearchPage from people search URL", () => {
8
+ expect(detectSourceType("https://www.linkedin.com/search/results/people/?keywords=engineer")).toBe("SearchPage");
9
+ });
10
+ it("should detect MyConnections from connections URL", () => {
11
+ expect(detectSourceType("https://www.linkedin.com/mynetwork/invite-connect/connections/")).toBe("MyConnections");
12
+ });
13
+ it("should detect Alumni from school people URL", () => {
14
+ expect(detectSourceType("https://www.linkedin.com/school/stanford-university/people/")).toBe("Alumni");
15
+ });
16
+ it("should detect OrganizationPeople from company people URL", () => {
17
+ expect(detectSourceType("https://www.linkedin.com/company/google/people/")).toBe("OrganizationPeople");
18
+ });
19
+ it("should detect Group from group members URL", () => {
20
+ expect(detectSourceType("https://www.linkedin.com/groups/12345/members/")).toBe("Group");
21
+ });
22
+ it("should detect Event from event attendees URL", () => {
23
+ expect(detectSourceType("https://www.linkedin.com/events/67890/attendees/")).toBe("Event");
24
+ });
25
+ it("should detect LWVYPP from profile views URL", () => {
26
+ expect(detectSourceType("https://www.linkedin.com/me/profile-views/")).toBe("LWVYPP");
27
+ });
28
+ it("should detect SentInvitationPage from sent invitations URL", () => {
29
+ expect(detectSourceType("https://www.linkedin.com/mynetwork/invitation-manager/sent/")).toBe("SentInvitationPage");
30
+ });
31
+ it("should detect FollowersPage from followers URL", () => {
32
+ expect(detectSourceType("https://www.linkedin.com/me/my-network/followers/")).toBe("FollowersPage");
33
+ });
34
+ it("should detect FollowingPage from following URL", () => {
35
+ expect(detectSourceType("https://www.linkedin.com/me/my-network/following/")).toBe("FollowingPage");
36
+ });
37
+ });
38
+ describe("Sales Navigator tier", () => {
39
+ it("should detect SNSearchPage from Sales Navigator people search URL", () => {
40
+ expect(detectSourceType("https://www.linkedin.com/sales/search/people?query=test")).toBe("SNSearchPage");
41
+ });
42
+ it("should detect SNListPage from Sales Navigator people list URL", () => {
43
+ expect(detectSourceType("https://www.linkedin.com/sales/lists/people/12345")).toBe("SNListPage");
44
+ });
45
+ it("should detect SNOrgsPage from Sales Navigator company search URL", () => {
46
+ expect(detectSourceType("https://www.linkedin.com/sales/search/company?query=test")).toBe("SNOrgsPage");
47
+ });
48
+ it("should detect SNOrgsListsPage from Sales Navigator company list URL", () => {
49
+ expect(detectSourceType("https://www.linkedin.com/sales/lists/company/12345")).toBe("SNOrgsListsPage");
50
+ });
51
+ });
52
+ describe("Recruiter tier", () => {
53
+ it("should detect TSearchPage from Talent search URL", () => {
54
+ expect(detectSourceType("https://www.linkedin.com/talent/search/?query=test")).toBe("TSearchPage");
55
+ });
56
+ it("should detect TProjectPage from Talent projects URL", () => {
57
+ expect(detectSourceType("https://www.linkedin.com/talent/projects/12345")).toBe("TProjectPage");
58
+ });
59
+ it("should detect RSearchPage from Recruiter search URL", () => {
60
+ expect(detectSourceType("https://www.linkedin.com/recruiter/search/?query=test")).toBe("RSearchPage");
61
+ });
62
+ it("should detect RProjectPage from Recruiter projects URL", () => {
63
+ expect(detectSourceType("https://www.linkedin.com/recruiter/projects/12345")).toBe("RProjectPage");
64
+ });
65
+ });
66
+ describe("edge cases", () => {
67
+ it("should return undefined for unknown URLs", () => {
68
+ expect(detectSourceType("https://www.linkedin.com/in/some-user")).toBeUndefined();
69
+ });
70
+ it("should return undefined for non-LinkedIn URLs", () => {
71
+ expect(detectSourceType("https://www.google.com/search?q=test")).toBeUndefined();
72
+ });
73
+ it("should return undefined for empty string", () => {
74
+ expect(detectSourceType("")).toBeUndefined();
75
+ });
76
+ it("should handle URLs with query parameters", () => {
77
+ expect(detectSourceType("https://www.linkedin.com/search/results/people/?keywords=test&origin=GLOBAL")).toBe("SearchPage");
78
+ });
79
+ it("should handle URLs with hash fragments", () => {
80
+ expect(detectSourceType("https://www.linkedin.com/search/results/people/#section")).toBe("SearchPage");
81
+ });
82
+ it("should handle raw pathnames without hostname", () => {
83
+ expect(detectSourceType("/search/results/people/")).toBe("SearchPage");
84
+ });
85
+ });
86
+ });
87
+ describe("validateSourceType", () => {
88
+ it("should return true for all valid source types", () => {
89
+ const validTypes = [
90
+ "SearchPage",
91
+ "MyConnections",
92
+ "Alumni",
93
+ "OrganizationPeople",
94
+ "Group",
95
+ "Event",
96
+ "LWVYPP",
97
+ "SentInvitationPage",
98
+ "FollowersPage",
99
+ "FollowingPage",
100
+ "SNSearchPage",
101
+ "SNListPage",
102
+ "SNOrgsPage",
103
+ "SNOrgsListsPage",
104
+ "TSearchPage",
105
+ "TProjectPage",
106
+ "RSearchPage",
107
+ "RProjectPage",
108
+ ];
109
+ for (const type of validTypes) {
110
+ expect(validateSourceType(type)).toBe(true);
111
+ }
112
+ });
113
+ it("should return false for unknown type strings", () => {
114
+ expect(validateSourceType("InvalidType")).toBe(false);
115
+ });
116
+ it("should return false for empty string", () => {
117
+ expect(validateSourceType("")).toBe(false);
118
+ });
119
+ it("should be case-sensitive", () => {
120
+ expect(validateSourceType("searchpage")).toBe(false);
121
+ expect(validateSourceType("SEARCHPAGE")).toBe(false);
122
+ });
123
+ });
124
+ //# sourceMappingURL=source-type-registry.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-type-registry.test.js","sourceRoot":"","sources":["../../src/services/source-type-registry.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * LinkedIn source page types supported by LinkedHelper.
3
+ *
4
+ * Each source type corresponds to a specific LinkedIn page from which
5
+ * people can be collected into campaigns.
6
+ */
7
+ export type SourceType = "SearchPage" | "MyConnections" | "Alumni" | "OrganizationPeople" | "Group" | "Event" | "LWVYPP" | "SentInvitationPage" | "FollowersPage" | "FollowingPage" | "SNSearchPage" | "SNListPage" | "SNOrgsPage" | "SNOrgsListsPage" | "TSearchPage" | "TProjectPage" | "RSearchPage" | "RProjectPage";
8
+ /**
9
+ * LinkedIn product tier for a source type.
10
+ */
11
+ export type SourceTier = "Free" | "SalesNavigator" | "Recruiter";
12
+ //# sourceMappingURL=collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../src/types/collection.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,eAAe,GACf,QAAQ,GACR,oBAAoB,GACpB,OAAO,GACP,OAAO,GACP,QAAQ,GACR,oBAAoB,GACpB,eAAe,GACf,eAAe,GACf,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,aAAa,GACb,cAAc,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,gBAAgB,GAAG,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ // Copyright (C) 2026 Oleksii PELYKH
3
+ export {};
4
+ //# sourceMappingURL=collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/types/collection.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,oCAAoC"}
@@ -3,5 +3,6 @@ export type { InstanceInfo, InstanceStatus, StartInstanceParams, StartInstanceRe
3
3
  export type { Account } from "./account.js";
4
4
  export type { Chat, ChatParticipant, ConversationMessages, ConversationThread, Message, MessageStats, MessageSummary, } from "./messaging.js";
5
5
  export type { CriticalErrorIssueData, DialogIssueData, InstanceIssue, PopupState, UIHealthStatus, } from "./ui-health.js";
6
+ export type { SourceTier, SourceType } from "./collection.js";
6
7
  export type { ActionConfig, ActionErrorSummary, ActionPeopleCounts, ActionStatistics, CampaignActionConfig, CampaignActionResult, CampaignActionUpdateConfig, ActionSettings, ActionTargetPerson, Campaign, CampaignAction, CampaignConfig, CampaignPersonEntry, CampaignPersonState, CampaignRunResult, CampaignState, ResultProfileData, CampaignStatistics, CampaignUpdateConfig, ExcludeListEntry, GetResultsOptions, GetStatisticsOptions, ImportPeopleResult, RemovePeopleResult, CampaignStatus, CampaignSummary, ListCampaignPeopleOptions, ListCampaignsOptions, RunnerState, } from "./campaign.js";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,eAAe,EACf,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,YAAY,EACV,IAAI,EACJ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,WAAW,GACZ,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,eAAe,EACf,SAAS,EACT,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,YAAY,EACV,IAAI,EACJ,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9D,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,WAAW,GACZ,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lhremote/core",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Core library for LinkedHelper automation",
5
5
  "type": "module",
6
6
  "engines": {