@lpextend/node-sdk 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -765,6 +765,656 @@ interface LPPromptsQueryParams {
765
765
  status?: LPPromptStatus;
766
766
  }
767
767
 
768
+ /**
769
+ * Conversation Builder Types
770
+ *
771
+ * Types for LivePerson Conversation Builder (CB) and Knowledge AI (KAI) APIs.
772
+ * Used for managing bots, dialogs, interactions, knowledge bases, and NLU domains.
773
+ */
774
+ /**
775
+ * Standard CB API response wrapper
776
+ */
777
+ interface CBApiResponse<T> {
778
+ success: boolean;
779
+ error?: string;
780
+ errorCode?: string;
781
+ message?: string;
782
+ successResult?: T;
783
+ }
784
+ /**
785
+ * Page context for paginated responses
786
+ */
787
+ interface CBPageContext {
788
+ page: number;
789
+ size: number;
790
+ totalSize: number;
791
+ }
792
+ /**
793
+ * Paginated result wrapper
794
+ */
795
+ interface CBPaginatedResult<T> {
796
+ pageContext: CBPageContext;
797
+ data: T[];
798
+ }
799
+ /**
800
+ * Bot group - logical grouping of bots
801
+ */
802
+ interface CBBotGroup {
803
+ botGroupId: string;
804
+ botGroupName: string;
805
+ transferMessage: string;
806
+ channel: 'MESSAGING' | 'CHAT';
807
+ organizationId: string;
808
+ collaborationEnabled: boolean;
809
+ numberOfBots: number;
810
+ createdAt: number;
811
+ updatedAt: number;
812
+ createdBy: string | null;
813
+ createdByName: string | null;
814
+ updatedBy: string | null;
815
+ updatedByName: string | null;
816
+ }
817
+ /**
818
+ * Bot summary from bot-groups API
819
+ */
820
+ interface CBBot {
821
+ botId: string;
822
+ botName: string;
823
+ botDescription: string | null;
824
+ botType: 'CUSTOMER_FACING_BOT' | 'POST_SURVEY_BOT' | 'AGENT_FACING_BOT';
825
+ channel: 'MESSAGING' | 'CHAT';
826
+ botLanguage: string;
827
+ agentAnnotationsEnabled: boolean;
828
+ debuggingEnabled: boolean;
829
+ botVersion: string;
830
+ entityDataSourceId: string | null;
831
+ skills: string[] | null;
832
+ publicBot: boolean;
833
+ organizationId: string;
834
+ botGroupId: string | null;
835
+ chatBotPlatformUserId: string;
836
+ createdAt: number;
837
+ updatedAt: number;
838
+ createdBy: string | null;
839
+ createdByName: string | null;
840
+ updatedBy: string | null;
841
+ updatedByName: string | null;
842
+ numberOfDialogs: number;
843
+ numberOfInteractions: number;
844
+ numberOfIntegrations: number;
845
+ numberOfActiveAgents: number;
846
+ numberOfInactiveAgents: number;
847
+ numberOfDomains: number;
848
+ numberOfIntents: number;
849
+ hasDisambiguation: boolean;
850
+ hasAutoescalation: boolean;
851
+ smallTalkEnabled: boolean;
852
+ }
853
+ /**
854
+ * Bot platform configuration
855
+ */
856
+ interface CBBotPlatform {
857
+ id: string;
858
+ platform: string;
859
+ botId: string;
860
+ status: string;
861
+ integrationType: string;
862
+ }
863
+ /**
864
+ * Full chatbot details from chatbots API
865
+ */
866
+ interface CBChatBot {
867
+ id: string;
868
+ name: string;
869
+ description: string | null;
870
+ personality: string | null;
871
+ status: string;
872
+ chatBotPlatformUserId: string;
873
+ platforms: CBBotPlatform[];
874
+ getStartedButtonPayload: string;
875
+ imageURL: string | null;
876
+ createdBy: string | null;
877
+ modifiedBy: string | null;
878
+ creationTime: number;
879
+ modificationTime: number;
880
+ entityDataSourceId: string | null;
881
+ demo: boolean;
882
+ language: string;
883
+ enterpriseIntegrations: unknown | null;
884
+ organizationId: string;
885
+ autoEscalation: unknown | null;
886
+ skipNLP: boolean;
887
+ environmentId: string | null;
888
+ sessionLength: number;
889
+ passThroughMode: boolean;
890
+ transcriptDisabled: boolean;
891
+ botTemplateId: string | null;
892
+ version: string;
893
+ defaultErrorMessage: string | null;
894
+ sessionExpiredMessage: string | null;
895
+ thankyouMessage: string | null;
896
+ shortenUrl: string | null;
897
+ chatBotType: string;
898
+ channel: string;
899
+ startDialog: string | null;
900
+ publicBot: boolean;
901
+ skillIds: string[] | null;
902
+ transferGroupId: string | null;
903
+ readOnlyBot: boolean;
904
+ enableDebug: boolean;
905
+ enableAgentAnnotations: boolean;
906
+ botAttributes: unknown | null;
907
+ voiceAttributes: unknown | null;
908
+ emailTranscriptId: string | null;
909
+ emailTranscriptSenderEmail: string | null;
910
+ emailTranscriptSenderName: string | null;
911
+ emailTranscriptEnabled: boolean | null;
912
+ thankYouMessageEnabled: boolean | null;
913
+ externalId: string | null;
914
+ surveyTargetingParameters: unknown | null;
915
+ fallbackLimit: number;
916
+ fallbackLimitMessage: string | null;
917
+ voiceType: string | null;
918
+ voiceGender: string | null;
919
+ voiceToneSetting: string | null;
920
+ voiceAudioCueSetting: string | null;
921
+ smallTalkEnabled: boolean;
922
+ chatBotTypeName: string;
923
+ voiceSupported: boolean;
924
+ messagingSupported: boolean;
925
+ }
926
+ /**
927
+ * Bot metrics
928
+ */
929
+ interface CBChatBotMetrics {
930
+ chatBotId: string;
931
+ totalSubscribers: number;
932
+ totalMessages: number;
933
+ }
934
+ /**
935
+ * Bot summary with metrics
936
+ */
937
+ interface CBChatBotSummary {
938
+ chatBot: CBChatBot;
939
+ chatBotMetrics: CBChatBotMetrics;
940
+ }
941
+ /**
942
+ * List of bot summaries
943
+ */
944
+ interface CBChatBotSummaryList {
945
+ chatBotSummaryList: CBChatBotSummary[];
946
+ }
947
+ /**
948
+ * Dialog definition
949
+ */
950
+ interface CBDialog {
951
+ chatBotId: string;
952
+ id: string;
953
+ name: string;
954
+ creationTime: string;
955
+ modificationTime: string;
956
+ description: string;
957
+ dialogType: 'DIALOG' | 'FALLBACK_DIALOG' | 'SURVEY_DIALOG';
958
+ status: 'ENABLED' | 'DISABLED';
959
+ disambiguteOnlySelectedDomains: boolean;
960
+ }
961
+ /**
962
+ * Dialog group container
963
+ */
964
+ interface CBDialogGroup {
965
+ Group: CBDialog[];
966
+ }
967
+ /**
968
+ * Response match condition
969
+ */
970
+ interface CBResponseMatch {
971
+ name?: string;
972
+ conditions: unknown[];
973
+ contextConditions: unknown[];
974
+ contextMatchConditionType?: string;
975
+ action: {
976
+ name: string;
977
+ value: string;
978
+ };
979
+ contextDataVariables: unknown[];
980
+ }
981
+ /**
982
+ * Tile data for interaction content
983
+ */
984
+ interface CBTileData {
985
+ text?: string;
986
+ buttons: unknown[];
987
+ quickReplyList: unknown[];
988
+ sampleUserInput?: string;
989
+ escalation?: {
990
+ tangoContextEnabled: boolean;
991
+ };
992
+ }
993
+ /**
994
+ * Interaction content definition
995
+ */
996
+ interface CBInteractionContent {
997
+ contentType: 'STATIC' | 'DYNAMIC';
998
+ results?: {
999
+ type: string;
1000
+ tile: {
1001
+ tileData: CBTileData[];
1002
+ };
1003
+ };
1004
+ responderName?: string;
1005
+ responderId?: string;
1006
+ }
1007
+ /**
1008
+ * Interaction definition
1009
+ */
1010
+ interface CBInteraction {
1011
+ id: string;
1012
+ chatBotId: string;
1013
+ userInputRequired: boolean;
1014
+ name: string;
1015
+ pattern?: string[];
1016
+ type: string;
1017
+ content: CBInteractionContent;
1018
+ preProcessMessage?: string;
1019
+ postProcessMessage?: string;
1020
+ group: string;
1021
+ status: 'ACTIVE' | 'INACTIVE';
1022
+ required?: boolean;
1023
+ nextMessageId?: string;
1024
+ prevMessageId?: string;
1025
+ responseMatches: CBResponseMatch[];
1026
+ interactionType: string;
1027
+ changeResponse?: {
1028
+ enabled: boolean;
1029
+ };
1030
+ cancelResponse?: {
1031
+ enabled: boolean;
1032
+ };
1033
+ comment?: {
1034
+ content: string;
1035
+ lastCommenterName: string;
1036
+ lastCommenterId: string;
1037
+ lastModifiedDate: number;
1038
+ };
1039
+ }
1040
+ /**
1041
+ * List of interactions
1042
+ */
1043
+ interface CBInteractionList {
1044
+ message: CBInteraction[];
1045
+ pcsSynchronizationWithAcChecked?: boolean;
1046
+ }
1047
+ /**
1048
+ * Duplicate phrase info
1049
+ */
1050
+ interface CBDuplicatePhrase {
1051
+ normalizedPhrase: string;
1052
+ duplicatePhrases: {
1053
+ intentId: string;
1054
+ intentName: string;
1055
+ phrase: string;
1056
+ }[];
1057
+ }
1058
+ /**
1059
+ * Duplicate phrases container
1060
+ */
1061
+ interface CBDuplicatePhrases {
1062
+ duplicates: CBDuplicatePhrase[];
1063
+ domainId: string;
1064
+ }
1065
+ /**
1066
+ * NLU Domain definition
1067
+ */
1068
+ interface CBNLUDomain {
1069
+ id: string;
1070
+ name: string;
1071
+ chatBotPlatformUserId: string;
1072
+ organizationId: string;
1073
+ status: 'ACTIVE' | 'INACTIVE';
1074
+ creationTime: string;
1075
+ modificationTime: string;
1076
+ modifiedBy: string;
1077
+ enableKeyPhraseMatch: boolean;
1078
+ keyPhraseMatchThreshold: number;
1079
+ type: string;
1080
+ intentUploadFileName?: string;
1081
+ entityUploadFileName?: string;
1082
+ duplicatePhrases?: CBDuplicatePhrases;
1083
+ nluShareDataAgree: boolean;
1084
+ migrationNluShareDataAgreeTs: number;
1085
+ acceptMaskedMessages: boolean;
1086
+ language?: string;
1087
+ domainOrigin: 'USER' | 'GLOBAL';
1088
+ verticalType?: string;
1089
+ verticalName?: string;
1090
+ primary: boolean;
1091
+ intentAnalyzerEnabled: boolean;
1092
+ hasLiveIntents: boolean;
1093
+ }
1094
+ /**
1095
+ * NLU Domain list container
1096
+ */
1097
+ interface CBDomainList {
1098
+ DomainList: CBNLUDomain[];
1099
+ }
1100
+ /**
1101
+ * Intent definition
1102
+ */
1103
+ interface CBIntent {
1104
+ id: string;
1105
+ name: string;
1106
+ domainId: string;
1107
+ status: 'ACTIVE' | 'INACTIVE';
1108
+ trainingPhrases?: string[];
1109
+ creationTime?: string;
1110
+ modificationTime?: string;
1111
+ }
1112
+ /**
1113
+ * Knowledge base landing page metrics
1114
+ */
1115
+ interface CBKBLandingPageMetrics {
1116
+ kbId: string;
1117
+ organizationId: string;
1118
+ numOfTotalArticles: number;
1119
+ numOfActiveArticles: number;
1120
+ numOfRedundantArticles?: number;
1121
+ numOfConflictingArticles?: number;
1122
+ numOfArticlesHaveIntents: number;
1123
+ lastContentUpdatedTime: number;
1124
+ connectedBots?: string[];
1125
+ connectedConvAssistSkills?: string[];
1126
+ modifiedTime: number;
1127
+ createdTime: number;
1128
+ }
1129
+ /**
1130
+ * Sync status details for knowledge base
1131
+ */
1132
+ interface CBSyncStatusDetails {
1133
+ syncStatus: 'COMPLETED' | 'IN_PROGRESS' | 'FAILED';
1134
+ syncStatusMessage: string | null;
1135
+ syncTime: number;
1136
+ }
1137
+ /**
1138
+ * Knowledge base definition
1139
+ */
1140
+ interface CBKnowledgeBase {
1141
+ createdByName: string;
1142
+ modifiedByName: string;
1143
+ id: string;
1144
+ name: string;
1145
+ type: 'KnowledgeBase';
1146
+ googleSheetUrl?: string;
1147
+ chatBotPlatformUserId: string;
1148
+ status: 'ACTIVE' | 'INACTIVE';
1149
+ modificationTime?: string;
1150
+ syncStatusDetails?: CBSyncStatusDetails;
1151
+ dataSourceConfiguration: {
1152
+ properties: Record<string, unknown>;
1153
+ };
1154
+ organizationId: string;
1155
+ privateAccess: boolean;
1156
+ language: string;
1157
+ langCode: string;
1158
+ entitiesAvailable: boolean;
1159
+ intentAssociationType?: string;
1160
+ entitiesDataSourceId?: string;
1161
+ publicKB: boolean;
1162
+ createdAt: number;
1163
+ modifiedAt: number;
1164
+ createdBy: string;
1165
+ modifiedBy: string;
1166
+ kbConfigProperties: {
1167
+ enableAssessments?: string;
1168
+ llmEnrichment: string;
1169
+ kms_secret?: string;
1170
+ type?: string;
1171
+ };
1172
+ domainType?: string;
1173
+ kBLandingPageMetrics?: CBKBLandingPageMetrics;
1174
+ }
1175
+ /**
1176
+ * Knowledge base list container
1177
+ */
1178
+ interface CBKnowledgeBaseList {
1179
+ KnowledgeDataSource: CBKnowledgeBase[];
1180
+ }
1181
+ /**
1182
+ * Knowledge base detail container
1183
+ */
1184
+ interface CBKnowledgeBaseDetail {
1185
+ KnowledgeDataSource: CBKnowledgeBase;
1186
+ }
1187
+ /**
1188
+ * Knowledge base article
1189
+ */
1190
+ interface CBKBArticle {
1191
+ id: string;
1192
+ kbId: string;
1193
+ title: string;
1194
+ summary?: string;
1195
+ content?: string;
1196
+ status: 'ACTIVE' | 'INACTIVE';
1197
+ tags?: string[];
1198
+ intents?: string[];
1199
+ createdAt: number;
1200
+ modifiedAt: number;
1201
+ createdBy: string;
1202
+ modifiedBy: string;
1203
+ }
1204
+ /**
1205
+ * KAI search request
1206
+ */
1207
+ interface CBKAISearchRequest {
1208
+ llmConfig?: {
1209
+ promptId?: string;
1210
+ promptName?: string;
1211
+ llmEnrichment?: boolean;
1212
+ promptTemplate?: string;
1213
+ };
1214
+ numberOfAnswers?: number;
1215
+ mode?: string;
1216
+ confidenceLevel?: string;
1217
+ status?: string;
1218
+ consumerQuery: string;
1219
+ isPreview?: boolean;
1220
+ kaiClient?: string;
1221
+ }
1222
+ /**
1223
+ * KAI search result item
1224
+ */
1225
+ interface CBKAISearchResultItem {
1226
+ articleId: string;
1227
+ title: string;
1228
+ content: string;
1229
+ score: number;
1230
+ summary?: string;
1231
+ }
1232
+ /**
1233
+ * KAI search response
1234
+ */
1235
+ interface CBKAISearchResponse {
1236
+ results: CBKAISearchResultItem[];
1237
+ generatedAnswer?: string;
1238
+ metadata?: Record<string, unknown>;
1239
+ }
1240
+ /**
1241
+ * KAI On-Demand configuration
1242
+ */
1243
+ interface CBKAIOnDemandConfig {
1244
+ id: string;
1245
+ name: string;
1246
+ kbId: string;
1247
+ enabled: boolean;
1248
+ settings: Record<string, unknown>;
1249
+ }
1250
+ /**
1251
+ * Bot user (agent connector)
1252
+ */
1253
+ interface CBBotUser {
1254
+ lpUserId: string;
1255
+ lpAccountId: string;
1256
+ lpAccountUser: string;
1257
+ botId: string;
1258
+ chatBotId: string;
1259
+ deploymentEnvironment: 'PRODUCTION' | 'STAGING';
1260
+ type: 'messaging' | 'chat';
1261
+ configurations: {
1262
+ lpUserRole: string;
1263
+ enableAccessibility: boolean;
1264
+ tileDisplay: string;
1265
+ };
1266
+ }
1267
+ /**
1268
+ * Bot instance status
1269
+ */
1270
+ interface CBBotInstanceStatus {
1271
+ botId: string;
1272
+ status: 'RUNNING' | 'STOPPED' | 'ERROR';
1273
+ lpAccountId: string;
1274
+ lpAccountUser: string;
1275
+ }
1276
+ /**
1277
+ * Add bot agent request
1278
+ */
1279
+ interface CBAddBotAgentRequest {
1280
+ lpAccountId: string;
1281
+ lpAccountUser: string;
1282
+ lpUserId: string;
1283
+ botId: string;
1284
+ deploymentEnvironment: 'PRODUCTION' | 'STAGING';
1285
+ type: 'messaging' | 'chat';
1286
+ configurations: {
1287
+ lpUserRole: string;
1288
+ enableAccessibility: boolean;
1289
+ tileDisplay: string;
1290
+ };
1291
+ }
1292
+ /**
1293
+ * Responder (API integration)
1294
+ */
1295
+ interface CBResponder {
1296
+ id: string;
1297
+ chatBotId: string;
1298
+ name: string;
1299
+ type: string;
1300
+ url?: string;
1301
+ method?: string;
1302
+ headers?: Record<string, string>;
1303
+ body?: string;
1304
+ responseMapping?: Record<string, string>;
1305
+ }
1306
+ /**
1307
+ * Global functions code
1308
+ */
1309
+ interface CBGlobalFunctions {
1310
+ chatBotId: string;
1311
+ code: string;
1312
+ lastModified: number;
1313
+ lastModifiedBy: string;
1314
+ }
1315
+ /**
1316
+ * Bot environment configuration
1317
+ */
1318
+ interface CBBotEnvironment {
1319
+ id: string;
1320
+ name: string;
1321
+ description: string;
1322
+ variables: Record<string, string>;
1323
+ }
1324
+ /**
1325
+ * LivePerson app credentials for bot
1326
+ */
1327
+ interface CBLPAppCredentials {
1328
+ chatBotId: string;
1329
+ appKey: string;
1330
+ appSecret: string;
1331
+ accessToken: string;
1332
+ accessTokenSecret: string;
1333
+ }
1334
+ /**
1335
+ * LP Skill from CB external integrations API
1336
+ */
1337
+ interface CBLPSkill {
1338
+ id: number;
1339
+ name: string;
1340
+ description: string;
1341
+ maxWaitTime: number;
1342
+ defaultTimeToHold: number;
1343
+ }
1344
+ /**
1345
+ * Knowledge base content source
1346
+ */
1347
+ interface CBKBContentSource {
1348
+ id: string;
1349
+ kbId: string;
1350
+ name: string;
1351
+ type: string;
1352
+ status: 'ACTIVE' | 'INACTIVE';
1353
+ url?: string;
1354
+ lastSyncTime?: number;
1355
+ settings?: Record<string, unknown>;
1356
+ }
1357
+ /**
1358
+ * Dialog template summary
1359
+ */
1360
+ interface CBDialogTemplateSummary {
1361
+ id: string;
1362
+ name: string;
1363
+ description: string;
1364
+ category: string;
1365
+ preview?: string;
1366
+ }
1367
+ /**
1368
+ * CB credential entry
1369
+ */
1370
+ interface CBCredential {
1371
+ id: string;
1372
+ name: string;
1373
+ type: string;
1374
+ organizationId: string;
1375
+ createdAt: number;
1376
+ updatedAt: number;
1377
+ }
1378
+ /**
1379
+ * Bot groups query parameters
1380
+ */
1381
+ interface CBBotGroupsQueryParams {
1382
+ page?: number;
1383
+ size?: number;
1384
+ expandAll?: boolean;
1385
+ }
1386
+ /**
1387
+ * Bots by group query parameters
1388
+ */
1389
+ interface CBBotsByGroupQueryParams {
1390
+ botGroupId?: string;
1391
+ sortBy?: string;
1392
+ page?: number;
1393
+ size?: number;
1394
+ }
1395
+ /**
1396
+ * KB articles query parameters
1397
+ */
1398
+ interface CBKBArticlesQueryParams {
1399
+ page?: number;
1400
+ size?: number;
1401
+ sortAscByLastModificationTime?: boolean;
1402
+ articleIds?: string[];
1403
+ includeConflictingDetails?: boolean;
1404
+ }
1405
+ /**
1406
+ * All bot agents status query parameters
1407
+ */
1408
+ interface CBAllBotAgentsStatusQueryParams {
1409
+ environment?: 'PRODUCTION' | 'STAGING';
1410
+ }
1411
+ /**
1412
+ * PCS bots status query parameters
1413
+ */
1414
+ interface CBPCSBotsStatusQueryParams {
1415
+ showBotsData?: boolean;
1416
+ }
1417
+
768
1418
  /**
769
1419
  * AI Studio Types
770
1420
  *
@@ -1436,11 +2086,20 @@ interface LPExtendSDKConfig {
1436
2086
  * LP Access token (obtained from shell auth)
1437
2087
  * This is the user's LP bearer token passed to the child app.
1438
2088
  *
1439
- * Either provide this directly OR provide extendToken OR provide shellToken.
2089
+ * Either provide this directly OR provide extendToken OR provide shellToken OR provide apiKey.
1440
2090
  */
1441
2091
  accessToken?: string;
1442
2092
  /**
1443
- * ExtendJWT token (NEW - preferred method)
2093
+ * LP Extend API Key (RECOMMENDED for backend apps)
2094
+ * Your app's API key from LP Extend shell registration.
2095
+ * SDK will authenticate with shell and get LP access token.
2096
+ *
2097
+ * Set via environment variable: LPEXTEND_API_KEY
2098
+ * @example 'lpx_my-app_abc123...'
2099
+ */
2100
+ apiKey?: string;
2101
+ /**
2102
+ * ExtendJWT token (for iframe apps receiving token from shell)
1444
2103
  * Encrypted JWT from shell containing all auth data.
1445
2104
  * SDK will verify with shell and get LP access token.
1446
2105
  *
@@ -1453,13 +2112,13 @@ interface LPExtendSDKConfig {
1453
2112
  * fetch the LP access token from the shell during initialization.
1454
2113
  *
1455
2114
  * @example Received via URL params: ?shellToken=xxx
1456
- * @deprecated Use extendToken instead
2115
+ * @deprecated Use apiKey for backend apps or extendToken for iframe apps
1457
2116
  */
1458
2117
  shellToken?: string;
1459
2118
  /**
1460
2119
  * Shell backend base URL
1461
- * Required when using extendToken or shellToken for automatic token retrieval.
1462
- * @default Derived from window.location.origin or parent frame
2120
+ * Required when using apiKey, extendToken, or shellToken for automatic token retrieval.
2121
+ * @default Derived from window.location.origin, parent frame, or LPEXTEND_SHELL_URL env var
1463
2122
  * @example 'https://lp-extend.example.com'
1464
2123
  */
1465
2124
  shellBaseUrl?: string;
@@ -1626,6 +2285,32 @@ interface ShellTokenResponse {
1626
2285
  */
1627
2286
  cbOrg?: string;
1628
2287
  }
2288
+ /**
2289
+ * Response from API key authentication
2290
+ * Child apps call shell's /api/v1/apps/auth endpoint with API key
2291
+ */
2292
+ interface ApiKeyAuthResponse {
2293
+ /** Authentication success */
2294
+ authenticated: boolean;
2295
+ /** LP Bearer access token for API calls */
2296
+ lpAccessToken: string;
2297
+ /** LP User ID */
2298
+ lpUserId: string;
2299
+ /** LP Account ID */
2300
+ lpAccountId: string;
2301
+ /** Is LPA user */
2302
+ isLPA: boolean;
2303
+ /** APIs this app has access to */
2304
+ allowedApis: string[];
2305
+ /** App name from registration */
2306
+ appName: string;
2307
+ /** Conversation Builder token */
2308
+ cbToken?: string;
2309
+ /** Conversation Builder org */
2310
+ cbOrg?: string;
2311
+ /** Token expiration timestamp (Unix ms) */
2312
+ expiresAt: number;
2313
+ }
1629
2314
 
1630
2315
  /**
1631
2316
  * HTTP Client
@@ -2618,6 +3303,279 @@ declare class LPPromptsAPI {
2618
3303
  getLLMProviders(): Promise<APIResponse<LPLLMProviderSubscription[]>>;
2619
3304
  }
2620
3305
 
3306
+ /**
3307
+ * Conversation Builder API Module
3308
+ *
3309
+ * Provides access to LivePerson's Conversation Builder (CB) and Knowledge AI (KAI) APIs.
3310
+ * Manages bots, dialogs, interactions, knowledge bases, and NLU domains.
3311
+ *
3312
+ * CB APIs use a separate authentication mechanism (cbToken + organizationId) obtained
3313
+ * via sentinel.authenticateCB() or from ExtendJWT verification.
3314
+ */
3315
+
3316
+ /**
3317
+ * CB Authentication credentials
3318
+ */
3319
+ interface CBAuthCredentials {
3320
+ /** CB API access token */
3321
+ cbToken: string;
3322
+ /** CB organization ID */
3323
+ organizationId: string;
3324
+ }
3325
+ /**
3326
+ * Conversation Builder API
3327
+ *
3328
+ * Provides methods for interacting with CB/KAI APIs.
3329
+ * Requires CB authentication credentials (cbToken + organizationId).
3330
+ *
3331
+ * @example
3332
+ * ```typescript
3333
+ * // Get CB credentials from sentinel or ExtendJWT verification
3334
+ * const cbAuth = await sdk.sentinel.authenticateCB();
3335
+ * const cbCreds = {
3336
+ * cbToken: cbAuth.successResult.apiAccessToken,
3337
+ * organizationId: cbAuth.successResult.sessionOrganizationId,
3338
+ * };
3339
+ *
3340
+ * // Initialize CB API with credentials
3341
+ * sdk.conversationBuilder.setCredentials(cbCreds);
3342
+ *
3343
+ * // Now use CB APIs
3344
+ * const bots = await sdk.conversationBuilder.getBots();
3345
+ * const kbs = await sdk.conversationBuilder.knowledgeBases.getAll();
3346
+ * ```
3347
+ */
3348
+ declare class ConversationBuilderAPI {
3349
+ private readonly accountId;
3350
+ private domainResolver;
3351
+ private credentials;
3352
+ private debug;
3353
+ private timeout;
3354
+ /** Bot Groups API */
3355
+ readonly botGroups: BotGroupsAPI;
3356
+ /** Bots API */
3357
+ readonly bots: BotsAPI;
3358
+ /** Dialogs API */
3359
+ readonly dialogs: DialogsAPI;
3360
+ /** Interactions API */
3361
+ readonly interactions: InteractionsAPI;
3362
+ /** NLU Domains API */
3363
+ readonly nluDomains: NLUDomainsAPI;
3364
+ /** Knowledge Bases API (KAI) */
3365
+ readonly knowledgeBases: KnowledgeBasesAPI;
3366
+ /** Bot Agents API */
3367
+ readonly botAgents: BotAgentsAPI;
3368
+ /** Integrations/Responders API */
3369
+ readonly integrations: IntegrationsAPI;
3370
+ constructor(accountId: string, debug?: boolean, timeout?: number);
3371
+ /**
3372
+ * Set CB authentication credentials
3373
+ * Must be called before making any CB API calls
3374
+ */
3375
+ setCredentials(credentials: CBAuthCredentials): void;
3376
+ /**
3377
+ * Check if credentials are set
3378
+ */
3379
+ hasCredentials(): boolean;
3380
+ /**
3381
+ * Get the current credentials
3382
+ * @throws If credentials not set
3383
+ */
3384
+ getCredentials(): CBAuthCredentials;
3385
+ /**
3386
+ * Get the account ID
3387
+ */
3388
+ getAccountId(): string;
3389
+ /**
3390
+ * Get domain for a CB service
3391
+ */
3392
+ getDomain(service: string): Promise<string>;
3393
+ /**
3394
+ * Make authenticated request to CB API
3395
+ */
3396
+ request<T>(service: string, path: string, options?: {
3397
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
3398
+ body?: unknown;
3399
+ params?: Record<string, string | number | boolean | undefined>;
3400
+ }): Promise<T>;
3401
+ /**
3402
+ * Debug logging
3403
+ */
3404
+ private log;
3405
+ }
3406
+ /**
3407
+ * Bot Groups API
3408
+ */
3409
+ declare class BotGroupsAPI {
3410
+ private readonly cb;
3411
+ constructor(cb: ConversationBuilderAPI);
3412
+ /**
3413
+ * Get all bot groups
3414
+ */
3415
+ getAll(params?: CBBotGroupsQueryParams): Promise<CBPaginatedResult<CBBotGroup> | CBBotGroup[]>;
3416
+ /**
3417
+ * Get bots by group
3418
+ */
3419
+ getBots(params?: CBBotsByGroupQueryParams): Promise<CBPaginatedResult<CBBot>>;
3420
+ }
3421
+ /**
3422
+ * Bots API
3423
+ */
3424
+ declare class BotsAPI {
3425
+ private readonly cb;
3426
+ constructor(cb: ConversationBuilderAPI);
3427
+ /**
3428
+ * Get all bots (legacy chatbots endpoint)
3429
+ */
3430
+ getAll(): Promise<CBChatBotSummaryList>;
3431
+ /**
3432
+ * Get chatbot by ID
3433
+ */
3434
+ getById(chatBotId: string): Promise<CBChatBot>;
3435
+ /**
3436
+ * Get global functions for a bot
3437
+ */
3438
+ getGlobalFunctions(botId: string): Promise<CBGlobalFunctions>;
3439
+ /**
3440
+ * Get LP app credentials for a bot
3441
+ */
3442
+ getLPAppCredentials(chatBotId: string): Promise<CBLPAppCredentials>;
3443
+ /**
3444
+ * Get bot environment variables
3445
+ */
3446
+ getEnvironment(): Promise<CBApiResponse<CBBotEnvironment[]>>;
3447
+ }
3448
+ /**
3449
+ * Dialogs API
3450
+ */
3451
+ declare class DialogsAPI {
3452
+ private readonly cb;
3453
+ constructor(cb: ConversationBuilderAPI);
3454
+ /**
3455
+ * Get all dialogs for a bot
3456
+ */
3457
+ getByBotId(botId: string): Promise<CBDialogGroup>;
3458
+ /**
3459
+ * Get dialog template summaries
3460
+ */
3461
+ getTemplateSummary(): Promise<CBDialogTemplateSummary[]>;
3462
+ }
3463
+ /**
3464
+ * Interactions API
3465
+ */
3466
+ declare class InteractionsAPI {
3467
+ private readonly cb;
3468
+ constructor(cb: ConversationBuilderAPI);
3469
+ /**
3470
+ * Get all interactions for a bot
3471
+ */
3472
+ getByBotId(botId: string): Promise<CBInteractionList>;
3473
+ }
3474
+ /**
3475
+ * NLU Domains API
3476
+ */
3477
+ declare class NLUDomainsAPI {
3478
+ private readonly cb;
3479
+ constructor(cb: ConversationBuilderAPI);
3480
+ /**
3481
+ * Get all NLU domains for the organization
3482
+ */
3483
+ getAll(): Promise<CBDomainList>;
3484
+ /**
3485
+ * Get intents for a domain
3486
+ */
3487
+ getIntents(domainId: string): Promise<CBApiResponse<CBIntent[]>>;
3488
+ }
3489
+ /**
3490
+ * Knowledge Bases API (KAI)
3491
+ */
3492
+ declare class KnowledgeBasesAPI {
3493
+ private readonly cb;
3494
+ constructor(cb: ConversationBuilderAPI);
3495
+ /**
3496
+ * Get all knowledge bases
3497
+ */
3498
+ getAll(includeMetrics?: boolean): Promise<CBKnowledgeBaseList>;
3499
+ /**
3500
+ * Get knowledge base by ID
3501
+ */
3502
+ getById(kbId: string, includeMetrics?: boolean): Promise<CBKnowledgeBaseDetail>;
3503
+ /**
3504
+ * Get content sources for a knowledge base
3505
+ */
3506
+ getContentSources(kbId: string, includeKmsRecipeDetails?: boolean): Promise<CBKBContentSource[]>;
3507
+ /**
3508
+ * Get articles for a knowledge base
3509
+ */
3510
+ getArticles(kbId: string, params?: CBKBArticlesQueryParams): Promise<CBPaginatedResult<CBKBArticle>>;
3511
+ /**
3512
+ * Search knowledge base using KAI
3513
+ */
3514
+ search(kbId: string, searchRequest: CBKAISearchRequest): Promise<CBKAISearchResponse>;
3515
+ /**
3516
+ * Get KAI On-Demand configurations
3517
+ */
3518
+ getOnDemandConfigs(): Promise<CBKAIOnDemandConfig[]>;
3519
+ /**
3520
+ * Get default prompt for KAI
3521
+ */
3522
+ getDefaultPrompt(): Promise<unknown>;
3523
+ }
3524
+ /**
3525
+ * Bot Agents API
3526
+ */
3527
+ declare class BotAgentsAPI {
3528
+ private readonly cb;
3529
+ constructor(cb: ConversationBuilderAPI);
3530
+ /**
3531
+ * Get bot instance status
3532
+ */
3533
+ getInstanceStatus(botId: string): Promise<CBBotInstanceStatus>;
3534
+ /**
3535
+ * Start a bot agent
3536
+ */
3537
+ start(botId: string, lpAccountId: string, lpAccountUser: string): Promise<unknown>;
3538
+ /**
3539
+ * Stop a bot agent
3540
+ */
3541
+ stop(botId: string, lpAccountId: string, lpAccountUser: string): Promise<unknown>;
3542
+ /**
3543
+ * Get all bot agents status
3544
+ */
3545
+ getAllStatus(params?: CBAllBotAgentsStatusQueryParams): Promise<unknown>;
3546
+ /**
3547
+ * Get PCS bots status
3548
+ */
3549
+ getPCSStatus(params?: CBPCSBotsStatusQueryParams): Promise<unknown>;
3550
+ /**
3551
+ * Get bot users
3552
+ */
3553
+ getBotUsers(): Promise<CBBotUser[]>;
3554
+ /**
3555
+ * Add a bot agent
3556
+ */
3557
+ addAgent(lpUserId: string, chatBotId: string, request: CBAddBotAgentRequest): Promise<CBBotUser>;
3558
+ }
3559
+ /**
3560
+ * Integrations/Responders API
3561
+ */
3562
+ declare class IntegrationsAPI {
3563
+ private readonly cb;
3564
+ constructor(cb: ConversationBuilderAPI);
3565
+ /**
3566
+ * Get responders for a chatbot
3567
+ */
3568
+ getResponders(chatBotId: string): Promise<CBResponder[]>;
3569
+ /**
3570
+ * Get LP skills
3571
+ */
3572
+ getLPSkills(): Promise<CBLPSkill[]>;
3573
+ /**
3574
+ * Get credentials
3575
+ */
3576
+ getCredentials(): Promise<CBCredential[]>;
3577
+ }
3578
+
2621
3579
  /**
2622
3580
  * LP Extend Client SDK
2623
3581
  *
@@ -2717,6 +3675,22 @@ declare class LPExtendSDK {
2717
3675
  readonly sentinel: SentinelAPI;
2718
3676
  /** LP Prompts API - Manage prompts from LivePerson Prompt Library */
2719
3677
  readonly prompts: LPPromptsAPI;
3678
+ /**
3679
+ * Conversation Builder API - Manage bots, dialogs, knowledge bases, NLU
3680
+ *
3681
+ * NOTE: CB APIs require separate authentication. After SDK init, call:
3682
+ * ```typescript
3683
+ * const cbAuth = await sdk.sentinel.authenticateCB();
3684
+ * sdk.conversationBuilder.setCredentials({
3685
+ * cbToken: cbAuth.successResult.apiAccessToken,
3686
+ * organizationId: cbAuth.successResult.sessionOrganizationId,
3687
+ * });
3688
+ * ```
3689
+ *
3690
+ * Or if using ExtendJWT (v2 auth), credentials may be set automatically
3691
+ * from the verification response.
3692
+ */
3693
+ readonly conversationBuilder: ConversationBuilderAPI;
2720
3694
  /** Scopes granted by app registration */
2721
3695
  readonly grantedScopes: string[];
2722
3696
  /** App name from registration */
@@ -2758,10 +3732,11 @@ declare class LPExtendSDK {
2758
3732
  * This calls the shell backend to verify app registration and get granted scopes,
2759
3733
  * then creates an SDK that calls LP APIs directly.
2760
3734
  *
2761
- * Supports three authentication modes (in order of preference):
2762
- * 1. ExtendJWT token (NEW): Provide `extendToken` - SDK verifies with shell and gets LP token
2763
- * 2. Direct access token: Provide `accessToken` directly
2764
- * 3. Shell token (LEGACY): Provide `shellToken` to fetch the LP token from the shell
3735
+ * Supports four authentication modes (in order of preference):
3736
+ * 1. API Key (RECOMMENDED for backend apps): Provide `apiKey` - SDK authenticates with shell
3737
+ * 2. ExtendJWT token (for iframe apps): Provide `extendToken` - SDK verifies with shell and gets LP token
3738
+ * 3. Direct access token: Provide `accessToken` directly
3739
+ * 4. Shell token (LEGACY): Provide `shellToken` to fetch the LP token from the shell
2765
3740
  */
2766
3741
  declare function createSDK(config: LPExtendSDKConfig): Promise<LPExtendSDK>;
2767
3742
 
@@ -2892,6 +3867,44 @@ declare function createSDK(config: LPExtendSDKConfig): Promise<LPExtendSDK>;
2892
3867
  * ```
2893
3868
  */
2894
3869
  declare function initializeSDK(config: LPExtendSDKConfig): Promise<LPExtendSDK>;
3870
+ /**
3871
+ * Initialize the SDK using environment variables + ExtendJWT
3872
+ *
3873
+ * Reads configuration from environment variables:
3874
+ * - LPEXTEND_API_KEY: Your app's API key (required)
3875
+ * - APP_ID: Your registered app ID (required)
3876
+ * - LP_ACCOUNT_ID: LivePerson account ID (required)
3877
+ * - LPEXTEND_SHELL_URL: Shell base URL (required)
3878
+ * - LPEXTEND_DEBUG: Enable debug logging (optional, default: false)
3879
+ *
3880
+ * The ExtendJWT is passed as a parameter since it comes from the shell at runtime.
3881
+ *
3882
+ * @param extendToken - The ExtendJWT received from the shell
3883
+ * @returns Promise resolving to initialized SDK instance
3884
+ * @throws LPExtendSDKError if required env vars are missing
3885
+ *
3886
+ * @example
3887
+ * ```typescript
3888
+ * // In your .env file:
3889
+ * // LPEXTEND_API_KEY=lpx_my-app_abc123...
3890
+ * // APP_ID=my-app
3891
+ * // LP_ACCOUNT_ID=12345678
3892
+ * // LPEXTEND_SHELL_URL=https://lp-extend.example.com
3893
+ *
3894
+ * import { createSDKFromEnv } from '@lpextend/node-sdk';
3895
+ *
3896
+ * // In your API route handler:
3897
+ * app.get('/api/skills', async (req, res) => {
3898
+ * // Get ExtendJWT from request (sent by frontend)
3899
+ * const extendToken = req.headers['x-extend-token'] as string;
3900
+ *
3901
+ * const sdk = await createSDKFromEnv(extendToken);
3902
+ * const { data: skills } = await sdk.skills.getAll();
3903
+ * res.json(skills);
3904
+ * });
3905
+ * ```
3906
+ */
3907
+ declare function createSDKFromEnv(extendToken: string): Promise<LPExtendSDK>;
2895
3908
  /**
2896
3909
  * SDK Version
2897
3910
  */
@@ -2986,4 +3999,4 @@ type Scope = (typeof Scopes)[keyof typeof Scopes];
2986
3999
  */
2987
4000
  declare function getShellToken(config: ShellTokenConfig): Promise<ShellTokenResponse>;
2988
4001
 
2989
- export { type CreateConversationRequest$1 as AICreateConversationRequest, AIStudioAPI, type AIStudioCategory, type AIStudioConversation, type AIStudioFlow, type AIStudioMessage, type AIStudioSimulation, type AIStudioSummary, type AIStudioUser, AIStudioUsersAPI, type UpdateConversationRequest as AIUpdateConversationRequest, type APIResponse, type ActivityRecord, type AgentActivity, AgentActivityAPI, type AgentActivityQuery, AgentGroupsAPI, type AgentMetrics, AgentMetricsAPI, type AgentMetricsQuery, type AgentParticipant, type AgentStatus, AutomaticMessagesAPI, type BatchSummaryRequest, type CBAuthInfo, type CBChatBotPlatformUser, type CBSuccessResult, CampaignsAPI, CategoriesAPI, type CloseConversationRequest, type CoBrowseSession, ConnectToMessagingAPI, type ConsumerParticipant, type ConsumerProfile, type ContentToRetrieve, type ConversationContext, type ConversationInteraction, type ConversationParticipant, type ConversationQueryParams, type ConversationSummary, type ConversationTransfer, ConversationsAPI, type CreateAIStudioUserRequest, type CreateAgentGroupRequest, type CreateAutomaticMessageRequest, type CreateCampaignRequest, type CreateCategoryRequest, type CreateConversationResponse, type CreateEngagementRequest, type CreateLOBRequest, type CreateLPPromptRequest, type CreatePredefinedContentRequest, type CreateProfileRequest, type CreatePromptRequest, type CreateSimulationRequest, type CreateSkillRequest, type CreateSpecialOccasionRequest, type CreateTranscriptAnalysisRequest, type CreateUserRequest, type CreateWorkingHoursRequest, EngagementsAPI, type ErrorCode, ErrorCodes, EvaluatorsAPI, type FileMessage, FlowsAPI, type GeneratedQuestion, type GeneratedRoute, GeneratorsAPI, type GuidedRoute, type GuidedRoutingEvaluationRequest, type GuidedRoutingEvaluationResponse, type InvokeFlowRequest, type InvokeFlowResponse, type KAIRouteGenerationStatus, type KAIRouteGeneratorRequest, type KAIRouteGeneratorResponse, type Knowledgebase, type KnowledgebaseHealth, type KnowledgebaseItem, type KnowledgebaseSearchRequest, type KnowledgebaseSearchResult, type KnowledgebaseTextItem, KnowledgebasesAPI, type LLMModel, type LLMProvider, LOBsAPI, type LPAgentGroup, type LPAutomaticMessage, type LPAutomaticMessageData, type LPCampaign, type LPEngagement, LPExtendSDK, type LPExtendSDKConfig, LPExtendSDKError, type LPLLMProviderModels, type LPLLMProviderSubscription, type LPLLMType, type LPLOB, type LPPermission, type LPPredefinedContent, type LPPredefinedContentData, type LPProfile, type LPPrompt, type LPPromptClientConfig, type LPPromptClientType, type LPPromptConfiguration, type LPPromptGenericConfig, type LPPromptStatus, type LPPromptVariable, type LPPromptVariableSourceType, type LPPromptVersionDetail, LPPromptsAPI, type LPPromptsQueryParams, type LPShift, type LPSkill, type LPSkillRoutingConfig, type LPSpecialOccasion, type LPSpecialOccasionEvent, type LPUser, type LPWorkingDay, type LPWorkingHours, type MemberOf, type MessageData, type MessageRecord, MessagingAPI, type MessagingConversation, type CreateConversationRequest as MessagingCreateConversationRequest, MessagingHistoryAPI, type MessagingHistoryQuery, type MessagingHistoryResponse, type MessagingInteraction, MessagingOperationsAPI, type OutboundCampaignReport, type OutboundReportQuery, OutboundReportingAPI, type PaginatedResponse, PredefinedContentAPI, ProfilesAPI, type Prompt, PromptLibraryAPI, type PromptVariable, QueryAPI, type QueryGenerateRequest, type QueryGenerateResponse, type QuestionGeneratorRequest, type QuestionGeneratorResponse, type ResolutionEvaluationRequest, type ResolutionEvaluationResponse, type RichContentMessage, type SDEEvent, type SDERecord, type SDKInitResult, type Scope, Scopes, type SendMessageRequest, SentinelAPI, type SentinelAppSetting, type SentinelAppSettings, type SentinelAppUser, type SentinelAuthRequest, type SentinelCCUser, type SentinelDomainsResponse, type SentinelLoginUrlResponse, type SentinelLpToken, type SentinelLpUser, type SentinelManagerOf, type SentinelMemberOf, type SentinelProfile, type SentinelToken, type SentinelTokenExchange, type SentinelUserData, type SentinelUserSkill, type ShellTokenConfig, type ShellTokenResponse, type ShellTokenUser, type SimilarityEvaluationRequest, type SimilarityEvaluationResponse, type SimulationConfig, type SimulationJobResult, type SimulationQueryParams, type SimulationResults, type SimulationTestCase, SimulationsAPI, SkillsAPI, SpecialOccasionsAPI, SummaryAPI, type SummaryRequest, type SurveyRecord, type TextMessage, type TranscriptAnalysis, TranscriptAnalysisAPI, type TranscriptConversation, type TranscriptQuestion, type TransferConversationRequest, type UpdateAIStudioUserModelsRequest, type UpdateAIStudioUserRequest, type UpdateAgentGroupRequest, type UpdateAutomaticMessageRequest, type UpdateCampaignRequest, type UpdateCategoryRequest, type UpdateConversationAttributesRequest, type UpdateEngagementRequest, type UpdateLOBRequest, type UpdateLPPromptRequest, type UpdatePredefinedContentRequest, type UpdateProfileRequest, type UpdatePromptRequest, type UpdateSimulationRequest, type UpdateSkillRequest, type UpdateSpecialOccasionRequest, type UpdateTranscriptAnalysisRequest, type UpdateUserRequest, type UpdateWorkingHoursRequest, UsersAPI, VERSION, WorkingHoursAPI, createSDK, getShellToken, initializeSDK };
4002
+ export { type CreateConversationRequest$1 as AICreateConversationRequest, AIStudioAPI, type AIStudioCategory, type AIStudioConversation, type AIStudioFlow, type AIStudioMessage, type AIStudioSimulation, type AIStudioSummary, type AIStudioUser, AIStudioUsersAPI, type UpdateConversationRequest as AIUpdateConversationRequest, type APIResponse, type ActivityRecord, type AgentActivity, AgentActivityAPI, type AgentActivityQuery, AgentGroupsAPI, type AgentMetrics, AgentMetricsAPI, type AgentMetricsQuery, type AgentParticipant, type AgentStatus, type ApiKeyAuthResponse, AutomaticMessagesAPI, type BatchSummaryRequest, BotAgentsAPI, BotGroupsAPI, BotsAPI, type CBAddBotAgentRequest, type CBAllBotAgentsStatusQueryParams, type CBApiResponse, type CBAuthCredentials, type CBAuthInfo, type CBBot, type CBBotEnvironment, type CBBotGroup, type CBBotGroupsQueryParams, type CBBotInstanceStatus, type CBBotPlatform, type CBBotUser, type CBBotsByGroupQueryParams, type CBChatBot, type CBChatBotMetrics, type CBChatBotPlatformUser, type CBChatBotSummary, type CBChatBotSummaryList, type CBCredential, type CBDialog, type CBDialogGroup, type CBDialogTemplateSummary, type CBDomainList, type CBDuplicatePhrase, type CBDuplicatePhrases, type CBGlobalFunctions, type CBIntent, type CBInteraction, type CBInteractionContent, type CBInteractionList, type CBKAIOnDemandConfig, type CBKAISearchRequest, type CBKAISearchResponse, type CBKAISearchResultItem, type CBKBArticle, type CBKBArticlesQueryParams, type CBKBContentSource, type CBKBLandingPageMetrics, type CBKnowledgeBase, type CBKnowledgeBaseDetail, type CBKnowledgeBaseList, type CBLPAppCredentials, type CBLPSkill, type CBNLUDomain, type CBPCSBotsStatusQueryParams, type CBPageContext, type CBPaginatedResult, type CBResponder, type CBResponseMatch, type CBSuccessResult, type CBSyncStatusDetails, type CBTileData, CampaignsAPI, CategoriesAPI, type CloseConversationRequest, type CoBrowseSession, ConnectToMessagingAPI, type ConsumerParticipant, type ConsumerProfile, type ContentToRetrieve, ConversationBuilderAPI, type ConversationContext, type ConversationInteraction, type ConversationParticipant, type ConversationQueryParams, type ConversationSummary, type ConversationTransfer, ConversationsAPI, type CreateAIStudioUserRequest, type CreateAgentGroupRequest, type CreateAutomaticMessageRequest, type CreateCampaignRequest, type CreateCategoryRequest, type CreateConversationResponse, type CreateEngagementRequest, type CreateLOBRequest, type CreateLPPromptRequest, type CreatePredefinedContentRequest, type CreateProfileRequest, type CreatePromptRequest, type CreateSimulationRequest, type CreateSkillRequest, type CreateSpecialOccasionRequest, type CreateTranscriptAnalysisRequest, type CreateUserRequest, type CreateWorkingHoursRequest, DialogsAPI, EngagementsAPI, type ErrorCode, ErrorCodes, EvaluatorsAPI, type FileMessage, FlowsAPI, type GeneratedQuestion, type GeneratedRoute, GeneratorsAPI, type GuidedRoute, type GuidedRoutingEvaluationRequest, type GuidedRoutingEvaluationResponse, IntegrationsAPI, InteractionsAPI, type InvokeFlowRequest, type InvokeFlowResponse, type KAIRouteGenerationStatus, type KAIRouteGeneratorRequest, type KAIRouteGeneratorResponse, KnowledgeBasesAPI, type Knowledgebase, type KnowledgebaseHealth, type KnowledgebaseItem, type KnowledgebaseSearchRequest, type KnowledgebaseSearchResult, type KnowledgebaseTextItem, KnowledgebasesAPI, type LLMModel, type LLMProvider, LOBsAPI, type LPAgentGroup, type LPAutomaticMessage, type LPAutomaticMessageData, type LPCampaign, type LPEngagement, LPExtendSDK, type LPExtendSDKConfig, LPExtendSDKError, type LPLLMProviderModels, type LPLLMProviderSubscription, type LPLLMType, type LPLOB, type LPPermission, type LPPredefinedContent, type LPPredefinedContentData, type LPProfile, type LPPrompt, type LPPromptClientConfig, type LPPromptClientType, type LPPromptConfiguration, type LPPromptGenericConfig, type LPPromptStatus, type LPPromptVariable, type LPPromptVariableSourceType, type LPPromptVersionDetail, LPPromptsAPI, type LPPromptsQueryParams, type LPShift, type LPSkill, type LPSkillRoutingConfig, type LPSpecialOccasion, type LPSpecialOccasionEvent, type LPUser, type LPWorkingDay, type LPWorkingHours, type MemberOf, type MessageData, type MessageRecord, MessagingAPI, type MessagingConversation, type CreateConversationRequest as MessagingCreateConversationRequest, MessagingHistoryAPI, type MessagingHistoryQuery, type MessagingHistoryResponse, type MessagingInteraction, MessagingOperationsAPI, NLUDomainsAPI, type OutboundCampaignReport, type OutboundReportQuery, OutboundReportingAPI, type PaginatedResponse, PredefinedContentAPI, ProfilesAPI, type Prompt, PromptLibraryAPI, type PromptVariable, QueryAPI, type QueryGenerateRequest, type QueryGenerateResponse, type QuestionGeneratorRequest, type QuestionGeneratorResponse, type ResolutionEvaluationRequest, type ResolutionEvaluationResponse, type RichContentMessage, type SDEEvent, type SDERecord, type SDKInitResult, type Scope, Scopes, type SendMessageRequest, SentinelAPI, type SentinelAppSetting, type SentinelAppSettings, type SentinelAppUser, type SentinelAuthRequest, type SentinelCCUser, type SentinelDomainsResponse, type SentinelLoginUrlResponse, type SentinelLpToken, type SentinelLpUser, type SentinelManagerOf, type SentinelMemberOf, type SentinelProfile, type SentinelToken, type SentinelTokenExchange, type SentinelUserData, type SentinelUserSkill, type ShellTokenConfig, type ShellTokenResponse, type ShellTokenUser, type SimilarityEvaluationRequest, type SimilarityEvaluationResponse, type SimulationConfig, type SimulationJobResult, type SimulationQueryParams, type SimulationResults, type SimulationTestCase, SimulationsAPI, SkillsAPI, SpecialOccasionsAPI, SummaryAPI, type SummaryRequest, type SurveyRecord, type TextMessage, type TranscriptAnalysis, TranscriptAnalysisAPI, type TranscriptConversation, type TranscriptQuestion, type TransferConversationRequest, type UpdateAIStudioUserModelsRequest, type UpdateAIStudioUserRequest, type UpdateAgentGroupRequest, type UpdateAutomaticMessageRequest, type UpdateCampaignRequest, type UpdateCategoryRequest, type UpdateConversationAttributesRequest, type UpdateEngagementRequest, type UpdateLOBRequest, type UpdateLPPromptRequest, type UpdatePredefinedContentRequest, type UpdateProfileRequest, type UpdatePromptRequest, type UpdateSimulationRequest, type UpdateSkillRequest, type UpdateSpecialOccasionRequest, type UpdateTranscriptAnalysisRequest, type UpdateUserRequest, type UpdateWorkingHoursRequest, UsersAPI, VERSION, WorkingHoursAPI, createSDK, createSDKFromEnv, getShellToken, initializeSDK };