PageSourceSearch

https://portal.sofy.ai/6924.fdea6caf5c689f61.js

js sofy.ai collected 2026-09-24 11:27:15 UTC 41,467 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunksofy_portal=self.webpackChunksofy_portal||[]).push([[6924,7840],{66924:(S,b,c)=>{c.r(b),c.d(b,{SofySenseComponent:()=>ne});var v=c(10467),M=c(83838),d=c(89417),C=c(69754),O=c(20951),f=c(60177),x=c(69081),i=c(44405),a=c(57184),e=c(54438),p=c(67990),u=c(55846),m=c(96791),P=c(21020),R=c(95608),T=c(47813),k=c(4227),I=c(83282),D=c(47840);const E=["scrollMe"],y=s=>({disable:s});function j(s,l){1&s&&(e.j41(0,"div",36)(1,"p"),e.EFF(2,"Loading..."),e.k0s()())}function w(s,l){1&s&&(e.j41(0,"div",36)(1,"p"),e.EFF(2,"No runs found"),e.k0s()())}function F(s,l){1&s&&(e.j41(0,"div",47),e.nrm(1,"span",48)(2,"span",49)(3,"span",50),e.k0s())}function A(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",51)(1,"textarea",52,2),e.bIt("input",function(n){e.eBV(t);const r=e.XpG(4);return e.Njj(r.updateTextareaHeight(n.target))}),e.EFF(3),e.k0s()()}if(2&s){const t=e.XpG().$implicit;e.R7$(3),e.SpI("",t.answer,"\n                                                    ")}}function U(s,l){if(1&s&&(e.j41(0,"div",39)(1,"div",40)(2,"h4",41),e.EFF(3),e.k0s()(),e.j41(4,"div",42)(5,"div",43),e.nrm(6,"app-svg-icons",44),e.k0s(),e.DNE(7,F,4,0,"div",45)(8,A,4,1,"div",46),e.k0s()()),2&s){const t=l.$implicit;e.R7$(3),e.JRh(t.question),e.R7$(4),e.Y8G("ngIf",!t.answer),e.R7$(),e.Y8G("ngIf",t.answer)}}function q(s,l){if(1&s&&(e.j41(0,"div",37),e.DNE(1,U,9,3,"div",38),e.k0s()),2&s){const t=e.XpG(2);e.R7$(),e.Y8G("ngForOf",t.chatResponse)}}function G(s,l){1&s&&(e.j41(0,"p",53),e.EFF(1,"Please enter question first"),e.k0s())}function N(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",15)(1,"div",16,1)(3,"div",17)(4,"p"),e.EFF(5,"With Co-Pilot, you can ask various questions about your test cases and test releases. We've added some sample questions to get you started, but feel free to ask anything that's on your mind."),e.k0s(),e.j41(6,"h5"),e.EFF(7,"Some things you can ask Co-Pilot about:"),e.k0s()(),e.j41(8,"div",18)(9,"div",19)(10,"label",20),e.nrm(11,"input",21),e.j41(12,"div",22),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.getDataFromOpenAI("Summarize my last test run"))}),e.j41(13,"h6"),e.EFF(14,"Summarize my last test run"),e.k0s()()(),e.j41(15,"label",23),e.nrm(16,"input",24),e.j41(17,"div",22),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.getDataFromOpenAI("What are my last ten results?"))}),e.j41(18,"h6"),e.EFF(19,"What are my last ten results?"),e.k0s()()(),e.j41(20,"label",25),e.nrm(21,"input",26),e.j41(22,"div",22),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.getDataFromOpenAI("Why did my last test run fail?"))}),e.j41(23,"h6"),e.EFF(24,"Why did my last test fail?"),e.k0s()()()(),e.DNE(25,j,3,0,"div",27)(26,w,3,0,"div",27),e.k0s(),e.DNE(27,q,2,1,"div",28),e.k0s(),e.j41(28,"div",29)(29,"div",30),e.DNE(30,G,2,0,"p",31),e.j41(31,"div",32)(32,"input",33),e.mxI("ngModelChange",function(n){e.eBV(t);const r=e.XpG();return e.DH7(r.question,n)||(r.question=n),e.Njj(n)}),e.bIt("keydown.enter",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.askQuestion())}),e.k0s(),e.j41(33,"button",34),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.askQuestion())}),e.nrm(34,"app-svg-icons",35),e.k0s()()()()()}if(2&s){const t=e.XpG();e.R7$(11),e.Y8G("disabled",t.disableQuestion),e.R7$(),e.Y8G("ngClass",e.eq3(11,y,t.disableQuestion)),e.R7$(4),e.Y8G("disabled",t.disableQuestion),e.R7$(),e.Y8G("ngClass",e.eq3(13,y,t.disableQuestion)),e.R7$(4),e.Y8G("disabled",t.disableQuestion),e.R7$(),e.Y8G("ngClass",e.eq3(15,y,t.disableQuestion)),e.R7$(3),e.Y8G("ngIf",t.disableQuestion&&!t.noRunFound),e.R7$(),e.Y8G("ngIf",t.noRunFound),e.R7$(),e.Y8G("ngIf",null==t.chatResponse?null:t.chatResponse.length),e.R7$(3),e.Y8G("ngIf",t.isQuestionAsked&&!t.question),e.R7$(2),e.R50("ngModel",t.question)}}function B(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",58)(1,"button",59),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.backToTopic())}),e.nrm(2,"app-svg-icons",60),e.EFF(3,"Back to topics"),e.k0s()()}}function $(s,l){1&s&&(e.j41(0,"div",17)(1,"p"),e.EFF(2,"Co-Pilot isn't limited to just answering questions about your recent tests - it can also help you get things done. We've got a few tasks to start you out with."),e.k0s(),e.j41(3,"h5"),e.
1EFF(4,"Co-Pilot can help with..."),e.k0s()())}function L(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",18)(1,"div",19)(2,"label",20),e.nrm(3,"input",61),e.j41(4,"div",62),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.getDataFromOpenAI("Creating a manual test case"))}),e.j41(5,"h6"),e.EFF(6,"Creating a manual test case"),e.k0s()()(),e.j41(7,"label",23),e.nrm(8,"input",63),e.j41(9,"div",62),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.getDataFromOpenAI("Security test cases"))}),e.j41(10,"h6"),e.EFF(11,"Security test cases"),e.k0s()()(),e.j41(12,"label",25),e.nrm(13,"input",64),e.j41(14,"div",62),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.getDataFromOpenAI("Performance test cases"))}),e.j41(15,"h6"),e.EFF(16,"Performance test cases"),e.k0s()()()()()}}function V(s,l){1&s&&(e.j41(0,"div",47),e.nrm(1,"span",48)(2,"span",49)(3,"span",50),e.k0s())}function X(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",51)(1,"textarea",52,2),e.bIt("input",function(n){e.eBV(t);const r=e.XpG(4);return e.Njj(r.updateTextareaHeight(n.target))}),e.EFF(3),e.k0s()()}if(2&s){const t=e.XpG().$implicit;e.R7$(3),e.SpI("",t.answer,"\n                                                    ")}}function Y(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",66)(1,"div",67)(2,"button",68),e.bIt("click",function(){e.eBV(t);const n=e.XpG(4),r=e.sdS(21);return e.Njj(n.createManualTestcaseModal(r))}),e.EFF(3,"Create Manual Test"),e.k0s()()()}}function W(s,l){if(1&s&&(e.j41(0,"div",39)(1,"div",40)(2,"h4",41),e.EFF(3),e.k0s()(),e.j41(4,"div",42)(5,"div",43),e.nrm(6,"app-svg-icons",44),e.k0s(),e.DNE(7,V,4,0,"div",45)(8,X,4,1,"div",46),e.k0s(),e.DNE(9,Y,4,0,"div",65),e.k0s()),2&s){const t=l.$implicit,o=e.XpG(3);e.R7$(3),e.JRh(t.question),e.R7$(4),e.Y8G("ngIf",!t.answer),e.R7$(),e.Y8G("ngIf",t.answer),e.R7$(),e.Y8G("ngIf",o.createManualTestButton&&("Create a manual test case"==t.question||"Security test cases"==t.question||"Performance test cases"==t.question))}}function K(s,l){if(1&s&&(e.j41(0,"div",37),e.DNE(1,W,10,4,"div",38),e.k0s()),2&s){const t=e.XpG(2);e.R7$(),e.Y8G("ngForOf",t.chatResponse)}}function z(s,l){1&s&&(e.j41(0,"p",53),e.EFF(1,"Please enter question first"),e.k0s())}function J(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",15),e.DNE(1,B,4,0,"div",54),e.j41(2,"div",16,1),e.DNE(4,$,5,0,"div",55)(5,L,17,0,"div",56)(6,K,2,1,"div",28),e.k0s(),e.j41(7,"div",29)(8,"div",30),e.DNE(9,z,2,0,"p",31),e.j41(10,"div",32)(11,"input",57),e.mxI("ngModelChange",function(n){e.eBV(t);const r=e.XpG();return e.DH7(r.question,n)||(r.question=n),e.Njj(n)}),e.bIt("keydown.enter",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.askQuestion())}),e.k0s(),e.j41(12,"button",34),e.bIt("click",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.askQuestion())}),e.nrm(13,"app-svg-icons",35),e.k0s()()()()()}if(2&s){const t=e.XpG();e.R7$(),e.Y8G("ngIf",t.goBack),e.R7$(3),e.Y8G("ngIf",!(null!=t.chatResponse&&t.chatResponse.length&&t.goBack)),e.R7$(),e.Y8G("ngIf",!t.goBack),e.R7$(),e.Y8G("ngIf",null==t.chatResponse?null:t.chatResponse.length),e.R7$(3),e.Y8G("ngIf",t.isQuestionAsked&&!t.question),e.R7$(2),e.R50("ngModel",t.question)}}function Q(s,l){if(1&s&&(e.qex(0),e.j41(1,"div",77)(2,"div",78)(3,"form")(4,"div",79),e.nrm(5,"app-input",80)(6,"app-input",81),e.k0s(),e.j41(7,"div",82),e.nrm(8,"app-input",80),e.k0s(),e.j41(9,"div",83),e.nrm(10,"app-input",80),e.k0s()()()(),e.bVm()),2&s){const t=e.XpG(2);e.R7$(5),e.Y8G("labelText","Test Case Name")("placeholder","Enter Case Name")("control",t.manualTestForm.get("LiveTestCaseName"))("isRequired",!0)("inputType",t.INPUT_TYPE.TEXT),e.R7$(),e.Y8G("labelText","Assigned To")("isRequired",!0)("inputType",t.INPUT_TYPE.DROPDOWN)("dropDownSelectMessage",t.selectedUser)("dropDownData",t.usersList)("isDropDownSearchEnable",!1),e.R7$(2),e.Y8G("labelText","Description")("placeholder","Enter Description")("control",t.manualTestForm.get("Description"))("isRequired",!0)("inputType",t.INPUT_TYPE.TEXTAREA),e.R7$(2),e.Y8G("labelText","Reproduction Steps")("placeholder","Enter Repro Steps")("control",t.manualTestForm.get("ReproSteps"))("isRequired",!0)("inputType",t.INPUT_TYPE.TEXTAREA)}}function H(s,l){if(1&s){const t=e.RV6();e.qex(0),e.j41(1,"div",77)(2,"div",84)(3,"p"),e.EFF(4,"Your test case, "),e.j41(5,"span",85),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.viewManualTestCase())}),e.EFF(6),e.k0s(),e.EFF(7,", has been created. "),e.k0s()()(),e.bVm()}if(2&s){const t=e.XpG(2);e.R7$(6),e.JRh(t.createdTestCaseName)}
1}function Z(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",86)(1,"button",87),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.closeManualModal())}),e.EFF(2,"Cancel"),e.k0s(),e.j41(3,"button",88),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.createManualTestCase())}),e.EFF(4,"Save Manual Test Case"),e.k0s()()}}function ee(s,l){if(1&s){const t=e.RV6();e.j41(0,"div",86)(1,"button",87),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.closeManualModal())}),e.EFF(2,"Close Window"),e.k0s(),e.j41(3,"button",88),e.bIt("click",function(){e.eBV(t);const n=e.XpG(2);return e.Njj(n.viewManualTestCase())}),e.EFF(4,"View Test Case"),e.k0s()()}}function te(s,l){if(1&s){const t=e.RV6();e.j41(0,"app-modal",69),e.bIt("close",function(){e.eBV(t);const n=e.XpG();return e.Njj(n.closeManualModal())}),e.qex(1,70),e.j41(2,"div",71)(3,"h3",72),e.EFF(4,"Create New Manual Test Case"),e.k0s()(),e.bVm(),e.qex(5,73),e.DNE(6,Q,11,21,"ng-container",74)(7,H,8,1,"ng-container",74),e.bVm(),e.qex(8,75),e.DNE(9,Z,5,0,"div",76)(10,ee,5,0,"div",76),e.bVm(),e.k0s()}if(2&s){const t=e.XpG();e.R7$(6),e.Y8G("ngIf",!t.ManualTestCaseCreeated),e.R7$(),e.Y8G("ngIf",t.ManualTestCaseCreeated),e.R7$(2),e.Y8G("ngIf",!t.ManualTestCaseCreeated),e.R7$(),e.Y8G("ngIf",t.ManualTestCaseCreeated)}}let ne=(()=>{class s{formBuilder;toasterService;storeService;releaseService;applicationService;testRunService;route;subscriptionService;modalService;manualTestRunsService;router;cdr;scrollContainer;reportRelease;manualTestForm=d.J3;applicationGUID="";chatResponse=[];selectedTab="Ask";pruneJsonURL;releaseId;INPUT_TYPE=O.D5.INPUT_TYPE;subscriptions=[];sofyGPTActive=!1;question;goBack=!1;isQuestionAsked=!1;isJiraKeyExist=!1;jiraEmail="";jiraURL="";jiraKey="";selectedUser="";DROPDOWN_DATATYPES=O.D5.DROPDOWN_DATATYPES;userGUID="";userID="";appId="";usersList=[];documentData="";nextJiraLink=!1;disableQuestion=!1;loadingAnswer=!1;createManualTestButton=!1;noRunFound=!1;ManualTestCaseCreeated=!1;createdTestCaseName;chatObject={model:"gpt-4.1",messages:[{role:"system",content:""},{role:"user"}]};constructor(t,o,n,r,g,_,h,se,oe,ie,ae,re){this.formBuilder=t,this.toasterService=o,this.storeService=n,this.releaseService=r,this.applicationService=g,this.testRunService=_,this.route=h,this.subscriptionService=se,this.modalService=oe,this.manualTestRunsService=ie,this.router=ae,this.cdr=re}ngOnInit(){this.disableQuestion=!0,this.getSelectedRelease(),this.subscriptions.push(this.route.params.subscribe(t=>{this.applicationGUID=t.appId,this.getJIRASettings(),this.applicationService.updatedApplicationInStore(this.applicationGUID)}),this.route.queryParams.subscribe(t=>{t.selectedTab&&(this.selectedTab=t.selectedTab)}),this.storeService.selectFromStore(C.dt).subscribe(t=>{this.userID=t.UserID,this.userGUID=t.EmpGuid?t.EmpGuid:t.UserGUID,this.userGUID&&this.getSubscriptionUsers()}),this.storeService.selectFromStore(C.jo).subscribe(t=>{this.appId=t?.ApplicationID.toString()})),this.initializeForm()}ngAfterViewInit(){this.scrollToBottom(),this.cdr.detectChanges()}scrollToBottom(){try{if(this.scrollContainer){const t=this.scrollContainer.nativeElement;t.scrollTop=t.scrollHeight}}catch{}}updateTextareaHeight(t){t&&(t.style.height="auto",t.style.height=t.scrollHeight+"px",this.cdr.detectChanges())}getSelectedRelease(){this.subscriptions.push(this.storeService.selectFromStore(C.Ex).subscribe(t=>{this.releaseId=t.ReleaseModelId,this.releaseId>0&&this.getReportRelease()}))}getJIRASettings(){this.applicationGUID&&this.subscriptions.push(this.applicationService.getJiraSetting(this.applicationGUID).subscribe(t=>{t.data.length?(this.jiraURL=t.data[0].PlatformUri,this.jiraKey=t.data[0].ProjectKey,this.jiraEmail=t.data[0].PlatformEmail,this.isJiraKeyExist=!0):this.isJiraKeyExist=!1}))}getDataFromConfluence(){this.nextJiraLink=!1;let t=M.hp.from(`${this.jiraEmail}:${this.jiraKey}`).toString("base64");const n=this.question.match(/\/(\d+)\//);this.subscriptions.push(this.applicationService.getDataFromConfluence(t,`${this.jiraURL}/wiki/rest/api/content/${n?n[1]:1}?expand=body.editor`).subscribe(_=>{this.documentData=_.body.editor.value,this.createManualTestCaseFromOpenAI()},_=>{this.chatResponse.push({question:"Create a manual test case",answer:""}),this.loadingAnswer=!1,this.question="",this.chatObject.messages[0].content=this.documentData,this.chatObject.messages[1].content="Create a manual test case",this.chatResponse[this.chatResponse.length-1].answer=this.isJiraKeyExist?"string"==typeof _.error?_.error:_.error.data.errors[0].message.translation:"To use this feature you would need to connect your Atlassian account under Application Manager -> Issue Tracking -> JIRA"}))}createManualTestCaseFromOpenAI(){this.chatResponse.push({question:"Create a manual test case",answer:""});let t=this.createManualTestButton;this.createManualTestButton=!1,this.question="",this.chatObject.messages[0].content=this.documentData,this.chatObject.messages[1].content="Create a manual test case from this data set.",this.subscriptions.push(this.applicationService.openAiChat(this.chatObject).subscribe(o=>{this.loadingAnswer=!1;let n=this.chatResponse.length;this.chatResponse[n-1].answer=o.choices[0].message.content,this.createManualTestButton=!0,this.manualTestForm.setValue({LiveTestCaseName:"Sofy Sense Test Case",ReproSteps:this.chatResponse[n-1].answer,Description:"Test created by Co-Pilot",AssignedUserID:this.userID,UserId:this.userID,Imported:!1,IsDeleted:!1})},o=>{this.createManualTestButton=t,this.loadingAnswer=!1,this.chatResponse[this.chatResponse.length-1].answer=o.error.error.message}))}createManualTestCase(){if("INVALID"===this.manualTestForm.status)return void("INVALID"===this.manualTestForm.controls.LiveTestCaseName.status?this.toasterService.ShowToastMessage("Invalid Test case Name","false"):"INVALID"===this.manualTestForm.controls.ReproSteps.status?this.toasterService.ShowToastMessage("Invalid Repro steps","fal
1se"):"INVALID"===this.manualTestForm.controls.AssignedUserID.status?this.toasterService.ShowToastMessage("Invalid User","false"):"INVALID"===this.manualTestForm.controls.Description.status&&this.toasterService.ShowToastMessage("Invalid Description","false"));const t=this.manualTestForm.value;this.subscriptions.push(this.manualTestRunsService.createManualTestCase(this.appId,t).subscribe(()=>{this.createdTestCaseName=t.LiveTestCaseName,this.initializeForm(),this.toasterService.ShowToastMessage("Manual Test Case created successfully."),this.ManualTestCaseCreeated=!0},o=>{const{userMessage:n}=o.error;this.toasterService.ShowToastMessage(n,"false")}))}initializeForm(){this.manualTestForm=this.formBuilder.group({LiveTestCaseName:["",[d.k0.required]],ReproSteps:["",[d.k0.required]],AssignedUserID:[this.userID,[d.k0.required]],UserId:[this.userID],Description:["",[d.k0.required]],Imported:[!1,[d.k0.required]],IsDeleted:[!1,[d.k0.required]]})}viewManualTestCase(){this.closeManualModal(),this.router.navigate([`/app/${this.applicationGUID}/manualtests/${this.appId}/${this.releaseId}`],{queryParams:{selectedTab:"manualTestCases",pageNo:1}})}getReportRelease(){this.subscriptions.push(this.releaseService.releaseReport(this.releaseId).subscribe(t=>{this.reportRelease=t,0==this.reportRelease.last_ten_runs.length&&(this.noRunFound=!0),this.chatObject.messages[0].content=JSON.stringify(this.reportRelease),this.getReportJson(),this.getAllScenariosJSON()}))}getSubscriptionUsers(){this.subscriptions.push(this.storeService.selectFromStore(C.fq).subscribe(t=>{this.selectedUser=t[0].Email,this.transformDropDownData(t)}))}transformDropDownData(t){this.usersList=t.map(o=>({title:o.Email,type:this.DROPDOWN_DATATYPES.CLASS,imageSource:"fa fa-user-o",isMulti:!1,value:o.UserID}))}getDataFromOpenAI(t){if(this.disableQuestion&&!this.loadingAnswer&&"Ask"==this.selectedTab)return;let o=this.createManualTestButton;if(this.createManualTestButton=!1,"Ask"===this.selectedTab)this.chatObject.messages[0].content="Why did my last test run fail?"===t||"Summarize my last test run"===t?this.pruneJsonURL:JSON.stringify(this.reportRelease);else if((this.selectedTab="Create")&&(this.chatObject.messages[0].content="","Creating a manual test case"===t)){if(this.goBack=!0,this.question="",this.isQuestionAsked=!1,!this.chatResponse.find(g=>g.question===t)){this.chatResponse.push({question:t,answer:""}),this.chatObject.messages[1].content=t;let g=this.chatResponse.length;this.isJiraKeyExist?(this.chatResponse[g-1].answer="Let's get you started ! Please provide a valid confluence document link in the chat below.",this.nextJiraLink=!0):this.chatResponse[g-1].answer="To use this feature you would need to connect your Atlassian account under Application Manager -> Issue Tracking -> JIRA"}return}let n=this.chatResponse.find(r=>r.question===t);this.question="",this.isQuestionAsked=!1,n||(this.chatResponse.push({question:t,answer:""}),"What are my last ten results?"==t?t="What are my last_ten_runs. The data is provided in prune JSON. Explain summary of each test run in a new line with bullet points. The date should be formatted. 888":"Why did my last test run fail?"==t?t="Status of my test run and if it is failed tell us the reason of failure and recommend some precautions to avoid this faliure.":"Security test cases"==t?t="How do I ensure my tests follow OWASP security best practices ?":"Performance test cases"==t&&(t="What are some best practices for creating a performance test for mobile application ?"),"Ask"==this.selectedTab&&(t+=". Analyze the given data and respond from this data. If you are unable to find answer from this data then dont try to answer."),this.chatObject.messages[1].content=t+=" Return your response in a formatted professional paragraph. ",this.subscriptions.push(this.applicationService.openAiChat(this.chatObject).subscribe(r=>{this.loadingAnswer=!1;let g=this.chatResponse.length;this.chatResponse[g-1].answer=r.choices[0].message.content,("How do I ensure my tests follow OWASP security best practices ? Return your response in formatted paragraph "===t||"What are some best practices for creating a performance test for my application ? Return your response in formatted paragraph "===t)&&(this.createManualTestButton=!0,this.manualTestForm.setValue({LiveTestCaseName:"Sofy Sense Test Case",ReproSteps:this.chatResponse[g-1].answer,Description:"Test created by Co-Pilot",AssignedUserID:this.userID,UserId:this.userID,Imported:!1,IsDeleted:!1})),this.cdr.detectChanges(),setTimeout(()=>{document.querySelectorAll(".gpt-ans-para").forEach(h=>{h instanceof HTMLTextAreaElement&&this.updateTextareaHeight(h)}),this.scrollToBottom()})},r=>{this.createManualTestButton=o,this.loadingAnswer=!1,this.chatResponse[this.chatResponse.length-1].answer=r.error.error.message,this.cdr.detectChanges(),setTimeout(()=>{document.querySelectorAll(".gpt-ans-para").forEach(h=>{h instanceof HTMLTextAreaElement&&this.updateTextareaHeight(h)}),this.scrollToBottom()})})))}questionError(){this.chatResponse.push({question:this.question,answer:""}),this.loadingAnswer=!1,this.chatObject.messages[0].content=this.documentData,this.chatObject.messages[1].content=this.question,this.question="",this.chatResponse[this.chatResponse.length-1].answer="Please note that only valid Confluence links are accepted in the Create Test Cases tab. If you would like to ask Co-Pilot a question, please switch to the Ask a Question tab."}askQuestion(){this.loadingAnswer||(this.loadingAnswer=!0,"Create"===this.selectedTab?this.question.includes(this.jiraURL)?this.getDataFromConfluence():this.questionError():(this.isQuestionAsked=!0,this.question&&this.getDataFromOpenAI(this.question)))}getReportJson(){this.reportRelease.last_ten_runs[0]?.prune_json_url&&this.subscriptions.push(this.testRunService.getScenarioStepsByUrlParam(this.reportRelease.last_ten_runs[0].prune_json_url).subscribe(t=>{this.pruneJsonURL=JSON.stringify(t),this.disableQuestion=!1}))}getAllScenariosJSON(){var t=this;return(0,v.A)(function*(){try{let o=[],n=[];t.reportRelease.last_ten_runs.forEach((g,_)=>{g.prune_json_url&&(o.push(t.testRunService.getMinifiedJSON(g.prune_json_url)),n.push(_))}
1),(yield Promise.all(o)).forEach((g,_)=>{t.reportRelease.last_ten_runs[n[_]].prune_json_url=JSON.stringify(g)})}catch{}})()}backToTopic(){this.goBack=!1}switchTab(t){this.selectedTab=t,this.chatResponse=[],this.backToTopic(),this.loadingAnswer=!1}ngOnDestroy(){this.subscriptions.map(t=>t.unsubscribe())}createManualTestcaseModal(t){this.modalService.open(t,{size:"lg",centered:!0,windowClass:"sofy-modal"})}closeManualModal(){this.modalService.dismissAll()}static \u0275fac=function(o){return new(o||s)(e.rXU(d.ze),e.rXU(p.W),e.rXU(u.n),e.rXU(m.p),e.rXU(P.m),e.rXU(R.S),e.rXU(T.nX),e.rXU(k.n),e.rXU(I.Bq),e.rXU(D.Y),e.rXU(T.Ix),e.rXU(e.gRc))};static \u0275cmp=e.VBU({type:s,selectors:[["app-sofy-sense"]],viewQuery:function(o,n){if(1&o&&e.GBs(E,5),2&o){let r;e.mGM(r=e.lsd())&&(n.scrollContainer=r.first)}},standalone:!0,features:[e.aNF],decls:22,vars:4,consts:[["createManualTestcase",""],["scrollMe",""],["textareaHeight",""],[1,"content-card","sofysense-wrapper"],[1,"sofysense-body"],[1,"sofysense-header"],[1,"sofysense-bot"],["name","sofybotfill",1,"sofyicon"],[1,"sofysense-overview"],[1,"sofysense-content"],[1,"custom-tabs-wrapper"],[1,"custom-tab-pills"],[1,"tab-pill",3,"click","ngClass"],[1,"custom-tab-content-body"],["class","tab-content sofygpt-tab-content","id","",4,"ngIf"],["id","",1,"tab-content","sofygpt-tab-content"],[1,"sofygpt-body"],[1,"sofygpt-tab-into"],[1,"gpt-predefine-ques"],[1,"gpt-pre-ques-body"],["for","left",1,"pre-ques"],["type","radio","id","left","name","alignment","value","left",1,"peer",3,"disabled"],[1,"pre-ques-content",3,"click","ngClass"],["for","center",1,"pre-ques"],["type","radio","id","center","name","alignment","value","center",1,"peer",3,"disabled"],["for","right",1,"pre-ques"],["type","radio","id","right","name","alignment","value","right",1,"peer",3,"disabled"],["class","error-msg",4,"ngIf"],["class","gpt-response-wrap",4,"ngIf"],[1,"sofygpt-footer"],[1,"gpt-new-ques"],["class","validation-note",4,"ngIf"],[1,"input-group","custom-input-holder"],["type","text","placeholder","Ask me anything about your current release... ",1,"form-control","transparent-input",3,"ngModelChange","keydown.enter","ngModel"],["type","button",1,"field-icon","input-btn",3,"click"],["name","send_plan"],[1,"error-msg"],[1,"gpt-response-wrap"],["class","gpt-post-card",4,"ngFor","ngForOf"],[1,"gpt-post-card"],[1,"gpt-post-header"],[1,"gpt-ques-title","chat-icon"],[1,"gpt-ans-block"],[1,"gpt-ans-bot"],["name","sofyRightIcon"],["class","text-loader",4,"ngIf"],["class","gpt-ans-content",4,"ngIf"],[1,"text-loader"],[1,"skeleton-box",2,"width","80%"],[1,"skeleton-box",2,"width","90%"],[1,"skeleton-box",2,"width","70%"],[1,"gpt-ans-content"],["readonly","",1,"gpt-ans-para",3,"input"],[1,"validation-note"],["class","sofygpt-topics",4,"ngIf"],["class","sofygpt-tab-into",4,"ngIf"],["class","gpt-predefine-ques",4,"ngIf"],["type","text","placeholder","Please provide a valid confluence document link",1,"form-control","transparent-input",3,"ngModelChange","keydown.enter","ngModel"],[1,"sofygpt-topics"],["type","button",1,"back-topics-link",3,"click"],["name","smallPrevArrow"],["type","radio","id","left","name","alignment","value","left",1,"peer"],[1,"pre-ques-content",3,"click"],["type","radio","id","center","name","alignment","value","center",1,"peer"],["type","radio","id","right","name","alignment","value","right",1,"peer"],["class","gpt-footer-action",4,"ngIf"],[1,"gpt-footer-action"],[1,"gpt-create-manual","text-center"],["type","button",1,"btn-green-outline","btn-reg",3,"click"],[3,"close"],["modalHeader",""],[1,"modal-header"],[1,"head-title"],["modalBody",""],[4,"ngIf"],["modalFooter",""],["class","modal-footer-buttons",4,"ngIf"],[1,"modal-body","modal-inner-body"],[1,"add-manual-testcase"],[1,"input-group"],[3,"labelText","placeholder","control","isRequired","inputType"],[3,"labelText","isRequired","inputType","dropDownSelectMessage","dropDownData","isDropDownSearchEnable"],[1,"add-manual-testcase-description"],[1,"add-manual-testcase-textarea"],[1,"add-manual-testcase-message"],[3,"click"],[1,"modal-footer-buttons"],["data-dismiss","modal",1,"btn-gray-outline","btn-reg",3,"click"],[1,"btn-green-outline","btn-reg",3,"click"]],template:function(o,n){if(1&o){const r=e.RV6();e.j41(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6),e.nrm(4,"app-svg-icons",7),e.k0s(),e.j41(5,"div",8)(6,"h5"),e.
1EFF(7,"Co-Pilot"),e.k0s(),e.j41(8,"p"),e.EFF(9,"Co-Pilot can help you gain further insights and meaning from using Sofy. Think of Co-Pilot as your personal assistant, helping you better analyze your results, create test cases and much more."),e.k0s()()(),e.j41(10,"div",9)(11,"div",10)(12,"div",11)(13,"span",12),e.bIt("click",function(){return e.eBV(r),e.Njj(n.switchTab("Ask"))}),e.EFF(14,"Ask a question"),e.k0s(),e.j41(15,"span",12),e.bIt("click",function(){return e.eBV(r),e.Njj(n.switchTab("Create"))}),e.EFF(16,"Create test cases"),e.k0s()(),e.j41(17,"div",13),e.DNE(18,N,35,17,"div",14)(19,J,14,6,"div",14),e.k0s()()()()(),e.DNE(20,te,11,4,"ng-template",null,0,e.C5r)}2&o&&(e.R7$(13),e.Y8G("ngClass","Ask"===n.selectedTab?"selected":""),e.R7$(2),e.Y8G("ngClass","Create"===n.selectedTab?"selected":""),e.R7$(3),e.Y8G("ngIf","Ask"===n.selectedTab),e.R7$(),e.Y8G("ngIf","Create"===n.selectedTab))},dependencies:[f.MD,f.YU,f.Sq,f.bT,d.YN,d.qT,d.me,d.BC,d.cb,d.vS,d.cV,x.z,i.S,a.A],styles:['.sofysense-wrapper[_ngcontent-%COMP%]{height:100%}.sofysense-body[_ngcontent-%COMP%]{background:#fff;border:1px solid #EFEFEF;box-shadow:0 2px 4px #0000000d;border-radius:3px;max-width:1040px;margin:1rem auto;padding:40px 7rem}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]{display:flex;text-align:center;padding-bottom:30px}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]   .sofysense-bot[_ngcontent-%COMP%]{margin-right:20px}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]   .sofysense-bot[_ngcontent-%COMP%]   app-svg-icons[_ngcontent-%COMP%]{display:block}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]   .sofysense-bot[_ngcontent-%COMP%]   app-svg-icons[_ngcontent-%COMP%]  svg{width:64px;height:auto;display:block;transition:all .2s ease-in-out}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]   .sofysense-overview[_ngcontent-%COMP%]{text-align:left}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]   .sofysense-overview[_ngcontent-%COMP%]   h5[_ngcontent-%COMP%]{font-size:18px;font-weight:700;line-height:normal;color:#060c3b;margin:0 0 4px}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]   .sofysense-overview[_ngcontent-%COMP%]   h5[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{font-size:9px;color:#ff6a61;text-transform:uppercase;margin-left:4px;vertical-align:text-top}.sofysense-body[_ngcontent-%COMP%]   .sofysense-header[_ngcontent-%COMP%]   .sofysense-overview[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:13px;font-weight:500;line-height:22px;color:#000;margin:0}.sofygpt-tab-content[_ngcontent-%COMP%]{background:#f4f0ea;border:1px solid #EFEFEF;border-radius:4px;box-shadow:0 2px #0000000d;margin:0;padding:24px 40px}.sofygpt-tab-content[_ngcontent-%COMP%]   .sofygpt-tab-into[_ngcontent-%COMP%]{border-bottom:1px solid #DDDDDD;padding:0 0 10px;margin-bottom:15px}.sofygpt-tab-content[_ngcontent-%COMP%]   .sofygpt-tab-into[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:13px;font-weight:500;line-height:22px;color:#000;margin:0}.sofygpt-tab-content[_ngcontent-%COMP%]   .sofygpt-tab-into[_ngcontent-%COMP%]   h5[_ngcontent-%COMP%]{font-size:15px;font-weight:700;line-height:normal;color:#000;margin:12px 0 0}.sofygpt-topics[_ngcontent-%COMP%]{margin-bottom:15px}.sofygpt-topics[_ngcontent-%COMP%]   .back-topics-link[_ngcontent-%COMP%]{background:transparent;border:none;outline:none;font-family:Nunito Sans,sans-serif;font-size:16px;font-weight:800;line-height:normal;color:#000;margin:0}.sofygpt-topics[_ngcontent-%COMP%]   .back-topics-link[_ngcontent-%COMP%]   app-svg-icons[_ngcontent-%COMP%]{margin-right:10px}.sofygpt-topics[_ngcontent-%COMP%]   .back-topics-link[_ngcontent-%COMP%]  svg{width:8px;height:12px}.sofygpt-topics[_ngcontent-%COMP%] ~ .sofygpt-body[_ngcontent-%COMP%]{max-height:calc(100vh - 472px)}.sofygpt-topics[_ngcontent-%COMP%] ~ .sofygpt-body[_ngcontent-%COMP%]   .gpt-response-wrap[_ngcontent-%COMP%]{margin-top:0}.sofygpt-body[_ngcontent-%COMP%]{padding:0 10px;margin:0 -10px;max-height:calc(100vh - 430px);overflow-y:auto}.sofygpt-footer[_ngcontent-%COMP%]{background:#f4f0ea;padding:.75rem 0;position:sticky;bottom:0}.gpt-predefine-ques[_ngcontent-%COMP%]   .gpt-predefine-header[_ngcontent-%COMP%]   .gpt-ques-title[_ngcontent-%COMP%]{font-family:Nunito Sans,sans-serif;font-size:15px;font-weight:800;line-height:normal;color:#000;margin:auto 0 10px}.gpt-pre-ques-body[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:20px;row-gap:10px}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]{margin:0}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   input[type=radio][_ngcontent-%COMP%]{display:none}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   .pre-ques-content[_ngcontent-%COMP%]{background:#fff;border:1px solid #00d184;border-radius:2rem;padding:6px 18px;margin:0;transition:all .2s ease-in-out}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   .pre-ques-content[_ngcontent-%COMP%]   h6[_ngcontent-%COMP%]{font-size:13px;font-weight:700;line-height:normal;color:#060c3b;margin:0}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   .pre-ques-content[_ngcontent-%COMP%]:hover{cursor:pointer;background:#00d1840d}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   .peer[_ngcontent-%COMP%]:checked ~ .pre-ques-content[_ngcontent-%COMP%]{background:#00d184}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   .peer[_ngcontent-%COMP%]:checked ~ .pre-ques-content[_ngcontent-%COMP%]   h6[_ngcontent-%COMP%]{color:#fff}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   .pre-ques-content.disable[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.6}.gpt-pre-ques-body[_ngcontent-%COMP%]   .pre-ques[_ngcontent-%COMP%]   .pre-ques-content.disable[_ngcontent-%COMP%]:hover{cursor:not-allowed;pointer-events:none;background:#fff}.gpt-response-wrap[_ngcontent-%COMP%]{margin-top:15px}.gpt-post-card[_ngcontent-%COMP%]{background:#fff;border:1px solid #D7D7D7;border-radius:3px;margin-top:.75rem}.gpt-post-card[_ngcontent-%COMP%]:first-child{margin-top:0}.gpt-post-card[_ngcontent-%COMP%]   .gpt-post-header[_ngcontent-%COMP%]{background:#ffca3f4d;border-bottom:1px solid #D7D7D7;border-top-right-radius:3px;border-top-left-radius:3px;display:flex;justify-content:space-between;align-items:center;min-height:45px;padding:5px 16px}.gpt-post-card[_ngcontent-%COMP%]   .gpt-post-header[_ngcontent-%COMP%]   .gpt-ques-title[_ngcontent-%COMP%]{font-size:13px;font-weight:700;line-height:normal;color:#000;margin:auto 0}.gpt-post-card[_ngcontent-%COMP%]   .chat-icon[_ngcontent-%COMP%]{position:relative;padding-left:2rem}.gpt-post-card[_ngcontent-%COMP%]   .chat-icon[_ngcontent-%COMP%]:before{content:"";position:absolute;top:0;left:0;display:block;width:19px;height:17px;background:#f5f5f5;border:1.5px solid #060c3b;border-radius:8px 8px 0}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]{display:grid;grid-template-columns:54px 1fr;column-gap:20px;align-items:start;padding:16px;margin:0}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-bot[_ngcontent-%COMP%]  svg{width:100%;height:100%}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .gpt-ans-title[_ngcontent-%COMP%]{font-size:13px;font-weight:700;line-height:normal;color:#000;margin:0;margin-bottom:.4rem}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .gpt-ans-para[_ngcontent-%COMP%]{font-size:13px;font-weight:500;line-height:26px;color:#000;margin:0;word-break:break-word;resize:none;border:none;border-radius:0;padding:0}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .gpt-ans-bullets[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .gpt-ans-bullets[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{font-size:13px;font-weight:500;line-height:20px;color:#000;margin:0;margin-bottom:.4rem}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .gpt-ans-bullets[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]:last-child{margin-bottom:0}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .gpt-ans-bullets[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   b[_ngcontent-%COMP%]{font-weight:700}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .gpt-ans-bullets[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   b.text-green[_ngcontent-%COMP%]{color:#00d184}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .count-bullets[_ngcontent-%COMP%]{padding-left:22px}.gpt-post-card[_ngcontent-%COMP%]   .gpt-ans-block[_ngcontent-%COMP%]   .gpt-ans-content[_ngcontent-%COMP%]   .count-bullets[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{list-style:decimal}.gpt-post-card[_ngcontent-%COMP%]   .gpt-footer-action[_ngcontent-%COMP%]{border-top:1px solid #D7D7D7;padding:15px 20px}.gpt-ans-actions[_ngcontent-%COMP%]{margin-top:6px}.gpt-ans-actions[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{margin:0;padding:0;list-style:none}.gpt-ans-actions[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{list-style:none;display:inline-block;vertical-align:middle;margin:0 15px 0 0}.gpt-ans-actions[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]:last-child{margin-right:0}.gpt-ans-actions[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{font-size:13px;font-weight:700;line-height:normal;color:#00d184;margin:0;text-decoration:none;transition:all .25s ease-in-out}.gpt-ans-actions[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]:hover{color:#060c3b}.gpt-ans-feedback[_ngcontent-%COMP%]{margin:0;text-align:center}.gpt-ans-feedback[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{display:inline-flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;margin:0;list-style:none}.gpt-ans-feedback[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{margin-left:10px;padding:2px}.gpt-ans-feedback[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]:first-child{margin-left:0}.gpt-ans-feedback[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   .feedback-icon[_ngcontent-%COMP%]   app-svg-icons[_ngcontent-%COMP%]{display:block}.gpt-ans-feedback[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   .feedback-icon[_ngcontent-%COMP%]  svg{width:18px;height:auto;display:block;transition:all .2s ease-in-out}.gpt-ans-feedback[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   .feedback-icon[_ngcontent-%COMP%]  svg:hover path{f
1ill:#00d184}.gpt-ans-feedback[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]   .feedback-icon.active[_ngcontent-%COMP%]  svg path{fill:#00d184}.gpt-new-ques[_ngcontent-%COMP%]{margin:0;width:100%}.sofygpt-sponser[_ngcontent-%COMP%]{display:block;margin:6px 0 0}.sofygpt-sponser[_ngcontent-%COMP%]   .sponser-icon[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin:0 6px 0 0;border-radius:2px;overflow:hidden;width:20px;height:20px;padding:1px}.sofygpt-sponser[_ngcontent-%COMP%]   .sponser-icon[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{display:block;object-fit:cover;width:100%;height:auto}.sofygpt-sponser[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;font-family:Nunito Sans,sans-serif;font-size:12px;font-weight:800;line-height:normal;color:#595b6c;margin:0}.text-loader[_ngcontent-%COMP%]   .skeleton-box[_ngcontent-%COMP%]{display:inline-block;height:10px;position:relative;overflow:hidden;background-color:#dddbdd;border-radius:10px}.text-loader[_ngcontent-%COMP%]   .skeleton-box[_ngcontent-%COMP%]:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:_ngcontent-%COMP%_shimmer 2s infinite;content:""}@keyframes _ngcontent-%COMP%_shimmer{to{transform:translate(100%)}}.validation-note[_ngcontent-%COMP%]{font-size:12px;font-weight:400;line-height:normal;color:#ff6a61;margin:0 0 5px}.add-manual-testcase[_ngcontent-%COMP%]   .input-group[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 210px;align-items:flex-end;column-gap:20px}.add-manual-testcase[_ngcontent-%COMP%]  .dropdown_wrpr .selected_value_div{text-overflow:ellipsis;overflow:hidden}.add-manual-testcase[_ngcontent-%COMP%]   .add-manual-testcase-description[_ngcontent-%COMP%]  .input-group textarea{height:44px}.add-manual-testcase[_ngcontent-%COMP%]   .add-manual-testcase-textarea[_ngcontent-%COMP%]  .input-group textarea{min-height:260px}.error-msg[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:12px;font-weight:500;line-height:16px;color:#ff6a61;margin:6px auto;text-align:left}.add-manual-testcase-message[_ngcontent-%COMP%]{text-align:center}.add-manual-testcase-message[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:15px;font-weight:500;line-height:normal;color:#000;margin:auto}.add-manual-testcase-message[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{font-weight:700;color:#00d184;cursor:pointer}']})}return s})()},47840:(S,b,c)=>{c.d(b,{Y:()=>O});var v=c(96354),M=c(54438),d=c(3366),C=c(345);let O=(()=>{class f{apiService;sanitize;constructor(i,a){this.apiService=i,this.sanitize=a}getManualTestRunsList(i,a,e,p,u){let m=`/mobile-microservice/manual-tests/${i}/release/${a}/runs/${e}?pageNo=${p}`;return u&&(m+=`&filter=${encodeURIComponent(u)}`),this.apiService.get(m)}getManualTestCaseList(i,a,e=""){let p=`/mobile-microservice/manual-tests/${i}?pageNo=${a}`;return e&&(p+=`&filter=${encodeURIComponent(e)}`),this.apiService.get(p)}createManualTestCase(i,a){return this.apiService.post(`/mobile-microservice/manual-tests/${i}`,a)}updateManualTestCase(i,a){return this.apiService.put(`/mobile-microservice/manual-test/${i}`,a)}getManualTestRunsDetails(i,a,e,p,u){let m=`/mobile-microservice/manual-test/release/${i}/runs/${a}?appPackageId=${u}&`;return e&&(m+=`listFilter=${e}&`),p&&(m+=`filter=${p}`),this.apiService.get(m)}changeManualTestRunStatus(i,a){return this.apiService.put(`/mobile-microservice/manual-test/runs/${i}/delete`,{Deleted:a})}convertManualTestCaseToAutomatedTestCase(i,a){return this.apiService.post(`/mobile-microservice/manual-test/${i}/convert-to-automated`,a)}getManualTestRunSummary(i){return this.apiService.get(`/mobile-microservice/manual-test/runs/${i}`)}getManualTestRunSummaryByURL(i){return this.apiService.getFromOuter(i)}getManualTestRunsIssues(i,a,e,p){return this.apiService.get(`/api/Applications/${i}/Tests/${a}/TestResult/${e}/Issue/${p}`).pipe((0,v.T)(m=>m[0]))}createManualTestAsBatch(i,a){return this.apiService.post(`/mobile-microservice/manual-tests/${i}/from-csv`,a)}getClusterData(i,a,e){return this.apiService.get(`/api/SofyExplore/applications/${i}/GetSofyExplore/${a}/Type/${e}`)}getClusterJson(i){return this.apiService.getFromOuter(i).pipe((0,v.T)(a=>a.map(e=>({key:e.clusterName,name:"",screens:e.screens.map(p=>(p.screen=p.screen.includes("http")?p.screen:this.sanitize.bypassSecurityTrustResourceUrl("data:image/png;base64,"+p.screen),p.actions=p.actions.filter(u=>null!=u),p)),icon_url:e.icon_url,similarity:e.similarity?(100*e.similarity).toFixed(1)+"%":"-"}))))}generateMap(i,a){return this.apiService.post(`/api/SofyExplore/applications/${i}/GenerateMap`,{testRunID:a}).pipe((0,v.T)(e=>e[0]))}getMapViewJson(i){return this.apiService.getFromOuter(i)}deleteTestCase(i){return this.apiService.delete(`/mobile-microservice/manual-test/${i}`)}static \u0275fac=function(a){return new(a||f)(M.KVO(d.G),M.KVO(C.up))};static \u0275prov=M.jDH({token:f,factory:f.\u0275fac,providedIn:"root"})}return f})()}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.