@entergreat/unipile-wrapper 2.1.0 → 2.1.3

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.
@@ -1,11 +1,15 @@
1
1
  import { HttpClient } from "../client/index.js";
2
2
  import { BaseService } from "./baseService.js";
3
- import { RetrieveCompanyRequest, CompanyResponse } from "../types/index.js";
3
+ import { RetrieveCompanyRequest, SearchCompanyRequest, CompanyResponse, CompanySearchResponse } from "../types/index.js";
4
4
  export declare class CompanyService extends BaseService {
5
5
  constructor(client: HttpClient, defaultAccountId?: string);
6
6
  /**
7
7
  * Retrieve LinkedIn company information by ID or URL
8
8
  */
9
9
  retrieve({ accountId, companyId, companyUrl, }: RetrieveCompanyRequest): Promise<CompanyResponse>;
10
+ /**
11
+ * Search for companies by name/keywords
12
+ */
13
+ search({ accountId, keywords, limit, }: SearchCompanyRequest): Promise<CompanySearchResponse>;
10
14
  }
11
15
  //# sourceMappingURL=companyService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"companyService.d.ts","sourceRoot":"","sources":["../../src/services/companyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG5E,qBAAa,cAAe,SAAQ,WAAW;gBACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAIzD;;OAEG;IACG,QAAQ,CAAC,EACb,SAAS,EACT,SAAS,EACT,UAAU,GACX,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;CAmBrD"}
1
+ {"version":3,"file":"companyService.d.ts","sourceRoot":"","sources":["../../src/services/companyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAG3B,qBAAa,cAAe,SAAQ,WAAW;gBACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAIzD;;OAEG;IACG,QAAQ,CAAC,EACb,SAAS,EACT,SAAS,EACT,UAAU,GACX,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBpD;;OAEG;IACG,MAAM,CAAC,EACX,SAAS,EACT,QAAQ,EACR,KAAS,GACV,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAgBzD"}
@@ -22,5 +22,21 @@ export class CompanyService extends BaseService {
22
22
  });
23
23
  return this.client.get(url);
24
24
  }
25
+ /**
26
+ * Search for companies by name/keywords
27
+ */
28
+ async search({ accountId, keywords, limit = 5, }) {
29
+ const resolvedAccountId = this.resolveAccountId(accountId);
30
+ if (!keywords) {
31
+ throw new Error("keywords is required for company search");
32
+ }
33
+ const url = this.buildUrl("/linkedin/search/parameters", {
34
+ account_id: resolvedAccountId,
35
+ keywords,
36
+ type: "COMPANY",
37
+ limit,
38
+ });
39
+ return this.client.get(url);
40
+ }
25
41
  }
26
42
  //# sourceMappingURL=companyService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"companyService.js","sourceRoot":"","sources":["../../src/services/companyService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,YAAY,MAAkB,EAAE,gBAAyB;QACvD,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,EACb,SAAS,EACT,SAAS,EACT,UAAU,GACa;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3D,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE9C,IAAI,EAAE,GAAG,SAAS,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;YACtB,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,EAAE;YACnD,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAkB,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"companyService.js","sourceRoot":"","sources":["../../src/services/companyService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,YAAY,MAAkB,EAAE,gBAAyB;QACvD,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,EACb,SAAS,EACT,SAAS,EACT,UAAU,GACa;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3D,sBAAsB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE9C,IAAI,EAAE,GAAG,SAAS,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;YACtB,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,EAAE;YACnD,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAkB,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EACX,SAAS,EACT,QAAQ,EACR,KAAK,GAAG,CAAC,GACY;QACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAAE;YACvD,UAAU,EAAE,iBAAiB;YAC7B,QAAQ;YACR,IAAI,EAAE,SAAS;YACf,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAwB,GAAG,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from "../client/index.js";
2
2
  import { BaseService } from "./baseService.js";
3
- import { RetrieveProfileRequest, EditProfileRequest, AddExperienceRequest, ProfileResponse } from "../types/index.js";
3
+ import { RetrieveProfileRequest, EditProfileRequest, AddExperienceRequest, DeleteExperienceRequest, ProfileResponse } from "../types/index.js";
4
4
  export declare class ProfileService extends BaseService {
5
5
  constructor(client: HttpClient, defaultAccountId?: string);
6
6
  /**
@@ -15,6 +15,10 @@ export declare class ProfileService extends BaseService {
15
15
  * Add a work experience position to the profile
16
16
  */
17
17
  addExperience({ accountId, experience, }: AddExperienceRequest): Promise<ProfileResponse>;
18
+ /**
19
+ * Delete a work experience position from the profile
20
+ */
21
+ deleteExperience({ accountId, experienceId, }: DeleteExperienceRequest): Promise<ProfileResponse>;
18
22
  private buildExperienceFormData;
19
23
  }
20
24
  //# sourceMappingURL=profileService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profileService.d.ts","sourceRoot":"","sources":["../../src/services/profileService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAQ3B,qBAAa,cAAe,SAAQ,WAAW;gBACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAIzD;;OAEG;IACG,QAAQ,CAAC,EACb,SAAS,EACT,SAAS,EACT,gBAAqB,EACrB,MAAc,GACf,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBpD;;OAEG;IACG,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAapF;;OAEG;IACG,aAAa,CAAC,EAClB,SAAS,EACT,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAalD,OAAO,CAAC,uBAAuB;CA6DhC"}
1
+ {"version":3,"file":"profileService.d.ts","sourceRoot":"","sources":["../../src/services/profileService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAQ3B,qBAAa,cAAe,SAAQ,WAAW;gBACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM;IAIzD;;OAEG;IACG,QAAQ,CAAC,EACb,SAAS,EACT,SAAS,EACT,gBAAqB,EACrB,MAAc,GACf,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBpD;;OAEG;IACG,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IAapF;;OAEG;IACG,aAAa,CAAC,EAClB,SAAS,EACT,UAAU,GACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAalD;;OAEG;IACG,gBAAgB,CAAC,EACrB,SAAS,EACT,YAAY,GACb,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC;IAmBrD,OAAO,CAAC,uBAAuB;CA6DhC"}
@@ -44,6 +44,23 @@ export class ProfileService extends BaseService {
44
44
  const formData = this.buildExperienceFormData(resolvedAccountId, experience);
45
45
  return this.client.patchFormData(url, formData);
46
46
  }
47
+ /**
48
+ * Delete a work experience position from the profile
49
+ */
50
+ async deleteExperience({ accountId, experienceId, }) {
51
+ const resolvedAccountId = this.resolveAccountId(accountId);
52
+ if (!experienceId) {
53
+ throw new Error("experienceId is required");
54
+ }
55
+ const url = this.buildUrl("/users/me/edit", {
56
+ account_id: resolvedAccountId,
57
+ });
58
+ const formData = new FormData();
59
+ formData.append("type", "LINKEDIN");
60
+ formData.append("account_id", resolvedAccountId);
61
+ formData.append("experience[delete]", experienceId);
62
+ return this.client.patchFormData(url, formData);
63
+ }
47
64
  buildExperienceFormData(accountId, experience) {
48
65
  const formData = new FormData();
49
66
  formData.append("type", "LINKEDIN");
@@ -1 +1 @@
1
- {"version":3,"file":"profileService.js","sourceRoot":"","sources":["../../src/services/profileService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profileService.js","sourceRoot":"","sources":["../../src/services/profileService.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,35 @@ export interface RetrieveCompanyRequest extends AccountIdParam {
3
3
  companyId?: string;
4
4
  companyUrl?: string;
5
5
  }
6
+ export interface SearchCompanyRequest extends AccountIdParam {
7
+ keywords: string;
8
+ limit?: number;
9
+ }
10
+ export interface CompanySearchResult {
11
+ id: string;
12
+ name: string;
13
+ linkedin_url?: string;
14
+ logo_url?: string;
15
+ industry?: string;
16
+ }
17
+ export interface CompanySearchResponse {
18
+ object: string;
19
+ items: CompanySearchResult[];
20
+ }
6
21
  export interface CompanyResponse {
7
22
  object: string;
8
23
  id: string;
9
24
  name?: string;
25
+ industry?: string;
26
+ company_size?: string;
27
+ description?: string;
28
+ linkedin_url?: string;
29
+ website?: string;
30
+ locations?: Array<{
31
+ id?: string;
32
+ city?: string;
33
+ country?: string;
34
+ name?: string;
35
+ }>;
10
36
  }
11
37
  //# sourceMappingURL=company.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"company.d.ts","sourceRoot":"","sources":["../../src/types/company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CAEf"}
1
+ {"version":3,"file":"company.d.ts","sourceRoot":"","sources":["../../src/types/company.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ"}
@@ -37,10 +37,33 @@ export interface ExperienceData {
37
37
  export interface AddExperienceRequest extends AccountIdParam {
38
38
  experience: ExperienceData;
39
39
  }
40
+ export interface DeleteExperienceRequest extends AccountIdParam {
41
+ experienceId: string;
42
+ }
40
43
  export interface ProfileResponse {
41
44
  object: string;
42
45
  id: string;
43
46
  name?: string;
44
47
  headline?: string;
48
+ occupation?: string;
49
+ about?: string;
50
+ work_experience?: WorkExperience[];
51
+ work_experience_total_count?: number;
52
+ public_identifier?: string;
53
+ }
54
+ export interface WorkExperience {
55
+ id?: string;
56
+ title?: string;
57
+ company_name?: string;
58
+ company_id?: string;
59
+ description?: string;
60
+ start_date?: {
61
+ month?: number;
62
+ year?: number;
63
+ };
64
+ end_date?: {
65
+ month?: number;
66
+ year?: number;
67
+ };
45
68
  }
46
69
  //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/types/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CAEnB"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/types/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C"}
@@ -1,6 +1,7 @@
1
1
  type QueryParams = Record<string, string | number | boolean | undefined>;
2
2
  /**
3
3
  * Builds a URL with query parameters, filtering out undefined values
4
+ * Properly joins baseUrl path with the given path
4
5
  */
5
6
  export declare function buildUrl(baseUrl: string, path: string, params?: QueryParams): string;
6
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"urlBuilder.d.ts","sourceRoot":"","sources":["../../src/utils/urlBuilder.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAEzE;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,WAAgB,GAAG,MAAM,CAUxF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAQpF"}
1
+ {"version":3,"file":"urlBuilder.d.ts","sourceRoot":"","sources":["../../src/utils/urlBuilder.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,WAAgB,GAAG,MAAM,CAiBxF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAQpF"}
@@ -1,14 +1,21 @@
1
1
  /**
2
2
  * Builds a URL with query parameters, filtering out undefined values
3
+ * Properly joins baseUrl path with the given path
3
4
  */
4
5
  export function buildUrl(baseUrl, path, params = {}) {
5
- const url = new URL(path, baseUrl);
6
+ // Parse the base URL to get its components
7
+ const base = new URL(baseUrl);
8
+ // Join the base path with the new path (remove leading slash from path if base has trailing content)
9
+ const basePath = base.pathname.endsWith('/') ? base.pathname.slice(0, -1) : base.pathname;
10
+ const newPath = path.startsWith('/') ? path : `/${path}`;
11
+ base.pathname = basePath + newPath;
12
+ // Add query parameters
6
13
  for (const [key, value] of Object.entries(params)) {
7
14
  if (value !== undefined && value !== "") {
8
- url.searchParams.append(key, String(value));
15
+ base.searchParams.append(key, String(value));
9
16
  }
10
17
  }
11
- return url.toString();
18
+ return base.toString();
12
19
  }
13
20
  /**
14
21
  * Appends array values as repeated query parameters
@@ -1 +1 @@
1
- {"version":3,"file":"urlBuilder.js","sourceRoot":"","sources":["../../src/utils/urlBuilder.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAY,EAAE,SAAsB,EAAE;IAC9E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,GAAW,EAAE,MAAgB;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"urlBuilder.js","sourceRoot":"","sources":["../../src/utils/urlBuilder.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAY,EAAE,SAAsB,EAAE;IAC9E,2CAA2C;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE9B,qGAAqG;IACrG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEnC,uBAAuB;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,GAAW,EAAE,MAAgB;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entergreat/unipile-wrapper",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "description": "A lightweight TypeScript wrapper for Unipile's LinkedIn API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +1,11 @@
1
1
  import { HttpClient } from "../client/index.js";
2
2
  import { BaseService } from "./baseService.js";
3
- import { RetrieveCompanyRequest, CompanyResponse } from "../types/index.js";
3
+ import {
4
+ RetrieveCompanyRequest,
5
+ SearchCompanyRequest,
6
+ CompanyResponse,
7
+ CompanySearchResponse,
8
+ } from "../types/index.js";
4
9
  import { validateCompanyIdOrUrl, extractCompanyIdFromUrl } from "../utils/index.js";
5
10
 
6
11
  export class CompanyService extends BaseService {
@@ -34,4 +39,28 @@ export class CompanyService extends BaseService {
34
39
 
35
40
  return this.client.get<CompanyResponse>(url);
36
41
  }
42
+
43
+ /**
44
+ * Search for companies by name/keywords
45
+ */
46
+ async search({
47
+ accountId,
48
+ keywords,
49
+ limit = 5,
50
+ }: SearchCompanyRequest): Promise<CompanySearchResponse> {
51
+ const resolvedAccountId = this.resolveAccountId(accountId);
52
+
53
+ if (!keywords) {
54
+ throw new Error("keywords is required for company search");
55
+ }
56
+
57
+ const url = this.buildUrl("/linkedin/search/parameters", {
58
+ account_id: resolvedAccountId,
59
+ keywords,
60
+ type: "COMPANY",
61
+ limit,
62
+ });
63
+
64
+ return this.client.get<CompanySearchResponse>(url);
65
+ }
37
66
  }
@@ -5,6 +5,7 @@ import {
5
5
  RetrieveProfileRequest,
6
6
  EditProfileRequest,
7
7
  AddExperienceRequest,
8
+ DeleteExperienceRequest,
8
9
  ProfileResponse,
9
10
  } from "../types/index.js";
10
11
  import {
@@ -78,6 +79,31 @@ export class ProfileService extends BaseService {
78
79
  return this.client.patchFormData<ProfileResponse>(url, formData);
79
80
  }
80
81
 
82
+ /**
83
+ * Delete a work experience position from the profile
84
+ */
85
+ async deleteExperience({
86
+ accountId,
87
+ experienceId,
88
+ }: DeleteExperienceRequest): Promise<ProfileResponse> {
89
+ const resolvedAccountId = this.resolveAccountId(accountId);
90
+
91
+ if (!experienceId) {
92
+ throw new Error("experienceId is required");
93
+ }
94
+
95
+ const url = this.buildUrl("/users/me/edit", {
96
+ account_id: resolvedAccountId,
97
+ });
98
+
99
+ const formData = new FormData();
100
+ formData.append("type", "LINKEDIN");
101
+ formData.append("account_id", resolvedAccountId);
102
+ formData.append("experience[delete]", experienceId);
103
+
104
+ return this.client.patchFormData<ProfileResponse>(url, formData);
105
+ }
106
+
81
107
  private buildExperienceFormData(
82
108
  accountId: string,
83
109
  experience: AddExperienceRequest["experience"]
@@ -5,9 +5,37 @@ export interface RetrieveCompanyRequest extends AccountIdParam {
5
5
  companyUrl?: string;
6
6
  }
7
7
 
8
+ export interface SearchCompanyRequest extends AccountIdParam {
9
+ keywords: string;
10
+ limit?: number;
11
+ }
12
+
13
+ export interface CompanySearchResult {
14
+ id: string;
15
+ name: string;
16
+ linkedin_url?: string;
17
+ logo_url?: string;
18
+ industry?: string;
19
+ }
20
+
21
+ export interface CompanySearchResponse {
22
+ object: string;
23
+ items: CompanySearchResult[];
24
+ }
25
+
8
26
  export interface CompanyResponse {
9
27
  object: string;
10
28
  id: string;
11
29
  name?: string;
12
- // Add more fields as needed
30
+ industry?: string;
31
+ company_size?: string;
32
+ description?: string;
33
+ linkedin_url?: string;
34
+ website?: string;
35
+ locations?: Array<{
36
+ id?: string;
37
+ city?: string;
38
+ country?: string;
39
+ name?: string;
40
+ }>;
13
41
  }
@@ -41,10 +41,28 @@ export interface AddExperienceRequest extends AccountIdParam {
41
41
  experience: ExperienceData;
42
42
  }
43
43
 
44
+ export interface DeleteExperienceRequest extends AccountIdParam {
45
+ experienceId: string;
46
+ }
47
+
44
48
  export interface ProfileResponse {
45
49
  object: string;
46
50
  id: string;
47
51
  name?: string;
48
52
  headline?: string;
49
- // Add more fields as needed
53
+ occupation?: string;
54
+ about?: string;
55
+ work_experience?: WorkExperience[];
56
+ work_experience_total_count?: number;
57
+ public_identifier?: string;
58
+ }
59
+
60
+ export interface WorkExperience {
61
+ id?: string;
62
+ title?: string;
63
+ company_name?: string;
64
+ company_id?: string;
65
+ description?: string;
66
+ start_date?: { month?: number; year?: number };
67
+ end_date?: { month?: number; year?: number };
50
68
  }
@@ -2,17 +2,25 @@ type QueryParams = Record<string, string | number | boolean | undefined>;
2
2
 
3
3
  /**
4
4
  * Builds a URL with query parameters, filtering out undefined values
5
+ * Properly joins baseUrl path with the given path
5
6
  */
6
7
  export function buildUrl(baseUrl: string, path: string, params: QueryParams = {}): string {
7
- const url = new URL(path, baseUrl);
8
+ // Parse the base URL to get its components
9
+ const base = new URL(baseUrl);
8
10
 
11
+ // Join the base path with the new path (remove leading slash from path if base has trailing content)
12
+ const basePath = base.pathname.endsWith('/') ? base.pathname.slice(0, -1) : base.pathname;
13
+ const newPath = path.startsWith('/') ? path : `/${path}`;
14
+ base.pathname = basePath + newPath;
15
+
16
+ // Add query parameters
9
17
  for (const [key, value] of Object.entries(params)) {
10
18
  if (value !== undefined && value !== "") {
11
- url.searchParams.append(key, String(value));
19
+ base.searchParams.append(key, String(value));
12
20
  }
13
21
  }
14
22
 
15
- return url.toString();
23
+ return base.toString();
16
24
  }
17
25
 
18
26
  /**