capacitor-gleap-plugin 18.0.0 → 19.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.
- package/CapacitorGleapPlugin.podspec +7 -2
- package/Package.swift +31 -0
- package/README.md +307 -761
- package/android/build.gradle +1 -1
- package/android/src/main/java/io/gleapplugins/capacitor/GleapPlugin.java +228 -37
- package/dist/docs.json +323 -3907
- package/dist/esm/definitions.d.ts +168 -3
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/index.js +9 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/logs/body.d.ts +58 -0
- package/dist/esm/logs/body.js +303 -0
- package/dist/esm/logs/body.js.map +1 -0
- package/dist/esm/logs/consoleCapture.d.ts +29 -0
- package/dist/esm/logs/consoleCapture.js +189 -0
- package/dist/esm/logs/consoleCapture.js.map +1 -0
- package/dist/esm/logs/format.d.ts +16 -0
- package/dist/esm/logs/format.js +394 -0
- package/dist/esm/logs/format.js.map +1 -0
- package/dist/esm/logs/networkCapture.d.ts +65 -0
- package/dist/esm/logs/networkCapture.js +654 -0
- package/dist/esm/logs/networkCapture.js.map +1 -0
- package/dist/esm/logs/redaction.d.ts +54 -0
- package/dist/esm/logs/redaction.js +388 -0
- package/dist/esm/logs/redaction.js.map +1 -0
- package/dist/esm/logs/webViewLogs.d.ts +70 -0
- package/dist/esm/logs/webViewLogs.js +297 -0
- package/dist/esm/logs/webViewLogs.js.map +1 -0
- package/dist/esm/logs/zone.d.ts +5 -0
- package/dist/esm/logs/zone.js +15 -0
- package/dist/esm/logs/zone.js.map +1 -0
- package/dist/esm/web.d.ts +47 -2
- package/dist/esm/web.js +43 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +2263 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +2263 -1
- package/dist/plugin.js.map +1 -1
- package/ios/{Plugin → Sources/GleapPlugin}/GleapPlugin.swift +222 -12
- package/package.json +27 -6
- package/ios/Plugin/GleapPlugin.h +0 -10
- package/ios/Plugin/GleapPlugin.m +0 -66
- package/ios/Plugin/Info.plist +0 -24
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport Gleap from 'gleap';\n\nimport type { GleapEventCallback, GleapPlugin } from './definitions';\n\nexport class GleapWeb extends WebPlugin implements GleapPlugin {\n static callbacks: { [key: string]: GleapEventCallback } = {};\n static initialized = false;\n static agentToolExecutionCounter = 0;\n\n private pendingAgentToolExecutions: {\n [executionId: string]: (result: string) => void;\n } = {};\n\n async initialize(options: {\n API_KEY: string;\n }): Promise<{ initialized: boolean }> {\n if (GleapWeb.initialized) {\n return { initialized: true };\n }\n\n Gleap.initialize(options.API_KEY);\n\n GleapWeb.initialized = true;\n this.registerCallbackListeners();\n\n return { initialized: true };\n }\n\n async setRegion(options: {\n region: 'eu' | 'us';\n }): Promise<{ region: string }> {\n if (!options?.region) {\n throw new Error('No region provided');\n }\n\n Gleap.setRegion(options.region);\n\n return { region: options.region };\n }\n\n async setApiUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setApiUrl(options.url);\n\n return { url: options.url };\n }\n\n async setWSApiUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setWSApiUrl(options.url);\n\n return { url: options.url };\n }\n\n async setRealtimeHost(options: { host: string }): Promise<{ host: string }> {\n if (!options?.host) {\n throw new Error('No host provided');\n }\n\n Gleap.setRealtimeHost(options.host);\n\n return { host: options.host };\n }\n\n async setFrameUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setFrameUrl(options.url);\n\n return { url: options.url };\n }\n\n async setBannerUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setBannerUrl(options.url);\n\n return { url: options.url };\n }\n\n async setModalUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setModalUrl(options.url);\n\n return { url: options.url };\n }\n\n registerCallbackListeners(): void {\n Gleap.on('open', () => {\n this.notifyCallbacks('open', {});\n });\n\n Gleap.on('initialized', () => {\n this.notifyCallbacks('initialized', {});\n });\n\n Gleap.on('close', () => {\n this.notifyCallbacks('close', {});\n });\n\n Gleap.on('feedback-sent', formData => {\n this.notifyCallbacks('feedback-sent', formData);\n });\n\n Gleap.on('outbound-sent', formData => {\n this.notifyCallbacks('outbound-sent', formData);\n });\n\n Gleap.on('tool-execution', toolExecution => {\n this.notifyCallbacks('tool-execution', toolExecution);\n });\n\n Gleap.on('flow-started', flow => {\n this.notifyCallbacks('flow-started', flow);\n });\n\n Gleap.on('error-while-sending', () => {\n this.notifyCallbacks('error-while-sending', {});\n });\n\n Gleap.on('unregister-pushmessage-group', groupName => {\n this.notifyCallbacks('unregister-pushmessage-group', groupName);\n });\n\n Gleap.on('register-pushmessage-group', groupName => {\n this.notifyCallbacks('register-pushmessage-group', groupName);\n });\n\n Gleap.on('unread-count-changed', groupName => {\n this.notifyCallbacks('notification-count-updated', groupName);\n });\n\n Gleap.registerCustomAction(customAction => {\n this.notifyCallbacks('custom-action-called', customAction);\n });\n }\n\n async registerAgentTool(options: { name: string }): Promise<void> {\n const gleapSdk = Gleap as any;\n if (typeof gleapSdk.registerAgentTool !== 'function') {\n console.warn(\n 'Gleap: registerAgentTool requires a newer version of the Gleap JS SDK.',\n );\n return;\n }\n\n gleapSdk.registerAgentTool(\n options.name,\n (params: any) =>\n new Promise<string>(resolve => {\n const executionId = `web-${++GleapWeb.agentToolExecutionCounter}`;\n this.pendingAgentToolExecutions[executionId] = resolve;\n\n this.notifyListeners('agentToolExecution', {\n executionId,\n name: options.name,\n params: params ?? {},\n });\n }),\n );\n }\n\n async sendAgentToolResult(options: {\n executionId: string;\n result: string;\n }): Promise<void> {\n const resolve = this.pendingAgentToolExecutions[options.executionId];\n if (resolve) {\n delete this.pendingAgentToolExecutions[options.executionId];\n resolve(options.result);\n }\n }\n\n async setTicketAttribute(options: {\n key: string;\n value: string;\n }): Promise<{ setTicketAttribute: boolean }> {\n Gleap.setTicketAttribute(options.key, options.value);\n\n return { setTicketAttribute: true };\n }\n\n async unsetTicketAttribute(options: {\n key: string;\n }): Promise<{ unsetTicketAttribute: boolean }> {\n Gleap.unsetTicketAttribute(options.key);\n\n return { unsetTicketAttribute: true };\n }\n\n async clearTicketAttributes(): Promise<{ clearTicketAttributes: boolean }> {\n Gleap.clearTicketAttributes();\n\n return { clearTicketAttributes: true };\n }\n\n notifyCallbacks(event: string, data: any): void {\n if (!GleapWeb.callbacks) {\n return;\n }\n\n for (var callbackId in GleapWeb.callbacks) {\n GleapWeb.callbacks[callbackId]({\n name: event,\n data,\n });\n }\n }\n\n async startClassicForm(options: {\n formId?: string | undefined;\n showBackButton?: boolean | undefined;\n }): Promise<{ classicFormStarted: boolean }> {\n Gleap.startClassicForm(options.formId ?? '', options.showBackButton);\n\n return { classicFormStarted: true };\n }\n\n async startConversation(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ conversationStarted: boolean }> {\n Gleap.startConversation(options.showBackButton);\n\n return { conversationStarted: true };\n }\n\n async openConversation(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ conversationsOpened: boolean }> {\n Gleap.openConversations(options.showBackButton);\n\n return { conversationsOpened: true };\n }\n\n async showSurvey(options: {\n surveyId: string;\n format?: 'survey' | 'survey_full' | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.showSurvey(options.surveyId, options.format);\n\n return { opened: true };\n }\n\n async showFeedbackButton(options: {\n show: boolean;\n }): Promise<{ feedbackButtonShown: boolean }> {\n Gleap.showFeedbackButton(options.show ? true : false);\n\n return { feedbackButtonShown: true };\n }\n\n async setDisableInAppNotifications(options: {\n disableInAppNotifications?: boolean | undefined;\n }): Promise<{ inAppNotificationsDisabled: boolean }> {\n Gleap.setDisableInAppNotifications(\n options.disableInAppNotifications ?? false,\n );\n\n return { inAppNotificationsDisabled: true };\n }\n\n async identify(options: {\n userId: string;\n userHash?: string | undefined;\n customData?: Object | undefined;\n name?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n companyId?: string | undefined;\n companyName?: string | undefined;\n avatar?: string | undefined;\n sla?: number | undefined;\n plan?: string | undefined;\n value?: number | undefined;\n }): Promise<{ identify: boolean }> {\n var userData = {\n name: options.name,\n email: options.email,\n phone: options.phone,\n companyId: options.companyId,\n companyName: options.companyName,\n avatar: options.avatar,\n sla: options.sla,\n plan: options.plan,\n value: options.value,\n customData: options.customData,\n };\n if (options.userHash) {\n Gleap.identify(options.userId, userData, options.userHash);\n } else {\n Gleap.identify(options.userId, userData);\n }\n\n return { identify: true };\n }\n\n async updateContact(options: {\n name?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n companyId?: string | undefined;\n companyName?: string | undefined;\n avatar?: string | undefined;\n sla?: number | undefined;\n plan?: string | undefined;\n value?: number | undefined;\n customData?: Object | undefined;\n }): Promise<{ identify: boolean }> {\n Gleap.updateContact(options);\n\n return { identify: true };\n }\n\n async setNetworkLogsBlacklist(options: {\n blacklist: string[];\n }): Promise<{ blacklistSet: boolean }> {\n Gleap.setNetworkLogsBlacklist(options.blacklist);\n\n return { blacklistSet: true };\n }\n\n async setNetworkLogPropsToIgnore(options: {\n propsToIgnore: string[];\n }): Promise<{ propsToIgnoreSet: boolean }> {\n Gleap.setNetworkLogPropsToIgnore(options.propsToIgnore);\n\n return { propsToIgnoreSet: true };\n }\n\n async setTags(options: { tags: string[] }): Promise<{ tagsSet: boolean }> {\n Gleap.setTags(options.tags);\n\n return { tagsSet: true };\n }\n\n async clearIdentity(): Promise<{ clearIdentity: boolean }> {\n Gleap.clearIdentity();\n\n return { clearIdentity: true };\n }\n\n async getIdentity(): Promise<{\n identity: {\n userId: string;\n name?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n companyId?: string | undefined;\n companyName?: string | undefined;\n avatar?: string | undefined;\n sla?: number | undefined;\n plan?: string | undefined;\n value?: number | undefined;\n };\n }> {\n return { identity: Gleap.getIdentity() };\n }\n\n async isUserIdentified(): Promise<{ isUserIdentified: boolean }> {\n return { isUserIdentified: Gleap.isUserIdentified() };\n }\n\n async attachCustomData(options: {\n data: any;\n }): Promise<{ attachedCustomData: boolean }> {\n Gleap.attachCustomData(options.data);\n\n return { attachedCustomData: true };\n }\n\n async setCustomData(options: {\n key: string;\n value: string;\n }): Promise<{ setCustomData: boolean }> {\n Gleap.setCustomData(options.key, options.value);\n\n return { setCustomData: true };\n }\n\n async removeCustomData(options: {\n key: string;\n }): Promise<{ removedCustomData: boolean }> {\n Gleap.removeCustomData(options.key);\n\n return { removedCustomData: true };\n }\n\n async clearCustomData(): Promise<{ clearedCustomData: boolean }> {\n Gleap.clearCustomData();\n\n return { clearedCustomData: true };\n }\n\n async trackEvent(options: {\n name: string;\n data?: any;\n }): Promise<{ loggedEvent: boolean }> {\n Gleap.trackEvent(options.name, options.data);\n\n return { loggedEvent: true };\n }\n\n async trackPage(options: {\n pageName: string;\n }): Promise<{ trackedPage: boolean }> {\n Gleap.trackEvent('pageView', {\n page: options.pageName,\n });\n\n return { trackedPage: true };\n }\n\n async startFeedbackFlow(options: {\n feedbackFlow?: string | undefined;\n showBackButton?: boolean | undefined;\n }): Promise<{ startedFeedbackFlow: boolean }> {\n if (!options.feedbackFlow) {\n }\n\n Gleap.startFeedbackFlow(\n options.feedbackFlow ?? 'bugreporting',\n options.showBackButton,\n );\n\n return { startedFeedbackFlow: true };\n }\n\n async startBot(options: {\n botId?: string | undefined;\n showBackButton?: boolean | undefined;\n }): Promise<{ startedBot: boolean }> {\n if (!options.botId) {\n }\n\n Gleap.startBot(options.botId ?? '', options.showBackButton);\n\n return { startedBot: true };\n }\n\n async setLanguage(options: {\n languageCode: string;\n }): Promise<{ setLanguage: string }> {\n Gleap.setLanguage(options.languageCode);\n\n return { setLanguage: options.languageCode };\n }\n\n async log(options: {\n message: string;\n logLevel?: 'ERROR' | 'WARNING' | 'INFO' | undefined;\n }): Promise<{ logged: boolean }> {\n Gleap.log(options.message, options.logLevel);\n\n return { logged: true };\n }\n\n async setEventCallback(callback: GleapEventCallback): Promise<string> {\n var callbackId = this.makeid(10);\n GleapWeb.callbacks[callbackId] = callback;\n return callbackId;\n }\n\n async sendSilentCrashReport(options: {\n description: string;\n severity?: 'LOW' | 'MEDIUM' | 'HIGH' | undefined;\n dataExclusion?:\n | {\n customData: Boolean;\n metaData: Boolean;\n attachments: Boolean;\n consoleLog: Boolean;\n networkLogs: Boolean;\n customEventLog: Boolean;\n screenshot: Boolean;\n replays: Boolean;\n }\n | undefined;\n }): Promise<{ sentSilentBugReport: boolean }> {\n Gleap.sendSilentCrashReport(\n options.description,\n options.severity,\n options.dataExclusion,\n );\n\n return { sentSilentBugReport: true };\n }\n\n async open(): Promise<{ openedWidget: boolean }> {\n Gleap.open();\n\n return { openedWidget: true };\n }\n\n async openFeatureRequests(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ openedFeatureRequests: boolean }> {\n Gleap.openFeatureRequests(options.showBackButton);\n\n return { openedFeatureRequests: true };\n }\n\n async openNews(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ openedNews: boolean }> {\n Gleap.openNews(options.showBackButton);\n\n return { openedNews: true };\n }\n\n async openNewsArticle(options: {\n articleId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openNewsArticle(options.articleId, options.showBackButton);\n\n return { opened: true };\n }\n\n async openHelpCenter(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openHelpCenter(options.showBackButton);\n\n return { opened: true };\n }\n\n async openHelpCenterArticle(options: {\n articleId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openHelpCenterArticle(options.articleId, options.showBackButton);\n\n return { opened: true };\n }\n\n async askAI(options: {\n question: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.askAI(options.question, options.showBackButton);\n\n return { opened: true };\n }\n\n async openHelpCenterCollection(options: {\n collectionId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openHelpCenterCollection(\n options.collectionId,\n options.showBackButton,\n );\n\n return { opened: true };\n }\n\n async searchHelpCenter(options: {\n term: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.searchHelpCenter(options.term, options.showBackButton);\n\n return { opened: true };\n }\n\n async close(): Promise<{ closedWidget: boolean }> {\n Gleap.close();\n\n return { closedWidget: true };\n }\n\n async isOpened(): Promise<{ isOpened: boolean }> {\n return { isOpened: Gleap.isOpened() };\n }\n\n async disableConsoleLogOverwrite(): Promise<{ consoleLogDisabled: boolean }> {\n Gleap.disableConsoleLogOverwrite();\n\n return { consoleLogDisabled: true };\n }\n\n async enableDebugConsoleLog(): Promise<{ debugConsoleLogEnabled: boolean }> {\n return { debugConsoleLogEnabled: true };\n }\n\n async preFillForm(options: {\n data: any;\n }): Promise<{ preFilledForm: boolean }> {\n Gleap.preFillForm(options.data);\n\n return { preFilledForm: true };\n }\n\n async addAttachment(_options: {\n base64data: string;\n name: string;\n }): Promise<{ attachmentAdded: boolean }> {\n throw this.unavailable('addAttachment not available for browsers');\n }\n\n async removeAllAttachments(): Promise<{ allAttachmentsRemoved: boolean }> {\n throw this.unavailable('removeAllAttachments not available for browsers');\n }\n\n async setNotificationContainerOffset(_options: {\n x: number;\n y: number;\n }): Promise<{ notificationContainerOffsetSet: boolean }> {\n return { notificationContainerOffsetSet: true };\n }\n\n private makeid(length: number): string {\n var result = '';\n var characters =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var charactersLength = characters.length;\n for (var i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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","sourcesContent":["import { WebPlugin } from '@capacitor/core';\nimport Gleap from 'gleap';\n\nimport type { GleapEventCallback, GleapPlugin } from './definitions';\n\nexport class GleapWeb extends WebPlugin implements GleapPlugin {\n static callbacks: { [key: string]: GleapEventCallback } = {};\n static initialized = false;\n static agentToolExecutionCounter = 0;\n\n private pendingAgentToolExecutions: {\n [executionId: string]: (result: string) => void;\n } = {};\n\n async initialize(options: {\n API_KEY: string;\n }): Promise<{ initialized: boolean }> {\n if (GleapWeb.initialized) {\n return { initialized: true };\n }\n\n Gleap.initialize(options.API_KEY);\n\n GleapWeb.initialized = true;\n this.registerCallbackListeners();\n\n return { initialized: true };\n }\n\n async setRegion(options: {\n region: 'eu' | 'us';\n }): Promise<{ region: string }> {\n if (!options?.region) {\n throw new Error('No region provided');\n }\n\n Gleap.setRegion(options.region);\n\n return { region: options.region };\n }\n\n async setApiUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setApiUrl(options.url);\n\n return { url: options.url };\n }\n\n async setWSApiUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setWSApiUrl(options.url);\n\n return { url: options.url };\n }\n\n async setRealtimeHost(options: { host: string }): Promise<{ host: string }> {\n if (!options?.host) {\n throw new Error('No host provided');\n }\n\n Gleap.setRealtimeHost(options.host);\n\n return { host: options.host };\n }\n\n async setFrameUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setFrameUrl(options.url);\n\n return { url: options.url };\n }\n\n async setBannerUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setBannerUrl(options.url);\n\n return { url: options.url };\n }\n\n async setModalUrl(options: { url: string }): Promise<{ url: string }> {\n if (!options?.url) {\n throw new Error('No url provided');\n }\n\n Gleap.setModalUrl(options.url);\n\n return { url: options.url };\n }\n\n registerCallbackListeners(): void {\n Gleap.on('open', () => {\n this.notifyCallbacks('open', {});\n });\n\n Gleap.on('initialized', () => {\n this.notifyCallbacks('initialized', {});\n });\n\n Gleap.on('close', () => {\n this.notifyCallbacks('close', {});\n });\n\n Gleap.on('feedback-sent', formData => {\n this.notifyCallbacks('feedback-sent', formData);\n });\n\n Gleap.on('outbound-sent', formData => {\n this.notifyCallbacks('outbound-sent', formData);\n });\n\n Gleap.on('tool-execution', toolExecution => {\n this.notifyCallbacks('tool-execution', toolExecution);\n });\n\n Gleap.on('flow-started', flow => {\n this.notifyCallbacks('flow-started', flow);\n });\n\n Gleap.on('error-while-sending', () => {\n this.notifyCallbacks('error-while-sending', {});\n });\n\n Gleap.on('unregister-pushmessage-group', groupName => {\n this.notifyCallbacks('unregister-pushmessage-group', groupName);\n });\n\n Gleap.on('register-pushmessage-group', groupName => {\n this.notifyCallbacks('register-pushmessage-group', groupName);\n });\n\n Gleap.on('unread-count-changed', groupName => {\n this.notifyCallbacks('notification-count-updated', groupName);\n });\n\n Gleap.registerCustomAction(customAction => {\n this.notifyCallbacks('custom-action-called', customAction);\n });\n }\n\n async registerAgentTool(options: { name: string }): Promise<void> {\n const gleapSdk = Gleap as any;\n if (typeof gleapSdk.registerAgentTool !== 'function') {\n console.warn(\n 'Gleap: registerAgentTool requires a newer version of the Gleap JS SDK.',\n );\n return;\n }\n\n gleapSdk.registerAgentTool(\n options.name,\n (params: any) =>\n new Promise<string>(resolve => {\n const executionId = `web-${++GleapWeb.agentToolExecutionCounter}`;\n this.pendingAgentToolExecutions[executionId] = resolve;\n\n this.notifyListeners('agentToolExecution', {\n executionId,\n name: options.name,\n params: params ?? {},\n });\n }),\n );\n }\n\n async sendAgentToolResult(options: {\n executionId: string;\n result: string;\n }): Promise<void> {\n const resolve = this.pendingAgentToolExecutions[options.executionId];\n if (resolve) {\n delete this.pendingAgentToolExecutions[options.executionId];\n resolve(options.result);\n }\n }\n\n async setTicketAttribute(options: {\n key: string;\n value: string;\n }): Promise<{ setTicketAttribute: boolean }> {\n Gleap.setTicketAttribute(options.key, options.value);\n\n return { setTicketAttribute: true };\n }\n\n async unsetTicketAttribute(options: {\n key: string;\n }): Promise<{ unsetTicketAttribute: boolean }> {\n Gleap.unsetTicketAttribute(options.key);\n\n return { unsetTicketAttribute: true };\n }\n\n async clearTicketAttributes(): Promise<{ clearTicketAttributes: boolean }> {\n Gleap.clearTicketAttributes();\n\n return { clearTicketAttributes: true };\n }\n\n notifyCallbacks(event: string, data: any): void {\n if (!GleapWeb.callbacks) {\n return;\n }\n\n for (var callbackId in GleapWeb.callbacks) {\n GleapWeb.callbacks[callbackId]({\n name: event,\n data,\n });\n }\n }\n\n async startClassicForm(options: {\n formId?: string | undefined;\n showBackButton?: boolean | undefined;\n }): Promise<{ classicFormStarted: boolean }> {\n Gleap.startClassicForm(options.formId ?? '', options.showBackButton);\n\n return { classicFormStarted: true };\n }\n\n async startConversation(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ conversationStarted: boolean }> {\n Gleap.startConversation(options.showBackButton);\n\n return { conversationStarted: true };\n }\n\n async openConversation(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ conversationsOpened: boolean }> {\n Gleap.openConversations(options.showBackButton);\n\n return { conversationsOpened: true };\n }\n\n async openConversations(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ conversationsOpened: boolean }> {\n Gleap.openConversations(options.showBackButton);\n\n return { conversationsOpened: true };\n }\n\n async showSurvey(options: {\n surveyId: string;\n format?: 'survey' | 'survey_full' | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.showSurvey(options.surveyId, options.format);\n\n return { opened: true };\n }\n\n async showFeedbackButton(options: {\n show: boolean;\n }): Promise<{ feedbackButtonShown: boolean }> {\n Gleap.showFeedbackButton(options.show ? true : false);\n\n return { feedbackButtonShown: true };\n }\n\n async setDisableInAppNotifications(options: {\n disableInAppNotifications?: boolean | undefined;\n }): Promise<{ inAppNotificationsDisabled: boolean }> {\n Gleap.setDisableInAppNotifications(\n options.disableInAppNotifications ?? false,\n );\n\n return { inAppNotificationsDisabled: true };\n }\n\n async setDisableEnvData(options: {\n disableEnvData: boolean;\n }): Promise<{ envDataDisabled: boolean }> {\n Gleap.setDisableEnvData(options.disableEnvData ?? false);\n\n return { envDataDisabled: true };\n }\n\n async setColorScheme(options: {\n colorScheme: 'auto' | 'light' | 'dark';\n lightBackgroundColor?: string;\n darkBackgroundColor?: string;\n }): Promise<{ colorScheme: string }> {\n if (!options?.colorScheme) {\n throw new Error('No colorScheme provided');\n }\n\n Gleap.setColorScheme(options.colorScheme, {\n lightBackgroundColor: options.lightBackgroundColor,\n darkBackgroundColor: options.darkBackgroundColor,\n });\n\n return { colorScheme: options.colorScheme };\n }\n\n async identify(options: {\n userId: string;\n userHash?: string | undefined;\n customData?: Record<string, any> | undefined;\n name?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n companyId?: string | undefined;\n companyName?: string | undefined;\n avatar?: string | undefined;\n sla?: number | undefined;\n plan?: string | undefined;\n value?: number | undefined;\n }): Promise<{ identify: boolean }> {\n var userData = {\n name: options.name,\n email: options.email,\n phone: options.phone,\n companyId: options.companyId,\n companyName: options.companyName,\n avatar: options.avatar,\n sla: options.sla,\n plan: options.plan,\n value: options.value,\n customData: options.customData,\n };\n if (options.userHash) {\n Gleap.identify(options.userId, userData, options.userHash);\n } else {\n Gleap.identify(options.userId, userData);\n }\n\n return { identify: true };\n }\n\n async updateContact(options: {\n name?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n companyId?: string | undefined;\n companyName?: string | undefined;\n avatar?: string | undefined;\n sla?: number | undefined;\n plan?: string | undefined;\n value?: number | undefined;\n customData?: Record<string, any> | undefined;\n }): Promise<{ identify: boolean }> {\n Gleap.updateContact(options);\n\n return { identify: true };\n }\n\n async setNetworkLogsBlacklist(options: {\n blacklist: string[];\n }): Promise<{ blacklistSet: boolean }> {\n Gleap.setNetworkLogsBlacklist(options.blacklist);\n\n return { blacklistSet: true };\n }\n\n async setNetworkLogPropsToIgnore(options: {\n propsToIgnore: string[];\n }): Promise<{ propsToIgnoreSet: boolean }> {\n Gleap.setNetworkLogPropsToIgnore(options.propsToIgnore);\n\n return { propsToIgnoreSet: true };\n }\n\n async attachNetworkLogs(): Promise<{ networkLogsAttached: boolean }> {\n // The JavaScript SDK records the page's requests itself on web.\n return { networkLogsAttached: false };\n }\n\n async attachConsoleLogs(): Promise<{ consoleLogsAttached: boolean }> {\n // The JavaScript SDK records the page's console itself on web.\n return { consoleLogsAttached: false };\n }\n\n async setEnvDataPropsToIgnore(options: {\n propsToIgnore: string[];\n }): Promise<{ envDataPropsToIgnoreSet: boolean }> {\n Gleap.setEnvDataPropsToIgnore(options.propsToIgnore);\n\n return { envDataPropsToIgnoreSet: true };\n }\n\n async setTags(options: { tags: string[] }): Promise<{ tagsSet: boolean }> {\n Gleap.setTags(options.tags);\n\n return { tagsSet: true };\n }\n\n async clearIdentity(): Promise<{ clearIdentity: boolean }> {\n Gleap.clearIdentity();\n\n return { clearIdentity: true };\n }\n\n async getIdentity(): Promise<{\n identity: {\n userId: string;\n name?: string | undefined;\n email?: string | undefined;\n phone?: string | undefined;\n companyId?: string | undefined;\n companyName?: string | undefined;\n avatar?: string | undefined;\n sla?: number | undefined;\n plan?: string | undefined;\n value?: number | undefined;\n };\n }> {\n return { identity: Gleap.getIdentity() };\n }\n\n async isUserIdentified(): Promise<{ isUserIdentified: boolean }> {\n return { isUserIdentified: Gleap.isUserIdentified() };\n }\n\n async attachCustomData(options: {\n data: any;\n }): Promise<{ attachedCustomData: boolean }> {\n Gleap.attachCustomData(options.data);\n\n return { attachedCustomData: true };\n }\n\n async setCustomData(options: {\n key: string;\n value: string;\n }): Promise<{ setCustomData: boolean }> {\n Gleap.setCustomData(options.key, options.value);\n\n return { setCustomData: true };\n }\n\n async removeCustomData(options: {\n key: string;\n }): Promise<{ removedCustomData: boolean }> {\n Gleap.removeCustomData(options.key);\n\n return { removedCustomData: true };\n }\n\n async clearCustomData(): Promise<{ clearedCustomData: boolean }> {\n Gleap.clearCustomData();\n\n return { clearedCustomData: true };\n }\n\n async trackEvent(options: {\n name: string;\n data?: any;\n }): Promise<{ loggedEvent: boolean }> {\n Gleap.trackEvent(options.name, options.data);\n\n return { loggedEvent: true };\n }\n\n async trackPage(options: {\n pageName: string;\n }): Promise<{ trackedPage: boolean }> {\n Gleap.trackEvent('pageView', {\n page: options.pageName,\n });\n\n return { trackedPage: true };\n }\n\n async startFeedbackFlow(options: {\n feedbackFlow?: string | undefined;\n showBackButton?: boolean | undefined;\n }): Promise<{ startedFeedbackFlow: boolean }> {\n if (!options.feedbackFlow) {\n }\n\n Gleap.startFeedbackFlow(\n options.feedbackFlow ?? 'bugreporting',\n options.showBackButton,\n );\n\n return { startedFeedbackFlow: true };\n }\n\n async startBot(options: {\n botId?: string | undefined;\n showBackButton?: boolean | undefined;\n }): Promise<{ startedBot: boolean }> {\n if (!options.botId) {\n }\n\n Gleap.startBot(options.botId ?? '', options.showBackButton);\n\n return { startedBot: true };\n }\n\n async setLanguage(options: {\n languageCode: string;\n }): Promise<{ setLanguage: string }> {\n Gleap.setLanguage(options.languageCode);\n\n return { setLanguage: options.languageCode };\n }\n\n async log(options: {\n message: string;\n logLevel?: 'ERROR' | 'WARNING' | 'INFO' | undefined;\n }): Promise<{ logged: boolean }> {\n Gleap.log(options.message, options.logLevel);\n\n return { logged: true };\n }\n\n async setEventCallback(callback: GleapEventCallback): Promise<string> {\n var callbackId = this.makeid(10);\n GleapWeb.callbacks[callbackId] = callback;\n return callbackId;\n }\n\n async sendSilentCrashReport(options: {\n description: string;\n severity?: 'LOW' | 'MEDIUM' | 'HIGH' | undefined;\n dataExclusion?:\n | {\n customData: Boolean;\n metaData: Boolean;\n attachments: Boolean;\n consoleLog: Boolean;\n networkLogs: Boolean;\n customEventLog: Boolean;\n screenshot: Boolean;\n replays: Boolean;\n }\n | undefined;\n }): Promise<{ sentSilentBugReport: boolean }> {\n Gleap.sendSilentCrashReport(\n options.description,\n options.severity,\n options.dataExclusion,\n );\n\n return { sentSilentBugReport: true };\n }\n\n async open(): Promise<{ openedWidget: boolean }> {\n Gleap.open();\n\n return { openedWidget: true };\n }\n\n async openChecklists(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openChecklists(options.showBackButton);\n\n return { opened: true };\n }\n\n async openChecklist(options: {\n checklistId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openChecklist(options.checklistId, options.showBackButton);\n\n return { opened: true };\n }\n\n async startChecklist(options: {\n outboundId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.startChecklist(options.outboundId, options.showBackButton);\n\n return { opened: true };\n }\n\n async openFeatureRequests(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ openedFeatureRequests: boolean }> {\n Gleap.openFeatureRequests(options.showBackButton);\n\n return { openedFeatureRequests: true };\n }\n\n async openNews(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ openedNews: boolean }> {\n Gleap.openNews(options.showBackButton);\n\n return { openedNews: true };\n }\n\n async openNewsArticle(options: {\n articleId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openNewsArticle(options.articleId, options.showBackButton);\n\n return { opened: true };\n }\n\n async openHelpCenter(options: {\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openHelpCenter(options.showBackButton);\n\n return { opened: true };\n }\n\n async openHelpCenterArticle(options: {\n articleId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openHelpCenterArticle(options.articleId, options.showBackButton);\n\n return { opened: true };\n }\n\n async askAI(options: {\n question: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.askAI(options.question, options.showBackButton);\n\n return { opened: true };\n }\n\n async openHelpCenterCollection(options: {\n collectionId: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.openHelpCenterCollection(\n options.collectionId,\n options.showBackButton,\n );\n\n return { opened: true };\n }\n\n async searchHelpCenter(options: {\n term: string;\n showBackButton?: boolean | undefined;\n }): Promise<{ opened: boolean }> {\n Gleap.searchHelpCenter(options.term, options.showBackButton);\n\n return { opened: true };\n }\n\n async close(): Promise<{ closedWidget: boolean }> {\n Gleap.close();\n\n return { closedWidget: true };\n }\n\n async isOpened(): Promise<{ isOpened: boolean }> {\n return { isOpened: Gleap.isOpened() };\n }\n\n async disableConsoleLogOverwrite(): Promise<{ consoleLogDisabled: boolean }> {\n Gleap.disableConsoleLogOverwrite();\n\n return { consoleLogDisabled: true };\n }\n\n async enableDebugConsoleLog(): Promise<{ debugConsoleLogEnabled: boolean }> {\n return { debugConsoleLogEnabled: true };\n }\n\n async preFillForm(options: {\n data: any;\n }): Promise<{ preFilledForm: boolean }> {\n Gleap.preFillForm(options.data);\n\n return { preFilledForm: true };\n }\n\n async addAttachment(_options: {\n base64data: string;\n name: string;\n }): Promise<{ attachmentAdded: boolean }> {\n throw this.unavailable('addAttachment not available for browsers');\n }\n\n async removeAllAttachments(): Promise<{ allAttachmentsRemoved: boolean }> {\n throw this.unavailable('removeAllAttachments not available for browsers');\n }\n\n async setNotificationContainerOffset(_options: {\n x: number;\n y: number;\n }): Promise<{ notificationContainerOffsetSet: boolean }> {\n return { notificationContainerOffsetSet: true };\n }\n\n private makeid(length: number): string {\n var result = '';\n var characters =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var charactersLength = characters.length;\n for (var i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n }\n}\n"]}
|