scavio 0.9.0 → 0.11.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/index.d.cts CHANGED
@@ -1150,150 +1150,143 @@ declare class XNamespace {
1150
1150
  trending(options?: XTrendingOptions): Promise<Record<string, unknown>>;
1151
1151
  }
1152
1152
 
1153
+ /** A member reference: a vanity handle, or a full profile URL. */
1153
1154
  interface LinkedInPersonOptions {
1154
- /** Public identifier (vanity handle). */
1155
- username: string;
1156
- /** Include the experiences section (default true server-side). */
1157
- include_experiences?: boolean;
1158
- /** Include the educations section (default true server-side). */
1159
- include_educations?: boolean;
1160
- /** Include the skills section (default true server-side). */
1161
- include_skills?: boolean;
1162
- /** Include the certifications section (default true server-side). */
1163
- include_certifications?: boolean;
1164
- /** Include follower and connection counts (default true server-side). */
1165
- include_follower_and_connection?: boolean;
1166
- [key: string]: unknown;
1167
- }
1168
- interface LinkedInPersonRefOptions {
1169
- /** Member urn. */
1170
- urn?: string;
1171
- /** Public identifier; resolved to a urn if urn is omitted. */
1155
+ /** Public identifier (vanity handle), e.g. "williamhgates". */
1172
1156
  username?: string;
1157
+ /** Full LinkedIn profile URL, as an alternative to username. */
1158
+ url?: string;
1173
1159
  [key: string]: unknown;
1174
1160
  }
1175
- interface LinkedInPersonPostsOptions {
1176
- /** Member urn. */
1177
- urn?: string;
1178
- /** Public identifier; resolved to a urn if urn is omitted. */
1179
- username?: string;
1180
- /** Pagination cursor from a prior response. */
1161
+ interface LinkedInPersonPostsRequest extends LinkedInPersonOptions {
1162
+ /** Which feed: the member's own posts (default), posts they commented on, or posts they reacted to. */
1163
+ type?: "posts" | "comments" | "reactions";
1164
+ /** Opaque cursor from a previous response's next_cursor. */
1181
1165
  cursor?: string;
1166
+ }
1167
+ /** A company reference: a universal name (slug), or a full company URL. */
1168
+ interface LinkedInCompanyOptions {
1169
+ /** Company universal name (slug), e.g. "microsoft". */
1170
+ company?: string;
1171
+ /** Full LinkedIn company URL, as an alternative to company. */
1172
+ url?: string;
1182
1173
  [key: string]: unknown;
1183
1174
  }
1184
- interface LinkedInPersonContactOptions {
1185
- /** Public identifier (vanity handle). */
1186
- username: string;
1175
+ interface LinkedInCompanyPostsRequest extends LinkedInCompanyOptions {
1176
+ /** Opaque cursor from a previous response's next_cursor. */
1177
+ cursor?: string;
1178
+ }
1179
+ /** @deprecated Use {@link LinkedInPersonOptions}. */
1180
+ type LinkedInPersonRefOptions = LinkedInPersonOptions;
1181
+ /** @deprecated Use {@link LinkedInPersonPostsRequest}. */
1182
+ type LinkedInPersonPostsOptions = LinkedInPersonPostsRequest;
1183
+ /** @deprecated Use {@link LinkedInCompanyPostsRequest}. */
1184
+ type LinkedInCompanyPostsOptions = LinkedInCompanyPostsRequest;
1185
+ interface LinkedInSearchJobsOptions {
1186
+ /** Search keyword. */
1187
+ search: string;
1188
+ /** Geographic filter; omit to search everywhere. */
1189
+ location?: string;
1190
+ /** Opaque cursor from a previous response's next_cursor. */
1191
+ cursor?: string;
1187
1192
  [key: string]: unknown;
1188
1193
  }
1189
- interface LinkedInCompanyOptions {
1190
- /** Company universal name (slug) or LinkedIn company URL. */
1191
- company: string;
1194
+ interface LinkedInJobOptions {
1195
+ /** Job listing id. */
1196
+ job_id?: string;
1197
+ /** Full LinkedIn job URL, as an alternative to job_id. */
1198
+ url?: string;
1192
1199
  [key: string]: unknown;
1193
1200
  }
1194
- interface LinkedInCompanyPostsOptions {
1195
- /** Company universal name (slug) or LinkedIn company URL. */
1196
- company: string;
1197
- /** Pagination cursor from a prior response. */
1198
- cursor?: string;
1199
- /** Results per page (1-100). */
1200
- count?: number;
1201
+ interface LinkedInPostOptions {
1202
+ /** Post id or activity urn. */
1203
+ post_id?: string;
1204
+ /** Full LinkedIn post URL, as an alternative to post_id. */
1205
+ url?: string;
1206
+ [key: string]: unknown;
1207
+ }
1208
+ interface LinkedInPostCommentsOptions extends LinkedInPostOptions {
1209
+ /** 1-based page number. Page size varies, so page until a page comes back empty. */
1210
+ page?: number;
1211
+ }
1212
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1213
+ interface LinkedInPersonContactOptions {
1214
+ username?: string;
1201
1215
  [key: string]: unknown;
1202
1216
  }
1217
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1203
1218
  interface LinkedInCompanyRefOptions {
1204
- /** Numeric company id. */
1205
1219
  company_id?: string;
1206
- /** Company slug/url; resolved to a company_id if company_id is omitted. */
1207
1220
  company?: string;
1208
- /** Pagination cursor from a prior response. */
1209
- cursor?: string;
1210
1221
  [key: string]: unknown;
1211
1222
  }
1223
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1212
1224
  interface LinkedInSearchPeopleOptions {
1213
- /** Name to search for. */
1214
1225
  search?: string;
1215
- /** Job title filter. */
1216
1226
  title?: string;
1217
- /** Company filter. */
1218
1227
  company?: string;
1219
- /** School filter. */
1220
1228
  school?: string;
1221
- /** A geo name or id to filter by. */
1222
1229
  location?: string;
1223
- /** Page cursor (page number). */
1224
- cursor?: string;
1225
- [key: string]: unknown;
1226
- }
1227
- interface LinkedInSearchJobsOptions {
1228
- /** Search query (1-500 characters). */
1229
- search: string;
1230
- /** Page cursor (page number). */
1231
- cursor?: string;
1232
- /** Date-posted filter. */
1233
- date_posted?: string;
1234
- /** Geo code to filter by. */
1235
- geocode?: string;
1236
- /** Experience level filter. */
1237
- experience_level?: string;
1238
- /** Remote filter. */
1239
- remote?: string;
1240
- /** Job type filter. */
1241
- job_type?: string;
1242
1230
  [key: string]: unknown;
1243
1231
  }
1232
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1244
1233
  interface LinkedInSearchPostsOptions {
1245
- /** Search query (1-500 characters). */
1246
- search: string;
1247
- /** Page cursor (page number). */
1248
- cursor?: string;
1249
- /** Date-posted filter. */
1250
- date_posted?: string;
1251
- /** Sort order. */
1252
- sort_by?: string;
1253
- /** Content type filter. */
1254
- content_type?: string;
1255
- [key: string]: unknown;
1256
- }
1257
- interface LinkedInJobOptions {
1258
- /** Job listing id. */
1259
- job_id: string;
1260
- /** Include the required-skills section. */
1261
- include_skills?: boolean;
1262
- [key: string]: unknown;
1263
- }
1264
- interface LinkedInPostOptions {
1265
- /** Post id or activity urn. */
1266
- post_id: string;
1267
- [key: string]: unknown;
1268
- }
1269
- interface LinkedInPostCommentsOptions {
1270
- /** Post id or activity urn. */
1271
- post_id: string;
1272
- /** Pagination cursor from a prior response. */
1273
- cursor?: string;
1274
- /** Comment sort order. */
1275
- sort_order?: "relevance" | "recent";
1276
- /** Post type. */
1277
- post_type?: "activity" | "ugc";
1234
+ search?: string;
1278
1235
  [key: string]: unknown;
1279
1236
  }
1280
1237
  declare class LinkedInNamespace {
1281
1238
  private client;
1282
1239
  constructor(client: Scavio);
1240
+ /** Full profile: about text, experience, education, honours and links. */
1283
1241
  person(options: LinkedInPersonOptions): Promise<Record<string, unknown>>;
1284
- personAbout(options: LinkedInPersonRefOptions): Promise<Record<string, unknown>>;
1285
- personPosts(options: LinkedInPersonPostsOptions): Promise<Record<string, unknown>>;
1286
- personContact(options: LinkedInPersonContactOptions): Promise<Record<string, unknown>>;
1242
+ /** The about-only slice of the profile payload. */
1243
+ personAbout(options: LinkedInPersonOptions): Promise<Record<string, unknown>>;
1244
+ /**
1245
+ * A member's posts, or the posts they commented on or reacted to via `type`.
1246
+ * 50 per page; pass the previous response's `next_cursor` to advance.
1247
+ */
1248
+ personPosts(options: LinkedInPersonPostsRequest): Promise<Record<string, unknown>>;
1249
+ /** Company profile, including locations and featured employees. */
1287
1250
  company(options: LinkedInCompanyOptions): Promise<Record<string, unknown>>;
1288
- companyPosts(options: LinkedInCompanyPostsOptions): Promise<Record<string, unknown>>;
1289
- companyPeople(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1290
- companyJobs(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1291
- searchPeople(options: LinkedInSearchPeopleOptions): Promise<Record<string, unknown>>;
1251
+ /** Recent company posts, 50 per page; advance with `next_cursor`. */
1252
+ companyPosts(options: LinkedInCompanyPostsRequest): Promise<Record<string, unknown>>;
1253
+ /**
1254
+ * Job search, 25 per page; advance with `next_cursor`. Upstream rotates its
1255
+ * result set, so pages overlap slightly - dedupe by job id.
1256
+ */
1292
1257
  searchJobs(options: LinkedInSearchJobsOptions): Promise<Record<string, unknown>>;
1293
- searchPosts(options: LinkedInSearchPostsOptions): Promise<Record<string, unknown>>;
1258
+ /** Full detail for one job listing, including the hiring company. */
1294
1259
  job(options: LinkedInJobOptions): Promise<Record<string, unknown>>;
1260
+ /** Full detail for one post, including its top visible comments. */
1295
1261
  post(options: LinkedInPostOptions): Promise<Record<string, unknown>>;
1262
+ /** Comments with their replies. Page size varies - keep paging until empty. */
1296
1263
  postComments(options: LinkedInPostCommentsOptions): Promise<Record<string, unknown>>;
1264
+ /**
1265
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1266
+ * never billed.
1267
+ */
1268
+ personContact(options: LinkedInPersonContactOptions): Promise<Record<string, unknown>>;
1269
+ /**
1270
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1271
+ * never billed. `company()` returns `featured_employees`, a small sample of
1272
+ * staff profiles.
1273
+ */
1274
+ companyPeople(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1275
+ /**
1276
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1277
+ * never billed. Use `searchJobs()` with the company name as the search term.
1278
+ */
1279
+ companyJobs(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1280
+ /**
1281
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1282
+ * never billed.
1283
+ */
1284
+ searchPeople(options: LinkedInSearchPeopleOptions): Promise<Record<string, unknown>>;
1285
+ /**
1286
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1287
+ * never billed.
1288
+ */
1289
+ searchPosts(options: LinkedInSearchPostsOptions): Promise<Record<string, unknown>>;
1297
1290
  }
1298
1291
 
1299
1292
  interface ScavioConfig {
package/dist/index.d.ts CHANGED
@@ -1150,150 +1150,143 @@ declare class XNamespace {
1150
1150
  trending(options?: XTrendingOptions): Promise<Record<string, unknown>>;
1151
1151
  }
1152
1152
 
1153
+ /** A member reference: a vanity handle, or a full profile URL. */
1153
1154
  interface LinkedInPersonOptions {
1154
- /** Public identifier (vanity handle). */
1155
- username: string;
1156
- /** Include the experiences section (default true server-side). */
1157
- include_experiences?: boolean;
1158
- /** Include the educations section (default true server-side). */
1159
- include_educations?: boolean;
1160
- /** Include the skills section (default true server-side). */
1161
- include_skills?: boolean;
1162
- /** Include the certifications section (default true server-side). */
1163
- include_certifications?: boolean;
1164
- /** Include follower and connection counts (default true server-side). */
1165
- include_follower_and_connection?: boolean;
1166
- [key: string]: unknown;
1167
- }
1168
- interface LinkedInPersonRefOptions {
1169
- /** Member urn. */
1170
- urn?: string;
1171
- /** Public identifier; resolved to a urn if urn is omitted. */
1155
+ /** Public identifier (vanity handle), e.g. "williamhgates". */
1172
1156
  username?: string;
1157
+ /** Full LinkedIn profile URL, as an alternative to username. */
1158
+ url?: string;
1173
1159
  [key: string]: unknown;
1174
1160
  }
1175
- interface LinkedInPersonPostsOptions {
1176
- /** Member urn. */
1177
- urn?: string;
1178
- /** Public identifier; resolved to a urn if urn is omitted. */
1179
- username?: string;
1180
- /** Pagination cursor from a prior response. */
1161
+ interface LinkedInPersonPostsRequest extends LinkedInPersonOptions {
1162
+ /** Which feed: the member's own posts (default), posts they commented on, or posts they reacted to. */
1163
+ type?: "posts" | "comments" | "reactions";
1164
+ /** Opaque cursor from a previous response's next_cursor. */
1181
1165
  cursor?: string;
1166
+ }
1167
+ /** A company reference: a universal name (slug), or a full company URL. */
1168
+ interface LinkedInCompanyOptions {
1169
+ /** Company universal name (slug), e.g. "microsoft". */
1170
+ company?: string;
1171
+ /** Full LinkedIn company URL, as an alternative to company. */
1172
+ url?: string;
1182
1173
  [key: string]: unknown;
1183
1174
  }
1184
- interface LinkedInPersonContactOptions {
1185
- /** Public identifier (vanity handle). */
1186
- username: string;
1175
+ interface LinkedInCompanyPostsRequest extends LinkedInCompanyOptions {
1176
+ /** Opaque cursor from a previous response's next_cursor. */
1177
+ cursor?: string;
1178
+ }
1179
+ /** @deprecated Use {@link LinkedInPersonOptions}. */
1180
+ type LinkedInPersonRefOptions = LinkedInPersonOptions;
1181
+ /** @deprecated Use {@link LinkedInPersonPostsRequest}. */
1182
+ type LinkedInPersonPostsOptions = LinkedInPersonPostsRequest;
1183
+ /** @deprecated Use {@link LinkedInCompanyPostsRequest}. */
1184
+ type LinkedInCompanyPostsOptions = LinkedInCompanyPostsRequest;
1185
+ interface LinkedInSearchJobsOptions {
1186
+ /** Search keyword. */
1187
+ search: string;
1188
+ /** Geographic filter; omit to search everywhere. */
1189
+ location?: string;
1190
+ /** Opaque cursor from a previous response's next_cursor. */
1191
+ cursor?: string;
1187
1192
  [key: string]: unknown;
1188
1193
  }
1189
- interface LinkedInCompanyOptions {
1190
- /** Company universal name (slug) or LinkedIn company URL. */
1191
- company: string;
1194
+ interface LinkedInJobOptions {
1195
+ /** Job listing id. */
1196
+ job_id?: string;
1197
+ /** Full LinkedIn job URL, as an alternative to job_id. */
1198
+ url?: string;
1192
1199
  [key: string]: unknown;
1193
1200
  }
1194
- interface LinkedInCompanyPostsOptions {
1195
- /** Company universal name (slug) or LinkedIn company URL. */
1196
- company: string;
1197
- /** Pagination cursor from a prior response. */
1198
- cursor?: string;
1199
- /** Results per page (1-100). */
1200
- count?: number;
1201
+ interface LinkedInPostOptions {
1202
+ /** Post id or activity urn. */
1203
+ post_id?: string;
1204
+ /** Full LinkedIn post URL, as an alternative to post_id. */
1205
+ url?: string;
1206
+ [key: string]: unknown;
1207
+ }
1208
+ interface LinkedInPostCommentsOptions extends LinkedInPostOptions {
1209
+ /** 1-based page number. Page size varies, so page until a page comes back empty. */
1210
+ page?: number;
1211
+ }
1212
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1213
+ interface LinkedInPersonContactOptions {
1214
+ username?: string;
1201
1215
  [key: string]: unknown;
1202
1216
  }
1217
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1203
1218
  interface LinkedInCompanyRefOptions {
1204
- /** Numeric company id. */
1205
1219
  company_id?: string;
1206
- /** Company slug/url; resolved to a company_id if company_id is omitted. */
1207
1220
  company?: string;
1208
- /** Pagination cursor from a prior response. */
1209
- cursor?: string;
1210
1221
  [key: string]: unknown;
1211
1222
  }
1223
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1212
1224
  interface LinkedInSearchPeopleOptions {
1213
- /** Name to search for. */
1214
1225
  search?: string;
1215
- /** Job title filter. */
1216
1226
  title?: string;
1217
- /** Company filter. */
1218
1227
  company?: string;
1219
- /** School filter. */
1220
1228
  school?: string;
1221
- /** A geo name or id to filter by. */
1222
1229
  location?: string;
1223
- /** Page cursor (page number). */
1224
- cursor?: string;
1225
- [key: string]: unknown;
1226
- }
1227
- interface LinkedInSearchJobsOptions {
1228
- /** Search query (1-500 characters). */
1229
- search: string;
1230
- /** Page cursor (page number). */
1231
- cursor?: string;
1232
- /** Date-posted filter. */
1233
- date_posted?: string;
1234
- /** Geo code to filter by. */
1235
- geocode?: string;
1236
- /** Experience level filter. */
1237
- experience_level?: string;
1238
- /** Remote filter. */
1239
- remote?: string;
1240
- /** Job type filter. */
1241
- job_type?: string;
1242
1230
  [key: string]: unknown;
1243
1231
  }
1232
+ /** @deprecated Retired upstream; always returns HTTP 410. */
1244
1233
  interface LinkedInSearchPostsOptions {
1245
- /** Search query (1-500 characters). */
1246
- search: string;
1247
- /** Page cursor (page number). */
1248
- cursor?: string;
1249
- /** Date-posted filter. */
1250
- date_posted?: string;
1251
- /** Sort order. */
1252
- sort_by?: string;
1253
- /** Content type filter. */
1254
- content_type?: string;
1255
- [key: string]: unknown;
1256
- }
1257
- interface LinkedInJobOptions {
1258
- /** Job listing id. */
1259
- job_id: string;
1260
- /** Include the required-skills section. */
1261
- include_skills?: boolean;
1262
- [key: string]: unknown;
1263
- }
1264
- interface LinkedInPostOptions {
1265
- /** Post id or activity urn. */
1266
- post_id: string;
1267
- [key: string]: unknown;
1268
- }
1269
- interface LinkedInPostCommentsOptions {
1270
- /** Post id or activity urn. */
1271
- post_id: string;
1272
- /** Pagination cursor from a prior response. */
1273
- cursor?: string;
1274
- /** Comment sort order. */
1275
- sort_order?: "relevance" | "recent";
1276
- /** Post type. */
1277
- post_type?: "activity" | "ugc";
1234
+ search?: string;
1278
1235
  [key: string]: unknown;
1279
1236
  }
1280
1237
  declare class LinkedInNamespace {
1281
1238
  private client;
1282
1239
  constructor(client: Scavio);
1240
+ /** Full profile: about text, experience, education, honours and links. */
1283
1241
  person(options: LinkedInPersonOptions): Promise<Record<string, unknown>>;
1284
- personAbout(options: LinkedInPersonRefOptions): Promise<Record<string, unknown>>;
1285
- personPosts(options: LinkedInPersonPostsOptions): Promise<Record<string, unknown>>;
1286
- personContact(options: LinkedInPersonContactOptions): Promise<Record<string, unknown>>;
1242
+ /** The about-only slice of the profile payload. */
1243
+ personAbout(options: LinkedInPersonOptions): Promise<Record<string, unknown>>;
1244
+ /**
1245
+ * A member's posts, or the posts they commented on or reacted to via `type`.
1246
+ * 50 per page; pass the previous response's `next_cursor` to advance.
1247
+ */
1248
+ personPosts(options: LinkedInPersonPostsRequest): Promise<Record<string, unknown>>;
1249
+ /** Company profile, including locations and featured employees. */
1287
1250
  company(options: LinkedInCompanyOptions): Promise<Record<string, unknown>>;
1288
- companyPosts(options: LinkedInCompanyPostsOptions): Promise<Record<string, unknown>>;
1289
- companyPeople(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1290
- companyJobs(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1291
- searchPeople(options: LinkedInSearchPeopleOptions): Promise<Record<string, unknown>>;
1251
+ /** Recent company posts, 50 per page; advance with `next_cursor`. */
1252
+ companyPosts(options: LinkedInCompanyPostsRequest): Promise<Record<string, unknown>>;
1253
+ /**
1254
+ * Job search, 25 per page; advance with `next_cursor`. Upstream rotates its
1255
+ * result set, so pages overlap slightly - dedupe by job id.
1256
+ */
1292
1257
  searchJobs(options: LinkedInSearchJobsOptions): Promise<Record<string, unknown>>;
1293
- searchPosts(options: LinkedInSearchPostsOptions): Promise<Record<string, unknown>>;
1258
+ /** Full detail for one job listing, including the hiring company. */
1294
1259
  job(options: LinkedInJobOptions): Promise<Record<string, unknown>>;
1260
+ /** Full detail for one post, including its top visible comments. */
1295
1261
  post(options: LinkedInPostOptions): Promise<Record<string, unknown>>;
1262
+ /** Comments with their replies. Page size varies - keep paging until empty. */
1296
1263
  postComments(options: LinkedInPostCommentsOptions): Promise<Record<string, unknown>>;
1264
+ /**
1265
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1266
+ * never billed.
1267
+ */
1268
+ personContact(options: LinkedInPersonContactOptions): Promise<Record<string, unknown>>;
1269
+ /**
1270
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1271
+ * never billed. `company()` returns `featured_employees`, a small sample of
1272
+ * staff profiles.
1273
+ */
1274
+ companyPeople(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1275
+ /**
1276
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1277
+ * never billed. Use `searchJobs()` with the company name as the search term.
1278
+ */
1279
+ companyJobs(options: LinkedInCompanyRefOptions): Promise<Record<string, unknown>>;
1280
+ /**
1281
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1282
+ * never billed.
1283
+ */
1284
+ searchPeople(options: LinkedInSearchPeopleOptions): Promise<Record<string, unknown>>;
1285
+ /**
1286
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
1287
+ * never billed.
1288
+ */
1289
+ searchPosts(options: LinkedInSearchPostsOptions): Promise<Record<string, unknown>>;
1297
1290
  }
1298
1291
 
1299
1292
  interface ScavioConfig {
package/dist/index.js CHANGED
@@ -720,48 +720,84 @@ var LinkedInNamespace = class {
720
720
  this.client = client;
721
721
  }
722
722
  client;
723
+ /** Full profile: about text, experience, education, honours and links. */
723
724
  async person(options) {
724
725
  return this.client._post("/api/v1/linkedin/person", options);
725
726
  }
727
+ /** The about-only slice of the profile payload. */
726
728
  async personAbout(options) {
727
729
  return this.client._post("/api/v1/linkedin/person/about", options);
728
730
  }
731
+ /**
732
+ * A member's posts, or the posts they commented on or reacted to via `type`.
733
+ * 50 per page; pass the previous response's `next_cursor` to advance.
734
+ */
729
735
  async personPosts(options) {
730
736
  return this.client._post("/api/v1/linkedin/person/posts", options);
731
737
  }
732
- async personContact(options) {
733
- return this.client._post("/api/v1/linkedin/person/contact", options);
734
- }
738
+ /** Company profile, including locations and featured employees. */
735
739
  async company(options) {
736
740
  return this.client._post("/api/v1/linkedin/company", options);
737
741
  }
742
+ /** Recent company posts, 50 per page; advance with `next_cursor`. */
738
743
  async companyPosts(options) {
739
744
  return this.client._post("/api/v1/linkedin/company/posts", options);
740
745
  }
741
- async companyPeople(options) {
742
- return this.client._post("/api/v1/linkedin/company/people", options);
743
- }
744
- async companyJobs(options) {
745
- return this.client._post("/api/v1/linkedin/company/jobs", options);
746
- }
747
- async searchPeople(options) {
748
- return this.client._post("/api/v1/linkedin/search/people", options);
749
- }
746
+ /**
747
+ * Job search, 25 per page; advance with `next_cursor`. Upstream rotates its
748
+ * result set, so pages overlap slightly - dedupe by job id.
749
+ */
750
750
  async searchJobs(options) {
751
751
  return this.client._post("/api/v1/linkedin/search/jobs", options);
752
752
  }
753
- async searchPosts(options) {
754
- return this.client._post("/api/v1/linkedin/search/posts", options);
755
- }
753
+ /** Full detail for one job listing, including the hiring company. */
756
754
  async job(options) {
757
755
  return this.client._post("/api/v1/linkedin/job", options);
758
756
  }
757
+ /** Full detail for one post, including its top visible comments. */
759
758
  async post(options) {
760
759
  return this.client._post("/api/v1/linkedin/post", options);
761
760
  }
761
+ /** Comments with their replies. Page size varies - keep paging until empty. */
762
762
  async postComments(options) {
763
763
  return this.client._post("/api/v1/linkedin/post/comments", options);
764
764
  }
765
+ /**
766
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
767
+ * never billed.
768
+ */
769
+ async personContact(options) {
770
+ return this.client._post("/api/v1/linkedin/person/contact", options);
771
+ }
772
+ /**
773
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
774
+ * never billed. `company()` returns `featured_employees`, a small sample of
775
+ * staff profiles.
776
+ */
777
+ async companyPeople(options) {
778
+ return this.client._post("/api/v1/linkedin/company/people", options);
779
+ }
780
+ /**
781
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
782
+ * never billed. Use `searchJobs()` with the company name as the search term.
783
+ */
784
+ async companyJobs(options) {
785
+ return this.client._post("/api/v1/linkedin/company/jobs", options);
786
+ }
787
+ /**
788
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
789
+ * never billed.
790
+ */
791
+ async searchPeople(options) {
792
+ return this.client._post("/api/v1/linkedin/search/people", options);
793
+ }
794
+ /**
795
+ * @deprecated Retired by the upstream provider. Always returns HTTP 410 and is
796
+ * never billed.
797
+ */
798
+ async searchPosts(options) {
799
+ return this.client._post("/api/v1/linkedin/search/posts", options);
800
+ }
765
801
  };
766
802
 
767
803
  // src/client.ts