{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/services/copilot-service.service.ts","./src/app/core/services/study.service.ts","./src/app/home/chat-bot/chat-bot.component.ts","./src/app/home/chat-bot/chat-bot.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/nav-menu/nav-menu.component.ts","./src/app/nav-menu/nav-menu.component.html","./src/environments/environment.development.ts","./src/main.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","\r\n \r\n
\r\n \r\n
\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { ChatbotComponent } from './home/chat-bot/chat-bot.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n HomeComponent,\r\n ChatbotComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n FormsModule,\r\n RouterModule.forRoot([\r\n { path: '', component: HomeComponent, pathMatch: 'full' },\r\n { path: 'bot', component: ChatbotComponent, pathMatch: 'full'}\r\n ])\r\n ],\r\n providers: [],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { Observable, throwError, forkJoin } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\ninterface DirectLineDetails {\r\n directLineURL: string;\r\n token: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CopilotServiceService {\r\n\r\n constructor( private http: HttpClient) { }\r\n\r\n getDirectLineDetails(tokenEndpointURL: string, apiVersion: string, additionalParams?: { [key: string]: string }): Observable {\r\n let params = new HttpParams().set('api-version', apiVersion);\r\n\r\n if (additionalParams) {\r\n for (const key in additionalParams) {\r\n if (additionalParams.hasOwnProperty(key)) {\r\n params = params.set(key, additionalParams[key]);\r\n }\r\n }\r\n }\r\n\r\n const regionalChannelSettingsURL = new URL('/powervirtualagents/regionalchannelsettings', tokenEndpointURL).toString();\r\n const regionalChannelSettings$ = this.http.get<{ channelUrlsById: { directline: string } }>(regionalChannelSettingsURL, { params }).pipe(\r\n map(response => response.channelUrlsById.directline),\r\n catchError(this.handleError)\r\n );\r\n\r\n const token$ = this.http.get<{ token: string }>(tokenEndpointURL, { params }).pipe(\r\n map(response => response.token),\r\n catchError(this.handleError)\r\n );\r\n\r\n return forkJoin({\r\n directLineURL: regionalChannelSettings$,\r\n token: token$\r\n }).pipe(\r\n catchError(this.handleError)\r\n ) as Observable;\r\n }\r\n\r\n private handleError(error: HttpErrorResponse): Observable {\r\n let errorMessage = 'An unknown error occurred!';\r\n if (error.error instanceof ErrorEvent) {\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n return throwError(errorMessage);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StudyService {\r\n\r\n apiUrl: string = '';\r\n\r\n constructor(private http: HttpClient,\r\n @Inject('BASE_URL') baseUrl: string) { this.apiUrl = `${baseUrl}api` }\r\n\r\n isValidStudy(studyId: string): Observable {\r\n return this.http.post(`${this.apiUrl}/study`, { studyId: studyId }, {\r\n headers: new HttpHeaders({\r\n 'Accept': 'application/json', 'Cache-Control': 'no-store'\r\n })\r\n }\r\n );\r\n }\r\n}\r\n\r\ninterface IApiResponse {\r\n isSuccess: boolean;\r\n message: string;\r\n data: any;\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { firstValueFrom, merge } from 'rxjs';\r\nimport { CopilotServiceService } from 'src/app/core/services/copilot-service.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-chat-bot',\r\n templateUrl: './chat-bot.component.html',\r\n styleUrls: ['./chat-bot.component.css']\r\n})\r\nexport class ChatbotComponent {\r\n\r\n studyId!: string;\r\n\r\n constructor(\r\n private copilotService: CopilotServiceService,\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (sessionStorage.getItem('isLoggedIn') && sessionStorage.getItem('isLoggedIn') === 'true') {\r\n this.route.queryParams.subscribe(p => {\r\n this.studyId = p['studyId'];\r\n this.initializeWebChat();\r\n });\r\n } else {\r\n this.router.navigate(['/'], { queryParamsHandling: 'merge'} );\r\n }\r\n \r\n }\r\n\r\n async initializeWebChat() {\r\n try {\r\n const tokenUrl = environment.tokenEndpointURL.split('?')[0];;\r\n let url = new URL(environment.tokenEndpointURL);\r\n const apiVersion = url.searchParams.get('api-version') ?? '2022-03-01-preview'; // Fallback to 'default-version' if api-version is not found\r\n \r\n const additionalParams = { 'studyid': this.studyId };\r\n const directLineDetails = await firstValueFrom(this.copilotService.getDirectLineDetails(tokenUrl, apiVersion, additionalParams));\r\n \r\n // Ensure directLineDetails is not undefined\r\n if (!directLineDetails) {\r\n throw new Error('Failed to retrieve Direct Line details.');\r\n }\r\n\r\n const { directLineURL, token } = directLineDetails;\r\n const locale = document.documentElement.lang || 'en';\r\n const styleOptions = {\r\n hideUploadButton: true,\r\n accent: '#00809d',\r\n botAvatarBackgroundColor: '#FFFFFF',\r\n botAvatarImage: 'https://bot-framework.azureedge.net/bot-icons-v1/908e1a90-a6aa-469e-b1aa-ffaaba9b6da0_Gr0CYQ4KPEOi106FjsDuk2Pi6YJDatGGt8Md3V94vcmN8Oc.png',\r\n botAvatarInitials: 'BT',\r\n userAvatarImage: 'https://content.powerapps.com/resource/makerx/static/media/user.417aa99d.svg',\r\n userAvatarInitials: 'U'\r\n };\r\n\r\n const directLine = window.WebChat.createDirectLine({\r\n domain: new URL('v3/directline', directLineURL).toString(),\r\n token\r\n });\r\n\r\n const subscription = directLine.connectionStatus$.subscribe({\r\n next: (value: number) => {\r\n if (value === 2) { // 2 indicates connected\r\n directLine.postActivity({\r\n from: { id: 'user-id', name: 'User Name' },\r\n name: 'startConversation',\r\n type: 'event',\r\n locale: locale,\r\n value: this.studyId\r\n }).subscribe();\r\n\r\n subscription.unsubscribe(); // Unsubscribe once the event is sent\r\n }\r\n }\r\n });\r\n\r\n window.WebChat.renderWebChat({\r\n directLine,\r\n locale,\r\n styleOptions\r\n }, document.getElementById('webchat') as HTMLElement);\r\n } catch (error) {\r\n console.error('Failed to initialize Web Chat:', error);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

OPUS Chatbot

\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { StudyService } from '../core/services/study.service';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n isLoggedIn = false;\r\n hasAgreed = false;\r\n errorMessage = '';\r\n showErroMessage = false;\r\n studyId = '';\r\n\r\n constructor(\r\n private studyService: StudyService,\r\n private router: Router,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.route.queryParams.subscribe(p => {\r\n if (p['studyId']) {\r\n this.isValidStudyId(p['studyId']);\r\n } else {\r\n this.isLoggedIn = false;\r\n }\r\n })\r\n };\r\n\r\n isValidStudyId = (studyId: string) => {\r\n this.studyService.isValidStudy(studyId).subscribe({\r\n next: (res) => {\r\n this.isLoggedIn = res.isSuccess;\r\n sessionStorage.setItem('isLoggedIn', 'true');\r\n if (res.isSuccess) {\r\n this.studyId = studyId;\r\n this.showErroMessage = false;\r\n } else {\r\n this.errorMessage = `${studyId} is not a valid study id.`\r\n this.showErroMessage = true;\r\n }\r\n },\r\n error: (err) => {\r\n console.error(err);\r\n }\r\n })\r\n };\r\n \r\n goToBot = () => {\r\n this.router.navigate(['/bot'], { queryParams: { studyId: this.studyId } });\r\n };\r\n}\r\n","
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
\r\n \r\n User Guide\r\n
\r\n \r\n
{{errorMessage}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Welcome to OPUS!

\r\n

This chatbot is for research purposes only and should not be used in-place of an office visit or conversation with your healthcare provider.

\r\n

Please do not include any personal or identifying information (such as your name) within the chatbot.

\r\n

If you have an urgent question, please contact your healthcare provider.

\r\n

If you are experiencing a healthcare emergency please call 9-1-1.

\r\n

If you have any other questions, please email our study team: OPUSstudy@ccf.org

\r\n By clicking continue, I acknowledge that I have read the above and agree.\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n Your unique Study ID can be found on your enrollment document and is the same for both entering the chatbot and for completing surveys.\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent {\r\n isExpanded = false;\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \"logo\"\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n Home\r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n","\r\nexport const environment = {\r\n production: false,\r\n apiUrl: 'https://test.opuschatbot.ccf.org/api',\r\n tokenEndpointURL: 'https://03edc05b2fc4ebbda30179c2951f9d.15.environment.api.powerplatform.com/powervirtualagents/botsbyschema/ccf_opusChatbot/directline/token?api-version=2022-03-01-preview'\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":["AppComponent","constructor","title","_","_2","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","i0","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","BrowserModule","FormsModule","HttpClientModule","RouterModule","NavMenuComponent","HomeComponent","ChatbotComponent","AppModule","bootstrap","_3","forRoot","path","component","pathMatch","declarations","imports","i1","HttpParams","throwError","forkJoin","catchError","map","CopilotServiceService","http","getDirectLineDetails","tokenEndpointURL","apiVersion","additionalParams","params","set","key","hasOwnProperty","regionalChannelSettingsURL","URL","toString","regionalChannelSettings$","get","pipe","response","channelUrlsById","directline","handleError","token$","token","directLineURL","error","errorMessage","ErrorEvent","message","status","ɵɵinject","HttpClient","factory","ɵfac","providedIn","HttpHeaders","StudyService","baseUrl","apiUrl","isValidStudy","studyId","post","headers","firstValueFrom","environment","copilotService","route","router","ngOnInit","sessionStorage","getItem","queryParams","subscribe","p","initializeWebChat","navigate","queryParamsHandling","_this","_asyncToGenerator","tokenUrl","split","url","searchParams","directLineDetails","Error","locale","document","documentElement","lang","styleOptions","hideUploadButton","accent","botAvatarBackgroundColor","botAvatarImage","botAvatarInitials","userAvatarImage","userAvatarInitials","directLine","window","WebChat","createDirectLine","domain","subscription","connectionStatus$","next","value","postActivity","from","id","name","type","unsubscribe","renderWebChat","getElementById","console","ɵɵdirectiveInject","i2","ActivatedRoute","Router","ChatbotComponent_Template","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate","ctx_r5","ɵɵlistener","HomeComponent_div_1_form_3_Template_input_ngModelChange_6_listener","$event","ɵɵrestoreView","_r7","ctx_r6","ɵɵnextContext","ɵɵresetView","ɵɵtemplate","HomeComponent_div_1_form_3_div_7_Template","HomeComponent_div_1_form_3_Template_button_click_9_listener","ctx_r8","isValidStudyId","ɵɵproperty","ctx_r2","showErroMessage","HomeComponent_div_1_div_4_Template_button_click_18_listener","_r10","ctx_r9","hasAgreed","goToBot","HomeComponent_div_1_img_2_Template","HomeComponent_div_1_form_3_Template","HomeComponent_div_1_div_4_Template","HomeComponent_div_1_div_5_Template","ctx_r0","isLoggedIn","studyService","res","isSuccess","setItem","err","HomeComponent_Template","HomeComponent_div_1_Template","isExpanded","collapse","toggle","NavMenuComponent_Template","NavMenuComponent_Template_button_click_4_listener","ɵɵattribute","ɵɵpureFunction1","_c0","ɵɵpureFunction0","_c1","_c2","_c3","production","enableProdMode","getBaseUrl","getElementsByTagName","href","providers","provide","useFactory","deps","__NgCli_bootstrap_1","platformBrowser","bootstrapModule","catch","log"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}