@servicetitan/titan-chatbot-api 8.0.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/api-client/__mocks__/chatbot-api-client.mock.d.ts +1 -0
  3. package/dist/api-client/__mocks__/chatbot-api-client.mock.d.ts.map +1 -1
  4. package/dist/api-client/__mocks__/chatbot-api-client.mock.js +1 -0
  5. package/dist/api-client/__mocks__/chatbot-api-client.mock.js.map +1 -1
  6. package/dist/api-client/base/chatbot-api-client.d.ts +7 -0
  7. package/dist/api-client/base/chatbot-api-client.d.ts.map +1 -1
  8. package/dist/api-client/base/chatbot-api-client.js.map +1 -1
  9. package/dist/api-client/index.d.ts +0 -1
  10. package/dist/api-client/index.d.ts.map +1 -1
  11. package/dist/api-client/index.js +0 -2
  12. package/dist/api-client/index.js.map +1 -1
  13. package/dist/api-client/titan-chat/__tests__/chatbot-api-client-stream.test.d.ts +2 -0
  14. package/dist/api-client/titan-chat/__tests__/chatbot-api-client-stream.test.d.ts.map +1 -0
  15. package/dist/api-client/titan-chat/__tests__/chatbot-api-client-stream.test.js +240 -0
  16. package/dist/api-client/titan-chat/__tests__/chatbot-api-client-stream.test.js.map +1 -0
  17. package/dist/api-client/titan-chat/chatbot-api-client.d.ts +11 -0
  18. package/dist/api-client/titan-chat/chatbot-api-client.d.ts.map +1 -1
  19. package/dist/api-client/titan-chat/chatbot-api-client.js +29 -0
  20. package/dist/api-client/titan-chat/chatbot-api-client.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/models/__tests__/chatbot-customizations.test.d.ts +2 -0
  26. package/dist/models/__tests__/chatbot-customizations.test.d.ts.map +1 -0
  27. package/dist/models/__tests__/chatbot-customizations.test.js +36 -0
  28. package/dist/models/__tests__/chatbot-customizations.test.js.map +1 -0
  29. package/dist/models/chatbot-customizations.d.ts +17 -0
  30. package/dist/models/chatbot-customizations.d.ts.map +1 -1
  31. package/dist/models/chatbot-customizations.js +6 -1
  32. package/dist/models/chatbot-customizations.js.map +1 -1
  33. package/dist/models/index.d.ts +1 -1
  34. package/dist/models/index.d.ts.map +1 -1
  35. package/dist/models/index.js +1 -1
  36. package/dist/models/index.js.map +1 -1
  37. package/dist/stores/__tests__/chatbot-ui-backend.store.observability.test.d.ts +2 -0
  38. package/dist/stores/__tests__/chatbot-ui-backend.store.observability.test.d.ts.map +1 -0
  39. package/dist/stores/__tests__/chatbot-ui-backend.store.observability.test.js +107 -0
  40. package/dist/stores/__tests__/chatbot-ui-backend.store.observability.test.js.map +1 -0
  41. package/dist/stores/__tests__/chatbot-ui-backend.store.streaming.test.d.ts +2 -0
  42. package/dist/stores/__tests__/chatbot-ui-backend.store.streaming.test.d.ts.map +1 -0
  43. package/dist/stores/__tests__/chatbot-ui-backend.store.streaming.test.js +312 -0
  44. package/dist/stores/__tests__/chatbot-ui-backend.store.streaming.test.js.map +1 -0
  45. package/dist/stores/chatbot-ui-backend.store.d.ts +26 -2
  46. package/dist/stores/chatbot-ui-backend.store.d.ts.map +1 -1
  47. package/dist/stores/chatbot-ui-backend.store.js +129 -4
  48. package/dist/stores/chatbot-ui-backend.store.js.map +1 -1
  49. package/dist/streaming/__tests__/agent-stream.test.d.ts +2 -0
  50. package/dist/streaming/__tests__/agent-stream.test.d.ts.map +1 -0
  51. package/dist/streaming/__tests__/agent-stream.test.js +92 -0
  52. package/dist/streaming/__tests__/agent-stream.test.js.map +1 -0
  53. package/dist/streaming/agent-stream.d.ts +83 -0
  54. package/dist/streaming/agent-stream.d.ts.map +1 -0
  55. package/dist/streaming/agent-stream.js +28 -0
  56. package/dist/streaming/agent-stream.js.map +1 -0
  57. package/dist/streaming/index.d.ts +3 -0
  58. package/dist/streaming/index.d.ts.map +1 -0
  59. package/dist/streaming/index.js +4 -0
  60. package/dist/streaming/index.js.map +1 -0
  61. package/dist/streaming/run-agent-stream.d.ts +23 -0
  62. package/dist/streaming/run-agent-stream.d.ts.map +1 -0
  63. package/dist/streaming/run-agent-stream.js +83 -0
  64. package/dist/streaming/run-agent-stream.js.map +1 -0
  65. package/package.json +6 -3
  66. package/src/api-client/__mocks__/chatbot-api-client.mock.ts +1 -0
  67. package/src/api-client/base/chatbot-api-client.ts +11 -0
  68. package/src/api-client/index.ts +0 -1
  69. package/src/api-client/titan-chat/__tests__/chatbot-api-client-stream.test.ts +208 -0
  70. package/src/api-client/titan-chat/chatbot-api-client.ts +46 -0
  71. package/src/index.ts +6 -1
  72. package/src/models/__tests__/chatbot-customizations.test.ts +26 -0
  73. package/src/models/chatbot-customizations.ts +20 -0
  74. package/src/models/index.ts +1 -1
  75. package/src/stores/__tests__/chatbot-ui-backend.store.observability.test.ts +105 -0
  76. package/src/stores/__tests__/chatbot-ui-backend.store.streaming.test.ts +261 -0
  77. package/src/stores/chatbot-ui-backend.store.ts +179 -4
  78. package/src/streaming/__tests__/agent-stream.test.ts +80 -0
  79. package/src/streaming/agent-stream.ts +103 -0
  80. package/src/streaming/index.ts +2 -0
  81. package/src/streaming/run-agent-stream.ts +109 -0
  82. package/tsconfig.tsbuildinfo +1 -1
  83. package/dist/api-client/help-center/__tests__/converter-from-models.test.d.ts +0 -2
  84. package/dist/api-client/help-center/__tests__/converter-from-models.test.d.ts.map +0 -1
  85. package/dist/api-client/help-center/__tests__/converter-from-models.test.js +0 -67
  86. package/dist/api-client/help-center/__tests__/converter-from-models.test.js.map +0 -1
  87. package/dist/api-client/help-center/__tests__/converter-to-models.test.d.ts +0 -2
  88. package/dist/api-client/help-center/__tests__/converter-to-models.test.d.ts.map +0 -1
  89. package/dist/api-client/help-center/__tests__/converter-to-models.test.js +0 -83
  90. package/dist/api-client/help-center/__tests__/converter-to-models.test.js.map +0 -1
  91. package/dist/api-client/help-center/chatbot-api-client.d.ts +0 -32
  92. package/dist/api-client/help-center/chatbot-api-client.d.ts.map +0 -1
  93. package/dist/api-client/help-center/chatbot-api-client.js +0 -101
  94. package/dist/api-client/help-center/chatbot-api-client.js.map +0 -1
  95. package/dist/api-client/help-center/converter-from-models.d.ts +0 -13
  96. package/dist/api-client/help-center/converter-from-models.d.ts.map +0 -1
  97. package/dist/api-client/help-center/converter-from-models.js +0 -117
  98. package/dist/api-client/help-center/converter-from-models.js.map +0 -1
  99. package/dist/api-client/help-center/converter-to-models.d.ts +0 -13
  100. package/dist/api-client/help-center/converter-to-models.d.ts.map +0 -1
  101. package/dist/api-client/help-center/converter-to-models.js +0 -101
  102. package/dist/api-client/help-center/converter-to-models.js.map +0 -1
  103. package/dist/api-client/help-center/index.d.ts +0 -3
  104. package/dist/api-client/help-center/index.d.ts.map +0 -1
  105. package/dist/api-client/help-center/index.js +0 -3
  106. package/dist/api-client/help-center/index.js.map +0 -1
  107. package/dist/api-client/help-center/native-client.d.ts +0 -1268
  108. package/dist/api-client/help-center/native-client.d.ts.map +0 -1
  109. package/dist/api-client/help-center/native-client.js +0 -4550
  110. package/dist/api-client/help-center/native-client.js.map +0 -1
  111. package/src/api-client/help-center/__tests__/converter-from-models.test.ts +0 -41
  112. package/src/api-client/help-center/__tests__/converter-to-models.test.ts +0 -89
  113. package/src/api-client/help-center/chatbot-api-client.ts +0 -122
  114. package/src/api-client/help-center/converter-from-models.ts +0 -133
  115. package/src/api-client/help-center/converter-to-models.ts +0 -127
  116. package/src/api-client/help-center/index.ts +0 -2
  117. package/src/api-client/help-center/native-client.ts +0 -5727
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/api-client/help-center/native-client.ts"],"sourcesContent":["//----------------------\n// <auto-generated>\n// Generated using the NSwag toolchain v14.0.2.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// </auto-generated>\n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\n\nexport class ChatClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getSettings(signal?: AbortSignal): Promise<ChatbotUserSettings> {\n let url_ = this.baseUrl + \"/api/Chat/settings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetSettings(_response);\n });\n }\n\n protected processGetSettings(response: AxiosResponse): Promise<ChatbotUserSettings> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ChatbotUserSettings.fromJS(resultData200);\n return Promise.resolve<ChatbotUserSettings>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ChatbotUserSettings>(null as any);\n }\n\n getFilterOptions(signal?: AbortSignal): Promise<FilterOptions> {\n let url_ = this.baseUrl + \"/api/Chat/filter-options\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetFilterOptions(_response);\n });\n }\n\n protected processGetFilterOptions(response: AxiosResponse): Promise<FilterOptions> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = FilterOptions.fromJS(resultData200);\n return Promise.resolve<FilterOptions>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FilterOptions>(null as any);\n }\n\n sendUserMessage(userMessage: UserMessage, signal?: AbortSignal): Promise<BotMessage> {\n let url_ = this.baseUrl + \"/api/Chat/user-message\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(userMessage);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendUserMessage(_response);\n });\n }\n\n protected processSendUserMessage(response: AxiosResponse): Promise<BotMessage> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = BotMessage.fromJS(resultData200);\n return Promise.resolve<BotMessage>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<BotMessage>(null as any);\n }\n\n sendBotMessageFeedback(sessionId: number | undefined, botMessageId: number | undefined, feedback: MessageFeedback, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/bot-message-feedback?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n if (botMessageId === null)\n throw new Error(\"The parameter 'botMessageId' cannot be null.\");\n else if (botMessageId !== undefined)\n url_ += \"botMessageId=\" + encodeURIComponent(\"\" + botMessageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(feedback);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendBotMessageFeedback(_response);\n });\n }\n\n protected processSendBotMessageFeedback(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n sendSessionFeedback(sessionId: number | undefined, feedback: SessionFeedback, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/session-feedback?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(feedback);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendSessionFeedback(_response);\n });\n }\n\n protected processSendSessionFeedback(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n updateSessionCategory(category: string | undefined, subCategory: string | undefined, sessionId: number | undefined, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/update-session-category?\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n url_ += \"category=\" + encodeURIComponent(\"\" + category) + \"&\";\n if (subCategory === null)\n throw new Error(\"The parameter 'subCategory' cannot be null.\");\n else if (subCategory !== undefined)\n url_ += \"subCategory=\" + encodeURIComponent(\"\" + subCategory) + \"&\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processUpdateSessionCategory(_response);\n });\n }\n\n protected processUpdateSessionCategory(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n createSession(sessionSource: SessionSource, signal?: AbortSignal): Promise<ChatbotSession> {\n let url_ = this.baseUrl + \"/api/Chat/create-session\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sessionSource);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCreateSession(_response);\n });\n }\n\n protected processCreateSession(response: AxiosResponse): Promise<ChatbotSession> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ChatbotSession.fromJS(resultData200);\n return Promise.resolve<ChatbotSession>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ChatbotSession>(null as any);\n }\n\n closeSession(sessionId: number | undefined, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/close-session?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCloseSession(_response);\n });\n }\n\n protected processCloseSession(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n refreshAuthCookies(signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/api/Chat/refresh-auth-cookies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRefreshAuthCookies(_response);\n });\n }\n\n protected processRefreshAuthCookies(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class ConfigurationClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getWidgetConfiguration(signal?: AbortSignal): Promise<WidgetConfiguration> {\n let url_ = this.baseUrl + \"/api/Configuration\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetWidgetConfiguration(_response);\n });\n }\n\n protected processGetWidgetConfiguration(response: AxiosResponse): Promise<WidgetConfiguration> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = WidgetConfiguration.fromJS(resultData200);\n return Promise.resolve<WidgetConfiguration>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<WidgetConfiguration>(null as any);\n }\n\n getComponents(signal?: AbortSignal): Promise<SupportComponents> {\n let url_ = this.baseUrl + \"/api/Configuration/components\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetComponents(_response);\n });\n }\n\n protected processGetComponents(response: AxiosResponse): Promise<SupportComponents> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SupportComponents.fromJS(resultData200);\n return Promise.resolve<SupportComponents>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<SupportComponents>(null as any);\n }\n\n getInbentaToken(signal?: AbortSignal): Promise<InbentaAccessToken> {\n let url_ = this.baseUrl + \"/api/Configuration/inbenta-token\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetInbentaToken(_response);\n });\n }\n\n protected processGetInbentaToken(response: AxiosResponse): Promise<InbentaAccessToken> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InbentaAccessToken.fromJS(resultData200);\n return Promise.resolve<InbentaAccessToken>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<InbentaAccessToken>(null as any);\n }\n\n getContextHelp(signal?: AbortSignal): Promise<PageRecommendations[]> {\n let url_ = this.baseUrl + \"/api/Configuration/context-help\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetContextHelp(_response);\n });\n }\n\n protected processGetContextHelp(response: AxiosResponse): Promise<PageRecommendations[]> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PageRecommendations.fromJS(item));\n }\n else {\n result200 = <any>null;\n }\n return Promise.resolve<PageRecommendations[]>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<PageRecommendations[]>(null as any);\n }\n\n testError(code: number | undefined, signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/api/Configuration/test-error?\";\n if (code === null)\n throw new Error(\"The parameter 'code' cannot be null.\");\n else if (code !== undefined)\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processTestError(_response);\n });\n }\n\n protected processTestError(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class EnterpriseHubClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getUserData(signal?: AbortSignal): Promise<HelpCenterUserData> {\n let url_ = this.baseUrl + \"/EnterpriseHub/user-data\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetUserData(_response);\n });\n }\n\n protected processGetUserData(response: AxiosResponse): Promise<HelpCenterUserData> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = HelpCenterUserData.fromJS(resultData200);\n return Promise.resolve<HelpCenterUserData>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<HelpCenterUserData>(null as any);\n }\n\n getAuthToken(signal?: AbortSignal): Promise<string> {\n let url_ = this.baseUrl + \"/EnterpriseHub/getAuthToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetAuthToken(_response);\n });\n }\n\n protected processGetAuthToken(response: AxiosResponse): Promise<string> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : <any>null;\n\n return Promise.resolve<string>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<string>(null as any);\n }\n}\n\nexport class SalesforceOpsClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n generateCases(webRequest: CaseGenerationRequest, signal?: AbortSignal): Promise<CaseGenerationResponse> {\n let url_ = this.baseUrl + \"/salesforce-ops/generate-cases\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(webRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGenerateCases(_response);\n });\n }\n\n protected processGenerateCases(response: AxiosResponse): Promise<CaseGenerationResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseGenerationResponse.fromJS(resultData200);\n return Promise.resolve<CaseGenerationResponse>(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = CaseGenerationResponse.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseGenerationResponse>(null as any);\n }\n}\n\nexport class SupportClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getCompanyCaseFilters(signal?: AbortSignal): Promise<CaseFilters> {\n let url_ = this.baseUrl + \"/api/Support/company-case-filters\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCompanyCaseFilters(_response);\n });\n }\n\n protected processGetCompanyCaseFilters(response: AxiosResponse): Promise<CaseFilters> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseFilters.fromJS(resultData200);\n return Promise.resolve<CaseFilters>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseFilters>(null as any);\n }\n\n getCompanyCases(statuses: string[] | null | undefined, contactIds: string[] | null | undefined, sorting: SortingOption | undefined, priorityToken: CaseSortingPriority | null | undefined, caseNumberToken: string | null | undefined, accountIds: string[] | null | undefined, signal?: AbortSignal): Promise<CaseResults> {\n let url_ = this.baseUrl + \"/api/Support/company-cases?\";\n if (statuses !== undefined && statuses !== null)\n statuses && statuses.forEach(item => { url_ += \"Statuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (contactIds !== undefined && contactIds !== null)\n contactIds && contactIds.forEach(item => { url_ += \"ContactIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (priorityToken !== undefined && priorityToken !== null)\n url_ += \"PriorityToken=\" + encodeURIComponent(\"\" + priorityToken) + \"&\";\n if (caseNumberToken !== undefined && caseNumberToken !== null)\n url_ += \"CaseNumberToken=\" + encodeURIComponent(\"\" + caseNumberToken) + \"&\";\n if (accountIds !== undefined && accountIds !== null)\n accountIds && accountIds.forEach(item => { url_ += \"AccountIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCompanyCases(_response);\n });\n }\n\n protected processGetCompanyCases(response: AxiosResponse): Promise<CaseResults> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseResults.fromJS(resultData200);\n return Promise.resolve<CaseResults>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseResults>(null as any);\n }\n\n getPersonalCaseFilters(signal?: AbortSignal): Promise<CaseFilters> {\n let url_ = this.baseUrl + \"/api/Support/personal-case-filters\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetPersonalCaseFilters(_response);\n });\n }\n\n protected processGetPersonalCaseFilters(response: AxiosResponse): Promise<CaseFilters> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseFilters.fromJS(resultData200);\n return Promise.resolve<CaseFilters>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseFilters>(null as any);\n }\n\n getPersonalCases(statuses: string[] | null | undefined, contactIds: string[] | null | undefined, sorting: SortingOption | undefined, priorityToken: CaseSortingPriority | null | undefined, caseNumberToken: string | null | undefined, accountIds: string[] | null | undefined, signal?: AbortSignal): Promise<CaseResults> {\n let url_ = this.baseUrl + \"/api/Support/personal-cases?\";\n if (statuses !== undefined && statuses !== null)\n statuses && statuses.forEach(item => { url_ += \"Statuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (contactIds !== undefined && contactIds !== null)\n contactIds && contactIds.forEach(item => { url_ += \"ContactIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (priorityToken !== undefined && priorityToken !== null)\n url_ += \"PriorityToken=\" + encodeURIComponent(\"\" + priorityToken) + \"&\";\n if (caseNumberToken !== undefined && caseNumberToken !== null)\n url_ += \"CaseNumberToken=\" + encodeURIComponent(\"\" + caseNumberToken) + \"&\";\n if (accountIds !== undefined && accountIds !== null)\n accountIds && accountIds.forEach(item => { url_ += \"AccountIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetPersonalCases(_response);\n });\n }\n\n protected processGetPersonalCases(response: AxiosResponse): Promise<CaseResults> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseResults.fromJS(resultData200);\n return Promise.resolve<CaseResults>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseResults>(null as any);\n }\n\n getCaseDetails(caseId: string | undefined, signal?: AbortSignal): Promise<CaseDetails> {\n let url_ = this.baseUrl + \"/api/Support/case-details?\";\n if (caseId === null)\n throw new Error(\"The parameter 'caseId' cannot be null.\");\n else if (caseId !== undefined)\n url_ += \"caseId=\" + encodeURIComponent(\"\" + caseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCaseDetails(_response);\n });\n }\n\n protected processGetCaseDetails(response: AxiosResponse): Promise<CaseDetails> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseDetails.fromJS(resultData200);\n return Promise.resolve<CaseDetails>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseDetails>(null as any);\n }\n\n sendEmailComment(caseId: string | null | undefined, replyRef: string | null | undefined, email: string | null | undefined, username: string | null | undefined, subject: string | null | undefined, body: string | null | undefined, attachments: FileParameter[] | null | undefined, signal?: AbortSignal): Promise<EmailResult> {\n let url_ = this.baseUrl + \"/api/Support/send-email-comment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (caseId !== null && caseId !== undefined)\n content_.append(\"CaseId\", caseId.toString());\n if (replyRef !== null && replyRef !== undefined)\n content_.append(\"ReplyRef\", replyRef.toString());\n if (email !== null && email !== undefined)\n content_.append(\"Email\", email.toString());\n if (username !== null && username !== undefined)\n content_.append(\"Username\", username.toString());\n if (subject !== null && subject !== undefined)\n content_.append(\"Subject\", subject.toString());\n if (body !== null && body !== undefined)\n content_.append(\"Body\", body.toString());\n if (attachments !== null && attachments !== undefined)\n attachments.forEach(item_ => content_.append(\"Attachments\", item_.data, item_.fileName ? item_.fileName : \"Attachments\") );\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendEmailComment(_response);\n });\n }\n\n protected processSendEmailComment(response: AxiosResponse): Promise<EmailResult> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailResult.fromJS(resultData200);\n return Promise.resolve<EmailResult>(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = EmailResult.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<EmailResult>(null as any);\n }\n\n sendEmail(caseTrackingId: string | null | undefined, username: string | null | undefined, description: string | null | undefined, htmlDescription: string | null | undefined, subject: string | null | undefined, email: string | null | undefined, componentId: string | null | undefined, chatbotSessionId: number | null | undefined, attachments: FileParameter[] | null | undefined, tenantId: number | null | undefined, externalUserId: string | null | undefined, recipients: string[] | null | undefined, signal?: AbortSignal): Promise<EmailResult> {\n let url_ = this.baseUrl + \"/api/Support/send-email\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (caseTrackingId !== null && caseTrackingId !== undefined)\n content_.append(\"CaseTrackingId\", caseTrackingId.toString());\n if (username !== null && username !== undefined)\n content_.append(\"Username\", username.toString());\n if (description !== null && description !== undefined)\n content_.append(\"Description\", description.toString());\n if (htmlDescription !== null && htmlDescription !== undefined)\n content_.append(\"HtmlDescription\", htmlDescription.toString());\n if (subject !== null && subject !== undefined)\n content_.append(\"Subject\", subject.toString());\n if (email !== null && email !== undefined)\n content_.append(\"Email\", email.toString());\n if (componentId !== null && componentId !== undefined)\n content_.append(\"ComponentId\", componentId.toString());\n if (chatbotSessionId !== null && chatbotSessionId !== undefined)\n content_.append(\"ChatbotSessionId\", chatbotSessionId.toString());\n if (attachments !== null && attachments !== undefined)\n attachments.forEach(item_ => content_.append(\"Attachments\", item_.data, item_.fileName ? item_.fileName : \"Attachments\") );\n if (tenantId !== null && tenantId !== undefined)\n content_.append(\"TenantId\", tenantId.toString());\n if (externalUserId !== null && externalUserId !== undefined)\n content_.append(\"ExternalUserId\", externalUserId.toString());\n if (recipients !== null && recipients !== undefined)\n recipients.forEach(item_ => content_.append(\"Recipients\", item_.toString()));\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendEmail(_response);\n });\n }\n\n protected processSendEmail(response: AxiosResponse): Promise<EmailResult> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailResult.fromJS(resultData200);\n return Promise.resolve<EmailResult>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<EmailResult>(null as any);\n }\n\n getCallbackOnline(signal?: AbortSignal): Promise<SupportOnline> {\n let url_ = this.baseUrl + \"/api/Support/callback-online\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCallbackOnline(_response);\n });\n }\n\n protected processGetCallbackOnline(response: AxiosResponse): Promise<SupportOnline> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SupportOnline.fromJS(resultData200);\n return Promise.resolve<SupportOnline>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<SupportOnline>(null as any);\n }\n\n getChatOnline(signal?: AbortSignal): Promise<SupportOnline> {\n let url_ = this.baseUrl + \"/api/Support/chat-online\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetChatOnline(_response);\n });\n }\n\n protected processGetChatOnline(response: AxiosResponse): Promise<SupportOnline> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SupportOnline.fromJS(resultData200);\n return Promise.resolve<SupportOnline>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<SupportOnline>(null as any);\n }\n\n isPhoneNumberValid(phoneNumber: string | undefined, signal?: AbortSignal): Promise<boolean> {\n let url_ = this.baseUrl + \"/api/Support/is-phone-number-valid?\";\n if (phoneNumber === null)\n throw new Error(\"The parameter 'phoneNumber' cannot be null.\");\n else if (phoneNumber !== undefined)\n url_ += \"phoneNumber=\" + encodeURIComponent(\"\" + phoneNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processIsPhoneNumberValid(_response);\n });\n }\n\n protected processIsPhoneNumberValid(response: AxiosResponse): Promise<boolean> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : <any>null;\n\n return Promise.resolve<boolean>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<boolean>(null as any);\n }\n\n requestCallback(reqRequest: CallbackRequest, signal?: AbortSignal): Promise<CallbackResponse> {\n let url_ = this.baseUrl + \"/api/Support/request-callback\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(reqRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRequestCallback(_response);\n });\n }\n\n protected processRequestCallback(response: AxiosResponse): Promise<CallbackResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallbackResponse.fromJS(resultData200);\n return Promise.resolve<CallbackResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CallbackResponse>(null as any);\n }\n\n requestEmergencyCallback(reqRequest: CallbackRequest, signal?: AbortSignal): Promise<CallbackResponse> {\n let url_ = this.baseUrl + \"/api/Support/request-emergency-callback\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(reqRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRequestEmergencyCallback(_response);\n });\n }\n\n protected processRequestEmergencyCallback(response: AxiosResponse): Promise<CallbackResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallbackResponse.fromJS(resultData200);\n return Promise.resolve<CallbackResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CallbackResponse>(null as any);\n }\n\n getTenantLevelImpersonationConsent(signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/tenant-level-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetTenantLevelImpersonationConsent(_response);\n });\n }\n\n protected processGetTenantLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n provideTenantLevelImpersonationConsent(signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/tenant-level-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processProvideTenantLevelImpersonationConsent(_response);\n });\n }\n\n protected processProvideTenantLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n revokeTenantLevelImpersonationConsent(signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/tenant-level-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRevokeTenantLevelImpersonationConsent(_response);\n });\n }\n\n protected processRevokeTenantLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n registerNewCase(reqRequest: NewCaseRequest, signal?: AbortSignal): Promise<NewCaseResponse> {\n let url_ = this.baseUrl + \"/api/Support/register-new-case\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(reqRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRegisterNewCase(_response);\n });\n }\n\n protected processRegisterNewCase(response: AxiosResponse): Promise<NewCaseResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = NewCaseResponse.fromJS(resultData200);\n return Promise.resolve<NewCaseResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<NewCaseResponse>(null as any);\n }\n\n provideCaseLevelImpersonationConsent(caseId: string | undefined, signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/case-level-impersonation-consent?\";\n if (caseId === null)\n throw new Error(\"The parameter 'caseId' cannot be null.\");\n else if (caseId !== undefined)\n url_ += \"caseId=\" + encodeURIComponent(\"\" + caseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processProvideCaseLevelImpersonationConsent(_response);\n });\n }\n\n protected processProvideCaseLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n revokeCaseLevelImpersonationConsent(caseId: string | undefined, signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/case-level-impersonation-consent?\";\n if (caseId === null)\n throw new Error(\"The parameter 'caseId' cannot be null.\");\n else if (caseId !== undefined)\n url_ += \"caseId=\" + encodeURIComponent(\"\" + caseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRevokeCaseLevelImpersonationConsent(_response);\n });\n }\n\n protected processRevokeCaseLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n registerImpersonationConsent(caseTitle: string | undefined, signal?: AbortSignal): Promise<ImpersonationConsentDto> {\n let url_ = this.baseUrl + \"/api/Support/register-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(caseTitle);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRegisterImpersonationConsent(_response);\n });\n }\n\n protected processRegisterImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsentDto> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsentDto.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsentDto>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsentDto>(null as any);\n }\n\n predictSupportComponent(sessionId: number | undefined, signal?: AbortSignal): Promise<string> {\n let url_ = this.baseUrl + \"/api/Support/predict-support-component?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processPredictSupportComponent(_response);\n });\n }\n\n protected processPredictSupportComponent(response: AxiosResponse): Promise<string> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : <any>null;\n\n return Promise.resolve<string>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<string>(null as any);\n }\n}\n\nexport class TestOpsClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n makeToken(makeTokenRequest: MakeTokenRequest, signal?: AbortSignal): Promise<CaseGenerationResponse> {\n let url_ = this.baseUrl + \"/test-ops/make-jwt\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(makeTokenRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processMakeToken(_response);\n });\n }\n\n protected processMakeToken(response: AxiosResponse): Promise<CaseGenerationResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseGenerationResponse.fromJS(resultData200);\n return Promise.resolve<CaseGenerationResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseGenerationResponse>(null as any);\n }\n\n testError(code: number | undefined, signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/test-ops/test-error?\";\n if (code === null)\n throw new Error(\"The parameter 'code' cannot be null.\");\n else if (code !== undefined)\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processTestError(_response);\n });\n }\n\n protected processTestError(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class UserClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n ensureCreated(signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/api/User\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processEnsureCreated(_response);\n });\n }\n\n protected processEnsureCreated(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class ChatbotUserSettings implements IChatbotUserSettings {\n isInternal!: boolean;\n feedbackUrl!: string;\n showFilters!: boolean;\n buildVersion!: BuildVersion;\n\n constructor(data?: IChatbotUserSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.buildVersion = new BuildVersion();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isInternal = _data[\"isInternal\"];\n this.feedbackUrl = _data[\"feedbackUrl\"];\n this.showFilters = _data[\"showFilters\"];\n this.buildVersion = _data[\"buildVersion\"] ? BuildVersion.fromJS(_data[\"buildVersion\"]) : new BuildVersion();\n }\n }\n\n static fromJS(data: any): ChatbotUserSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ChatbotUserSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isInternal\"] = this.isInternal;\n data[\"feedbackUrl\"] = this.feedbackUrl;\n data[\"showFilters\"] = this.showFilters;\n data[\"buildVersion\"] = this.buildVersion ? this.buildVersion.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IChatbotUserSettings {\n isInternal: boolean;\n feedbackUrl: string;\n showFilters: boolean;\n buildVersion: BuildVersion;\n}\n\nexport class BuildVersion implements IBuildVersion {\n number?: string;\n date?: Date;\n releaseNotesUrl?: string;\n\n constructor(data?: IBuildVersion) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.number = _data[\"number\"];\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : <any>undefined;\n this.releaseNotesUrl = _data[\"releaseNotesUrl\"];\n }\n }\n\n static fromJS(data: any): BuildVersion {\n data = typeof data === 'object' ? data : {};\n let result = new BuildVersion();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"number\"] = this.number;\n data[\"date\"] = this.date ? this.date.toISOString() : <any>undefined;\n data[\"releaseNotesUrl\"] = this.releaseNotesUrl;\n return data;\n }\n}\n\nexport interface IBuildVersion {\n number?: string;\n date?: Date;\n releaseNotesUrl?: string;\n}\n\nexport class EmailMessage implements IEmailMessage {\n caseTrackingId!: string;\n username!: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n subject!: string;\n email!: string;\n componentId!: string;\n chatbotSessionId?: number | undefined;\n attachments?: string[] | undefined;\n tenantId?: number | undefined;\n externalUserId?: string | undefined;\n recipients?: string[] | undefined;\n\n constructor(data?: IEmailMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.caseTrackingId = _data[\"caseTrackingId\"];\n this.username = _data[\"username\"];\n this.description = _data[\"description\"];\n this.htmlDescription = _data[\"htmlDescription\"];\n this.subject = _data[\"subject\"];\n this.email = _data[\"email\"];\n this.componentId = _data[\"componentId\"];\n this.chatbotSessionId = _data[\"chatbotSessionId\"];\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(item);\n }\n this.tenantId = _data[\"tenantId\"];\n this.externalUserId = _data[\"externalUserId\"];\n if (Array.isArray(_data[\"recipients\"])) {\n this.recipients = [] as any;\n for (let item of _data[\"recipients\"])\n this.recipients!.push(item);\n }\n }\n }\n\n static fromJS(data: any): EmailMessage {\n data = typeof data === 'object' ? data : {};\n let result = new EmailMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"caseTrackingId\"] = this.caseTrackingId;\n data[\"username\"] = this.username;\n data[\"description\"] = this.description;\n data[\"htmlDescription\"] = this.htmlDescription;\n data[\"subject\"] = this.subject;\n data[\"email\"] = this.email;\n data[\"componentId\"] = this.componentId;\n data[\"chatbotSessionId\"] = this.chatbotSessionId;\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item);\n }\n data[\"tenantId\"] = this.tenantId;\n data[\"externalUserId\"] = this.externalUserId;\n if (Array.isArray(this.recipients)) {\n data[\"recipients\"] = [];\n for (let item of this.recipients)\n data[\"recipients\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IEmailMessage {\n caseTrackingId: string;\n username: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n subject: string;\n email: string;\n componentId: string;\n chatbotSessionId?: number | undefined;\n attachments?: string[] | undefined;\n tenantId?: number | undefined;\n externalUserId?: string | undefined;\n recipients?: string[] | undefined;\n}\n\nexport class FilterOptions implements IFilterOptions {\n contentTypes?: FilterOption[];\n productAreas?: FilterOption[];\n sources?: FilterOption[];\n\n constructor(data?: IFilterOptions) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contentTypes\"])) {\n this.contentTypes = [] as any;\n for (let item of _data[\"contentTypes\"])\n this.contentTypes!.push(FilterOption.fromJS(item));\n }\n if (Array.isArray(_data[\"productAreas\"])) {\n this.productAreas = [] as any;\n for (let item of _data[\"productAreas\"])\n this.productAreas!.push(FilterOption.fromJS(item));\n }\n if (Array.isArray(_data[\"sources\"])) {\n this.sources = [] as any;\n for (let item of _data[\"sources\"])\n this.sources!.push(FilterOption.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): FilterOptions {\n data = typeof data === 'object' ? data : {};\n let result = new FilterOptions();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contentTypes)) {\n data[\"contentTypes\"] = [];\n for (let item of this.contentTypes)\n data[\"contentTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.productAreas)) {\n data[\"productAreas\"] = [];\n for (let item of this.productAreas)\n data[\"productAreas\"].push(item.toJSON());\n }\n if (Array.isArray(this.sources)) {\n data[\"sources\"] = [];\n for (let item of this.sources)\n data[\"sources\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IFilterOptions {\n contentTypes?: FilterOption[];\n productAreas?: FilterOption[];\n sources?: FilterOption[];\n}\n\nexport class FilterOption implements IFilterOption {\n id?: string;\n displayName?: string;\n\n constructor(data?: IFilterOption) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n }\n }\n\n static fromJS(data: any): FilterOption {\n data = typeof data === 'object' ? data : {};\n let result = new FilterOption();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n return data;\n }\n}\n\nexport interface IFilterOption {\n id?: string;\n displayName?: string;\n}\n\nexport abstract class Message implements IMessage {\n id?: number;\n sessionId?: number;\n timestampUtc?: Date;\n text?: string;\n\n constructor(data?: IMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.sessionId = _data[\"sessionId\"];\n this.timestampUtc = _data[\"timestampUtc\"] ? new Date(_data[\"timestampUtc\"].toString()) : <any>undefined;\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): Message {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'Message' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"sessionId\"] = this.sessionId;\n data[\"timestampUtc\"] = this.timestampUtc ? this.timestampUtc.toISOString() : <any>undefined;\n data[\"text\"] = this.text;\n return data;\n }\n}\n\nexport interface IMessage {\n id?: number;\n sessionId?: number;\n timestampUtc?: Date;\n text?: string;\n}\n\nexport class BotMessage extends Message implements IBotMessage {\n error?: string | undefined;\n isTransientError?: boolean | undefined;\n retryAfter?: string | undefined;\n guardFlag?: string | undefined;\n isGuardrailed?: boolean;\n scoredUrls?: ScoredUrl[];\n botVersion?: string | undefined;\n metadata?: any | undefined;\n userMessageId?: number | undefined;\n\n constructor(data?: IBotMessage) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.error = _data[\"error\"];\n this.isTransientError = _data[\"isTransientError\"];\n this.retryAfter = _data[\"retryAfter\"];\n this.guardFlag = _data[\"guardFlag\"];\n this.isGuardrailed = _data[\"isGuardrailed\"];\n if (Array.isArray(_data[\"scoredUrls\"])) {\n this.scoredUrls = [] as any;\n for (let item of _data[\"scoredUrls\"])\n this.scoredUrls!.push(ScoredUrl.fromJS(item));\n }\n this.botVersion = _data[\"botVersion\"];\n this.metadata = _data[\"metadata\"];\n this.userMessageId = _data[\"userMessageId\"];\n }\n }\n\n static fromJS(data: any): BotMessage {\n data = typeof data === 'object' ? data : {};\n let result = new BotMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"error\"] = this.error;\n data[\"isTransientError\"] = this.isTransientError;\n data[\"retryAfter\"] = this.retryAfter;\n data[\"guardFlag\"] = this.guardFlag;\n data[\"isGuardrailed\"] = this.isGuardrailed;\n if (Array.isArray(this.scoredUrls)) {\n data[\"scoredUrls\"] = [];\n for (let item of this.scoredUrls)\n data[\"scoredUrls\"].push(item.toJSON());\n }\n data[\"botVersion\"] = this.botVersion;\n data[\"metadata\"] = this.metadata;\n data[\"userMessageId\"] = this.userMessageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBotMessage extends IMessage {\n error?: string | undefined;\n isTransientError?: boolean | undefined;\n retryAfter?: string | undefined;\n guardFlag?: string | undefined;\n isGuardrailed?: boolean;\n scoredUrls?: ScoredUrl[];\n botVersion?: string | undefined;\n metadata?: any | undefined;\n userMessageId?: number | undefined;\n}\n\nexport class ScoredUrl implements IScoredUrl {\n url?: string;\n score?: number;\n title?: string;\n\n constructor(data?: IScoredUrl) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.url = _data[\"url\"];\n this.score = _data[\"score\"];\n this.title = _data[\"title\"];\n }\n }\n\n static fromJS(data: any): ScoredUrl {\n data = typeof data === 'object' ? data : {};\n let result = new ScoredUrl();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"url\"] = this.url;\n data[\"score\"] = this.score;\n data[\"title\"] = this.title;\n return data;\n }\n}\n\nexport interface IScoredUrl {\n url?: string;\n score?: number;\n title?: string;\n}\n\nexport class UserMessage extends Message implements IUserMessage {\n requestParams?: { [key: string]: string; } | undefined;\n source?: MessageSource | undefined;\n isControlGroup?: boolean;\n filters?: FilterSelections;\n includeHistory?: boolean;\n\n constructor(data?: IUserMessage) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (_data[\"requestParams\"]) {\n this.requestParams = {} as any;\n for (let key in _data[\"requestParams\"]) {\n if (_data[\"requestParams\"].hasOwnProperty(key))\n (<any>this.requestParams)![key] = _data[\"requestParams\"][key];\n }\n }\n this.source = _data[\"source\"] ? MessageSource.fromJS(_data[\"source\"]) : <any>undefined;\n this.isControlGroup = _data[\"isControlGroup\"];\n this.filters = _data[\"filters\"] ? FilterSelections.fromJS(_data[\"filters\"]) : <any>undefined;\n this.includeHistory = _data[\"includeHistory\"];\n }\n }\n\n static fromJS(data: any): UserMessage {\n data = typeof data === 'object' ? data : {};\n let result = new UserMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (this.requestParams) {\n data[\"requestParams\"] = {};\n for (let key in this.requestParams) {\n if (this.requestParams.hasOwnProperty(key))\n (<any>data[\"requestParams\"])[key] = (<any>this.requestParams)[key];\n }\n }\n data[\"source\"] = this.source ? this.source.toJSON() : <any>undefined;\n data[\"isControlGroup\"] = this.isControlGroup;\n data[\"filters\"] = this.filters ? this.filters.toJSON() : <any>undefined;\n data[\"includeHistory\"] = this.includeHistory;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUserMessage extends IMessage {\n requestParams?: { [key: string]: string; } | undefined;\n source?: MessageSource | undefined;\n isControlGroup?: boolean;\n filters?: FilterSelections;\n includeHistory?: boolean;\n}\n\nexport class MessageSource implements IMessageSource {\n area?: string | undefined;\n\n constructor(data?: IMessageSource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.area = _data[\"area\"];\n }\n }\n\n static fromJS(data: any): MessageSource {\n data = typeof data === 'object' ? data : {};\n let result = new MessageSource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"area\"] = this.area;\n return data;\n }\n}\n\nexport interface IMessageSource {\n area?: string | undefined;\n}\n\nexport class FilterSelections implements IFilterSelections {\n contentTypes?: string[];\n productAreas?: string[];\n sources?: string[];\n\n constructor(data?: IFilterSelections) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contentTypes\"])) {\n this.contentTypes = [] as any;\n for (let item of _data[\"contentTypes\"])\n this.contentTypes!.push(item);\n }\n if (Array.isArray(_data[\"productAreas\"])) {\n this.productAreas = [] as any;\n for (let item of _data[\"productAreas\"])\n this.productAreas!.push(item);\n }\n if (Array.isArray(_data[\"sources\"])) {\n this.sources = [] as any;\n for (let item of _data[\"sources\"])\n this.sources!.push(item);\n }\n }\n }\n\n static fromJS(data: any): FilterSelections {\n data = typeof data === 'object' ? data : {};\n let result = new FilterSelections();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contentTypes)) {\n data[\"contentTypes\"] = [];\n for (let item of this.contentTypes)\n data[\"contentTypes\"].push(item);\n }\n if (Array.isArray(this.productAreas)) {\n data[\"productAreas\"] = [];\n for (let item of this.productAreas)\n data[\"productAreas\"].push(item);\n }\n if (Array.isArray(this.sources)) {\n data[\"sources\"] = [];\n for (let item of this.sources)\n data[\"sources\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IFilterSelections {\n contentTypes?: string[];\n productAreas?: string[];\n sources?: string[];\n}\n\nexport class MessageFeedback implements IMessageFeedback {\n linkUrl?: string | undefined;\n description?: string | undefined;\n options?: FeedbackOptions[] | undefined;\n rating?: MessageFeedbackRatings;\n\n constructor(data?: IMessageFeedback) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.linkUrl = _data[\"linkUrl\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(item);\n }\n this.rating = _data[\"rating\"];\n }\n }\n\n static fromJS(data: any): MessageFeedback {\n data = typeof data === 'object' ? data : {};\n let result = new MessageFeedback();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkUrl\"] = this.linkUrl;\n data[\"description\"] = this.description;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item);\n }\n data[\"rating\"] = this.rating;\n return data;\n }\n}\n\nexport interface IMessageFeedback {\n linkUrl?: string | undefined;\n description?: string | undefined;\n options?: FeedbackOptions[] | undefined;\n rating?: MessageFeedbackRatings;\n}\n\nexport enum FeedbackOptions {\n Other = 1,\n Unrelated = 2,\n Unclear = 4,\n Incomplete = 8,\n Incorrect = 16,\n}\n\nexport enum MessageFeedbackRatings {\n ThumbsDown = 0,\n ThumbsUp = 1,\n GuardrailFeedback = 2,\n}\n\nexport class SessionFeedback implements ISessionFeedback {\n description?: string | undefined;\n rating?: SessionFeedbackRatings;\n\n constructor(data?: ISessionFeedback) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.rating = _data[\"rating\"];\n }\n }\n\n static fromJS(data: any): SessionFeedback {\n data = typeof data === 'object' ? data : {};\n let result = new SessionFeedback();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"rating\"] = this.rating;\n return data;\n }\n}\n\nexport interface ISessionFeedback {\n description?: string | undefined;\n rating?: SessionFeedbackRatings;\n}\n\nexport enum SessionFeedbackRatings {\n ThumbsDown = 0,\n ThumbsUp = 1,\n}\n\nexport class ChatbotSession implements IChatbotSession {\n id?: number;\n createdUtc?: Date;\n closedUtc?: Date | undefined;\n botId?: string;\n source?: SessionSource | undefined;\n\n constructor(data?: IChatbotSession) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.createdUtc = _data[\"createdUtc\"] ? new Date(_data[\"createdUtc\"].toString()) : <any>undefined;\n this.closedUtc = _data[\"closedUtc\"] ? new Date(_data[\"closedUtc\"].toString()) : <any>undefined;\n this.botId = _data[\"botId\"];\n this.source = _data[\"source\"] ? SessionSource.fromJS(_data[\"source\"]) : <any>undefined;\n }\n }\n\n static fromJS(data: any): ChatbotSession {\n data = typeof data === 'object' ? data : {};\n let result = new ChatbotSession();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"createdUtc\"] = this.createdUtc ? this.createdUtc.toISOString() : <any>undefined;\n data[\"closedUtc\"] = this.closedUtc ? this.closedUtc.toISOString() : <any>undefined;\n data[\"botId\"] = this.botId;\n data[\"source\"] = this.source ? this.source.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IChatbotSession {\n id?: number;\n createdUtc?: Date;\n closedUtc?: Date | undefined;\n botId?: string;\n source?: SessionSource | undefined;\n}\n\nexport class SessionSource implements ISessionSource {\n instance?: string | undefined;\n category?: string | undefined;\n subCategory?: string | undefined;\n fullstorySessionId?: string | undefined;\n\n constructor(data?: ISessionSource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.instance = _data[\"instance\"];\n this.category = _data[\"category\"];\n this.subCategory = _data[\"subCategory\"];\n this.fullstorySessionId = _data[\"fullstorySessionId\"];\n }\n }\n\n static fromJS(data: any): SessionSource {\n data = typeof data === 'object' ? data : {};\n let result = new SessionSource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"instance\"] = this.instance;\n data[\"category\"] = this.category;\n data[\"subCategory\"] = this.subCategory;\n data[\"fullstorySessionId\"] = this.fullstorySessionId;\n return data;\n }\n}\n\nexport interface ISessionSource {\n instance?: string | undefined;\n category?: string | undefined;\n subCategory?: string | undefined;\n fullstorySessionId?: string | undefined;\n}\n\nexport class WidgetConfiguration implements IWidgetConfiguration {\n analytics!: AnalyticsSettings;\n chatbotConfiguration!: ChatbotConfiguration;\n chatbotVersion!: ChatbotVersion;\n contentful!: ContentfulSettings;\n featureFlags!: FeatureFlags;\n environment!: ServiceEnvironment;\n freshdeskToken?: string | undefined;\n salesforce!: SalesforceSettings;\n search!: SearchSettings;\n supportFlow!: SupportFlowSettings;\n tenantState?: string | undefined;\n\n constructor(data?: IWidgetConfiguration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.analytics = new AnalyticsSettings();\n this.chatbotConfiguration = new ChatbotConfiguration();\n this.contentful = new ContentfulSettings();\n this.featureFlags = new FeatureFlags();\n this.salesforce = new SalesforceSettings();\n this.search = new SearchSettings();\n this.supportFlow = new SupportFlowSettings();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.analytics = _data[\"analytics\"] ? AnalyticsSettings.fromJS(_data[\"analytics\"]) : new AnalyticsSettings();\n this.chatbotConfiguration = _data[\"chatbotConfiguration\"] ? ChatbotConfiguration.fromJS(_data[\"chatbotConfiguration\"]) : new ChatbotConfiguration();\n this.chatbotVersion = _data[\"chatbotVersion\"];\n this.contentful = _data[\"contentful\"] ? ContentfulSettings.fromJS(_data[\"contentful\"]) : new ContentfulSettings();\n this.featureFlags = _data[\"featureFlags\"] ? FeatureFlags.fromJS(_data[\"featureFlags\"]) : new FeatureFlags();\n this.environment = _data[\"environment\"];\n this.freshdeskToken = _data[\"freshdeskToken\"];\n this.salesforce = _data[\"salesforce\"] ? SalesforceSettings.fromJS(_data[\"salesforce\"]) : new SalesforceSettings();\n this.search = _data[\"search\"] ? SearchSettings.fromJS(_data[\"search\"]) : new SearchSettings();\n this.supportFlow = _data[\"supportFlow\"] ? SupportFlowSettings.fromJS(_data[\"supportFlow\"]) : new SupportFlowSettings();\n this.tenantState = _data[\"tenantState\"];\n }\n }\n\n static fromJS(data: any): WidgetConfiguration {\n data = typeof data === 'object' ? data : {};\n let result = new WidgetConfiguration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"analytics\"] = this.analytics ? this.analytics.toJSON() : <any>undefined;\n data[\"chatbotConfiguration\"] = this.chatbotConfiguration ? this.chatbotConfiguration.toJSON() : <any>undefined;\n data[\"chatbotVersion\"] = this.chatbotVersion;\n data[\"contentful\"] = this.contentful ? this.contentful.toJSON() : <any>undefined;\n data[\"featureFlags\"] = this.featureFlags ? this.featureFlags.toJSON() : <any>undefined;\n data[\"environment\"] = this.environment;\n data[\"freshdeskToken\"] = this.freshdeskToken;\n data[\"salesforce\"] = this.salesforce ? this.salesforce.toJSON() : <any>undefined;\n data[\"search\"] = this.search ? this.search.toJSON() : <any>undefined;\n data[\"supportFlow\"] = this.supportFlow ? this.supportFlow.toJSON() : <any>undefined;\n data[\"tenantState\"] = this.tenantState;\n return data;\n }\n}\n\nexport interface IWidgetConfiguration {\n analytics: AnalyticsSettings;\n chatbotConfiguration: ChatbotConfiguration;\n chatbotVersion: ChatbotVersion;\n contentful: ContentfulSettings;\n featureFlags: FeatureFlags;\n environment: ServiceEnvironment;\n freshdeskToken?: string | undefined;\n salesforce: SalesforceSettings;\n search: SearchSettings;\n supportFlow: SupportFlowSettings;\n tenantState?: string | undefined;\n}\n\nexport class AnalyticsSettings implements IAnalyticsSettings {\n gtag!: GtagSettings;\n\n constructor(data?: IAnalyticsSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.gtag = new GtagSettings();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.gtag = _data[\"gtag\"] ? GtagSettings.fromJS(_data[\"gtag\"]) : new GtagSettings();\n }\n }\n\n static fromJS(data: any): AnalyticsSettings {\n data = typeof data === 'object' ? data : {};\n let result = new AnalyticsSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gtag\"] = this.gtag ? this.gtag.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IAnalyticsSettings {\n gtag: GtagSettings;\n}\n\nexport class GtagSettings implements IGtagSettings {\n contentGroup!: string;\n referrer!: string;\n\n constructor(data?: IGtagSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.contentGroup = _data[\"contentGroup\"];\n this.referrer = _data[\"referrer\"];\n }\n }\n\n static fromJS(data: any): GtagSettings {\n data = typeof data === 'object' ? data : {};\n let result = new GtagSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"contentGroup\"] = this.contentGroup;\n data[\"referrer\"] = this.referrer;\n return data;\n }\n}\n\nexport interface IGtagSettings {\n contentGroup: string;\n referrer: string;\n}\n\nexport class ChatbotConfiguration implements IChatbotConfiguration {\n area?: ChatbotEnabledArea;\n\n constructor(data?: IChatbotConfiguration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.area = _data[\"area\"];\n }\n }\n\n static fromJS(data: any): ChatbotConfiguration {\n data = typeof data === 'object' ? data : {};\n let result = new ChatbotConfiguration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"area\"] = this.area;\n return data;\n }\n}\n\nexport interface IChatbotConfiguration {\n area?: ChatbotEnabledArea;\n}\n\nexport enum ChatbotEnabledArea {\n None = \"None\",\n SupportFlow = \"SupportFlow\",\n}\n\nexport enum ChatbotVersion {\n None = 0,\n Inbenta = 1,\n GptV1 = 2,\n}\n\nexport class ContentfulSettings implements IContentfulSettings {\n space!: string;\n accessToken!: string;\n environment!: string;\n host!: string;\n\n constructor(data?: IContentfulSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.space = _data[\"space\"];\n this.accessToken = _data[\"accessToken\"];\n this.environment = _data[\"environment\"];\n this.host = _data[\"host\"];\n }\n }\n\n static fromJS(data: any): ContentfulSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ContentfulSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"space\"] = this.space;\n data[\"accessToken\"] = this.accessToken;\n data[\"environment\"] = this.environment;\n data[\"host\"] = this.host;\n return data;\n }\n}\n\nexport interface IContentfulSettings {\n space: string;\n accessToken: string;\n environment: string;\n host: string;\n}\n\nexport class FeatureFlags implements IFeatureFlags {\n enableQuickAnswerModernDesign!: boolean;\n quickAnswerConfiguration!: QuickAnswerConfiguration;\n enablePreSupportChatbot!: boolean;\n impersonationControlPhase2!: boolean;\n newExcitingFeature!: boolean;\n askSupportButtonText!: string;\n showOnboardingMessage!: boolean;\n enableCategoryDetection!: boolean;\n showSupportChatTimeoutNotification!: boolean;\n\n constructor(data?: IFeatureFlags) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.quickAnswerConfiguration = new QuickAnswerConfiguration();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enableQuickAnswerModernDesign = _data[\"enableQuickAnswerModernDesign\"];\n this.quickAnswerConfiguration = _data[\"quickAnswerConfiguration\"] ? QuickAnswerConfiguration.fromJS(_data[\"quickAnswerConfiguration\"]) : new QuickAnswerConfiguration();\n this.enablePreSupportChatbot = _data[\"enablePreSupportChatbot\"];\n this.impersonationControlPhase2 = _data[\"impersonationControlPhase2\"];\n this.newExcitingFeature = _data[\"newExcitingFeature\"];\n this.askSupportButtonText = _data[\"askSupportButtonText\"];\n this.showOnboardingMessage = _data[\"showOnboardingMessage\"];\n this.enableCategoryDetection = _data[\"enableCategoryDetection\"];\n this.showSupportChatTimeoutNotification = _data[\"showSupportChatTimeoutNotification\"];\n }\n }\n\n static fromJS(data: any): FeatureFlags {\n data = typeof data === 'object' ? data : {};\n let result = new FeatureFlags();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enableQuickAnswerModernDesign\"] = this.enableQuickAnswerModernDesign;\n data[\"quickAnswerConfiguration\"] = this.quickAnswerConfiguration ? this.quickAnswerConfiguration.toJSON() : <any>undefined;\n data[\"enablePreSupportChatbot\"] = this.enablePreSupportChatbot;\n data[\"impersonationControlPhase2\"] = this.impersonationControlPhase2;\n data[\"newExcitingFeature\"] = this.newExcitingFeature;\n data[\"askSupportButtonText\"] = this.askSupportButtonText;\n data[\"showOnboardingMessage\"] = this.showOnboardingMessage;\n data[\"enableCategoryDetection\"] = this.enableCategoryDetection;\n data[\"showSupportChatTimeoutNotification\"] = this.showSupportChatTimeoutNotification;\n return data;\n }\n}\n\nexport interface IFeatureFlags {\n enableQuickAnswerModernDesign: boolean;\n quickAnswerConfiguration: QuickAnswerConfiguration;\n enablePreSupportChatbot: boolean;\n impersonationControlPhase2: boolean;\n newExcitingFeature: boolean;\n askSupportButtonText: string;\n showOnboardingMessage: boolean;\n enableCategoryDetection: boolean;\n showSupportChatTimeoutNotification: boolean;\n}\n\nexport class QuickAnswerConfiguration implements IQuickAnswerConfiguration {\n multiTurnEnabled!: boolean;\n multiTurnButtonIcon?: string | undefined;\n multiTurnButtonText?: string | undefined;\n\n constructor(data?: IQuickAnswerConfiguration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.multiTurnEnabled = _data[\"multiTurnEnabled\"];\n this.multiTurnButtonIcon = _data[\"multiTurnButtonIcon\"];\n this.multiTurnButtonText = _data[\"multiTurnButtonText\"];\n }\n }\n\n static fromJS(data: any): QuickAnswerConfiguration {\n data = typeof data === 'object' ? data : {};\n let result = new QuickAnswerConfiguration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"multiTurnEnabled\"] = this.multiTurnEnabled;\n data[\"multiTurnButtonIcon\"] = this.multiTurnButtonIcon;\n data[\"multiTurnButtonText\"] = this.multiTurnButtonText;\n return data;\n }\n}\n\nexport interface IQuickAnswerConfiguration {\n multiTurnEnabled: boolean;\n multiTurnButtonIcon?: string | undefined;\n multiTurnButtonText?: string | undefined;\n}\n\nexport enum ServiceEnvironment {\n Undefined = 0,\n Production = 1,\n Practice = 2,\n Next = 3,\n Stage = 4,\n Development = 5,\n}\n\nexport class SalesforceSettings implements ISalesforceSettings {\n orgId!: string;\n chatButtonId!: string;\n chatDeploymentId!: string;\n chatDeploymentUri!: string;\n chatUri!: string;\n chatProxyUri!: string;\n chatEmbeddedUri!: string;\n\n constructor(data?: ISalesforceSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.orgId = _data[\"orgId\"];\n this.chatButtonId = _data[\"chatButtonId\"];\n this.chatDeploymentId = _data[\"chatDeploymentId\"];\n this.chatDeploymentUri = _data[\"chatDeploymentUri\"];\n this.chatUri = _data[\"chatUri\"];\n this.chatProxyUri = _data[\"chatProxyUri\"];\n this.chatEmbeddedUri = _data[\"chatEmbeddedUri\"];\n }\n }\n\n static fromJS(data: any): SalesforceSettings {\n data = typeof data === 'object' ? data : {};\n let result = new SalesforceSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"orgId\"] = this.orgId;\n data[\"chatButtonId\"] = this.chatButtonId;\n data[\"chatDeploymentId\"] = this.chatDeploymentId;\n data[\"chatDeploymentUri\"] = this.chatDeploymentUri;\n data[\"chatUri\"] = this.chatUri;\n data[\"chatProxyUri\"] = this.chatProxyUri;\n data[\"chatEmbeddedUri\"] = this.chatEmbeddedUri;\n return data;\n }\n}\n\nexport interface ISalesforceSettings {\n orgId: string;\n chatButtonId: string;\n chatDeploymentId: string;\n chatDeploymentUri: string;\n chatUri: string;\n chatProxyUri: string;\n chatEmbeddedUri: string;\n}\n\nexport class SearchSettings implements ISearchSettings {\n sessionSource!: string;\n sources!: SearchSource[];\n\n constructor(data?: ISearchSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.sources = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sessionSource = _data[\"sessionSource\"];\n if (Array.isArray(_data[\"sources\"])) {\n this.sources = [] as any;\n for (let item of _data[\"sources\"])\n this.sources!.push(SearchSource.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SearchSettings {\n data = typeof data === 'object' ? data : {};\n let result = new SearchSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sessionSource\"] = this.sessionSource;\n if (Array.isArray(this.sources)) {\n data[\"sources\"] = [];\n for (let item of this.sources)\n data[\"sources\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISearchSettings {\n sessionSource: string;\n sources: SearchSource[];\n}\n\nexport class SearchSource implements ISearchSource {\n id!: string;\n name!: string;\n title!: string;\n url!: string;\n\n constructor(data?: ISearchSource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.title = _data[\"title\"];\n this.url = _data[\"url\"];\n }\n }\n\n static fromJS(data: any): SearchSource {\n data = typeof data === 'object' ? data : {};\n let result = new SearchSource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"title\"] = this.title;\n data[\"url\"] = this.url;\n return data;\n }\n}\n\nexport interface ISearchSource {\n id: string;\n name: string;\n title: string;\n url: string;\n}\n\nexport class SupportFlowSettings implements ISupportFlowSettings {\n enableChatQueuePosition!: boolean;\n helpCenterPendoGuidesEnabled!: boolean;\n helpCenterFloatingChatEnabled!: boolean;\n enableHelpCenterLiveAgentChatV2!: boolean;\n enableVisualIvr!: boolean;\n showCompanyCases!: boolean;\n isEnterpriseHub!: boolean;\n showPersonalCases!: boolean;\n supportFlowSoftTimeout!: number;\n supportFlowHardTimeout!: number;\n impersonationConsentDurationHours!: number;\n contactField?: string | undefined;\n contactId?: string | undefined;\n supportFlowVersion!: SupportFlow;\n supportType!: SupportTypeMode;\n supportWorkingHours!: SupportWorkingHours;\n helpCenterChatbotQuickAnswer?: HelpCenterChatbotQuickAnswer | undefined;\n enableEmailComposer!: boolean;\n helpCenterSupportFlowStepOrder!: SupportFlowStepOrder;\n\n constructor(data?: ISupportFlowSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.supportWorkingHours = new SupportWorkingHours();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enableChatQueuePosition = _data[\"enableChatQueuePosition\"];\n this.helpCenterPendoGuidesEnabled = _data[\"helpCenterPendoGuidesEnabled\"];\n this.helpCenterFloatingChatEnabled = _data[\"helpCenterFloatingChatEnabled\"];\n this.enableHelpCenterLiveAgentChatV2 = _data[\"enableHelpCenterLiveAgentChatV2\"];\n this.enableVisualIvr = _data[\"enableVisualIvr\"];\n this.showCompanyCases = _data[\"showCompanyCases\"];\n this.isEnterpriseHub = _data[\"isEnterpriseHub\"];\n this.showPersonalCases = _data[\"showPersonalCases\"];\n this.supportFlowSoftTimeout = _data[\"supportFlowSoftTimeout\"];\n this.supportFlowHardTimeout = _data[\"supportFlowHardTimeout\"];\n this.impersonationConsentDurationHours = _data[\"impersonationConsentDurationHours\"];\n this.contactField = _data[\"contactField\"];\n this.contactId = _data[\"contactId\"];\n this.supportFlowVersion = _data[\"supportFlowVersion\"];\n this.supportType = _data[\"supportType\"];\n this.supportWorkingHours = _data[\"supportWorkingHours\"] ? SupportWorkingHours.fromJS(_data[\"supportWorkingHours\"]) : new SupportWorkingHours();\n this.helpCenterChatbotQuickAnswer = _data[\"helpCenterChatbotQuickAnswer\"] ? HelpCenterChatbotQuickAnswer.fromJS(_data[\"helpCenterChatbotQuickAnswer\"]) : <any>undefined;\n this.enableEmailComposer = _data[\"enableEmailComposer\"];\n this.helpCenterSupportFlowStepOrder = _data[\"helpCenterSupportFlowStepOrder\"];\n }\n }\n\n static fromJS(data: any): SupportFlowSettings {\n data = typeof data === 'object' ? data : {};\n let result = new SupportFlowSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enableChatQueuePosition\"] = this.enableChatQueuePosition;\n data[\"helpCenterPendoGuidesEnabled\"] = this.helpCenterPendoGuidesEnabled;\n data[\"helpCenterFloatingChatEnabled\"] = this.helpCenterFloatingChatEnabled;\n data[\"enableHelpCenterLiveAgentChatV2\"] = this.enableHelpCenterLiveAgentChatV2;\n data[\"enableVisualIvr\"] = this.enableVisualIvr;\n data[\"showCompanyCases\"] = this.showCompanyCases;\n data[\"isEnterpriseHub\"] = this.isEnterpriseHub;\n data[\"showPersonalCases\"] = this.showPersonalCases;\n data[\"supportFlowSoftTimeout\"] = this.supportFlowSoftTimeout;\n data[\"supportFlowHardTimeout\"] = this.supportFlowHardTimeout;\n data[\"impersonationConsentDurationHours\"] = this.impersonationConsentDurationHours;\n data[\"contactField\"] = this.contactField;\n data[\"contactId\"] = this.contactId;\n data[\"supportFlowVersion\"] = this.supportFlowVersion;\n data[\"supportType\"] = this.supportType;\n data[\"supportWorkingHours\"] = this.supportWorkingHours ? this.supportWorkingHours.toJSON() : <any>undefined;\n data[\"helpCenterChatbotQuickAnswer\"] = this.helpCenterChatbotQuickAnswer ? this.helpCenterChatbotQuickAnswer.toJSON() : <any>undefined;\n data[\"enableEmailComposer\"] = this.enableEmailComposer;\n data[\"helpCenterSupportFlowStepOrder\"] = this.helpCenterSupportFlowStepOrder;\n return data;\n }\n}\n\nexport interface ISupportFlowSettings {\n enableChatQueuePosition: boolean;\n helpCenterPendoGuidesEnabled: boolean;\n helpCenterFloatingChatEnabled: boolean;\n enableHelpCenterLiveAgentChatV2: boolean;\n enableVisualIvr: boolean;\n showCompanyCases: boolean;\n isEnterpriseHub: boolean;\n showPersonalCases: boolean;\n supportFlowSoftTimeout: number;\n supportFlowHardTimeout: number;\n impersonationConsentDurationHours: number;\n contactField?: string | undefined;\n contactId?: string | undefined;\n supportFlowVersion: SupportFlow;\n supportType: SupportTypeMode;\n supportWorkingHours: SupportWorkingHours;\n helpCenterChatbotQuickAnswer?: HelpCenterChatbotQuickAnswer | undefined;\n enableEmailComposer: boolean;\n helpCenterSupportFlowStepOrder: SupportFlowStepOrder;\n}\n\nexport enum SupportFlow {\n IssueFirst2 = 2,\n}\n\nexport enum SupportTypeMode {\n ServicetitanSalesforce = 0,\n ZorwareZendesk = 1,\n Freshdesk = 2,\n}\n\nexport class SupportWorkingHours implements ISupportWorkingHours {\n callback!: WorkingHoursSchedule;\n chat!: WorkingHoursSchedule;\n\n constructor(data?: ISupportWorkingHours) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.callback = new WorkingHoursSchedule();\n this.chat = new WorkingHoursSchedule();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.callback = _data[\"callback\"] ? WorkingHoursSchedule.fromJS(_data[\"callback\"]) : new WorkingHoursSchedule();\n this.chat = _data[\"chat\"] ? WorkingHoursSchedule.fromJS(_data[\"chat\"]) : new WorkingHoursSchedule();\n }\n }\n\n static fromJS(data: any): SupportWorkingHours {\n data = typeof data === 'object' ? data : {};\n let result = new SupportWorkingHours();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callback\"] = this.callback ? this.callback.toJSON() : <any>undefined;\n data[\"chat\"] = this.chat ? this.chat.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface ISupportWorkingHours {\n callback: WorkingHoursSchedule;\n chat: WorkingHoursSchedule;\n}\n\nexport class WorkingHoursSchedule implements IWorkingHoursSchedule {\n workingHours!: { [key: string]: WorkingHours; };\n message!: string;\n\n constructor(data?: IWorkingHoursSchedule) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.workingHours = {};\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (_data[\"workingHours\"]) {\n this.workingHours = {} as any;\n for (let key in _data[\"workingHours\"]) {\n if (_data[\"workingHours\"].hasOwnProperty(key))\n (<any>this.workingHours)![key] = _data[\"workingHours\"][key] ? WorkingHours.fromJS(_data[\"workingHours\"][key]) : new WorkingHours();\n }\n }\n this.message = _data[\"message\"];\n }\n }\n\n static fromJS(data: any): WorkingHoursSchedule {\n data = typeof data === 'object' ? data : {};\n let result = new WorkingHoursSchedule();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (this.workingHours) {\n data[\"workingHours\"] = {};\n for (let key in this.workingHours) {\n if (this.workingHours.hasOwnProperty(key))\n (<any>data[\"workingHours\"])[key] = this.workingHours[key] ? this.workingHours[key].toJSON() : <any>undefined;\n }\n }\n data[\"message\"] = this.message;\n return data;\n }\n}\n\nexport interface IWorkingHoursSchedule {\n workingHours: { [key: string]: WorkingHours; };\n message: string;\n}\n\nexport class WorkingHours implements IWorkingHours {\n start!: string;\n finish!: string;\n\n constructor(data?: IWorkingHours) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.start = _data[\"start\"];\n this.finish = _data[\"finish\"];\n }\n }\n\n static fromJS(data: any): WorkingHours {\n data = typeof data === 'object' ? data : {};\n let result = new WorkingHours();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"start\"] = this.start;\n data[\"finish\"] = this.finish;\n return data;\n }\n}\n\nexport interface IWorkingHours {\n start: string;\n finish: string;\n}\n\nexport class HelpCenterChatbotQuickAnswer implements IHelpCenterChatbotQuickAnswer {\n enabled?: boolean;\n\n constructor(data?: IHelpCenterChatbotQuickAnswer) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enabled = _data[\"enabled\"];\n }\n }\n\n static fromJS(data: any): HelpCenterChatbotQuickAnswer {\n data = typeof data === 'object' ? data : {};\n let result = new HelpCenterChatbotQuickAnswer();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enabled\"] = this.enabled;\n return data;\n }\n}\n\nexport interface IHelpCenterChatbotQuickAnswer {\n enabled?: boolean;\n}\n\nexport enum SupportFlowStepOrder {\n CategoryFirst = 0,\n DescriptionFirst = 1,\n}\n\nexport class SupportComponents implements ISupportComponents {\n items!: SupportComponent[];\n categoryTopicMapping!: SupportCategoryTopicMapping[];\n\n constructor(data?: ISupportComponents) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.items = [];\n this.categoryTopicMapping = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(SupportComponent.fromJS(item));\n }\n if (Array.isArray(_data[\"categoryTopicMapping\"])) {\n this.categoryTopicMapping = [] as any;\n for (let item of _data[\"categoryTopicMapping\"])\n this.categoryTopicMapping!.push(SupportCategoryTopicMapping.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SupportComponents {\n data = typeof data === 'object' ? data : {};\n let result = new SupportComponents();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n if (Array.isArray(this.categoryTopicMapping)) {\n data[\"categoryTopicMapping\"] = [];\n for (let item of this.categoryTopicMapping)\n data[\"categoryTopicMapping\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISupportComponents {\n items: SupportComponent[];\n categoryTopicMapping: SupportCategoryTopicMapping[];\n}\n\nexport class SupportComponent implements ISupportComponent {\n id!: string;\n name!: string;\n button?: string | undefined;\n context?: string | undefined;\n channels?: SupportChannel[] | undefined;\n subComponents?: SupportComponent[] | undefined;\n\n constructor(data?: ISupportComponent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.button = _data[\"button\"];\n this.context = _data[\"context\"];\n if (Array.isArray(_data[\"channels\"])) {\n this.channels = [] as any;\n for (let item of _data[\"channels\"])\n this.channels!.push(item);\n }\n if (Array.isArray(_data[\"subComponents\"])) {\n this.subComponents = [] as any;\n for (let item of _data[\"subComponents\"])\n this.subComponents!.push(SupportComponent.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SupportComponent {\n data = typeof data === 'object' ? data : {};\n let result = new SupportComponent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"button\"] = this.button;\n data[\"context\"] = this.context;\n if (Array.isArray(this.channels)) {\n data[\"channels\"] = [];\n for (let item of this.channels)\n data[\"channels\"].push(item);\n }\n if (Array.isArray(this.subComponents)) {\n data[\"subComponents\"] = [];\n for (let item of this.subComponents)\n data[\"subComponents\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISupportComponent {\n id: string;\n name: string;\n button?: string | undefined;\n context?: string | undefined;\n channels?: SupportChannel[] | undefined;\n subComponents?: SupportComponent[] | undefined;\n}\n\nexport enum SupportChannel {\n Unknown = 0,\n Email = 1,\n Chat = 2,\n Callback = 3,\n EmergencyCallback = 4,\n SpecialistCallback = 5,\n}\n\nexport class SupportCategoryTopicMapping implements ISupportCategoryTopicMapping {\n id!: string;\n label!: string;\n description!: string;\n topics!: string[];\n\n constructor(data?: ISupportCategoryTopicMapping) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.topics = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.label = _data[\"label\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"topics\"])) {\n this.topics = [] as any;\n for (let item of _data[\"topics\"])\n this.topics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SupportCategoryTopicMapping {\n data = typeof data === 'object' ? data : {};\n let result = new SupportCategoryTopicMapping();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"label\"] = this.label;\n data[\"description\"] = this.description;\n if (Array.isArray(this.topics)) {\n data[\"topics\"] = [];\n for (let item of this.topics)\n data[\"topics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISupportCategoryTopicMapping {\n id: string;\n label: string;\n description: string;\n topics: string[];\n}\n\nexport class InbentaAccessToken implements IInbentaAccessToken {\n accessToken!: string;\n expiration!: number;\n expires_in!: number;\n apis!: InbentaApis;\n apiKey!: string;\n\n constructor(data?: IInbentaAccessToken) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.apis = new InbentaApis();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.expiration = _data[\"expiration\"];\n this.expires_in = _data[\"expires_in\"];\n this.apis = _data[\"apis\"] ? InbentaApis.fromJS(_data[\"apis\"]) : new InbentaApis();\n this.apiKey = _data[\"apiKey\"];\n }\n }\n\n static fromJS(data: any): InbentaAccessToken {\n data = typeof data === 'object' ? data : {};\n let result = new InbentaAccessToken();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"expiration\"] = this.expiration;\n data[\"expires_in\"] = this.expires_in;\n data[\"apis\"] = this.apis ? this.apis.toJSON() : <any>undefined;\n data[\"apiKey\"] = this.apiKey;\n return data;\n }\n}\n\nexport interface IInbentaAccessToken {\n accessToken: string;\n expiration: number;\n expires_in: number;\n apis: InbentaApis;\n apiKey: string;\n}\n\nexport class InbentaApis implements IInbentaApis {\n knowledge!: string;\n search!: string;\n ticketing!: string;\n\n constructor(data?: IInbentaApis) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.knowledge = _data[\"knowledge\"];\n this.search = _data[\"search\"];\n this.ticketing = _data[\"ticketing\"];\n }\n }\n\n static fromJS(data: any): InbentaApis {\n data = typeof data === 'object' ? data : {};\n let result = new InbentaApis();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"knowledge\"] = this.knowledge;\n data[\"search\"] = this.search;\n data[\"ticketing\"] = this.ticketing;\n return data;\n }\n}\n\nexport interface IInbentaApis {\n knowledge: string;\n search: string;\n ticketing: string;\n}\n\nexport class PageRecommendations implements IPageRecommendations {\n path!: string;\n exact?: boolean;\n recommendations!: Recommendation[];\n\n constructor(data?: IPageRecommendations) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.recommendations = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.path = _data[\"path\"];\n this.exact = _data[\"exact\"];\n if (Array.isArray(_data[\"recommendations\"])) {\n this.recommendations = [] as any;\n for (let item of _data[\"recommendations\"])\n this.recommendations!.push(Recommendation.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PageRecommendations {\n data = typeof data === 'object' ? data : {};\n let result = new PageRecommendations();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"path\"] = this.path;\n data[\"exact\"] = this.exact;\n if (Array.isArray(this.recommendations)) {\n data[\"recommendations\"] = [];\n for (let item of this.recommendations)\n data[\"recommendations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPageRecommendations {\n path: string;\n exact?: boolean;\n recommendations: Recommendation[];\n}\n\nexport class Recommendation implements IRecommendation {\n resource!: Resource;\n links!: Link[];\n\n constructor(data?: IRecommendation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.resource = new Resource();\n this.links = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.resource = _data[\"resource\"] ? Resource.fromJS(_data[\"resource\"]) : new Resource();\n if (Array.isArray(_data[\"links\"])) {\n this.links = [] as any;\n for (let item of _data[\"links\"])\n this.links!.push(Link.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Recommendation {\n data = typeof data === 'object' ? data : {};\n let result = new Recommendation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"resource\"] = this.resource ? this.resource.toJSON() : <any>undefined;\n if (Array.isArray(this.links)) {\n data[\"links\"] = [];\n for (let item of this.links)\n data[\"links\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IRecommendation {\n resource: Resource;\n links: Link[];\n}\n\nexport class Resource implements IResource {\n name!: string;\n title!: string;\n url!: string;\n\n constructor(data?: IResource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.title = _data[\"title\"];\n this.url = _data[\"url\"];\n }\n }\n\n static fromJS(data: any): Resource {\n data = typeof data === 'object' ? data : {};\n let result = new Resource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"title\"] = this.title;\n data[\"url\"] = this.url;\n return data;\n }\n}\n\nexport interface IResource {\n name: string;\n title: string;\n url: string;\n}\n\nexport class Link implements ILink {\n title!: string;\n url!: string;\n articleId?: string | undefined;\n scrollTo?: string | undefined;\n\n constructor(data?: ILink) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.title = _data[\"title\"];\n this.url = _data[\"url\"];\n this.articleId = _data[\"articleId\"];\n this.scrollTo = _data[\"scrollTo\"];\n }\n }\n\n static fromJS(data: any): Link {\n data = typeof data === 'object' ? data : {};\n let result = new Link();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title;\n data[\"url\"] = this.url;\n data[\"articleId\"] = this.articleId;\n data[\"scrollTo\"] = this.scrollTo;\n return data;\n }\n}\n\nexport interface ILink {\n title: string;\n url: string;\n articleId?: string | undefined;\n scrollTo?: string | undefined;\n}\n\nexport class HelpCenterUserData implements IHelpCenterUserData {\n name?: string;\n email?: string;\n users?: HelpCenterUserModel[];\n\n constructor(data?: IHelpCenterUserData) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n if (Array.isArray(_data[\"users\"])) {\n this.users = [] as any;\n for (let item of _data[\"users\"])\n this.users!.push(HelpCenterUserModel.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): HelpCenterUserData {\n data = typeof data === 'object' ? data : {};\n let result = new HelpCenterUserData();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n if (Array.isArray(this.users)) {\n data[\"users\"] = [];\n for (let item of this.users)\n data[\"users\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IHelpCenterUserData {\n name?: string;\n email?: string;\n users?: HelpCenterUserModel[];\n}\n\nexport class HelpCenterUserModel implements IHelpCenterUserModel {\n tenantId?: number;\n tenantName?: string;\n globalUserId?: number;\n\n constructor(data?: IHelpCenterUserModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.tenantName = _data[\"tenantName\"];\n this.globalUserId = _data[\"globalUserId\"];\n }\n }\n\n static fromJS(data: any): HelpCenterUserModel {\n data = typeof data === 'object' ? data : {};\n let result = new HelpCenterUserModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"tenantName\"] = this.tenantName;\n data[\"globalUserId\"] = this.globalUserId;\n return data;\n }\n}\n\nexport interface IHelpCenterUserModel {\n tenantId?: number;\n tenantName?: string;\n globalUserId?: number;\n}\n\nexport class CaseGenerationResponse implements ICaseGenerationResponse {\n createdCount!: number;\n error?: string | undefined;\n\n constructor(data?: ICaseGenerationResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.createdCount = _data[\"createdCount\"];\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): CaseGenerationResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CaseGenerationResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"createdCount\"] = this.createdCount;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface ICaseGenerationResponse {\n createdCount: number;\n error?: string | undefined;\n}\n\nexport class CaseGenerationRequest implements ICaseGenerationRequest {\n newCount!: number;\n pendingCount?: number;\n solvedCount?: number;\n closedCount?: number;\n\n constructor(data?: ICaseGenerationRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.newCount = _data[\"newCount\"];\n this.pendingCount = _data[\"pendingCount\"];\n this.solvedCount = _data[\"solvedCount\"];\n this.closedCount = _data[\"closedCount\"];\n }\n }\n\n static fromJS(data: any): CaseGenerationRequest {\n data = typeof data === 'object' ? data : {};\n let result = new CaseGenerationRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"newCount\"] = this.newCount;\n data[\"pendingCount\"] = this.pendingCount;\n data[\"solvedCount\"] = this.solvedCount;\n data[\"closedCount\"] = this.closedCount;\n return data;\n }\n}\n\nexport interface ICaseGenerationRequest {\n newCount: number;\n pendingCount?: number;\n solvedCount?: number;\n closedCount?: number;\n}\n\nexport class CaseFilters implements ICaseFilters {\n contacts?: CaseContactFilter[] | undefined;\n statuses!: string[];\n accounts?: CaseAccount[] | undefined;\n\n constructor(data?: ICaseFilters) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.statuses = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contacts\"])) {\n this.contacts = [] as any;\n for (let item of _data[\"contacts\"])\n this.contacts!.push(CaseContactFilter.fromJS(item));\n }\n if (Array.isArray(_data[\"statuses\"])) {\n this.statuses = [] as any;\n for (let item of _data[\"statuses\"])\n this.statuses!.push(item);\n }\n if (Array.isArray(_data[\"accounts\"])) {\n this.accounts = [] as any;\n for (let item of _data[\"accounts\"])\n this.accounts!.push(CaseAccount.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CaseFilters {\n data = typeof data === 'object' ? data : {};\n let result = new CaseFilters();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contacts)) {\n data[\"contacts\"] = [];\n for (let item of this.contacts)\n data[\"contacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.statuses)) {\n data[\"statuses\"] = [];\n for (let item of this.statuses)\n data[\"statuses\"].push(item);\n }\n if (Array.isArray(this.accounts)) {\n data[\"accounts\"] = [];\n for (let item of this.accounts)\n data[\"accounts\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICaseFilters {\n contacts?: CaseContactFilter[] | undefined;\n statuses: string[];\n accounts?: CaseAccount[] | undefined;\n}\n\nexport class CaseContactFilter implements ICaseContactFilter {\n contactIds!: string[];\n name!: string;\n\n constructor(data?: ICaseContactFilter) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.contactIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contactIds\"])) {\n this.contactIds = [] as any;\n for (let item of _data[\"contactIds\"])\n this.contactIds!.push(item);\n }\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CaseContactFilter {\n data = typeof data === 'object' ? data : {};\n let result = new CaseContactFilter();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contactIds)) {\n data[\"contactIds\"] = [];\n for (let item of this.contactIds)\n data[\"contactIds\"].push(item);\n }\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICaseContactFilter {\n contactIds: string[];\n name: string;\n}\n\nexport class CaseAccount implements ICaseAccount {\n id!: string;\n tenantName!: string;\n\n constructor(data?: ICaseAccount) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.tenantName = _data[\"tenantName\"];\n }\n }\n\n static fromJS(data: any): CaseAccount {\n data = typeof data === 'object' ? data : {};\n let result = new CaseAccount();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"tenantName\"] = this.tenantName;\n return data;\n }\n}\n\nexport interface ICaseAccount {\n id: string;\n tenantName: string;\n}\n\nexport class CaseResults implements ICaseResults {\n anyOpen?: boolean | undefined;\n items!: CaseResultItem[];\n done!: boolean;\n priorityToken?: CaseSortingPriority | undefined;\n caseNumberToken?: string | undefined;\n\n constructor(data?: ICaseResults) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.anyOpen = _data[\"anyOpen\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(CaseResultItem.fromJS(item));\n }\n this.done = _data[\"done\"];\n this.priorityToken = _data[\"priorityToken\"];\n this.caseNumberToken = _data[\"caseNumberToken\"];\n }\n }\n\n static fromJS(data: any): CaseResults {\n data = typeof data === 'object' ? data : {};\n let result = new CaseResults();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"anyOpen\"] = this.anyOpen;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n data[\"done\"] = this.done;\n data[\"priorityToken\"] = this.priorityToken;\n data[\"caseNumberToken\"] = this.caseNumberToken;\n return data;\n }\n}\n\nexport interface ICaseResults {\n anyOpen?: boolean | undefined;\n items: CaseResultItem[];\n done: boolean;\n priorityToken?: CaseSortingPriority | undefined;\n caseNumberToken?: string | undefined;\n}\n\nexport class CaseResultItem implements ICaseResultItem {\n id!: string;\n caseNumber!: string;\n origin!: string;\n channel!: SupportChannel;\n status!: string;\n priority!: CasePriority;\n subject!: string;\n component?: string | undefined;\n createdDate!: Date;\n contact!: CaseContact;\n account!: CaseAccount;\n impersonationConsent!: ImpersonationConsent;\n surveyUrl?: string | undefined;\n\n constructor(data?: ICaseResultItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.contact = new CaseContact();\n this.account = new CaseAccount();\n this.impersonationConsent = new ImpersonationConsent();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.caseNumber = _data[\"caseNumber\"];\n this.origin = _data[\"origin\"];\n this.channel = _data[\"channel\"];\n this.status = _data[\"status\"];\n this.priority = _data[\"priority\"];\n this.subject = _data[\"subject\"];\n this.component = _data[\"component\"];\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : <any>undefined;\n this.contact = _data[\"contact\"] ? CaseContact.fromJS(_data[\"contact\"]) : new CaseContact();\n this.account = _data[\"account\"] ? CaseAccount.fromJS(_data[\"account\"]) : new CaseAccount();\n this.impersonationConsent = _data[\"impersonationConsent\"] ? ImpersonationConsent.fromJS(_data[\"impersonationConsent\"]) : new ImpersonationConsent();\n this.surveyUrl = _data[\"surveyUrl\"];\n }\n }\n\n static fromJS(data: any): CaseResultItem {\n data = typeof data === 'object' ? data : {};\n let result = new CaseResultItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"caseNumber\"] = this.caseNumber;\n data[\"origin\"] = this.origin;\n data[\"channel\"] = this.channel;\n data[\"status\"] = this.status;\n data[\"priority\"] = this.priority;\n data[\"subject\"] = this.subject;\n data[\"component\"] = this.component;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : <any>undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : <any>undefined;\n data[\"account\"] = this.account ? this.account.toJSON() : <any>undefined;\n data[\"impersonationConsent\"] = this.impersonationConsent ? this.impersonationConsent.toJSON() : <any>undefined;\n data[\"surveyUrl\"] = this.surveyUrl;\n return data;\n }\n}\n\nexport interface ICaseResultItem {\n id: string;\n caseNumber: string;\n origin: string;\n channel: SupportChannel;\n status: string;\n priority: CasePriority;\n subject: string;\n component?: string | undefined;\n createdDate: Date;\n contact: CaseContact;\n account: CaseAccount;\n impersonationConsent: ImpersonationConsent;\n surveyUrl?: string | undefined;\n}\n\nexport enum CasePriority {\n Closed = 0,\n Normal = 1,\n High = 2,\n}\n\nexport class CaseContact implements ICaseContact {\n id!: string;\n name!: string;\n\n constructor(data?: ICaseContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CaseContact {\n data = typeof data === 'object' ? data : {};\n let result = new CaseContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICaseContact {\n id: string;\n name: string;\n}\n\nexport class ImpersonationConsent implements IImpersonationConsent {\n isPermitted!: boolean;\n expiredAt?: Date | undefined;\n error?: string | undefined;\n\n constructor(data?: IImpersonationConsent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isPermitted = _data[\"isPermitted\"];\n this.expiredAt = _data[\"expiredAt\"] ? new Date(_data[\"expiredAt\"].toString()) : <any>undefined;\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): ImpersonationConsent {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonationConsent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isPermitted\"] = this.isPermitted;\n data[\"expiredAt\"] = this.expiredAt ? this.expiredAt.toISOString() : <any>undefined;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface IImpersonationConsent {\n isPermitted: boolean;\n expiredAt?: Date | undefined;\n error?: string | undefined;\n}\n\nexport enum CaseSortingPriority {\n Pending = 0,\n Other = 1,\n Solved = 2,\n Closed = 3,\n}\n\nexport enum SortingOption {\n NewestFirst = 0,\n OldestFirst = 1,\n Priority = 2,\n}\n\nexport class CaseDetails implements ICaseDetails {\n id!: string;\n caseNumber!: string;\n origin!: string;\n channel!: SupportChannel;\n status!: string;\n priority!: CasePriority;\n subject!: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n component?: string | undefined;\n createdDate!: Date;\n lastModifiedDate!: Date;\n contact!: CaseContact;\n owner!: CaseOwner;\n messages?: CaseMessage[] | undefined;\n chatTranscript?: string | undefined;\n commentingOptions!: CommentingOptions;\n replySubject?: string | undefined;\n replyRef?: string | undefined;\n account!: CaseAccount;\n impersonationConsent!: ImpersonationConsent;\n surveyUrl?: string | undefined;\n\n constructor(data?: ICaseDetails) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.contact = new CaseContact();\n this.owner = new CaseOwner();\n this.account = new CaseAccount();\n this.impersonationConsent = new ImpersonationConsent();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.caseNumber = _data[\"caseNumber\"];\n this.origin = _data[\"origin\"];\n this.channel = _data[\"channel\"];\n this.status = _data[\"status\"];\n this.priority = _data[\"priority\"];\n this.subject = _data[\"subject\"];\n this.description = _data[\"description\"];\n this.htmlDescription = _data[\"htmlDescription\"];\n this.component = _data[\"component\"];\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : <any>undefined;\n this.lastModifiedDate = _data[\"lastModifiedDate\"] ? new Date(_data[\"lastModifiedDate\"].toString()) : <any>undefined;\n this.contact = _data[\"contact\"] ? CaseContact.fromJS(_data[\"contact\"]) : new CaseContact();\n this.owner = _data[\"owner\"] ? CaseOwner.fromJS(_data[\"owner\"]) : new CaseOwner();\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(CaseMessage.fromJS(item));\n }\n this.chatTranscript = _data[\"chatTranscript\"];\n this.commentingOptions = _data[\"commentingOptions\"];\n this.replySubject = _data[\"replySubject\"];\n this.replyRef = _data[\"replyRef\"];\n this.account = _data[\"account\"] ? CaseAccount.fromJS(_data[\"account\"]) : new CaseAccount();\n this.impersonationConsent = _data[\"impersonationConsent\"] ? ImpersonationConsent.fromJS(_data[\"impersonationConsent\"]) : new ImpersonationConsent();\n this.surveyUrl = _data[\"surveyUrl\"];\n }\n }\n\n static fromJS(data: any): CaseDetails {\n data = typeof data === 'object' ? data : {};\n let result = new CaseDetails();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"caseNumber\"] = this.caseNumber;\n data[\"origin\"] = this.origin;\n data[\"channel\"] = this.channel;\n data[\"status\"] = this.status;\n data[\"priority\"] = this.priority;\n data[\"subject\"] = this.subject;\n data[\"description\"] = this.description;\n data[\"htmlDescription\"] = this.htmlDescription;\n data[\"component\"] = this.component;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : <any>undefined;\n data[\"lastModifiedDate\"] = this.lastModifiedDate ? this.lastModifiedDate.toISOString() : <any>undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : <any>undefined;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : <any>undefined;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item.toJSON());\n }\n data[\"chatTranscript\"] = this.chatTranscript;\n data[\"commentingOptions\"] = this.commentingOptions;\n data[\"replySubject\"] = this.replySubject;\n data[\"replyRef\"] = this.replyRef;\n data[\"account\"] = this.account ? this.account.toJSON() : <any>undefined;\n data[\"impersonationConsent\"] = this.impersonationConsent ? this.impersonationConsent.toJSON() : <any>undefined;\n data[\"surveyUrl\"] = this.surveyUrl;\n return data;\n }\n}\n\nexport interface ICaseDetails {\n id: string;\n caseNumber: string;\n origin: string;\n channel: SupportChannel;\n status: string;\n priority: CasePriority;\n subject: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n component?: string | undefined;\n createdDate: Date;\n lastModifiedDate: Date;\n contact: CaseContact;\n owner: CaseOwner;\n messages?: CaseMessage[] | undefined;\n chatTranscript?: string | undefined;\n commentingOptions: CommentingOptions;\n replySubject?: string | undefined;\n replyRef?: string | undefined;\n account: CaseAccount;\n impersonationConsent: ImpersonationConsent;\n surveyUrl?: string | undefined;\n}\n\nexport class CaseOwner implements ICaseOwner {\n name?: string;\n\n constructor(data?: ICaseOwner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CaseOwner {\n data = typeof data === 'object' ? data : {};\n let result = new CaseOwner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICaseOwner {\n name?: string;\n}\n\nexport class CaseMessage implements ICaseMessage {\n isAgent!: boolean;\n name!: string;\n body!: string;\n htmlBody!: string;\n attachments?: CaseAttachment[] | undefined;\n messageDate!: Date;\n\n constructor(data?: ICaseMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isAgent = _data[\"isAgent\"];\n this.name = _data[\"name\"];\n this.body = _data[\"body\"];\n this.htmlBody = _data[\"htmlBody\"];\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(CaseAttachment.fromJS(item));\n }\n this.messageDate = _data[\"messageDate\"] ? new Date(_data[\"messageDate\"].toString()) : <any>undefined;\n }\n }\n\n static fromJS(data: any): CaseMessage {\n data = typeof data === 'object' ? data : {};\n let result = new CaseMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isAgent\"] = this.isAgent;\n data[\"name\"] = this.name;\n data[\"body\"] = this.body;\n data[\"htmlBody\"] = this.htmlBody;\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item.toJSON());\n }\n data[\"messageDate\"] = this.messageDate ? this.messageDate.toISOString() : <any>undefined;\n return data;\n }\n}\n\nexport interface ICaseMessage {\n isAgent: boolean;\n name: string;\n body: string;\n htmlBody: string;\n attachments?: CaseAttachment[] | undefined;\n messageDate: Date;\n}\n\nexport class CaseAttachment implements ICaseAttachment {\n name!: string;\n downloadUrl?: string | undefined;\n\n constructor(data?: ICaseAttachment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.downloadUrl = _data[\"downloadUrl\"];\n }\n }\n\n static fromJS(data: any): CaseAttachment {\n data = typeof data === 'object' ? data : {};\n let result = new CaseAttachment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"downloadUrl\"] = this.downloadUrl;\n return data;\n }\n}\n\nexport interface ICaseAttachment {\n name: string;\n downloadUrl?: string | undefined;\n}\n\nexport enum CommentingOptions {\n None = 0,\n Allowed = 1,\n WaitingAgent = 2,\n Closed = 3,\n}\n\nexport class EmailResult implements IEmailResult {\n succeeded?: boolean;\n error?: string | undefined;\n\n constructor(data?: IEmailResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.succeeded = _data[\"succeeded\"];\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): EmailResult {\n data = typeof data === 'object' ? data : {};\n let result = new EmailResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"succeeded\"] = this.succeeded;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface IEmailResult {\n succeeded?: boolean;\n error?: string | undefined;\n}\n\nexport class SupportOnline implements ISupportOnline {\n isOnline!: boolean;\n changeStatusTimeInSeconds!: number;\n\n constructor(data?: ISupportOnline) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isOnline = _data[\"isOnline\"];\n this.changeStatusTimeInSeconds = _data[\"changeStatusTimeInSeconds\"];\n }\n }\n\n static fromJS(data: any): SupportOnline {\n data = typeof data === 'object' ? data : {};\n let result = new SupportOnline();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isOnline\"] = this.isOnline;\n data[\"changeStatusTimeInSeconds\"] = this.changeStatusTimeInSeconds;\n return data;\n }\n}\n\nexport interface ISupportOnline {\n isOnline: boolean;\n changeStatusTimeInSeconds: number;\n}\n\nexport class CallbackResponse implements ICallbackResponse {\n success!: boolean;\n error?: string | undefined;\n\n constructor(data?: ICallbackResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): CallbackResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CallbackResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface ICallbackResponse {\n success: boolean;\n error?: string | undefined;\n}\n\nexport class CallbackRequest implements ICallbackRequest {\n caseTrackingId!: string;\n componentId!: string;\n callbackNumber!: string;\n name!: string;\n subject!: string;\n description!: string;\n chatbotSessionId?: number | undefined;\n externalUserId?: string | undefined;\n\n constructor(data?: ICallbackRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.caseTrackingId = _data[\"caseTrackingId\"];\n this.componentId = _data[\"componentId\"];\n this.callbackNumber = _data[\"callbackNumber\"];\n this.name = _data[\"name\"];\n this.subject = _data[\"subject\"];\n this.description = _data[\"description\"];\n this.chatbotSessionId = _data[\"chatbotSessionId\"];\n this.externalUserId = _data[\"externalUserId\"];\n }\n }\n\n static fromJS(data: any): CallbackRequest {\n data = typeof data === 'object' ? data : {};\n let result = new CallbackRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"caseTrackingId\"] = this.caseTrackingId;\n data[\"componentId\"] = this.componentId;\n data[\"callbackNumber\"] = this.callbackNumber;\n data[\"name\"] = this.name;\n data[\"subject\"] = this.subject;\n data[\"description\"] = this.description;\n data[\"chatbotSessionId\"] = this.chatbotSessionId;\n data[\"externalUserId\"] = this.externalUserId;\n return data;\n }\n}\n\nexport interface ICallbackRequest {\n caseTrackingId: string;\n componentId: string;\n callbackNumber: string;\n name: string;\n subject: string;\n description: string;\n chatbotSessionId?: number | undefined;\n externalUserId?: string | undefined;\n}\n\nexport class NewCaseResponse implements INewCaseResponse {\n caseTrackingId!: string;\n\n constructor(data?: INewCaseResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.caseTrackingId = _data[\"caseTrackingId\"];\n }\n }\n\n static fromJS(data: any): NewCaseResponse {\n data = typeof data === 'object' ? data : {};\n let result = new NewCaseResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"caseTrackingId\"] = this.caseTrackingId;\n return data;\n }\n}\n\nexport interface INewCaseResponse {\n caseTrackingId: string;\n}\n\nexport class NewCaseRequest implements INewCaseRequest {\n chatbotSessionId?: number | undefined;\n impersonationAccess?: boolean;\n\n constructor(data?: INewCaseRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.chatbotSessionId = _data[\"chatbotSessionId\"];\n this.impersonationAccess = _data[\"impersonationAccess\"];\n }\n }\n\n static fromJS(data: any): NewCaseRequest {\n data = typeof data === 'object' ? data : {};\n let result = new NewCaseRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"chatbotSessionId\"] = this.chatbotSessionId;\n data[\"impersonationAccess\"] = this.impersonationAccess;\n return data;\n }\n}\n\nexport interface INewCaseRequest {\n chatbotSessionId?: number | undefined;\n impersonationAccess?: boolean;\n}\n\nexport class ImpersonationConsentDto implements IImpersonationConsentDto {\n id?: string;\n active?: boolean | undefined;\n type?: ImpersonationConsentType | undefined;\n userId?: number;\n expiredAt?: Date;\n impersonators?: string[];\n comment?: string | undefined;\n\n constructor(data?: IImpersonationConsentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.active = _data[\"active\"];\n this.type = _data[\"type\"];\n this.userId = _data[\"userId\"];\n this.expiredAt = _data[\"expiredAt\"] ? new Date(_data[\"expiredAt\"].toString()) : <any>undefined;\n if (Array.isArray(_data[\"impersonators\"])) {\n this.impersonators = [] as any;\n for (let item of _data[\"impersonators\"])\n this.impersonators!.push(item);\n }\n this.comment = _data[\"comment\"];\n }\n }\n\n static fromJS(data: any): ImpersonationConsentDto {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonationConsentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"active\"] = this.active;\n data[\"type\"] = this.type;\n data[\"userId\"] = this.userId;\n data[\"expiredAt\"] = this.expiredAt ? this.expiredAt.toISOString() : <any>undefined;\n if (Array.isArray(this.impersonators)) {\n data[\"impersonators\"] = [];\n for (let item of this.impersonators)\n data[\"impersonators\"].push(item);\n }\n data[\"comment\"] = this.comment;\n return data;\n }\n}\n\nexport interface IImpersonationConsentDto {\n id?: string;\n active?: boolean | undefined;\n type?: ImpersonationConsentType | undefined;\n userId?: number;\n expiredAt?: Date;\n impersonators?: string[];\n comment?: string | undefined;\n}\n\nexport enum ImpersonationConsentType {\n Unknown = 0,\n TenantLevel = 10,\n CaseLevel = 20,\n}\n\nexport class MakeTokenRequest implements IMakeTokenRequest {\n validity?: string;\n claims?: { [key: string]: any; };\n\n constructor(data?: IMakeTokenRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.validity = _data[\"validity\"];\n if (_data[\"claims\"]) {\n this.claims = {} as any;\n for (let key in _data[\"claims\"]) {\n if (_data[\"claims\"].hasOwnProperty(key))\n (<any>this.claims)![key] = _data[\"claims\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): MakeTokenRequest {\n data = typeof data === 'object' ? data : {};\n let result = new MakeTokenRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"validity\"] = this.validity;\n if (this.claims) {\n data[\"claims\"] = {};\n for (let key in this.claims) {\n if (this.claims.hasOwnProperty(key))\n (<any>data[\"claims\"])[key] = (<any>this.claims)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IMakeTokenRequest {\n validity?: string;\n claims?: { [key: string]: any; };\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n\nfunction isAxiosError(obj: any): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}"],"names":["axios","ChatClient","getSettings","signal","url_","baseUrl","replace","options_","method","url","headers","instance","request","catch","_error","isAxiosError","response","then","_response","processGetSettings","status","_headers","k","hasOwnProperty","_responseText","data","result200","resultData200","ChatbotUserSettings","fromJS","Promise","resolve","throwException","getFilterOptions","processGetFilterOptions","FilterOptions","sendUserMessage","userMessage","content_","JSON","stringify","processSendUserMessage","BotMessage","sendBotMessageFeedback","sessionId","botMessageId","feedback","Error","undefined","encodeURIComponent","processSendBotMessageFeedback","sendSessionFeedback","processSendSessionFeedback","updateSessionCategory","category","subCategory","processUpdateSessionCategory","createSession","sessionSource","processCreateSession","ChatbotSession","closeSession","processCloseSession","refreshAuthCookies","responseType","processRefreshAuthCookies","contentDisposition","fileNameMatch","exec","fileName","length","decodeURIComponent","Blob","type","jsonParseReviver","create","ConfigurationClient","getWidgetConfiguration","processGetWidgetConfiguration","WidgetConfiguration","getComponents","processGetComponents","SupportComponents","getInbentaToken","processGetInbentaToken","InbentaAccessToken","getContextHelp","processGetContextHelp","Array","isArray","item","push","PageRecommendations","testError","code","processTestError","EnterpriseHubClient","getUserData","processGetUserData","HelpCenterUserData","getAuthToken","processGetAuthToken","SalesforceOpsClient","generateCases","webRequest","processGenerateCases","CaseGenerationResponse","result400","resultData400","SupportClient","getCompanyCaseFilters","processGetCompanyCaseFilters","CaseFilters","getCompanyCases","statuses","contactIds","sorting","priorityToken","caseNumberToken","accountIds","forEach","processGetCompanyCases","CaseResults","getPersonalCaseFilters","processGetPersonalCaseFilters","getPersonalCases","processGetPersonalCases","getCaseDetails","caseId","processGetCaseDetails","CaseDetails","sendEmailComment","replyRef","email","username","subject","body","attachments","FormData","append","toString","item_","processSendEmailComment","EmailResult","sendEmail","caseTrackingId","description","htmlDescription","componentId","chatbotSessionId","tenantId","externalUserId","recipients","processSendEmail","getCallbackOnline","processGetCallbackOnline","SupportOnline","getChatOnline","processGetChatOnline","isPhoneNumberValid","phoneNumber","processIsPhoneNumberValid","requestCallback","reqRequest","processRequestCallback","CallbackResponse","requestEmergencyCallback","processRequestEmergencyCallback","getTenantLevelImpersonationConsent","processGetTenantLevelImpersonationConsent","ImpersonationConsent","provideTenantLevelImpersonationConsent","processProvideTenantLevelImpersonationConsent","revokeTenantLevelImpersonationConsent","processRevokeTenantLevelImpersonationConsent","registerNewCase","processRegisterNewCase","NewCaseResponse","provideCaseLevelImpersonationConsent","processProvideCaseLevelImpersonationConsent","revokeCaseLevelImpersonationConsent","processRevokeCaseLevelImpersonationConsent","registerImpersonationConsent","caseTitle","processRegisterImpersonationConsent","ImpersonationConsentDto","predictSupportComponent","processPredictSupportComponent","TestOpsClient","makeToken","makeTokenRequest","processMakeToken","UserClient","ensureCreated","processEnsureCreated","init","_data","isInternal","feedbackUrl","showFilters","buildVersion","BuildVersion","result","toJSON","property","number","date","Date","releaseNotesUrl","toISOString","EmailMessage","contentTypes","FilterOption","productAreas","sources","id","displayName","Message","timestampUtc","text","error","isTransientError","retryAfter","guardFlag","isGuardrailed","scoredUrls","ScoredUrl","botVersion","metadata","userMessageId","score","title","UserMessage","requestParams","key","source","MessageSource","isControlGroup","filters","FilterSelections","includeHistory","area","MessageFeedback","linkUrl","options","rating","FeedbackOptions","MessageFeedbackRatings","SessionFeedback","SessionFeedbackRatings","createdUtc","closedUtc","botId","SessionSource","fullstorySessionId","analytics","AnalyticsSettings","chatbotConfiguration","ChatbotConfiguration","chatbotVersion","contentful","ContentfulSettings","featureFlags","FeatureFlags","environment","freshdeskToken","salesforce","SalesforceSettings","search","SearchSettings","supportFlow","SupportFlowSettings","tenantState","gtag","GtagSettings","contentGroup","referrer","ChatbotEnabledArea","ChatbotVersion","space","accessToken","host","enableQuickAnswerModernDesign","quickAnswerConfiguration","QuickAnswerConfiguration","enablePreSupportChatbot","impersonationControlPhase2","newExcitingFeature","askSupportButtonText","showOnboardingMessage","enableCategoryDetection","showSupportChatTimeoutNotification","multiTurnEnabled","multiTurnButtonIcon","multiTurnButtonText","ServiceEnvironment","orgId","chatButtonId","chatDeploymentId","chatDeploymentUri","chatUri","chatProxyUri","chatEmbeddedUri","SearchSource","name","enableChatQueuePosition","helpCenterPendoGuidesEnabled","helpCenterFloatingChatEnabled","enableHelpCenterLiveAgentChatV2","enableVisualIvr","showCompanyCases","isEnterpriseHub","showPersonalCases","supportFlowSoftTimeout","supportFlowHardTimeout","impersonationConsentDurationHours","contactField","contactId","supportFlowVersion","supportType","supportWorkingHours","SupportWorkingHours","helpCenterChatbotQuickAnswer","HelpCenterChatbotQuickAnswer","enableEmailComposer","helpCenterSupportFlowStepOrder","SupportFlow","SupportTypeMode","callback","WorkingHoursSchedule","chat","workingHours","WorkingHours","message","start","finish","enabled","SupportFlowStepOrder","items","SupportComponent","categoryTopicMapping","SupportCategoryTopicMapping","button","context","channels","subComponents","SupportChannel","label","topics","expiration","expires_in","apis","InbentaApis","apiKey","knowledge","ticketing","path","exact","recommendations","Recommendation","resource","Resource","links","Link","articleId","scrollTo","users","HelpCenterUserModel","tenantName","globalUserId","createdCount","CaseGenerationRequest","newCount","pendingCount","solvedCount","closedCount","contacts","CaseContactFilter","accounts","CaseAccount","anyOpen","CaseResultItem","done","caseNumber","origin","channel","priority","component","createdDate","contact","CaseContact","account","impersonationConsent","surveyUrl","CasePriority","isPermitted","expiredAt","CaseSortingPriority","SortingOption","lastModifiedDate","owner","CaseOwner","messages","CaseMessage","chatTranscript","commentingOptions","replySubject","isAgent","htmlBody","CaseAttachment","messageDate","downloadUrl","CommentingOptions","succeeded","isOnline","changeStatusTimeInSeconds","success","CallbackRequest","callbackNumber","NewCaseRequest","impersonationAccess","active","userId","impersonators","comment","ImpersonationConsentType","MakeTokenRequest","validity","claims","ApiException","isApiException","obj"],"mappings":"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"}