lumnisai 0.1.7 → 0.1.8

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 CHANGED
@@ -709,6 +709,35 @@ class ResponsesResource {
709
709
  queryParams.progress_id = options.progressId;
710
710
  return this.http.get(`/responses/${responseId}/feedback`, { params: queryParams });
711
711
  }
712
+ /**
713
+ * Perform a quick people search using the specialized quick_people_search agent
714
+ * @param query - Natural language search query (e.g., "Find engineers at Google in SF")
715
+ * @param options - Optional search parameters
716
+ * @param options.limit - Maximum number of results (1-100, default: 20)
717
+ * @param options.dataSources - Specific data sources to use: ["PDL", "CORESIGNAL", "CRUST_DATA"]
718
+ * @returns Response with structured_response containing:
719
+ * - candidates: List of person results
720
+ * - totalFound: Total unique candidates found
721
+ * - appliedFilters: Extracted search filters
722
+ * - executionTimeMs: Search duration
723
+ * - dataSourcesUsed: Which sources were queried
724
+ */
725
+ async quickPeopleSearch(query, options) {
726
+ const request = {
727
+ messages: [{ role: "user", content: query }],
728
+ specializedAgent: "quick_people_search"
729
+ };
730
+ if (options) {
731
+ const params = {};
732
+ if (options.limit !== void 0)
733
+ params.limit = options.limit;
734
+ if (options.dataSources)
735
+ params.dataSources = options.dataSources;
736
+ if (Object.keys(params).length > 0)
737
+ request.specializedAgentParams = params;
738
+ }
739
+ return this.create(request);
740
+ }
712
741
  }
713
742
 
714
743
  class SkillsResource {
package/dist/index.d.cts CHANGED
@@ -296,6 +296,170 @@ interface ModelAvailability {
296
296
  requiresApiKey: boolean;
297
297
  }
298
298
 
299
+ /**
300
+ * Available people search data sources
301
+ */
302
+ declare enum PeopleDataSource {
303
+ PDL = "PDL",
304
+ CORESIGNAL = "CORESIGNAL",
305
+ CRUST_DATA = "CRUST_DATA"
306
+ }
307
+ /**
308
+ * Salary range projection data.
309
+ * Note: Values represent total compensation (base salary + bonuses + equity),
310
+ * not just base salary. Only available for CoreSignal results.
311
+ */
312
+ interface SalaryRange {
313
+ /** Minimum total compensation (includes base + bonuses + equity, etc.) */
314
+ min?: number;
315
+ /** Median total compensation projection */
316
+ median?: number;
317
+ /** Maximum total compensation (includes base + bonuses + equity, etc.) */
318
+ max?: number;
319
+ /** Currency code (e.g., "USD", "EUR") */
320
+ currency?: string;
321
+ /** Period (e.g., "yearly", "monthly") */
322
+ period?: string;
323
+ }
324
+ /**
325
+ * Simplified person result model returned in search results.
326
+ * Contains normalized data from multiple sources (PDL, CoreSignal, CrustData).
327
+ */
328
+ interface PersonResult {
329
+ /** Unique identifier for the person */
330
+ id: string;
331
+ /** Full name */
332
+ name: string;
333
+ /** Current job title */
334
+ currentTitle?: string;
335
+ /** Current company name */
336
+ currentCompany?: string;
337
+ /** Current department */
338
+ currentDepartment?: string;
339
+ /** Full location string */
340
+ location?: string;
341
+ /** City */
342
+ city?: string;
343
+ /** Country */
344
+ country?: string;
345
+ /** Primary email address */
346
+ email?: string;
347
+ /** List of email addresses (up to 3) */
348
+ emails: string[];
349
+ /** LinkedIn profile URL */
350
+ linkedinUrl?: string;
351
+ /** Years of professional experience */
352
+ yearsExperience?: number;
353
+ /** List of skills (up to 15) */
354
+ skills: string[];
355
+ /** Seniority level (e.g., "Senior", "Director", "VP") */
356
+ seniorityLevel?: string;
357
+ /** Whether person is identified as a decision maker */
358
+ isDecisionMaker: boolean;
359
+ /** Number of LinkedIn connections */
360
+ connectionsCount?: number;
361
+ /** Whether person recently changed jobs */
362
+ recentlyChangedJobs: boolean;
363
+ /** Data source identifier ("PDL", "CORESIGNAL", or "CRUST_DATA") */
364
+ source: string;
365
+ /** Confidence score (0.0-1.0) if available */
366
+ confidenceScore?: number;
367
+ /** Salary range projection (CoreSignal only) */
368
+ salaryRange?: SalaryRange;
369
+ /** Number of certifications (CoreSignal only) */
370
+ certificationsCount?: number;
371
+ /** List of languages spoken (CoreSignal only) */
372
+ languages?: string[];
373
+ /** List of education degrees (CoreSignal only, up to 3) */
374
+ educationDegrees?: string[];
375
+ }
376
+ /**
377
+ * Request model for people search queries.
378
+ */
379
+ interface PeopleSearchRequest {
380
+ /**
381
+ * Natural language search query describing the people you want to find.
382
+ * Examples:
383
+ * - "Senior software engineers in San Francisco with Python skills"
384
+ * - "Product managers at Google or Meta with MBA"
385
+ * - "Data scientists in NYC with 5+ years experience"
386
+ */
387
+ query: string;
388
+ /**
389
+ * Maximum number of results to return.
390
+ * Range: 1-100
391
+ * Default: 20
392
+ */
393
+ limit?: number;
394
+ /**
395
+ * Specific data sources to use for the search.
396
+ * If not provided, all available sources will be used.
397
+ * Valid values: "PDL", "CORESIGNAL", "CRUST_DATA"
398
+ *
399
+ * Note: The API accepts string values. SDKs should use enums for type safety
400
+ * but serialize them as strings when sending the request.
401
+ */
402
+ dataSources?: PeopleDataSource[];
403
+ }
404
+ /**
405
+ * Logic operator for filter values
406
+ */
407
+ type FilterLogic = 'or' | 'and' | 'should';
408
+ /**
409
+ * A filter with values and logic operator.
410
+ * Used in applied_filters response.
411
+ */
412
+ interface FilterValue {
413
+ /** List of values for this filter */
414
+ values: string[];
415
+ /**
416
+ * Logic operator:
417
+ * - "or": ANY value matches (for alternatives like "SF or NYC")
418
+ * - "and": ALL values must match (for "must have Python AND Java")
419
+ * - "should": Optional/preferred (for "preferably PhD")
420
+ */
421
+ logic: FilterLogic;
422
+ }
423
+ /**
424
+ * Structure of the applied_filters field in the response.
425
+ * Contains extracted filters from the natural language query.
426
+ */
427
+ interface AppliedFilters {
428
+ /** Cities for the search */
429
+ cities?: FilterValue;
430
+ /** Countries for the search */
431
+ countries?: FilterValue;
432
+ /** Job titles/roles */
433
+ jobTitles?: FilterValue;
434
+ /** Company names */
435
+ companies?: FilterValue;
436
+ /** Technical skills */
437
+ skills?: FilterValue;
438
+ /** Minimum years of professional experience */
439
+ minYearsExperience?: number;
440
+ /** Seniority levels (entry/junior/mid/senior/lead/principal/staff/director/vp/executive) */
441
+ seniorityLevels?: FilterValue;
442
+ /** Education levels (bachelors/masters/phd/mba) */
443
+ educationLevels?: FilterValue;
444
+ /** Industries/sectors */
445
+ industries?: FilterValue;
446
+ }
447
+ /**
448
+ * Response model for people search endpoint.
449
+ */
450
+ interface PeopleSearchResponse {
451
+ /** List of matching candidates */
452
+ candidates: PersonResult[];
453
+ /** Total number of unique candidates found (may be more than returned) */
454
+ totalFound: number;
455
+ /** Filters extracted and applied from the query */
456
+ appliedFilters: AppliedFilters;
457
+ /** Execution time in milliseconds */
458
+ executionTimeMs: number;
459
+ /** List of data sources that were actually used */
460
+ dataSourcesUsed: string[];
461
+ }
462
+
299
463
  type ResponseStatus = 'queued' | 'in_progress' | 'succeeded' | 'failed' | 'cancelled';
300
464
  interface FileAttachment {
301
465
  name: string;
@@ -320,6 +484,25 @@ interface AgentConfig {
320
484
  interface ModelOverrides {
321
485
  [key: string]: string;
322
486
  }
487
+ /**
488
+ * Available specialized agents
489
+ */
490
+ type SpecializedAgentType = 'quick_people_search';
491
+ /**
492
+ * Parameters for specialized agent execution
493
+ */
494
+ interface SpecializedAgentParams {
495
+ /**
496
+ * Maximum number of results (1-100)
497
+ * Agent-specific: For quick_people_search, limits the number of candidates returned
498
+ */
499
+ limit?: number;
500
+ /**
501
+ * Specific data sources to use (agent-specific)
502
+ * For quick_people_search: ["PDL", "CORESIGNAL", "CRUST_DATA"]
503
+ */
504
+ dataSources?: string[];
505
+ }
323
506
  interface CreateResponseRequest {
324
507
  threadId?: UUID;
325
508
  messages: Message[];
@@ -330,6 +513,15 @@ interface CreateResponseRequest {
330
513
  responseFormat?: Record<string, any>;
331
514
  responseFormatInstructions?: string;
332
515
  modelOverrides?: ModelOverrides;
516
+ /**
517
+ * Route to a specialized agent instead of the main Lumnis agent
518
+ * Available agents: 'quick_people_search'
519
+ */
520
+ specializedAgent?: SpecializedAgentType;
521
+ /**
522
+ * Parameters specific to the specialized agent
523
+ */
524
+ specializedAgentParams?: SpecializedAgentParams;
333
525
  }
334
526
  interface ProgressEntry {
335
527
  ts: string;
@@ -430,6 +622,18 @@ interface FeedbackListResponse {
430
622
  feedback: FeedbackObject[];
431
623
  note: string;
432
624
  }
625
+ /**
626
+ * Structured output from quick_people_search specialized agent
627
+ * This will be available in ResponseObject.structuredResponse
628
+ * Note: PersonResult is imported from './people' to avoid duplication
629
+ */
630
+ interface QuickPeopleSearchOutput {
631
+ candidates: PersonResult[];
632
+ totalFound: number;
633
+ appliedFilters: Record<string, any>;
634
+ executionTimeMs: number;
635
+ dataSourcesUsed: string[];
636
+ }
433
637
 
434
638
  interface SkillGuidelineBase {
435
639
  name: string;
@@ -1004,170 +1208,6 @@ declare class ModelPreferencesResource {
1004
1208
  }): Promise<TenantModelPreferencesResponse>;
1005
1209
  }
1006
1210
 
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
1211
  declare class PeopleResource {
1172
1212
  private readonly http;
1173
1213
  constructor(http: Http);
@@ -1257,6 +1297,23 @@ declare class ResponsesResource {
1257
1297
  listFeedback(responseId: string, options?: {
1258
1298
  progressId?: string;
1259
1299
  }): Promise<FeedbackListResponse>;
1300
+ /**
1301
+ * Perform a quick people search using the specialized quick_people_search agent
1302
+ * @param query - Natural language search query (e.g., "Find engineers at Google in SF")
1303
+ * @param options - Optional search parameters
1304
+ * @param options.limit - Maximum number of results (1-100, default: 20)
1305
+ * @param options.dataSources - Specific data sources to use: ["PDL", "CORESIGNAL", "CRUST_DATA"]
1306
+ * @returns Response with structured_response containing:
1307
+ * - candidates: List of person results
1308
+ * - totalFound: Total unique candidates found
1309
+ * - appliedFilters: Extracted search filters
1310
+ * - executionTimeMs: Search duration
1311
+ * - dataSourcesUsed: Which sources were queried
1312
+ */
1313
+ quickPeopleSearch(query: string, options?: {
1314
+ limit?: number;
1315
+ dataSources?: string[];
1316
+ }): Promise<CreateResponseResponse>;
1260
1317
  }
1261
1318
 
1262
1319
  declare class SkillsResource {
@@ -1604,4 +1661,4 @@ declare class ProgressTracker {
1604
1661
  }
1605
1662
 
1606
1663
  export = LumnisClient;
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 };
1664
+ 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, type QuickPeopleSearchOutput, 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 SpecializedAgentParams, type SpecializedAgentType, 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 };