lumnisai 0.1.5 → 0.1.7
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.cjs +122 -7
- package/dist/index.d.cts +214 -5
- package/dist/index.d.mts +214 -5
- package/dist/index.d.ts +214 -5
- package/dist/index.mjs +120 -8
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -491,6 +491,110 @@ class LocalFileNotSupportedError extends ValidationError {
|
|
|
491
491
|
this.name = "LocalFileNotSupportedError";
|
|
492
492
|
}
|
|
493
493
|
}
|
|
494
|
+
class NoDataSourcesError extends ValidationError {
|
|
495
|
+
constructor(message) {
|
|
496
|
+
super(
|
|
497
|
+
message || "No people data sources configured. Please configure API keys.",
|
|
498
|
+
{ code: "NO_DATA_SOURCES" }
|
|
499
|
+
);
|
|
500
|
+
this.name = "NoDataSourcesError";
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
class SourcesNotAvailableError extends ValidationError {
|
|
504
|
+
availableSources;
|
|
505
|
+
constructor(message, availableSources) {
|
|
506
|
+
super(message, { code: "SOURCES_NOT_AVAILABLE" });
|
|
507
|
+
this.name = "SourcesNotAvailableError";
|
|
508
|
+
this.availableSources = availableSources;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
var PeopleDataSource = /* @__PURE__ */ ((PeopleDataSource2) => {
|
|
513
|
+
PeopleDataSource2["PDL"] = "PDL";
|
|
514
|
+
PeopleDataSource2["CORESIGNAL"] = "CORESIGNAL";
|
|
515
|
+
PeopleDataSource2["CRUST_DATA"] = "CRUST_DATA";
|
|
516
|
+
return PeopleDataSource2;
|
|
517
|
+
})(PeopleDataSource || {});
|
|
518
|
+
|
|
519
|
+
class PeopleResource {
|
|
520
|
+
constructor(http) {
|
|
521
|
+
this.http = http;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Perform a quick people search across multiple data sources.
|
|
525
|
+
*
|
|
526
|
+
* This endpoint bypasses the full agent framework for faster response times.
|
|
527
|
+
* It searches across PDL, CoreSignal, and CrustData in parallel and returns
|
|
528
|
+
* deduplicated results.
|
|
529
|
+
*
|
|
530
|
+
* @param params - Search parameters
|
|
531
|
+
* @param params.query - Natural language search query
|
|
532
|
+
* @param params.limit - Maximum number of results (1-100, default: 20)
|
|
533
|
+
* @param params.dataSources - Specific data sources to use (optional)
|
|
534
|
+
* @returns Promise resolving to search results
|
|
535
|
+
* @throws {NoDataSourcesError} When no data sources are configured
|
|
536
|
+
* @throws {SourcesNotAvailableError} When requested sources aren't available
|
|
537
|
+
* @throws {ValidationError} For other validation errors
|
|
538
|
+
*
|
|
539
|
+
* @example
|
|
540
|
+
* ```typescript
|
|
541
|
+
* const response = await client.people.quickSearch({
|
|
542
|
+
* query: "Senior engineers in SF with Python",
|
|
543
|
+
* limit: 50,
|
|
544
|
+
* dataSources: [PeopleDataSource.CORESIGNAL, PeopleDataSource.PDL]
|
|
545
|
+
* });
|
|
546
|
+
* ```
|
|
547
|
+
*/
|
|
548
|
+
async quickSearch(params) {
|
|
549
|
+
const { query, limit = 20, dataSources } = params;
|
|
550
|
+
if (limit < 1 || limit > 100) {
|
|
551
|
+
throw new ValidationError("Limit must be between 1 and 100", {
|
|
552
|
+
code: "INVALID_LIMIT"
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
if (dataSources) {
|
|
556
|
+
const validSources = Object.values(PeopleDataSource);
|
|
557
|
+
for (const source of dataSources) {
|
|
558
|
+
if (!validSources.includes(source)) {
|
|
559
|
+
throw new ValidationError(
|
|
560
|
+
`Invalid data source: ${source}. Valid sources: ${validSources.join(", ")}`,
|
|
561
|
+
{ code: "INVALID_DATA_SOURCE" }
|
|
562
|
+
);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
try {
|
|
567
|
+
const response = await this.http.post(
|
|
568
|
+
"/people/quick-search",
|
|
569
|
+
{
|
|
570
|
+
query,
|
|
571
|
+
limit,
|
|
572
|
+
// HTTP client will convert camelCase to snake_case automatically
|
|
573
|
+
dataSources: dataSources?.map((ds) => ds) || void 0
|
|
574
|
+
}
|
|
575
|
+
);
|
|
576
|
+
return response;
|
|
577
|
+
} catch (error) {
|
|
578
|
+
if (error instanceof ValidationError) {
|
|
579
|
+
const details = error.details || {};
|
|
580
|
+
const errorDetail = details.detail?.error || details.error;
|
|
581
|
+
if (errorDetail?.code === "NO_DATA_SOURCES") {
|
|
582
|
+
throw new NoDataSourcesError(errorDetail.message || void 0);
|
|
583
|
+
}
|
|
584
|
+
if (errorDetail?.code === "SOURCES_NOT_AVAILABLE") {
|
|
585
|
+
const message = errorDetail.message || "";
|
|
586
|
+
const availableMatch = message.match(/Available: \[(.+)\]/);
|
|
587
|
+
const availableSources = availableMatch ? availableMatch[1].replace(/'/g, "").split(", ").map((s) => s.trim()).filter((s) => s.length > 0) : [];
|
|
588
|
+
throw new SourcesNotAvailableError(
|
|
589
|
+
errorDetail.message || "Requested data sources not available",
|
|
590
|
+
availableSources
|
|
591
|
+
);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
throw error;
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
}
|
|
494
598
|
|
|
495
599
|
class ResponsesResource {
|
|
496
600
|
constructor(http) {
|
|
@@ -1016,6 +1120,7 @@ class LumnisClient {
|
|
|
1016
1120
|
modelPreferences;
|
|
1017
1121
|
mcpServers;
|
|
1018
1122
|
skills;
|
|
1123
|
+
people;
|
|
1019
1124
|
_scopedUserId;
|
|
1020
1125
|
_defaultScope;
|
|
1021
1126
|
constructor(options = {}) {
|
|
@@ -1046,6 +1151,7 @@ class LumnisClient {
|
|
|
1046
1151
|
this.modelPreferences = new ModelPreferencesResource(this.http);
|
|
1047
1152
|
this.mcpServers = new MCPServersResource(this.http);
|
|
1048
1153
|
this.skills = new SkillsResource(this.http);
|
|
1154
|
+
this.people = new PeopleResource(this.http);
|
|
1049
1155
|
}
|
|
1050
1156
|
forUser(userId) {
|
|
1051
1157
|
return new LumnisClient({
|
|
@@ -1213,23 +1319,29 @@ class LumnisClient {
|
|
|
1213
1319
|
async listApps(params) {
|
|
1214
1320
|
return this.integrations.listApps(params);
|
|
1215
1321
|
}
|
|
1216
|
-
async
|
|
1217
|
-
return this.integrations.
|
|
1322
|
+
async listProviders() {
|
|
1323
|
+
return this.integrations.listProviders();
|
|
1324
|
+
}
|
|
1325
|
+
async isAppEnabled(appName, provider) {
|
|
1326
|
+
return this.integrations.isAppEnabled(appName, provider);
|
|
1218
1327
|
}
|
|
1219
|
-
async setAppEnabled(appName, enabled) {
|
|
1220
|
-
return this.integrations.setAppEnabled(appName, { enabled });
|
|
1328
|
+
async setAppEnabled(appName, enabled, provider) {
|
|
1329
|
+
return this.integrations.setAppEnabled(appName, { enabled, provider });
|
|
1221
1330
|
}
|
|
1222
1331
|
async initiateConnection(params) {
|
|
1223
1332
|
return this.integrations.initiateConnection(params);
|
|
1224
1333
|
}
|
|
1225
|
-
async getConnectionStatus(userId, appName) {
|
|
1226
|
-
return this.integrations.getConnectionStatus({ userId, appName });
|
|
1334
|
+
async getConnectionStatus(userId, appName, provider) {
|
|
1335
|
+
return this.integrations.getConnectionStatus({ userId, appName, provider });
|
|
1227
1336
|
}
|
|
1228
1337
|
async listConnections(userId, params) {
|
|
1229
1338
|
return this.integrations.listConnections(userId, params);
|
|
1230
1339
|
}
|
|
1231
1340
|
async getIntegrationTools(userId, params) {
|
|
1232
|
-
return this.integrations.getTools({ userId, appFilter: params?.appFilter });
|
|
1341
|
+
return this.integrations.getTools({ userId, appFilter: params?.appFilter, provider: params?.provider });
|
|
1342
|
+
}
|
|
1343
|
+
async disconnect(userId, appName, provider) {
|
|
1344
|
+
return this.integrations.disconnect({ userId, appName, provider });
|
|
1233
1345
|
}
|
|
1234
1346
|
// Model Preference methods
|
|
1235
1347
|
async getModelPreferences(params) {
|
|
@@ -1425,10 +1537,13 @@ exports.InternalServerError = InternalServerError;
|
|
|
1425
1537
|
exports.LocalFileNotSupportedError = LocalFileNotSupportedError;
|
|
1426
1538
|
exports.LumnisClient = LumnisClient;
|
|
1427
1539
|
exports.LumnisError = LumnisError;
|
|
1540
|
+
exports.NoDataSourcesError = NoDataSourcesError;
|
|
1428
1541
|
exports.NotFoundError = NotFoundError;
|
|
1542
|
+
exports.PeopleDataSource = PeopleDataSource;
|
|
1429
1543
|
exports.ProgressTracker = ProgressTracker;
|
|
1430
1544
|
exports.ProviderType = ProviderType;
|
|
1431
1545
|
exports.RateLimitError = RateLimitError;
|
|
1546
|
+
exports.SourcesNotAvailableError = SourcesNotAvailableError;
|
|
1432
1547
|
exports.ValidationError = ValidationError;
|
|
1433
1548
|
exports.default = LumnisClient;
|
|
1434
1549
|
exports.displayProgress = displayProgress;
|
package/dist/index.d.cts
CHANGED
|
@@ -1004,6 +1004,201 @@ declare class ModelPreferencesResource {
|
|
|
1004
1004
|
}): Promise<TenantModelPreferencesResponse>;
|
|
1005
1005
|
}
|
|
1006
1006
|
|
|
1007
|
+
/**
|
|
1008
|
+
* Available people search data sources
|
|
1009
|
+
*/
|
|
1010
|
+
declare enum PeopleDataSource {
|
|
1011
|
+
PDL = "PDL",
|
|
1012
|
+
CORESIGNAL = "CORESIGNAL",
|
|
1013
|
+
CRUST_DATA = "CRUST_DATA"
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* Salary range projection data.
|
|
1017
|
+
* Note: Values represent total compensation (base salary + bonuses + equity),
|
|
1018
|
+
* not just base salary. Only available for CoreSignal results.
|
|
1019
|
+
*/
|
|
1020
|
+
interface SalaryRange {
|
|
1021
|
+
/** Minimum total compensation (includes base + bonuses + equity, etc.) */
|
|
1022
|
+
min?: number;
|
|
1023
|
+
/** Median total compensation projection */
|
|
1024
|
+
median?: number;
|
|
1025
|
+
/** Maximum total compensation (includes base + bonuses + equity, etc.) */
|
|
1026
|
+
max?: number;
|
|
1027
|
+
/** Currency code (e.g., "USD", "EUR") */
|
|
1028
|
+
currency?: string;
|
|
1029
|
+
/** Period (e.g., "yearly", "monthly") */
|
|
1030
|
+
period?: string;
|
|
1031
|
+
}
|
|
1032
|
+
/**
|
|
1033
|
+
* Simplified person result model returned in search results.
|
|
1034
|
+
* Contains normalized data from multiple sources (PDL, CoreSignal, CrustData).
|
|
1035
|
+
*/
|
|
1036
|
+
interface PersonResult {
|
|
1037
|
+
/** Unique identifier for the person */
|
|
1038
|
+
id: string;
|
|
1039
|
+
/** Full name */
|
|
1040
|
+
name: string;
|
|
1041
|
+
/** Current job title */
|
|
1042
|
+
currentTitle?: string;
|
|
1043
|
+
/** Current company name */
|
|
1044
|
+
currentCompany?: string;
|
|
1045
|
+
/** Current department */
|
|
1046
|
+
currentDepartment?: string;
|
|
1047
|
+
/** Full location string */
|
|
1048
|
+
location?: string;
|
|
1049
|
+
/** City */
|
|
1050
|
+
city?: string;
|
|
1051
|
+
/** Country */
|
|
1052
|
+
country?: string;
|
|
1053
|
+
/** Primary email address */
|
|
1054
|
+
email?: string;
|
|
1055
|
+
/** List of email addresses (up to 3) */
|
|
1056
|
+
emails: string[];
|
|
1057
|
+
/** LinkedIn profile URL */
|
|
1058
|
+
linkedinUrl?: string;
|
|
1059
|
+
/** Years of professional experience */
|
|
1060
|
+
yearsExperience?: number;
|
|
1061
|
+
/** List of skills (up to 15) */
|
|
1062
|
+
skills: string[];
|
|
1063
|
+
/** Seniority level (e.g., "Senior", "Director", "VP") */
|
|
1064
|
+
seniorityLevel?: string;
|
|
1065
|
+
/** Whether person is identified as a decision maker */
|
|
1066
|
+
isDecisionMaker: boolean;
|
|
1067
|
+
/** Number of LinkedIn connections */
|
|
1068
|
+
connectionsCount?: number;
|
|
1069
|
+
/** Whether person recently changed jobs */
|
|
1070
|
+
recentlyChangedJobs: boolean;
|
|
1071
|
+
/** Data source identifier ("PDL", "CORESIGNAL", or "CRUST_DATA") */
|
|
1072
|
+
source: string;
|
|
1073
|
+
/** Confidence score (0.0-1.0) if available */
|
|
1074
|
+
confidenceScore?: number;
|
|
1075
|
+
/** Salary range projection (CoreSignal only) */
|
|
1076
|
+
salaryRange?: SalaryRange;
|
|
1077
|
+
/** Number of certifications (CoreSignal only) */
|
|
1078
|
+
certificationsCount?: number;
|
|
1079
|
+
/** List of languages spoken (CoreSignal only) */
|
|
1080
|
+
languages?: string[];
|
|
1081
|
+
/** List of education degrees (CoreSignal only, up to 3) */
|
|
1082
|
+
educationDegrees?: string[];
|
|
1083
|
+
}
|
|
1084
|
+
/**
|
|
1085
|
+
* Request model for people search queries.
|
|
1086
|
+
*/
|
|
1087
|
+
interface PeopleSearchRequest {
|
|
1088
|
+
/**
|
|
1089
|
+
* Natural language search query describing the people you want to find.
|
|
1090
|
+
* Examples:
|
|
1091
|
+
* - "Senior software engineers in San Francisco with Python skills"
|
|
1092
|
+
* - "Product managers at Google or Meta with MBA"
|
|
1093
|
+
* - "Data scientists in NYC with 5+ years experience"
|
|
1094
|
+
*/
|
|
1095
|
+
query: string;
|
|
1096
|
+
/**
|
|
1097
|
+
* Maximum number of results to return.
|
|
1098
|
+
* Range: 1-100
|
|
1099
|
+
* Default: 20
|
|
1100
|
+
*/
|
|
1101
|
+
limit?: number;
|
|
1102
|
+
/**
|
|
1103
|
+
* Specific data sources to use for the search.
|
|
1104
|
+
* If not provided, all available sources will be used.
|
|
1105
|
+
* Valid values: "PDL", "CORESIGNAL", "CRUST_DATA"
|
|
1106
|
+
*
|
|
1107
|
+
* Note: The API accepts string values. SDKs should use enums for type safety
|
|
1108
|
+
* but serialize them as strings when sending the request.
|
|
1109
|
+
*/
|
|
1110
|
+
dataSources?: PeopleDataSource[];
|
|
1111
|
+
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Logic operator for filter values
|
|
1114
|
+
*/
|
|
1115
|
+
type FilterLogic = 'or' | 'and' | 'should';
|
|
1116
|
+
/**
|
|
1117
|
+
* A filter with values and logic operator.
|
|
1118
|
+
* Used in applied_filters response.
|
|
1119
|
+
*/
|
|
1120
|
+
interface FilterValue {
|
|
1121
|
+
/** List of values for this filter */
|
|
1122
|
+
values: string[];
|
|
1123
|
+
/**
|
|
1124
|
+
* Logic operator:
|
|
1125
|
+
* - "or": ANY value matches (for alternatives like "SF or NYC")
|
|
1126
|
+
* - "and": ALL values must match (for "must have Python AND Java")
|
|
1127
|
+
* - "should": Optional/preferred (for "preferably PhD")
|
|
1128
|
+
*/
|
|
1129
|
+
logic: FilterLogic;
|
|
1130
|
+
}
|
|
1131
|
+
/**
|
|
1132
|
+
* Structure of the applied_filters field in the response.
|
|
1133
|
+
* Contains extracted filters from the natural language query.
|
|
1134
|
+
*/
|
|
1135
|
+
interface AppliedFilters {
|
|
1136
|
+
/** Cities for the search */
|
|
1137
|
+
cities?: FilterValue;
|
|
1138
|
+
/** Countries for the search */
|
|
1139
|
+
countries?: FilterValue;
|
|
1140
|
+
/** Job titles/roles */
|
|
1141
|
+
jobTitles?: FilterValue;
|
|
1142
|
+
/** Company names */
|
|
1143
|
+
companies?: FilterValue;
|
|
1144
|
+
/** Technical skills */
|
|
1145
|
+
skills?: FilterValue;
|
|
1146
|
+
/** Minimum years of professional experience */
|
|
1147
|
+
minYearsExperience?: number;
|
|
1148
|
+
/** Seniority levels (entry/junior/mid/senior/lead/principal/staff/director/vp/executive) */
|
|
1149
|
+
seniorityLevels?: FilterValue;
|
|
1150
|
+
/** Education levels (bachelors/masters/phd/mba) */
|
|
1151
|
+
educationLevels?: FilterValue;
|
|
1152
|
+
/** Industries/sectors */
|
|
1153
|
+
industries?: FilterValue;
|
|
1154
|
+
}
|
|
1155
|
+
/**
|
|
1156
|
+
* Response model for people search endpoint.
|
|
1157
|
+
*/
|
|
1158
|
+
interface PeopleSearchResponse {
|
|
1159
|
+
/** List of matching candidates */
|
|
1160
|
+
candidates: PersonResult[];
|
|
1161
|
+
/** Total number of unique candidates found (may be more than returned) */
|
|
1162
|
+
totalFound: number;
|
|
1163
|
+
/** Filters extracted and applied from the query */
|
|
1164
|
+
appliedFilters: AppliedFilters;
|
|
1165
|
+
/** Execution time in milliseconds */
|
|
1166
|
+
executionTimeMs: number;
|
|
1167
|
+
/** List of data sources that were actually used */
|
|
1168
|
+
dataSourcesUsed: string[];
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
declare class PeopleResource {
|
|
1172
|
+
private readonly http;
|
|
1173
|
+
constructor(http: Http);
|
|
1174
|
+
/**
|
|
1175
|
+
* Perform a quick people search across multiple data sources.
|
|
1176
|
+
*
|
|
1177
|
+
* This endpoint bypasses the full agent framework for faster response times.
|
|
1178
|
+
* It searches across PDL, CoreSignal, and CrustData in parallel and returns
|
|
1179
|
+
* deduplicated results.
|
|
1180
|
+
*
|
|
1181
|
+
* @param params - Search parameters
|
|
1182
|
+
* @param params.query - Natural language search query
|
|
1183
|
+
* @param params.limit - Maximum number of results (1-100, default: 20)
|
|
1184
|
+
* @param params.dataSources - Specific data sources to use (optional)
|
|
1185
|
+
* @returns Promise resolving to search results
|
|
1186
|
+
* @throws {NoDataSourcesError} When no data sources are configured
|
|
1187
|
+
* @throws {SourcesNotAvailableError} When requested sources aren't available
|
|
1188
|
+
* @throws {ValidationError} For other validation errors
|
|
1189
|
+
*
|
|
1190
|
+
* @example
|
|
1191
|
+
* ```typescript
|
|
1192
|
+
* const response = await client.people.quickSearch({
|
|
1193
|
+
* query: "Senior engineers in SF with Python",
|
|
1194
|
+
* limit: 50,
|
|
1195
|
+
* dataSources: [PeopleDataSource.CORESIGNAL, PeopleDataSource.PDL]
|
|
1196
|
+
* });
|
|
1197
|
+
* ```
|
|
1198
|
+
*/
|
|
1199
|
+
quickSearch(params: PeopleSearchRequest): Promise<PeopleSearchResponse>;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1007
1202
|
declare class ResponsesResource {
|
|
1008
1203
|
private readonly http;
|
|
1009
1204
|
constructor(http: Http);
|
|
@@ -1253,6 +1448,7 @@ declare class LumnisClient {
|
|
|
1253
1448
|
readonly modelPreferences: ModelPreferencesResource;
|
|
1254
1449
|
readonly mcpServers: MCPServersResource;
|
|
1255
1450
|
readonly skills: SkillsResource;
|
|
1451
|
+
readonly people: PeopleResource;
|
|
1256
1452
|
private readonly _scopedUserId?;
|
|
1257
1453
|
private readonly _defaultScope;
|
|
1258
1454
|
constructor(options?: LumnisClientOptions);
|
|
@@ -1282,14 +1478,20 @@ declare class LumnisClient {
|
|
|
1282
1478
|
getApiKeyMode(): Promise<ApiKeyModeResponse>;
|
|
1283
1479
|
setApiKeyMode(mode: Parameters<ExternalAPIKeysResource['setMode']>[0]): Promise<ApiKeyModeResponse>;
|
|
1284
1480
|
listApps(params?: Parameters<IntegrationsResource['listApps']>[0]): Promise<AppsListResponse>;
|
|
1285
|
-
|
|
1286
|
-
|
|
1481
|
+
listProviders(): Promise<ListProvidersResponse>;
|
|
1482
|
+
isAppEnabled(appName: string, provider?: string): Promise<AppEnabledResponse>;
|
|
1483
|
+
setAppEnabled(appName: string, enabled: boolean, provider?: string): Promise<UpdateAppStatusResponse>;
|
|
1287
1484
|
initiateConnection(params: Parameters<IntegrationsResource['initiateConnection']>[0]): Promise<InitiateConnectionResponse>;
|
|
1288
|
-
getConnectionStatus(userId: string, appName: string): Promise<ConnectionStatusResponse>;
|
|
1289
|
-
listConnections(userId: string, params?:
|
|
1485
|
+
getConnectionStatus(userId: string, appName: string, provider?: string): Promise<ConnectionStatusResponse>;
|
|
1486
|
+
listConnections(userId: string, params?: {
|
|
1487
|
+
appFilter?: string;
|
|
1488
|
+
provider?: string;
|
|
1489
|
+
}): Promise<UserConnectionsResponse>;
|
|
1290
1490
|
getIntegrationTools(userId: string, params?: {
|
|
1291
1491
|
appFilter?: string[];
|
|
1492
|
+
provider?: string;
|
|
1292
1493
|
}): Promise<GetToolsResponse>;
|
|
1494
|
+
disconnect(userId: string, appName: string, provider?: string): Promise<DisconnectResponse>;
|
|
1293
1495
|
getModelPreferences(params?: Parameters<ModelPreferencesResource['list']>[0]): Promise<TenantModelPreferencesResponse>;
|
|
1294
1496
|
updateModelPreferences(params: Parameters<ModelPreferencesResource['updateBulk']>[0]): Promise<TenantModelPreferencesResponse>;
|
|
1295
1497
|
createMcpServer(params: Parameters<MCPServersResource['create']>[0]): Promise<MCPServerResponse>;
|
|
@@ -1343,6 +1545,13 @@ declare class InternalServerError extends LumnisError {
|
|
|
1343
1545
|
declare class LocalFileNotSupportedError extends ValidationError {
|
|
1344
1546
|
constructor(filePath: string);
|
|
1345
1547
|
}
|
|
1548
|
+
declare class NoDataSourcesError extends ValidationError {
|
|
1549
|
+
constructor(message?: string);
|
|
1550
|
+
}
|
|
1551
|
+
declare class SourcesNotAvailableError extends ValidationError {
|
|
1552
|
+
availableSources: string[];
|
|
1553
|
+
constructor(message: string, availableSources: string[]);
|
|
1554
|
+
}
|
|
1346
1555
|
|
|
1347
1556
|
/**
|
|
1348
1557
|
* Utility functions for displaying progress updates
|
|
@@ -1395,4 +1604,4 @@ declare class ProgressTracker {
|
|
|
1395
1604
|
}
|
|
1396
1605
|
|
|
1397
1606
|
export = LumnisClient;
|
|
1398
|
-
export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type CheckAppEnabledParams, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetConnectionStatusParams, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, type ListProvidersResponse, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, ProviderType, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
|
|
1607
|
+
export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type CheckAppEnabledParams, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type GetConnectionStatusParams, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, type ListProvidersResponse, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NoDataSourcesError, NotFoundError, type PaginationInfo, type PaginationParams, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, ProviderType, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type SalaryRange, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, SourcesNotAvailableError, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
|
package/dist/index.d.mts
CHANGED
|
@@ -1004,6 +1004,201 @@ declare class ModelPreferencesResource {
|
|
|
1004
1004
|
}): Promise<TenantModelPreferencesResponse>;
|
|
1005
1005
|
}
|
|
1006
1006
|
|
|
1007
|
+
/**
|
|
1008
|
+
* Available people search data sources
|
|
1009
|
+
*/
|
|
1010
|
+
declare enum PeopleDataSource {
|
|
1011
|
+
PDL = "PDL",
|
|
1012
|
+
CORESIGNAL = "CORESIGNAL",
|
|
1013
|
+
CRUST_DATA = "CRUST_DATA"
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* Salary range projection data.
|
|
1017
|
+
* Note: Values represent total compensation (base salary + bonuses + equity),
|
|
1018
|
+
* not just base salary. Only available for CoreSignal results.
|
|
1019
|
+
*/
|
|
1020
|
+
interface SalaryRange {
|
|
1021
|
+
/** Minimum total compensation (includes base + bonuses + equity, etc.) */
|
|
1022
|
+
min?: number;
|
|
1023
|
+
/** Median total compensation projection */
|
|
1024
|
+
median?: number;
|
|
1025
|
+
/** Maximum total compensation (includes base + bonuses + equity, etc.) */
|
|
1026
|
+
max?: number;
|
|
1027
|
+
/** Currency code (e.g., "USD", "EUR") */
|
|
1028
|
+
currency?: string;
|
|
1029
|
+
/** Period (e.g., "yearly", "monthly") */
|
|
1030
|
+
period?: string;
|
|
1031
|
+
}
|
|
1032
|
+
/**
|
|
1033
|
+
* Simplified person result model returned in search results.
|
|
1034
|
+
* Contains normalized data from multiple sources (PDL, CoreSignal, CrustData).
|
|
1035
|
+
*/
|
|
1036
|
+
interface PersonResult {
|
|
1037
|
+
/** Unique identifier for the person */
|
|
1038
|
+
id: string;
|
|
1039
|
+
/** Full name */
|
|
1040
|
+
name: string;
|
|
1041
|
+
/** Current job title */
|
|
1042
|
+
currentTitle?: string;
|
|
1043
|
+
/** Current company name */
|
|
1044
|
+
currentCompany?: string;
|
|
1045
|
+
/** Current department */
|
|
1046
|
+
currentDepartment?: string;
|
|
1047
|
+
/** Full location string */
|
|
1048
|
+
location?: string;
|
|
1049
|
+
/** City */
|
|
1050
|
+
city?: string;
|
|
1051
|
+
/** Country */
|
|
1052
|
+
country?: string;
|
|
1053
|
+
/** Primary email address */
|
|
1054
|
+
email?: string;
|
|
1055
|
+
/** List of email addresses (up to 3) */
|
|
1056
|
+
emails: string[];
|
|
1057
|
+
/** LinkedIn profile URL */
|
|
1058
|
+
linkedinUrl?: string;
|
|
1059
|
+
/** Years of professional experience */
|
|
1060
|
+
yearsExperience?: number;
|
|
1061
|
+
/** List of skills (up to 15) */
|
|
1062
|
+
skills: string[];
|
|
1063
|
+
/** Seniority level (e.g., "Senior", "Director", "VP") */
|
|
1064
|
+
seniorityLevel?: string;
|
|
1065
|
+
/** Whether person is identified as a decision maker */
|
|
1066
|
+
isDecisionMaker: boolean;
|
|
1067
|
+
/** Number of LinkedIn connections */
|
|
1068
|
+
connectionsCount?: number;
|
|
1069
|
+
/** Whether person recently changed jobs */
|
|
1070
|
+
recentlyChangedJobs: boolean;
|
|
1071
|
+
/** Data source identifier ("PDL", "CORESIGNAL", or "CRUST_DATA") */
|
|
1072
|
+
source: string;
|
|
1073
|
+
/** Confidence score (0.0-1.0) if available */
|
|
1074
|
+
confidenceScore?: number;
|
|
1075
|
+
/** Salary range projection (CoreSignal only) */
|
|
1076
|
+
salaryRange?: SalaryRange;
|
|
1077
|
+
/** Number of certifications (CoreSignal only) */
|
|
1078
|
+
certificationsCount?: number;
|
|
1079
|
+
/** List of languages spoken (CoreSignal only) */
|
|
1080
|
+
languages?: string[];
|
|
1081
|
+
/** List of education degrees (CoreSignal only, up to 3) */
|
|
1082
|
+
educationDegrees?: string[];
|
|
1083
|
+
}
|
|
1084
|
+
/**
|
|
1085
|
+
* Request model for people search queries.
|
|
1086
|
+
*/
|
|
1087
|
+
interface PeopleSearchRequest {
|
|
1088
|
+
/**
|
|
1089
|
+
* Natural language search query describing the people you want to find.
|
|
1090
|
+
* Examples:
|
|
1091
|
+
* - "Senior software engineers in San Francisco with Python skills"
|
|
1092
|
+
* - "Product managers at Google or Meta with MBA"
|
|
1093
|
+
* - "Data scientists in NYC with 5+ years experience"
|
|
1094
|
+
*/
|
|
1095
|
+
query: string;
|
|
1096
|
+
/**
|
|
1097
|
+
* Maximum number of results to return.
|
|
1098
|
+
* Range: 1-100
|
|
1099
|
+
* Default: 20
|
|
1100
|
+
*/
|
|
1101
|
+
limit?: number;
|
|
1102
|
+
/**
|
|
1103
|
+
* Specific data sources to use for the search.
|
|
1104
|
+
* If not provided, all available sources will be used.
|
|
1105
|
+
* Valid values: "PDL", "CORESIGNAL", "CRUST_DATA"
|
|
1106
|
+
*
|
|
1107
|
+
* Note: The API accepts string values. SDKs should use enums for type safety
|
|
1108
|
+
* but serialize them as strings when sending the request.
|
|
1109
|
+
*/
|
|
1110
|
+
dataSources?: PeopleDataSource[];
|
|
1111
|
+
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Logic operator for filter values
|
|
1114
|
+
*/
|
|
1115
|
+
type FilterLogic = 'or' | 'and' | 'should';
|
|
1116
|
+
/**
|
|
1117
|
+
* A filter with values and logic operator.
|
|
1118
|
+
* Used in applied_filters response.
|
|
1119
|
+
*/
|
|
1120
|
+
interface FilterValue {
|
|
1121
|
+
/** List of values for this filter */
|
|
1122
|
+
values: string[];
|
|
1123
|
+
/**
|
|
1124
|
+
* Logic operator:
|
|
1125
|
+
* - "or": ANY value matches (for alternatives like "SF or NYC")
|
|
1126
|
+
* - "and": ALL values must match (for "must have Python AND Java")
|
|
1127
|
+
* - "should": Optional/preferred (for "preferably PhD")
|
|
1128
|
+
*/
|
|
1129
|
+
logic: FilterLogic;
|
|
1130
|
+
}
|
|
1131
|
+
/**
|
|
1132
|
+
* Structure of the applied_filters field in the response.
|
|
1133
|
+
* Contains extracted filters from the natural language query.
|
|
1134
|
+
*/
|
|
1135
|
+
interface AppliedFilters {
|
|
1136
|
+
/** Cities for the search */
|
|
1137
|
+
cities?: FilterValue;
|
|
1138
|
+
/** Countries for the search */
|
|
1139
|
+
countries?: FilterValue;
|
|
1140
|
+
/** Job titles/roles */
|
|
1141
|
+
jobTitles?: FilterValue;
|
|
1142
|
+
/** Company names */
|
|
1143
|
+
companies?: FilterValue;
|
|
1144
|
+
/** Technical skills */
|
|
1145
|
+
skills?: FilterValue;
|
|
1146
|
+
/** Minimum years of professional experience */
|
|
1147
|
+
minYearsExperience?: number;
|
|
1148
|
+
/** Seniority levels (entry/junior/mid/senior/lead/principal/staff/director/vp/executive) */
|
|
1149
|
+
seniorityLevels?: FilterValue;
|
|
1150
|
+
/** Education levels (bachelors/masters/phd/mba) */
|
|
1151
|
+
educationLevels?: FilterValue;
|
|
1152
|
+
/** Industries/sectors */
|
|
1153
|
+
industries?: FilterValue;
|
|
1154
|
+
}
|
|
1155
|
+
/**
|
|
1156
|
+
* Response model for people search endpoint.
|
|
1157
|
+
*/
|
|
1158
|
+
interface PeopleSearchResponse {
|
|
1159
|
+
/** List of matching candidates */
|
|
1160
|
+
candidates: PersonResult[];
|
|
1161
|
+
/** Total number of unique candidates found (may be more than returned) */
|
|
1162
|
+
totalFound: number;
|
|
1163
|
+
/** Filters extracted and applied from the query */
|
|
1164
|
+
appliedFilters: AppliedFilters;
|
|
1165
|
+
/** Execution time in milliseconds */
|
|
1166
|
+
executionTimeMs: number;
|
|
1167
|
+
/** List of data sources that were actually used */
|
|
1168
|
+
dataSourcesUsed: string[];
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
declare class PeopleResource {
|
|
1172
|
+
private readonly http;
|
|
1173
|
+
constructor(http: Http);
|
|
1174
|
+
/**
|
|
1175
|
+
* Perform a quick people search across multiple data sources.
|
|
1176
|
+
*
|
|
1177
|
+
* This endpoint bypasses the full agent framework for faster response times.
|
|
1178
|
+
* It searches across PDL, CoreSignal, and CrustData in parallel and returns
|
|
1179
|
+
* deduplicated results.
|
|
1180
|
+
*
|
|
1181
|
+
* @param params - Search parameters
|
|
1182
|
+
* @param params.query - Natural language search query
|
|
1183
|
+
* @param params.limit - Maximum number of results (1-100, default: 20)
|
|
1184
|
+
* @param params.dataSources - Specific data sources to use (optional)
|
|
1185
|
+
* @returns Promise resolving to search results
|
|
1186
|
+
* @throws {NoDataSourcesError} When no data sources are configured
|
|
1187
|
+
* @throws {SourcesNotAvailableError} When requested sources aren't available
|
|
1188
|
+
* @throws {ValidationError} For other validation errors
|
|
1189
|
+
*
|
|
1190
|
+
* @example
|
|
1191
|
+
* ```typescript
|
|
1192
|
+
* const response = await client.people.quickSearch({
|
|
1193
|
+
* query: "Senior engineers in SF with Python",
|
|
1194
|
+
* limit: 50,
|
|
1195
|
+
* dataSources: [PeopleDataSource.CORESIGNAL, PeopleDataSource.PDL]
|
|
1196
|
+
* });
|
|
1197
|
+
* ```
|
|
1198
|
+
*/
|
|
1199
|
+
quickSearch(params: PeopleSearchRequest): Promise<PeopleSearchResponse>;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1007
1202
|
declare class ResponsesResource {
|
|
1008
1203
|
private readonly http;
|
|
1009
1204
|
constructor(http: Http);
|
|
@@ -1253,6 +1448,7 @@ declare class LumnisClient {
|
|
|
1253
1448
|
readonly modelPreferences: ModelPreferencesResource;
|
|
1254
1449
|
readonly mcpServers: MCPServersResource;
|
|
1255
1450
|
readonly skills: SkillsResource;
|
|
1451
|
+
readonly people: PeopleResource;
|
|
1256
1452
|
private readonly _scopedUserId?;
|
|
1257
1453
|
private readonly _defaultScope;
|
|
1258
1454
|
constructor(options?: LumnisClientOptions);
|
|
@@ -1282,14 +1478,20 @@ declare class LumnisClient {
|
|
|
1282
1478
|
getApiKeyMode(): Promise<ApiKeyModeResponse>;
|
|
1283
1479
|
setApiKeyMode(mode: Parameters<ExternalAPIKeysResource['setMode']>[0]): Promise<ApiKeyModeResponse>;
|
|
1284
1480
|
listApps(params?: Parameters<IntegrationsResource['listApps']>[0]): Promise<AppsListResponse>;
|
|
1285
|
-
|
|
1286
|
-
|
|
1481
|
+
listProviders(): Promise<ListProvidersResponse>;
|
|
1482
|
+
isAppEnabled(appName: string, provider?: string): Promise<AppEnabledResponse>;
|
|
1483
|
+
setAppEnabled(appName: string, enabled: boolean, provider?: string): Promise<UpdateAppStatusResponse>;
|
|
1287
1484
|
initiateConnection(params: Parameters<IntegrationsResource['initiateConnection']>[0]): Promise<InitiateConnectionResponse>;
|
|
1288
|
-
getConnectionStatus(userId: string, appName: string): Promise<ConnectionStatusResponse>;
|
|
1289
|
-
listConnections(userId: string, params?:
|
|
1485
|
+
getConnectionStatus(userId: string, appName: string, provider?: string): Promise<ConnectionStatusResponse>;
|
|
1486
|
+
listConnections(userId: string, params?: {
|
|
1487
|
+
appFilter?: string;
|
|
1488
|
+
provider?: string;
|
|
1489
|
+
}): Promise<UserConnectionsResponse>;
|
|
1290
1490
|
getIntegrationTools(userId: string, params?: {
|
|
1291
1491
|
appFilter?: string[];
|
|
1492
|
+
provider?: string;
|
|
1292
1493
|
}): Promise<GetToolsResponse>;
|
|
1494
|
+
disconnect(userId: string, appName: string, provider?: string): Promise<DisconnectResponse>;
|
|
1293
1495
|
getModelPreferences(params?: Parameters<ModelPreferencesResource['list']>[0]): Promise<TenantModelPreferencesResponse>;
|
|
1294
1496
|
updateModelPreferences(params: Parameters<ModelPreferencesResource['updateBulk']>[0]): Promise<TenantModelPreferencesResponse>;
|
|
1295
1497
|
createMcpServer(params: Parameters<MCPServersResource['create']>[0]): Promise<MCPServerResponse>;
|
|
@@ -1343,6 +1545,13 @@ declare class InternalServerError extends LumnisError {
|
|
|
1343
1545
|
declare class LocalFileNotSupportedError extends ValidationError {
|
|
1344
1546
|
constructor(filePath: string);
|
|
1345
1547
|
}
|
|
1548
|
+
declare class NoDataSourcesError extends ValidationError {
|
|
1549
|
+
constructor(message?: string);
|
|
1550
|
+
}
|
|
1551
|
+
declare class SourcesNotAvailableError extends ValidationError {
|
|
1552
|
+
availableSources: string[];
|
|
1553
|
+
constructor(message: string, availableSources: string[]);
|
|
1554
|
+
}
|
|
1346
1555
|
|
|
1347
1556
|
/**
|
|
1348
1557
|
* Utility functions for displaying progress updates
|
|
@@ -1394,4 +1603,4 @@ declare class ProgressTracker {
|
|
|
1394
1603
|
reset(): void;
|
|
1395
1604
|
}
|
|
1396
1605
|
|
|
1397
|
-
export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type CheckAppEnabledParams, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetConnectionStatusParams, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, type ListProvidersResponse, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, ProviderType, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, LumnisClient as default, displayProgress, formatProgressEntry };
|
|
1606
|
+
export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type CheckAppEnabledParams, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type GetConnectionStatusParams, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, type ListProvidersResponse, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NoDataSourcesError, NotFoundError, type PaginationInfo, type PaginationParams, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, ProviderType, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type SalaryRange, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, SourcesNotAvailableError, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, LumnisClient as default, displayProgress, formatProgressEntry };
|
package/dist/index.d.ts
CHANGED
|
@@ -1004,6 +1004,201 @@ declare class ModelPreferencesResource {
|
|
|
1004
1004
|
}): Promise<TenantModelPreferencesResponse>;
|
|
1005
1005
|
}
|
|
1006
1006
|
|
|
1007
|
+
/**
|
|
1008
|
+
* Available people search data sources
|
|
1009
|
+
*/
|
|
1010
|
+
declare enum PeopleDataSource {
|
|
1011
|
+
PDL = "PDL",
|
|
1012
|
+
CORESIGNAL = "CORESIGNAL",
|
|
1013
|
+
CRUST_DATA = "CRUST_DATA"
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* Salary range projection data.
|
|
1017
|
+
* Note: Values represent total compensation (base salary + bonuses + equity),
|
|
1018
|
+
* not just base salary. Only available for CoreSignal results.
|
|
1019
|
+
*/
|
|
1020
|
+
interface SalaryRange {
|
|
1021
|
+
/** Minimum total compensation (includes base + bonuses + equity, etc.) */
|
|
1022
|
+
min?: number;
|
|
1023
|
+
/** Median total compensation projection */
|
|
1024
|
+
median?: number;
|
|
1025
|
+
/** Maximum total compensation (includes base + bonuses + equity, etc.) */
|
|
1026
|
+
max?: number;
|
|
1027
|
+
/** Currency code (e.g., "USD", "EUR") */
|
|
1028
|
+
currency?: string;
|
|
1029
|
+
/** Period (e.g., "yearly", "monthly") */
|
|
1030
|
+
period?: string;
|
|
1031
|
+
}
|
|
1032
|
+
/**
|
|
1033
|
+
* Simplified person result model returned in search results.
|
|
1034
|
+
* Contains normalized data from multiple sources (PDL, CoreSignal, CrustData).
|
|
1035
|
+
*/
|
|
1036
|
+
interface PersonResult {
|
|
1037
|
+
/** Unique identifier for the person */
|
|
1038
|
+
id: string;
|
|
1039
|
+
/** Full name */
|
|
1040
|
+
name: string;
|
|
1041
|
+
/** Current job title */
|
|
1042
|
+
currentTitle?: string;
|
|
1043
|
+
/** Current company name */
|
|
1044
|
+
currentCompany?: string;
|
|
1045
|
+
/** Current department */
|
|
1046
|
+
currentDepartment?: string;
|
|
1047
|
+
/** Full location string */
|
|
1048
|
+
location?: string;
|
|
1049
|
+
/** City */
|
|
1050
|
+
city?: string;
|
|
1051
|
+
/** Country */
|
|
1052
|
+
country?: string;
|
|
1053
|
+
/** Primary email address */
|
|
1054
|
+
email?: string;
|
|
1055
|
+
/** List of email addresses (up to 3) */
|
|
1056
|
+
emails: string[];
|
|
1057
|
+
/** LinkedIn profile URL */
|
|
1058
|
+
linkedinUrl?: string;
|
|
1059
|
+
/** Years of professional experience */
|
|
1060
|
+
yearsExperience?: number;
|
|
1061
|
+
/** List of skills (up to 15) */
|
|
1062
|
+
skills: string[];
|
|
1063
|
+
/** Seniority level (e.g., "Senior", "Director", "VP") */
|
|
1064
|
+
seniorityLevel?: string;
|
|
1065
|
+
/** Whether person is identified as a decision maker */
|
|
1066
|
+
isDecisionMaker: boolean;
|
|
1067
|
+
/** Number of LinkedIn connections */
|
|
1068
|
+
connectionsCount?: number;
|
|
1069
|
+
/** Whether person recently changed jobs */
|
|
1070
|
+
recentlyChangedJobs: boolean;
|
|
1071
|
+
/** Data source identifier ("PDL", "CORESIGNAL", or "CRUST_DATA") */
|
|
1072
|
+
source: string;
|
|
1073
|
+
/** Confidence score (0.0-1.0) if available */
|
|
1074
|
+
confidenceScore?: number;
|
|
1075
|
+
/** Salary range projection (CoreSignal only) */
|
|
1076
|
+
salaryRange?: SalaryRange;
|
|
1077
|
+
/** Number of certifications (CoreSignal only) */
|
|
1078
|
+
certificationsCount?: number;
|
|
1079
|
+
/** List of languages spoken (CoreSignal only) */
|
|
1080
|
+
languages?: string[];
|
|
1081
|
+
/** List of education degrees (CoreSignal only, up to 3) */
|
|
1082
|
+
educationDegrees?: string[];
|
|
1083
|
+
}
|
|
1084
|
+
/**
|
|
1085
|
+
* Request model for people search queries.
|
|
1086
|
+
*/
|
|
1087
|
+
interface PeopleSearchRequest {
|
|
1088
|
+
/**
|
|
1089
|
+
* Natural language search query describing the people you want to find.
|
|
1090
|
+
* Examples:
|
|
1091
|
+
* - "Senior software engineers in San Francisco with Python skills"
|
|
1092
|
+
* - "Product managers at Google or Meta with MBA"
|
|
1093
|
+
* - "Data scientists in NYC with 5+ years experience"
|
|
1094
|
+
*/
|
|
1095
|
+
query: string;
|
|
1096
|
+
/**
|
|
1097
|
+
* Maximum number of results to return.
|
|
1098
|
+
* Range: 1-100
|
|
1099
|
+
* Default: 20
|
|
1100
|
+
*/
|
|
1101
|
+
limit?: number;
|
|
1102
|
+
/**
|
|
1103
|
+
* Specific data sources to use for the search.
|
|
1104
|
+
* If not provided, all available sources will be used.
|
|
1105
|
+
* Valid values: "PDL", "CORESIGNAL", "CRUST_DATA"
|
|
1106
|
+
*
|
|
1107
|
+
* Note: The API accepts string values. SDKs should use enums for type safety
|
|
1108
|
+
* but serialize them as strings when sending the request.
|
|
1109
|
+
*/
|
|
1110
|
+
dataSources?: PeopleDataSource[];
|
|
1111
|
+
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Logic operator for filter values
|
|
1114
|
+
*/
|
|
1115
|
+
type FilterLogic = 'or' | 'and' | 'should';
|
|
1116
|
+
/**
|
|
1117
|
+
* A filter with values and logic operator.
|
|
1118
|
+
* Used in applied_filters response.
|
|
1119
|
+
*/
|
|
1120
|
+
interface FilterValue {
|
|
1121
|
+
/** List of values for this filter */
|
|
1122
|
+
values: string[];
|
|
1123
|
+
/**
|
|
1124
|
+
* Logic operator:
|
|
1125
|
+
* - "or": ANY value matches (for alternatives like "SF or NYC")
|
|
1126
|
+
* - "and": ALL values must match (for "must have Python AND Java")
|
|
1127
|
+
* - "should": Optional/preferred (for "preferably PhD")
|
|
1128
|
+
*/
|
|
1129
|
+
logic: FilterLogic;
|
|
1130
|
+
}
|
|
1131
|
+
/**
|
|
1132
|
+
* Structure of the applied_filters field in the response.
|
|
1133
|
+
* Contains extracted filters from the natural language query.
|
|
1134
|
+
*/
|
|
1135
|
+
interface AppliedFilters {
|
|
1136
|
+
/** Cities for the search */
|
|
1137
|
+
cities?: FilterValue;
|
|
1138
|
+
/** Countries for the search */
|
|
1139
|
+
countries?: FilterValue;
|
|
1140
|
+
/** Job titles/roles */
|
|
1141
|
+
jobTitles?: FilterValue;
|
|
1142
|
+
/** Company names */
|
|
1143
|
+
companies?: FilterValue;
|
|
1144
|
+
/** Technical skills */
|
|
1145
|
+
skills?: FilterValue;
|
|
1146
|
+
/** Minimum years of professional experience */
|
|
1147
|
+
minYearsExperience?: number;
|
|
1148
|
+
/** Seniority levels (entry/junior/mid/senior/lead/principal/staff/director/vp/executive) */
|
|
1149
|
+
seniorityLevels?: FilterValue;
|
|
1150
|
+
/** Education levels (bachelors/masters/phd/mba) */
|
|
1151
|
+
educationLevels?: FilterValue;
|
|
1152
|
+
/** Industries/sectors */
|
|
1153
|
+
industries?: FilterValue;
|
|
1154
|
+
}
|
|
1155
|
+
/**
|
|
1156
|
+
* Response model for people search endpoint.
|
|
1157
|
+
*/
|
|
1158
|
+
interface PeopleSearchResponse {
|
|
1159
|
+
/** List of matching candidates */
|
|
1160
|
+
candidates: PersonResult[];
|
|
1161
|
+
/** Total number of unique candidates found (may be more than returned) */
|
|
1162
|
+
totalFound: number;
|
|
1163
|
+
/** Filters extracted and applied from the query */
|
|
1164
|
+
appliedFilters: AppliedFilters;
|
|
1165
|
+
/** Execution time in milliseconds */
|
|
1166
|
+
executionTimeMs: number;
|
|
1167
|
+
/** List of data sources that were actually used */
|
|
1168
|
+
dataSourcesUsed: string[];
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
declare class PeopleResource {
|
|
1172
|
+
private readonly http;
|
|
1173
|
+
constructor(http: Http);
|
|
1174
|
+
/**
|
|
1175
|
+
* Perform a quick people search across multiple data sources.
|
|
1176
|
+
*
|
|
1177
|
+
* This endpoint bypasses the full agent framework for faster response times.
|
|
1178
|
+
* It searches across PDL, CoreSignal, and CrustData in parallel and returns
|
|
1179
|
+
* deduplicated results.
|
|
1180
|
+
*
|
|
1181
|
+
* @param params - Search parameters
|
|
1182
|
+
* @param params.query - Natural language search query
|
|
1183
|
+
* @param params.limit - Maximum number of results (1-100, default: 20)
|
|
1184
|
+
* @param params.dataSources - Specific data sources to use (optional)
|
|
1185
|
+
* @returns Promise resolving to search results
|
|
1186
|
+
* @throws {NoDataSourcesError} When no data sources are configured
|
|
1187
|
+
* @throws {SourcesNotAvailableError} When requested sources aren't available
|
|
1188
|
+
* @throws {ValidationError} For other validation errors
|
|
1189
|
+
*
|
|
1190
|
+
* @example
|
|
1191
|
+
* ```typescript
|
|
1192
|
+
* const response = await client.people.quickSearch({
|
|
1193
|
+
* query: "Senior engineers in SF with Python",
|
|
1194
|
+
* limit: 50,
|
|
1195
|
+
* dataSources: [PeopleDataSource.CORESIGNAL, PeopleDataSource.PDL]
|
|
1196
|
+
* });
|
|
1197
|
+
* ```
|
|
1198
|
+
*/
|
|
1199
|
+
quickSearch(params: PeopleSearchRequest): Promise<PeopleSearchResponse>;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1007
1202
|
declare class ResponsesResource {
|
|
1008
1203
|
private readonly http;
|
|
1009
1204
|
constructor(http: Http);
|
|
@@ -1253,6 +1448,7 @@ declare class LumnisClient {
|
|
|
1253
1448
|
readonly modelPreferences: ModelPreferencesResource;
|
|
1254
1449
|
readonly mcpServers: MCPServersResource;
|
|
1255
1450
|
readonly skills: SkillsResource;
|
|
1451
|
+
readonly people: PeopleResource;
|
|
1256
1452
|
private readonly _scopedUserId?;
|
|
1257
1453
|
private readonly _defaultScope;
|
|
1258
1454
|
constructor(options?: LumnisClientOptions);
|
|
@@ -1282,14 +1478,20 @@ declare class LumnisClient {
|
|
|
1282
1478
|
getApiKeyMode(): Promise<ApiKeyModeResponse>;
|
|
1283
1479
|
setApiKeyMode(mode: Parameters<ExternalAPIKeysResource['setMode']>[0]): Promise<ApiKeyModeResponse>;
|
|
1284
1480
|
listApps(params?: Parameters<IntegrationsResource['listApps']>[0]): Promise<AppsListResponse>;
|
|
1285
|
-
|
|
1286
|
-
|
|
1481
|
+
listProviders(): Promise<ListProvidersResponse>;
|
|
1482
|
+
isAppEnabled(appName: string, provider?: string): Promise<AppEnabledResponse>;
|
|
1483
|
+
setAppEnabled(appName: string, enabled: boolean, provider?: string): Promise<UpdateAppStatusResponse>;
|
|
1287
1484
|
initiateConnection(params: Parameters<IntegrationsResource['initiateConnection']>[0]): Promise<InitiateConnectionResponse>;
|
|
1288
|
-
getConnectionStatus(userId: string, appName: string): Promise<ConnectionStatusResponse>;
|
|
1289
|
-
listConnections(userId: string, params?:
|
|
1485
|
+
getConnectionStatus(userId: string, appName: string, provider?: string): Promise<ConnectionStatusResponse>;
|
|
1486
|
+
listConnections(userId: string, params?: {
|
|
1487
|
+
appFilter?: string;
|
|
1488
|
+
provider?: string;
|
|
1489
|
+
}): Promise<UserConnectionsResponse>;
|
|
1290
1490
|
getIntegrationTools(userId: string, params?: {
|
|
1291
1491
|
appFilter?: string[];
|
|
1492
|
+
provider?: string;
|
|
1292
1493
|
}): Promise<GetToolsResponse>;
|
|
1494
|
+
disconnect(userId: string, appName: string, provider?: string): Promise<DisconnectResponse>;
|
|
1293
1495
|
getModelPreferences(params?: Parameters<ModelPreferencesResource['list']>[0]): Promise<TenantModelPreferencesResponse>;
|
|
1294
1496
|
updateModelPreferences(params: Parameters<ModelPreferencesResource['updateBulk']>[0]): Promise<TenantModelPreferencesResponse>;
|
|
1295
1497
|
createMcpServer(params: Parameters<MCPServersResource['create']>[0]): Promise<MCPServerResponse>;
|
|
@@ -1343,6 +1545,13 @@ declare class InternalServerError extends LumnisError {
|
|
|
1343
1545
|
declare class LocalFileNotSupportedError extends ValidationError {
|
|
1344
1546
|
constructor(filePath: string);
|
|
1345
1547
|
}
|
|
1548
|
+
declare class NoDataSourcesError extends ValidationError {
|
|
1549
|
+
constructor(message?: string);
|
|
1550
|
+
}
|
|
1551
|
+
declare class SourcesNotAvailableError extends ValidationError {
|
|
1552
|
+
availableSources: string[];
|
|
1553
|
+
constructor(message: string, availableSources: string[]);
|
|
1554
|
+
}
|
|
1346
1555
|
|
|
1347
1556
|
/**
|
|
1348
1557
|
* Utility functions for displaying progress updates
|
|
@@ -1395,4 +1604,4 @@ declare class ProgressTracker {
|
|
|
1395
1604
|
}
|
|
1396
1605
|
|
|
1397
1606
|
export = LumnisClient;
|
|
1398
|
-
export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type CheckAppEnabledParams, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type GetConnectionStatusParams, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, type ListProvidersResponse, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NotFoundError, type PaginationInfo, type PaginationParams, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, ProviderType, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
|
|
1607
|
+
export { type AgentConfig, type ApiKeyMode, type ApiKeyModeRequest, type ApiKeyModeResponse, type ApiProvider, type AppEnabledResponse, type AppliedFilters, type AppsListResponse, type ArtifactObject, type ArtifactsListResponse, AuthenticationError, type BaseResource, type BillingStatus, type BulkDeleteRequest, type BulkDeleteResponse, type BulkUploadResponse, type CancelResponseResponse, type CheckAppEnabledParams, type ChunkingStrategy, type ConnectionCallbackRequest, type ConnectionCallbackResponse, type ConnectionInfo, type ConnectionStatus, type ConnectionStatusResponse, type ContentType, type CreateFeedbackRequest, type CreateFeedbackResponse, type CreateResponseRequest, type CreateResponseResponse, type CreateThreadRequest, type DatabaseStatus, type DeleteApiKeyResponse, type DisconnectRequest, type DisconnectResponse, type DuplicateHandling, type Email, type ErrorResponse, ExternalAPIKeysResource, type ExternalApiKeyResponse, type FeedbackListResponse, type FeedbackObject, type FeedbackType, type FileAttachment, type FileChunk, type FileContentResponse, type FileListResponse, type FileMetadata, type FileScope, type FileScopeUpdateRequest, type FileSearchRequest, type FileSearchResponse, type FileSearchResult, type FileStatisticsResponse, type FileUploadResponse, FilesResource, type FilterLogic, type FilterValue, type GetConnectionStatusParams, type GetToolsRequest, type GetToolsResponse, type GetUserConnectionsParams, type InitiateConnectionRequest, type InitiateConnectionResponse, IntegrationsResource, InternalServerError, type ListProvidersResponse, LocalFileNotSupportedError, LumnisClient, type LumnisClientOptions, LumnisError, type LumnisErrorOptions, type MCPScope, type MCPServerCreateRequest, type MCPServerListResponse, type MCPServerResponse, type MCPServerUpdateRequest, MCPServersResource, type MCPToolListResponse, type MCPToolResponse, type MCPTransport, type Message, type ModelAvailability, type ModelOverrides, type ModelPreferenceCreate, type ModelPreferencesBulkUpdate, ModelPreferencesResource, type ModelProvider, type ModelType, NoDataSourcesError, NotFoundError, type PaginationInfo, type PaginationParams, PeopleDataSource, PeopleResource, type PeopleSearchRequest, type PeopleSearchResponse, type PersonResult, type Plan, type ProcessingStatus, type ProcessingStatusResponse, type ProgressEntry, ProgressTracker, ProviderType, RateLimitError, type RateLimitErrorOptions, type ResponseArtifact, type ResponseListResponse, type ResponseObject, type ResponseStatus, ResponsesResource, type SalaryRange, type Scope, type SelectedSkill, type SkillAnalyticsRequest, type SkillEffectivenessMetrics, type SkillGuidelineBase, type SkillGuidelineCreate, type SkillGuidelineListResponse, type SkillGuidelineResponse, type SkillGuidelineUpdate, type SkillRetrievalMetadata, type SkillUsageBase, type SkillUsageCreate, type SkillUsageListResponse, type SkillUsageResponse, type SkillUsageUpdate, SkillsResource, SourcesNotAvailableError, type StoreApiKeyRequest, type TenantDetailsResponse, TenantInfoResource, type TenantModelPreference, type TenantModelPreferencesResponse, type TestConnectionResponse, type ThreadListResponse, type ThreadObject, type ThreadResponsesParams, ThreadsResource, type ToolInfo, type UUID, type UpdateAppStatusParams, type UpdateAppStatusResponse, type UpdateThreadRequest, type UserConnectionsResponse, type UserCreateRequest, type UserDeleteResponse, type UserIdentifier, type UserListResponse, type UserResponse, type UserUpdateRequest, UsersResource, ValidationError, displayProgress, formatProgressEntry };
|
package/dist/index.mjs
CHANGED
|
@@ -487,6 +487,110 @@ class LocalFileNotSupportedError extends ValidationError {
|
|
|
487
487
|
this.name = "LocalFileNotSupportedError";
|
|
488
488
|
}
|
|
489
489
|
}
|
|
490
|
+
class NoDataSourcesError extends ValidationError {
|
|
491
|
+
constructor(message) {
|
|
492
|
+
super(
|
|
493
|
+
message || "No people data sources configured. Please configure API keys.",
|
|
494
|
+
{ code: "NO_DATA_SOURCES" }
|
|
495
|
+
);
|
|
496
|
+
this.name = "NoDataSourcesError";
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
class SourcesNotAvailableError extends ValidationError {
|
|
500
|
+
availableSources;
|
|
501
|
+
constructor(message, availableSources) {
|
|
502
|
+
super(message, { code: "SOURCES_NOT_AVAILABLE" });
|
|
503
|
+
this.name = "SourcesNotAvailableError";
|
|
504
|
+
this.availableSources = availableSources;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
var PeopleDataSource = /* @__PURE__ */ ((PeopleDataSource2) => {
|
|
509
|
+
PeopleDataSource2["PDL"] = "PDL";
|
|
510
|
+
PeopleDataSource2["CORESIGNAL"] = "CORESIGNAL";
|
|
511
|
+
PeopleDataSource2["CRUST_DATA"] = "CRUST_DATA";
|
|
512
|
+
return PeopleDataSource2;
|
|
513
|
+
})(PeopleDataSource || {});
|
|
514
|
+
|
|
515
|
+
class PeopleResource {
|
|
516
|
+
constructor(http) {
|
|
517
|
+
this.http = http;
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Perform a quick people search across multiple data sources.
|
|
521
|
+
*
|
|
522
|
+
* This endpoint bypasses the full agent framework for faster response times.
|
|
523
|
+
* It searches across PDL, CoreSignal, and CrustData in parallel and returns
|
|
524
|
+
* deduplicated results.
|
|
525
|
+
*
|
|
526
|
+
* @param params - Search parameters
|
|
527
|
+
* @param params.query - Natural language search query
|
|
528
|
+
* @param params.limit - Maximum number of results (1-100, default: 20)
|
|
529
|
+
* @param params.dataSources - Specific data sources to use (optional)
|
|
530
|
+
* @returns Promise resolving to search results
|
|
531
|
+
* @throws {NoDataSourcesError} When no data sources are configured
|
|
532
|
+
* @throws {SourcesNotAvailableError} When requested sources aren't available
|
|
533
|
+
* @throws {ValidationError} For other validation errors
|
|
534
|
+
*
|
|
535
|
+
* @example
|
|
536
|
+
* ```typescript
|
|
537
|
+
* const response = await client.people.quickSearch({
|
|
538
|
+
* query: "Senior engineers in SF with Python",
|
|
539
|
+
* limit: 50,
|
|
540
|
+
* dataSources: [PeopleDataSource.CORESIGNAL, PeopleDataSource.PDL]
|
|
541
|
+
* });
|
|
542
|
+
* ```
|
|
543
|
+
*/
|
|
544
|
+
async quickSearch(params) {
|
|
545
|
+
const { query, limit = 20, dataSources } = params;
|
|
546
|
+
if (limit < 1 || limit > 100) {
|
|
547
|
+
throw new ValidationError("Limit must be between 1 and 100", {
|
|
548
|
+
code: "INVALID_LIMIT"
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
if (dataSources) {
|
|
552
|
+
const validSources = Object.values(PeopleDataSource);
|
|
553
|
+
for (const source of dataSources) {
|
|
554
|
+
if (!validSources.includes(source)) {
|
|
555
|
+
throw new ValidationError(
|
|
556
|
+
`Invalid data source: ${source}. Valid sources: ${validSources.join(", ")}`,
|
|
557
|
+
{ code: "INVALID_DATA_SOURCE" }
|
|
558
|
+
);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
try {
|
|
563
|
+
const response = await this.http.post(
|
|
564
|
+
"/people/quick-search",
|
|
565
|
+
{
|
|
566
|
+
query,
|
|
567
|
+
limit,
|
|
568
|
+
// HTTP client will convert camelCase to snake_case automatically
|
|
569
|
+
dataSources: dataSources?.map((ds) => ds) || void 0
|
|
570
|
+
}
|
|
571
|
+
);
|
|
572
|
+
return response;
|
|
573
|
+
} catch (error) {
|
|
574
|
+
if (error instanceof ValidationError) {
|
|
575
|
+
const details = error.details || {};
|
|
576
|
+
const errorDetail = details.detail?.error || details.error;
|
|
577
|
+
if (errorDetail?.code === "NO_DATA_SOURCES") {
|
|
578
|
+
throw new NoDataSourcesError(errorDetail.message || void 0);
|
|
579
|
+
}
|
|
580
|
+
if (errorDetail?.code === "SOURCES_NOT_AVAILABLE") {
|
|
581
|
+
const message = errorDetail.message || "";
|
|
582
|
+
const availableMatch = message.match(/Available: \[(.+)\]/);
|
|
583
|
+
const availableSources = availableMatch ? availableMatch[1].replace(/'/g, "").split(", ").map((s) => s.trim()).filter((s) => s.length > 0) : [];
|
|
584
|
+
throw new SourcesNotAvailableError(
|
|
585
|
+
errorDetail.message || "Requested data sources not available",
|
|
586
|
+
availableSources
|
|
587
|
+
);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
throw error;
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
}
|
|
490
594
|
|
|
491
595
|
class ResponsesResource {
|
|
492
596
|
constructor(http) {
|
|
@@ -1012,6 +1116,7 @@ class LumnisClient {
|
|
|
1012
1116
|
modelPreferences;
|
|
1013
1117
|
mcpServers;
|
|
1014
1118
|
skills;
|
|
1119
|
+
people;
|
|
1015
1120
|
_scopedUserId;
|
|
1016
1121
|
_defaultScope;
|
|
1017
1122
|
constructor(options = {}) {
|
|
@@ -1042,6 +1147,7 @@ class LumnisClient {
|
|
|
1042
1147
|
this.modelPreferences = new ModelPreferencesResource(this.http);
|
|
1043
1148
|
this.mcpServers = new MCPServersResource(this.http);
|
|
1044
1149
|
this.skills = new SkillsResource(this.http);
|
|
1150
|
+
this.people = new PeopleResource(this.http);
|
|
1045
1151
|
}
|
|
1046
1152
|
forUser(userId) {
|
|
1047
1153
|
return new LumnisClient({
|
|
@@ -1209,23 +1315,29 @@ class LumnisClient {
|
|
|
1209
1315
|
async listApps(params) {
|
|
1210
1316
|
return this.integrations.listApps(params);
|
|
1211
1317
|
}
|
|
1212
|
-
async
|
|
1213
|
-
return this.integrations.
|
|
1318
|
+
async listProviders() {
|
|
1319
|
+
return this.integrations.listProviders();
|
|
1320
|
+
}
|
|
1321
|
+
async isAppEnabled(appName, provider) {
|
|
1322
|
+
return this.integrations.isAppEnabled(appName, provider);
|
|
1214
1323
|
}
|
|
1215
|
-
async setAppEnabled(appName, enabled) {
|
|
1216
|
-
return this.integrations.setAppEnabled(appName, { enabled });
|
|
1324
|
+
async setAppEnabled(appName, enabled, provider) {
|
|
1325
|
+
return this.integrations.setAppEnabled(appName, { enabled, provider });
|
|
1217
1326
|
}
|
|
1218
1327
|
async initiateConnection(params) {
|
|
1219
1328
|
return this.integrations.initiateConnection(params);
|
|
1220
1329
|
}
|
|
1221
|
-
async getConnectionStatus(userId, appName) {
|
|
1222
|
-
return this.integrations.getConnectionStatus({ userId, appName });
|
|
1330
|
+
async getConnectionStatus(userId, appName, provider) {
|
|
1331
|
+
return this.integrations.getConnectionStatus({ userId, appName, provider });
|
|
1223
1332
|
}
|
|
1224
1333
|
async listConnections(userId, params) {
|
|
1225
1334
|
return this.integrations.listConnections(userId, params);
|
|
1226
1335
|
}
|
|
1227
1336
|
async getIntegrationTools(userId, params) {
|
|
1228
|
-
return this.integrations.getTools({ userId, appFilter: params?.appFilter });
|
|
1337
|
+
return this.integrations.getTools({ userId, appFilter: params?.appFilter, provider: params?.provider });
|
|
1338
|
+
}
|
|
1339
|
+
async disconnect(userId, appName, provider) {
|
|
1340
|
+
return this.integrations.disconnect({ userId, appName, provider });
|
|
1229
1341
|
}
|
|
1230
1342
|
// Model Preference methods
|
|
1231
1343
|
async getModelPreferences(params) {
|
|
@@ -1416,4 +1528,4 @@ class ProgressTracker {
|
|
|
1416
1528
|
}
|
|
1417
1529
|
}
|
|
1418
1530
|
|
|
1419
|
-
export { AuthenticationError, InternalServerError, LocalFileNotSupportedError, LumnisClient, LumnisError, NotFoundError, ProgressTracker, ProviderType, RateLimitError, ValidationError, LumnisClient as default, displayProgress, formatProgressEntry };
|
|
1531
|
+
export { AuthenticationError, InternalServerError, LocalFileNotSupportedError, LumnisClient, LumnisError, NoDataSourcesError, NotFoundError, PeopleDataSource, ProgressTracker, ProviderType, RateLimitError, SourcesNotAvailableError, ValidationError, LumnisClient as default, displayProgress, formatProgressEntry };
|