From c486504fa2d29d41dd2d7f2c43cbc2a07fe110ac Mon Sep 17 00:00:00 2001 From: Yifan Wang Date: Thu, 16 Apr 2026 15:37:26 -0700 Subject: [PATCH 1/3] chore: default to info tab when graph is not available Co-authored-by: Yifan Wang PiperOrigin-RevId: 900943720 --- src/google/adk/cli/browser/index.html | 2 +- .../adk/cli/browser/{main-IY3KRCSN.js => main-3OBAHHYV.js} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename src/google/adk/cli/browser/{main-IY3KRCSN.js => main-3OBAHHYV.js} (98%) diff --git a/src/google/adk/cli/browser/index.html b/src/google/adk/cli/browser/index.html index 32ee871832..29d886ea3b 100644 --- a/src/google/adk/cli/browser/index.html +++ b/src/google/adk/cli/browser/index.html @@ -30,5 +30,5 @@ - + diff --git a/src/google/adk/cli/browser/main-IY3KRCSN.js b/src/google/adk/cli/browser/main-3OBAHHYV.js similarity index 98% rename from src/google/adk/cli/browser/main-IY3KRCSN.js rename to src/google/adk/cli/browser/main-3OBAHHYV.js index 5e2f9d34d9..f6d7fd37a9 100644 --- a/src/google/adk/cli/browser/main-IY3KRCSN.js +++ b/src/google/adk/cli/browser/main-3OBAHHYV.js @@ -4119,7 +4119,7 @@ button.jse-context-menu-button.svelte-1y5l9l1 svg { Error: ${i.message||i}`),this.isRunning.set(!1),A.complete()},complete:()=>{this.isRunning.set(!1),A.complete()}})}deleteTest(e){confirm(`Are you sure you want to delete test ${e}?`)&&this.testsService.deleteTest(this.appName(),e).subscribe(()=>{this.loadTests()})}rebuildAllTests(){this.rebuildTest()}rebuildTest(e){this.isRebuilding.set(!0);let A=new ie;this.dialog.open(_3,{width:"90vw",maxWidth:"1200px",height:"80vh",data:{title:`Rebuilding ${e||"all tests"}`,output$:A.asObservable()}}),A.next(`Rebuilding tests... `),this.testsService.rebuildTests(this.appName(),e).subscribe({next:()=>{A.next(`Successfully rebuilt tests. `),this.isRebuilding.set(!1),this.loadTests(),A.complete()},error:i=>{A.next(`Error rebuilding tests: ${i.message||i} -`),this.isRebuilding.set(!1),A.complete()}})}clearConsole(){this.consoleOutput.set("")}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-tests-tab"]],inputs:{appName:[1,"appName"],sessionId:[1,"sessionId"],userId:[1,"userId"],isViewOnlySession:[1,"isViewOnlySession"]},outputs:{testSelected:"testSelected"},features:[Yt],decls:20,vars:4,consts:[[1,"tests-container"],[1,"toolbar"],["mat-button","","color","primary",3,"click","disabled"],["mat-button","","color","accent",3,"click","disabled"],[1,"spacer"],["mat-icon-button","","matTooltip","Refresh",3,"click"],[1,"empty-state"],["mat-table","",1,"tests-table",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","actions"],["mat-row","",3,"selected-row","click",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell",""],["mat-icon-button","","color","primary","matTooltip","Run Test",3,"click","disabled"],["mat-icon-button","","color","accent","matTooltip","Rebuild Test",3,"click","disabled"],["mat-icon-button","","color","primary","matTooltip","Rename Test",3,"click","disabled"],["mat-icon-button","","color","warn","matTooltip","Delete Test",3,"click","disabled"],["mat-row","",3,"click"]],template:function(A,i){A&1&&(B(0,"div",0)(1,"div",1)(2,"button",2),U("click",function(){return i.promoteCurrentSessionToTest()}),B(3,"mat-icon"),y(4,"add"),Q(),y(5," From Current Session "),Q(),B(6,"button",2),U("click",function(){return i.runAllTests()}),B(7,"mat-icon"),y(8,"playlist_play"),Q(),y(9," Run All "),Q(),B(10,"button",3),U("click",function(){return i.rebuildAllTests()}),B(11,"mat-icon"),y(12,"sync"),Q(),y(13," Rebuild All "),Q(),QA(14,"span",4),B(15,"button",5),U("click",function(){return i.loadTests()}),B(16,"mat-icon"),y(17,"refresh"),Q()()(),O(18,ANA,5,0,"div",6)(19,aNA,8,2,"table",7),Q()),A&2&&(u(2),H("disabled",!i.sessionId()||i.isViewOnlySession()),u(4),H("disabled",i.isRunning()||i.isRebuilding()||i.dataSource.data.length===0),u(4),H("disabled",i.isRunning()||i.isRebuilding()||i.dataSource.data.length===0),u(8),Y(i.dataSource.data.length===0?18:19))},dependencies:[si,qi,pi,ji,Tn,Wt,JtA,HtA,YtA,ztA,OtA,PtA,jtA,qtA,Fa,dn,E2,IQ,Xc],styles:[".tests-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;box-sizing:border-box}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;height:48px;flex-shrink:0;padding:0 10px;background-color:var(--mat-sys-surface-container);border-bottom:1px solid var(--mat-sys-outline-variant);gap:8px}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1 1 auto}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:32px!important;line-height:normal!important;border-radius:16px!important;font-size:13px!important;font-weight:500!important;display:inline-flex!important;align-items:center;justify-content:center}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-button[_ngcontent-%COMP%]{padding:0 12px!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:4px!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-icon-button[_ngcontent-%COMP%]{width:32px!important;min-width:32px!important;padding:0!important;border-radius:50%!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:0!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-icon-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple{width:32px!important;height:32px!important;border-radius:50%!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px!important;width:20px!important;height:20px!important;line-height:20px!important;vertical-align:middle}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{vertical-align:middle}.tests-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--mat-sys-on-surface-variant);font-style:italic;gap:8px}.tests-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%]{width:100%;background:transparent;border-top:1px solid var(--mat-sys-outline-variant, #e0e0e0)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:600}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{vertical-align:middle;padding:6px 16px;border-bottom:1px solid var(--mat-sys-outline-variant, #e0e0e0)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr.mat-header-row[_ngcontent-%COMP%]{display:none}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{cursor:pointer;background:transparent}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-surface-container-low, #f5f5f5)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover td.mat-column-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{opacity:1}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr.selected-row[_ngcontent-%COMP%]{background-color:var(--mat-sys-surface-container-high, #e0e0e0)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.mat-column-actions[_ngcontent-%COMP%]{text-align:right}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.mat-column-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%]{margin-top:16px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:200px}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--mat-sys-on-surface-variant)}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-actions[_ngcontent-%COMP%] .running-status[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse 1.5s infinite}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]{background-color:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.85rem;overflow:auto;flex:1;margin:0;white-space:pre-wrap;word-break:break-all;border:1px solid #333}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#777}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#1e1e1e}@keyframes _ngcontent-%COMP%_pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}"]})};var rNA={stateIsEmpty:"State is empty"},siA=new kA("State Tab Messages",{factory:()=>rNA});function sNA(t,e){if(t&1&&(B(0,"div",1),y(1),Q()),t&2){let A=p();u(),lA(A.i18n.stateIsEmpty)}}function lNA(t,e){if(t&1&&(B(0,"div"),QA(1,"ngx-json-viewer",2),Q()),t&2){let A=p();u(),H("json",A.sessionState)}}var cv=class t{sessionState;i18n=w(siA);get isEmptyState(){return!this.sessionState||Object.keys(this.sessionState).length===0}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-state-tab"]],inputs:{sessionState:"sessionState"},decls:3,vars:1,consts:[[1,"state-wrapper"],[1,"empty-state"],[3,"json"]],template:function(A,i){A&1&&(B(0,"div",0),O(1,sNA,2,1,"div",1)(2,lNA,2,1,"div"),Q()),A&2&&(u(),Y(i.isEmptyState?1:2))},dependencies:[cs,$l],styles:[".state-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px;margin-top:16px}.state-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{text-align:center;font-style:italic}"]})};var gNA=(t,e)=>e.span_id;function cNA(t,e){if(t&1){let A=hA();B(0,"span",20)(1,"a",24),U("click",function(){let n;T(A);let o=p(3);return J(o.selectSpanById((n=o.selectedSpan())==null?null:n.parent_span_id))}),y(2),Q(),B(3,"button",21),U("click",function(){let n;T(A);let o=p(3);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.parent_span_id))}),B(4,"mat-icon"),y(5),Q()()()}if(t&2){let A,i,n,o=p(3);u(),H("matTooltip",((A=o.selectedSpan())==null?null:A.parent_span_id)||""),u(),lA((i=o.selectedSpan())==null?null:i.parent_span_id),u(3),lA(o.copiedId===((n=o.selectedSpan())==null?null:n.parent_span_id)?"check":"content_copy")}}function CNA(t,e){t&1&&y(0," None ")}function INA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",20)(5,"a",24),U("click",function(){let n=T(A).$implicit,o=p(4);return J(o.selectSpanById(n.span_id))}),y(6),Q(),B(7,"button",21),U("click",function(){let n=T(A).$implicit,o=p(4);return J(o.copyToClipboard(n.span_id))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A=e.$implicit,i=p(4);u(2),lA(A.name),u(3),H("matTooltip",A.span_id),u(),lA(A.span_id),u(3),lA(i.copiedId===A.span_id?"check":"content_copy")}}function dNA(t,e){if(t&1&&(B(0,"table",22),Je(1,INA,10,4,"tr",null,gNA),Q()),t&2){let A=p(3);u(),Oe(A.selectedSpanChildren)}}function BNA(t,e){if(t&1){let A=hA();B(0,"table",23)(1,"tr")(2,"td"),y(3,"Event ID"),Q(),B(4,"td")(5,"span",20)(6,"a",24),U("click",function(){T(A);let n=p(3);return J(n.switchToEvent.emit(n.selectedSpan().attributes["gcp.vertex.agent.event_id"]))}),y(7),Q(),B(8,"button",21),U("click",function(){T(A);let n=p(3);return J(n.copyToClipboard(n.selectedSpan().attributes["gcp.vertex.agent.event_id"]))}),B(9,"mat-icon"),y(10),Q()()()()()()}if(t&2){let A=p(3);u(6),H("matTooltip",A.selectedSpan().attributes["gcp.vertex.agent.event_id"]||""),u(),lA(A.selectedSpan().attributes["gcp.vertex.agent.event_id"]),u(3),lA(A.copiedId===A.selectedSpan().attributes["gcp.vertex.agent.event_id"]?"check":"content_copy")}}function ENA(t,e){if(t&1){let A=hA();B(0,"div",13)(1,"table",15)(2,"tr")(3,"td"),y(4,"Name"),Q(),B(5,"td")(6,"span",16)(7,"span",17),y(8),Q(),B(9,"button",18),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.name))}),B(10,"mat-icon"),y(11),Q()()()()(),B(12,"tr")(13,"td"),y(14,"Span ID"),Q(),B(15,"td",19)(16,"span",20)(17,"span",17),y(18),Q(),B(19,"button",21),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.span_id))}),B(20,"mat-icon"),y(21),Q()()()()(),B(22,"tr")(23,"td"),y(24,"Parent ID"),Q(),B(25,"td"),O(26,cNA,6,3,"span",20)(27,CNA,1,0),Q()(),B(28,"tr")(29,"td"),y(30,"Trace ID"),Q(),B(31,"td",19)(32,"span",20)(33,"span",17),y(34),Q(),B(35,"button",21),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.trace_id))}),B(36,"mat-icon"),y(37),Q()()()()(),B(38,"tr")(39,"td"),y(40,"Start Time"),Q(),B(41,"td")(42,"span",16)(43,"span",17),y(44),Q(),B(45,"button",18),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard(o.formatTime((n=o.selectedSpan())==null?null:n.start_time),"startTime"))}),B(46,"mat-icon"),y(47),Q()()()()(),B(48,"tr")(49,"td"),y(50,"End Time"),Q(),B(51,"td")(52,"span",16)(53,"span",17),y(54),Q(),B(55,"button",18),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard(o.formatTime((n=o.selectedSpan())==null?null:n.end_time),"endTime"))}),B(56,"mat-icon"),y(57),Q()()()()()(),O(58,dNA,3,0,"table",22),O(59,BNA,11,3,"table",23),Q()}if(t&2){let A,i,n,o,a,r,s,l,g,C,I,d,h,E,f,m=p(2);u(7),H("matTooltip",((A=m.selectedSpan())==null?null:A.name)||""),u(),lA((i=m.selectedSpan())==null?null:i.name),u(3),lA(m.copiedId===((n=m.selectedSpan())==null?null:n.name)?"check":"content_copy"),u(6),H("matTooltip",((o=m.selectedSpan())==null?null:o.span_id)||""),u(),lA((a=m.selectedSpan())==null?null:a.span_id),u(3),lA(m.copiedId===((r=m.selectedSpan())==null?null:r.span_id)?"check":"content_copy"),u(5),Y((s=m.selectedSpan())!=null&&s.parent_span_id?26:27),u(7),H("matTooltip",((l=m.selectedSpan())==null?null:l.trace_id)||""),u(),lA((g=m.selectedSpan())==null?null:g.trace_id),u(3),lA(m.copiedId===((C=m.selectedSpan())==null?null:C.trace_id)?"check":"content_copy"),u(6),H("matTooltip",m.formatTime((I=m.selectedSpan())==null?null:I.start_time)),u(),lA(m.formatTime((d=m.selectedSpan())==null?null:d.start_time)),u(3),lA(m.copiedId==="startTime"?"check":"content_copy"),u(6),H("matTooltip",m.formatTime((h=m.selectedSpan())==null?null:h.end_time)),u(),lA(m.formatTime((E=m.selectedSpan())==null?null:E.end_time)),u(3),lA(m.copiedId==="endTime"?"check":"content_copy"),u(),Y(m.selectedSpanChildren.length>0?58:-1),u(),Y((f=m.selectedSpan())!=null&&f.attributes&&m.selectedSpan().attributes["gcp.vertex.agent.event_id"]?59:-1)}}function hNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",16)(5,"span"),y(6),Q(),B(7,"button",18),U("click",function(){let n,o=T(A).$implicit,a=p(4);return J(a.copyToClipboard((n=a.selectedSpan().attributes[o])==null?null:n.toString()))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A,i=e.$implicit,n=p(4);u(2),lA(i),u(4),lA(n.selectedSpan().attributes[i]),u(3),lA(n.copiedId===((A=n.selectedSpan().attributes[i])==null?null:A.toString())?"check":"content_copy")}}function QNA(t,e){if(t&1&&(B(0,"table",15),Je(1,hNA,10,3,"tr",null,hi),Q()),t&2){let A=p(3);u(),Oe(A.Object.keys(A.selectedSpan().attributes))}}function uNA(t,e){t&1&&(B(0,"div",1),y(1,"No attributes available"),Q())}function fNA(t,e){if(t&1&&(B(0,"div",13),O(1,QNA,3,0,"table",15)(2,uNA,2,0,"div",1),Q()),t&2){let A,i=p(2);u(),Y((A=i.selectedSpan())!=null&&A.attributes&&i.Object.keys(i.selectedSpan().attributes).length>0?1:2)}}function pNA(t,e){if(t&1){let A=hA();B(0,"div",14),QA(1,"ngx-json-viewer",25),B(2,"button",26),U("click",function(){T(A);let n=p(2);return J(n.copyJsonToClipboard(n.selectedSpan(),"raw"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(2);u(),H("json",A.selectedSpan()),u(3),lA(A.copiedId==="raw"?"check":"content_copy")}}function mNA(t,e){if(t&1){let A=hA();B(0,"div",0)(1,"div",2)(2,"mat-paginator",3),U("page",function(n){T(A);let o=p();return J(o.onPage(n))}),Q(),B(3,"div",4),y(4),Q(),QA(5,"div",5),B(6,"button",6),U("click",function(){T(A);let n=p();return J(n.traceService.selectedRow(void 0))}),B(7,"mat-icon"),y(8,"remove_selection"),Q()()(),B(9,"div",7)(10,"div",8)(11,"button",9),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab.set("info"))}),B(12,"mat-icon"),y(13,"info"),Q()(),B(14,"button",10),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab.set("attributes"))}),B(15,"mat-icon"),y(16,"list_alt"),Q()(),B(17,"button",11),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab.set("raw"))}),B(18,"mat-icon"),y(19,"data_object"),Q()()(),B(20,"div",12),O(21,ENA,60,18,"div",13),O(22,fNA,3,1,"div",13),O(23,pNA,5,2,"div",14),Q()()()}if(t&2){let A,i=p();u(2),H("length",i.orderedTraceData.length)("pageSize",1)("pageIndex",i.selectedSpanIndex),u(2),ue(" ",(A=i.selectedSpan())==null?null:A.name," "),u(7),RA("active",i.selectedDetailTab()==="info"),u(3),RA("active",i.selectedDetailTab()==="attributes"),u(3),RA("active",i.selectedDetailTab()==="raw"),u(4),Y(i.selectedDetailTab()==="info"?21:-1),u(),Y(i.selectedDetailTab()==="attributes"?22:-1),u(),Y(i.selectedDetailTab()==="raw"?23:-1)}}function wNA(t,e){t&1&&(B(0,"div",1),y(1,"Select a trace span to view its details"),Q())}var IF=class t extends b1{nextPageLabel="Next Span";previousPageLabel="Previous Span";firstPageLabel="First Span";lastPageLabel="Last Span";getRangeLabel=(e,A,i)=>i===0?"Span 0 of 0":(i=Math.max(i,0),`Span ${e*A+1} of ${i}`);static \u0275fac=(()=>{let e;return function(i){return(e||(e=bi(t)))(i||t)}})();static \u0275prov=qA({token:t,factory:t.\u0275fac})},Cv=class t{_traceData=[];orderedTraceData=[];set traceData(e){this._traceData=e||[],this.orderedTraceData=this.computeOrdered(this._traceData)}get traceData(){return this._traceData}computeOrdered(e){let A=e.map(a=>gA({},a)),i=new Map,n=[];A.forEach(a=>i.set(a.span_id,a)),A.forEach(a=>{if(a.parent_span_id&&i.has(a.parent_span_id)){let r=i.get(a.parent_span_id);r.children=r.children||[],r.children.push(a)}else n.push(a)});let o=a=>a.flatMap(r=>[r,...r.children?o(r.children):[]]);return o(n)}traceService=w(Ag);selectedSpan=Ar(this.traceService.selectedTraceRow$);static getValidTraceTab(e){return e==="info"||e==="attributes"||e==="raw"?e:"info"}selectedDetailTab=bA(t.getValidTraceTab(localStorage.getItem("adk-trace-tab-selected-tab")));switchToEvent=ui();constructor(){Ao(()=>{localStorage.setItem("adk-trace-tab-selected-tab",this.selectedDetailTab())})}formatTime(e){return e?new Date(e/1e6).toLocaleString():"N/A"}get selectedSpanChildren(){let e=this.selectedSpan();return e?e.children&&e.children.length>0?e.children:this.traceData.filter(A=>A.parent_span_id===e.span_id):[]}selectSpanById(e){if(!e)return;let A=this.traceData.find(i=>String(i.span_id)===String(e));A&&this.traceService.selectedRow(A)}get selectedSpanIndex(){let e=this.selectedSpan();if(!e)return;let A=this.orderedTraceData.findIndex(i=>i.span_id===e.span_id);return A===-1?void 0:A}onPage(e){e.pageIndex>=0&&e.pageIndex=this.orderedTraceData.length?0:this.selectedSpanIndex+1:i=this.selectedSpanIndex-1<0?this.orderedTraceData.length-1:this.selectedSpanIndex-1,this.traceService.selectedRow(this.orderedTraceData[i])}Object=Object;copiedId=null;copyToClipboard(e,A){e&&navigator.clipboard.writeText(e).then(()=>{this.copiedId=A||e,setTimeout(()=>this.copiedId=null,2e3)})}copyJsonToClipboard(e,A){if(!e)return;let i=JSON.stringify(e,null,2);navigator.clipboard.writeText(i).then(()=>{this.copiedId=A,setTimeout(()=>this.copiedId=null,2e3)})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-trace-tab"]],hostBindings:function(A,i){A&1&&U("keydown",function(o){return i.handleKeyboardNavigation(o)},ZC)},inputs:{traceData:"traceData"},outputs:{switchToEvent:"switchToEvent"},features:[Bt([{provide:b1,useClass:IF}])],decls:2,vars:1,consts:[[1,"event-details-container"],[1,"empty-state"],[1,"event-details-header"],["hidePageSize","","aria-label","Select span",1,"event-paginator",3,"page","length","pageSize","pageIndex"],[1,"span-title"],[2,"flex-grow","1"],["mat-icon-button","","matTooltip","Clear selection",3,"click"],[1,"event-details-content"],[1,"vertical-tabs-sidebar"],["mat-icon-button","","matTooltip","Info","matTooltipPosition","right",3,"click"],["mat-icon-button","","matTooltip","Attributes","matTooltipPosition","right",3,"click"],["mat-icon-button","","matTooltip","Raw JSON","matTooltipPosition","right",3,"click"],[1,"vertical-tabs-content"],[1,"info-tables-container"],[1,"json-viewer-container","json-viewer-wrapper"],["app-info-table",""],[1,"value-cell"],[3,"matTooltip"],["mat-icon-button","","matTooltip","Copy",1,"copy-value-button",3,"click"],[1,"id-text"],[1,"id-cell"],["mat-icon-button","","matTooltip","Copy",1,"copy-id-button",3,"click"],["app-info-table","","title","Children"],["app-info-table","","title","Events"],["href","javascript:void(0)",1,"span-link","id-text",3,"click","matTooltip"],[3,"json"],["mat-icon-button","","matTooltip","Copy JSON",1,"floating-copy-button",3,"click"]],template:function(A,i){A&1&&O(0,mNA,24,13,"div",0)(1,wNA,2,0,"div",1),A&2&&Y(i.selectedSpan()!==void 0?0:1)},dependencies:[qi,ji,Tn,Wt,Fa,dn,cs,$l,n6,OI],styles:["[_nghost-%COMP%]{display:block;height:100%}.json-viewer-container[_ngcontent-%COMP%]{margin:10px}.event-paginator[_ngcontent-%COMP%]{display:flex;justify-content:center;background-color:transparent}.event-paginator[_ngcontent-%COMP%] .mat-mdc-paginator-range-label{order:2;margin:0 0 0 8px}.span-title[_ngcontent-%COMP%]{font-weight:500;font-family:Google Sans Mono,monospace;font-size:13px;color:var(--mat-sys-on-surface);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:300px;margin-left:16px}.event-details-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.event-details-content[_ngcontent-%COMP%]{display:flex;flex:1;overflow:hidden}.vertical-tabs-sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:48px;border-right:1px solid var(--mat-sys-outline-variant);padding-top:8px;align-items:center;gap:8px}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}.vertical-tabs-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.event-details-header[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--mat-sys-outline-variant);height:48px;flex-shrink:0}.empty-state[_ngcontent-%COMP%]{padding:16px;text-align:center;color:var(--mat-sys-on-surface-variant);font-style:italic;font-size:14px}.info-tables-container[_ngcontent-%COMP%]{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.span-link[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;cursor:pointer}.span-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.id-text[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace;font-size:11px}.id-cell[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;overflow:hidden}.id-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child, .value-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.id-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .id-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%]{opacity:1}.copy-id-button[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%]{width:28px!important;height:28px!important;padding:0!important;line-height:28px!important;flex-shrink:0;margin:-4px 0!important;opacity:0;transition:opacity .2s ease-in-out;border-radius:4px!important;overflow:hidden!important}.copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.copy-id-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.json-viewer-wrapper[_ngcontent-%COMP%]{position:relative}.json-viewer-wrapper[_ngcontent-%COMP%]:hover .floating-copy-button[_ngcontent-%COMP%]{opacity:1}.floating-copy-button[_ngcontent-%COMP%]{position:absolute;top:4px;right:4px;z-index:10;opacity:0;transition:opacity .2s ease-in-out;background-color:var(--mat-sys-surface-container-high)!important;border-radius:4px!important;overflow:hidden!important;width:28px!important;height:28px!important;line-height:28px!important;padding:0!important}.floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.floating-copy-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.floating-copy-button[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}"]})};var DNA={agentDevelopmentKitLabel:"Agent Development Kit",disclosureTooltip:"ADK Web is for development purposes. It has access to all the data and should not be used in production.",collapsePanelTooltip:"Collapse panel",eventsTabLabel:"Events",stateTabLabel:"State",artifactsTabLabel:"Artifacts",sessionsTabLabel:"Sessions",evalTabLabel:"Evals",testsTabLabel:"Tests",selectEventAriaLabel:"Select event",infoTabLabel:"Info",graphTabLabel:"Graph",requestDetailsTabLabel:"Request",responseDetailsTabLabel:"Response",responseIsNotAvailable:"Response is not available",requestIsNotAvailable:"Request is not available",clearSelectionButtonLabel:"Remove selection"},pQ=new kA("Side Panel Messages",{factory:()=>DNA});var yNA=["eventMenuTrigger"],vNA=["graphContainer"],bNA=(t,e)=>e.span_id,MNA=(t,e)=>e.modality,SNA=(t,e)=>e.id,kNA=(t,e)=>e.key;function xNA(t,e){if(t&1){let A=hA();B(0,"button",10),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab="graph")}),B(1,"mat-icon"),y(2,"account_tree"),Q()()}if(t&2){let A=p();RA("active",A.selectedDetailTab==="graph"),H("matTooltip",XC(A.i18n.graphTabLabel))}}function _NA(t,e){if(t&1){let A=hA();B(0,"div",30),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p(3);return J(n.copyJsonToClipboard(n.selectedEvent().nodeInfo.outputFor,"nodeInfo.outputFor"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(3);u(),H("json",A.selectedEvent().nodeInfo.outputFor),u(3),lA(A.copiedId==="nodeInfo.outputFor"?"check":"content_copy")}}function RNA(t,e){t&1&&y(0," N/A ")}function NNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2,"Message As Output"),Q(),B(3,"td")(4,"span",23)(5,"span",21),y(6),Q(),B(7,"button",24),U("click",function(){T(A);let n=p(3);return J(n.copyToClipboard(n.selectedEvent().nodeInfo.messageAsOutput))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A,i=p(3);u(5),H("matTooltip",((A=i.selectedEvent().nodeInfo.messageAsOutput)==null?null:A.toString())||""),u(),lA(i.selectedEvent().nodeInfo.messageAsOutput),u(3),lA(i.copiedId===i.selectedEvent().nodeInfo.messageAsOutput?"check":"content_copy")}}function FNA(t,e){if(t&1){let A=hA();B(0,"table",25)(1,"tr")(2,"td"),y(3,"Node Path"),Q(),B(4,"td")(5,"span",23)(6,"span",21),y(7),Q(),B(8,"button",24),U("click",function(){T(A);let n=p(2);return J(n.copyToClipboard(n.selectedEvent().nodeInfo.path))}),B(9,"mat-icon"),y(10),Q()()()()(),B(11,"tr")(12,"td"),y(13,"Output For"),Q(),B(14,"td"),O(15,_NA,5,2,"div",30)(16,RNA,1,0),Q()(),O(17,NNA,10,3,"tr"),Q()}if(t&2){let A=p(2);u(6),H("matTooltip",A.selectedEvent().nodeInfo.path||""),u(),lA(A.selectedEvent().nodeInfo.path||"N/A"),u(3),lA(A.copiedId===A.selectedEvent().nodeInfo.path?"check":"content_copy"),u(5),Y(A.selectedEvent().nodeInfo.outputFor?15:16),u(2),Y(A.selectedEvent().nodeInfo.messageAsOutput!==void 0?17:-1)}}function LNA(t,e){if(t&1){let A=hA();B(0,"div",30),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p().$implicit,o=p(3);return J(o.copyJsonToClipboard(o.selectedEvent().actions[n],"action."+n))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p().$implicit,i=p(3);u(),H("json",i.selectedEvent().actions[A]),u(3),lA(i.copiedId==="action."+A?"check":"content_copy")}}function GNA(t,e){if(t&1){let A=hA();B(0,"span",23)(1,"span",21),y(2),Q(),B(3,"button",24),U("click",function(){let n;T(A);let o=p().$implicit,a=p(3);return J(a.copyToClipboard((n=a.selectedEvent().actions[o])==null?null:n.toString()))}),B(4,"mat-icon"),y(5),Q()()()}if(t&2){let A,i,n=p().$implicit,o=p(3);u(),H("matTooltip",((A=o.selectedEvent().actions[n])==null?null:A.toString())||""),u(),lA(o.selectedEvent().actions[n]),u(3),lA(o.copiedId===((i=o.selectedEvent().actions[n])==null?null:i.toString())?"check":"content_copy")}}function KNA(t,e){if(t&1&&(B(0,"tr")(1,"td"),y(2),Q(),B(3,"td"),O(4,LNA,5,2,"div",30)(5,GNA,6,3,"span",23),Q()()),t&2){let A=e.$implicit,i=p(3);u(2),lA(A),u(2),Y(i.isObject(i.selectedEvent().actions[A])?4:5)}}function UNA(t,e){if(t&1&&(B(0,"table",26),Je(1,KNA,6,2,"tr",null,hi),Q()),t&2){let A=p(2);u(),Oe(A.Object.keys(A.selectedEvent().actions))}}function TNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"div",30),QA(5,"ngx-json-viewer",31),B(6,"button",32),U("click",function(){let n=T(A),o=n.$implicit,a=n.$index,r=p(3);return J(r.copyJsonToClipboard(o,"fc."+a))}),B(7,"mat-icon"),y(8),Q()()()()()}if(t&2){let A=e.$implicit,i=e.$index,n=p(3);u(2),lA(A==null?null:A.name),u(3),H("json",A),u(3),lA(n.copiedId==="fc."+i?"check":"content_copy")}}function JNA(t,e){if(t&1&&(B(0,"table",27),Je(1,TNA,9,3,"tr",null,ws),Q()),t&2){let A=p(2);u(),Oe(A.functionCalls())}}function ONA(t,e){if(t&1&&(B(0,"div",34),QA(1,"img",35),Q()),t&2){let A=p().$implicit;u(),H("src","data:"+A.inlineData.mimeType+";base64,"+A.inlineData.data,Go)}}function YNA(t,e){if(t&1&&(B(0,"div"),QA(1,"audio",36),Q()),t&2){let A=p().$implicit;u(),H("src","data:"+A.inlineData.mimeType+";base64,"+A.inlineData.data)}}function HNA(t,e){if(t&1&&(B(0,"div"),QA(1,"video",36),Q()),t&2){let A=p().$implicit;u(),H("src","data:"+A.inlineData.mimeType+";base64,"+A.inlineData.data,Go)}}function zNA(t,e){if(t&1&&(B(0,"div"),y(1),Q()),t&2){let A=p().$implicit;u(),ue(" Unsupported media type: ",A.inlineData==null?null:A.inlineData.mimeType," ")}}function PNA(t,e){if(t&1&&O(0,ONA,2,1,"div",34)(1,YNA,2,1,"div")(2,HNA,2,1,"div")(3,zNA,2,1,"div"),t&2){let A=e.$implicit;Y(!(A.inlineData==null||A.inlineData.mimeType==null)&&A.inlineData.mimeType.startsWith("image/")?0:!(A.inlineData==null||A.inlineData.mimeType==null)&&A.inlineData.mimeType.startsWith("audio/")?1:!(A.inlineData==null||A.inlineData.mimeType==null)&&A.inlineData.mimeType.startsWith("video/")?2:3)}}function jNA(t,e){if(t&1&&(B(0,"div",33),Je(1,PNA,4,1,null,null,ws),Q()),t&2){let A=p().$implicit;u(),Oe(A.mediaParts)}}function qNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td"),O(4,jNA,3,0,"div",33),B(5,"div",30),QA(6,"ngx-json-viewer",31),B(7,"button",32),U("click",function(){let n=T(A),o=n.$implicit,a=n.$index,r=p(3);return J(r.copyJsonToClipboard(o.cleanedFr,"pfr."+a))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A=e.$implicit,i=e.$index,n=p(3);u(2),lA(A.name),u(2),Y(A.hasMedia?4:-1),u(2),H("json",A.cleanedFr),u(3),lA(n.copiedId==="pfr."+i?"check":"content_copy")}}function VNA(t,e){if(t&1&&(B(0,"table",28),Je(1,qNA,10,4,"tr",null,ws),Q()),t&2){let A=p(2);u(),Oe(A.processedFunctionResponses())}}function WNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",20)(5,"a",37),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.switchToSpan(n))}),y(6),Q(),B(7,"button",22),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.copyToClipboard(n.span_id))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A=e.$implicit,i=p(3);u(2),lA(A.name),u(3),H("matTooltip",A.span_id),u(),lA(A.span_id),u(3),lA(i.copiedId===A.span_id?"check":"content_copy")}}function ZNA(t,e){if(t&1&&(B(0,"table",29),Je(1,WNA,10,4,"tr",null,bNA),Q()),t&2){let A=p(2);u(),Oe(A.associatedSpans())}}function XNA(t,e){if(t&1){let A=hA();B(0,"div",15)(1,"table",18)(2,"tr")(3,"td"),y(4,"Event ID"),Q(),B(5,"td",19)(6,"span",20)(7,"span",21),y(8),Q(),B(9,"button",22),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.id))}),B(10,"mat-icon"),y(11),Q()()()()(),B(12,"tr")(13,"td"),y(14,"Invocation ID"),Q(),B(15,"td",19)(16,"span",20)(17,"span",21),y(18),Q(),B(19,"button",22),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.invocationId))}),B(20,"mat-icon"),y(21),Q()()()()(),B(22,"tr")(23,"td"),y(24,"Branch"),Q(),B(25,"td")(26,"span",23)(27,"span",21),y(28),Q(),B(29,"button",24),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.branch))}),B(30,"mat-icon"),y(31),Q()()()()(),B(32,"tr")(33,"td"),y(34,"Timestamp"),Q(),B(35,"td")(36,"span",23)(37,"span",21),y(38),Q(),B(39,"button",24),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard(o.formatTime((n=o.selectedEvent())==null?null:n.timestamp),"timestamp"))}),B(40,"mat-icon"),y(41),Q()()()()(),B(42,"tr")(43,"td"),y(44,"Author"),Q(),B(45,"td")(46,"span",23)(47,"span",21),y(48),Q(),B(49,"button",24),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.author))}),B(50,"mat-icon"),y(51),Q()()()()()(),O(52,FNA,18,5,"table",25),O(53,UNA,3,0,"table",26),O(54,JNA,3,0,"table",27),O(55,VNA,3,0,"table",28),O(56,ZNA,3,0,"table",29),Q()}if(t&2){let A,i,n,o,a,r,s,l,g,C,I,d,h,E,f,m,v=p();u(7),H("matTooltip",((A=v.selectedEvent())==null?null:A.id)||""),u(),lA((i=v.selectedEvent())==null?null:i.id),u(3),lA(v.copiedId===((n=v.selectedEvent())==null?null:n.id)?"check":"content_copy"),u(6),H("matTooltip",((o=v.selectedEvent())==null?null:o.invocationId)||""),u(),lA(((a=v.selectedEvent())==null?null:a.invocationId)||"N/A"),u(3),lA(v.copiedId===((r=v.selectedEvent())==null?null:r.invocationId)?"check":"content_copy"),u(6),H("matTooltip",((s=v.selectedEvent())==null?null:s.branch)||""),u(),lA(((l=v.selectedEvent())==null?null:l.branch)||"N/A"),u(3),lA(v.copiedId===((g=v.selectedEvent())==null?null:g.branch)?"check":"content_copy"),u(6),H("matTooltip",v.formatTime((C=v.selectedEvent())==null?null:C.timestamp)),u(),lA(v.formatTime((I=v.selectedEvent())==null?null:I.timestamp)),u(3),lA(v.copiedId==="timestamp"?"check":"content_copy"),u(6),H("matTooltip",((d=v.selectedEvent())==null?null:d.author)||""),u(),lA((h=v.selectedEvent())==null?null:h.author),u(3),lA(v.copiedId===((E=v.selectedEvent())==null?null:E.author)?"check":"content_copy"),u(),Y((f=v.selectedEvent())!=null&&f.nodeInfo?52:-1),u(),Y((m=v.selectedEvent())!=null&&m.actions&&v.Object.keys(v.selectedEvent().actions).length>0?53:-1),u(),Y(v.functionCalls().length>0?54:-1),u(),Y(v.processedFunctionResponses().length>0?55:-1),u(),Y(v.associatedSpans().length>0?56:-1)}}function $NA(t,e){if(t&1&&(B(0,"div",21),y(1),Q()),t&2){let A=e.$implicit;H("matTooltip",A.modality+": "+A.tokenCount),u(),ba("",A.modality,": ",A.tokenCount)}}function AFA(t,e){if(t&1&&Je(0,$NA,2,3,"div",21,MNA),t&2){let A=p().$implicit,i=p(3);Oe(i.selectedEvent().usageMetadata[A])}}function eFA(t,e){if(t&1&&(B(0,"span",21),y(1),Q()),t&2){let A,i=p().$implicit,n=p(3);H("matTooltip",((A=n.selectedEvent().usageMetadata[i])==null?null:A.toString())||""),u(),lA(n.selectedEvent().usageMetadata[i])}}function tFA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",23)(5,"span"),O(6,AFA,2,0)(7,eFA,2,2,"span",21),Q(),B(8,"button",24),U("click",function(){let n,o=T(A).$implicit,a=p(3);return J(a.isObject(a.selectedEvent().usageMetadata[o])?a.copyJsonToClipboard(a.selectedEvent().usageMetadata[o],"usage."+o):a.copyToClipboard((n=a.selectedEvent().usageMetadata[o])==null?null:n.toString(),"usage."+o))}),B(9,"mat-icon"),y(10),Q()()()()()}if(t&2){let A=e.$implicit,i=p(3);u(2),lA(A),u(4),Y(A==="promptTokensDetails"||A==="promptTokenDetails"||A==="candidatesTokenDetails"||A==="candidatesTokensDetails"||A==="cacheTokensDetails"?6:7),u(4),lA(i.copiedId==="usage."+A?"check":"content_copy")}}function iFA(t,e){if(t&1&&(B(0,"table",38),Je(1,tFA,11,3,"tr",null,hi),Q()),t&2){let A=p(2);u(),Oe(A.Object.keys(A.selectedEvent().usageMetadata))}}function nFA(t,e){t&1&&(B(0,"div",39),y(1,"Select an LLM response to see usage metadata."),Q())}function oFA(t,e){if(t&1&&(B(0,"div",15),O(1,iFA,3,0,"table",38)(2,nFA,2,0,"div",39),Q()),t&2){let A,i=p();u(),Y((A=i.selectedEvent())!=null&&A.usageMetadata&&i.Object.keys(i.selectedEvent().usageMetadata).length>0?1:2)}}function aFA(t,e){if(t&1){let A=hA();B(0,"div",16),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p();return J(n.copyJsonToClipboard(n.filteredSelectedEvent(),"raw"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p();u(),H("json",A.filteredSelectedEvent()),u(3),lA(A.copiedId==="raw"?"check":"content_copy")}}function rFA(t,e){t&1&&(B(0,"div",40)(1,"mat-icon",52),y(2,"warning"),Q(),B(3,"span"),y(4,"The loaded session file was for a different app. The graph may not be accurate."),Q()())}function sFA(t,e){if(t&1){let A=hA();B(0,"button",58),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.onInvocationSelected(n.key))}),B(1,"mat-icon",59),y(2,"check"),Q(),y(3),Q()}if(t&2){let A,i=e.$implicit,n=p(3);H("matTooltip",i.key),u(),ut("visibility",((A=n.selectedEvent())==null?null:A.invocationId)===i.key?"visible":"hidden"),u(2),ue(" ",i.value," ")}}function lFA(t,e){if(t&1&&(B(0,"button",53)(1,"div",54)(2,"span",55),y(3),Q(),B(4,"mat-icon",56),y(5,"arrow_drop_down"),Q()()(),B(6,"mat-menu",null,3),Je(8,sFA,4,4,"button",57,kNA),Q()),t&2){let A,i=Qi(7),n=p(2);H("matMenuTriggerFor",i),u(2),H("matTooltip",((A=n.selectedEvent())==null?null:A.invocationId)||""),u(),ue(" ",n.invocationDisplayMap().get(n.selectedEvent().invocationId)||n.selectedEvent().invocationId," "),u(5),Oe(n.invocationDisplayEntries())}}function gFA(t,e){if(t&1&&(B(0,"span",44),y(1),Q()),t&2){let A,i,n=p(2);H("matTooltip",((A=n.selectedEvent())==null?null:A.invocationId)||""),u(),lA((i=n.selectedEvent())!=null&&i.invocationId?n.invocationDisplayMap().get(n.selectedEvent().invocationId)||n.selectedEvent().invocationId:"N/A")}}function cFA(t,e){t&1&&(B(0,"mat-icon",61),y(1,"chevron_right"),Q())}function CFA(t,e){t&1&&(B(0,"mat-icon",61),y(1,"chevron_right"),Q())}function IFA(t,e){if(t&1&&(O(0,CFA,2,0,"mat-icon",61),B(1,"button",60),y(2),Q()),t&2){let A=e.$implicit,i=e.$index,n=p(3);Y(i>0?0:-1),u(),RA("active",i===n.breadcrumbs().length-1),u(),ue(" ",A," ")}}function dFA(t,e){if(t&1&&(B(0,"div",45)(1,"button",60),y(2),Q(),O(3,cFA,2,0,"mat-icon",61),Je(4,IFA,3,4,null,null,ws),Q()),t&2){let A=p(2);u(2),lA(A.appName()),u(),Y(A.breadcrumbs().length>0?3:-1),u(),Oe(A.breadcrumbs())}}function BFA(t,e){if(t&1){let A=hA();B(0,"button",62),U("click",function(){T(A);let n=p(2);return J(n.showAgentStructureGraph.emit(!0))}),B(1,"mat-icon"),y(2,"fullscreen"),Q()()}}function EFA(t,e){t&1&&(B(0,"div",39),y(1," Graph is not available for this agent. "),Q())}function hFA(t,e){t&1&&(B(0,"div",48),QA(1,"mat-progress-spinner",63),Q())}function QFA(t,e){if(t&1&&QA(0,"div",49),t&2){let A=p(2);H("innerHtml",A.renderedEventGraph(),Kc)}}function uFA(t,e){if(t&1){let A=hA();B(0,"button",64),U("click",function(){let n=T(A).$implicit,o=p(2);return J(o.handleMenuSelection(n))}),B(1,"span"),y(2),Ht(3,"date"),Q()()}if(t&2){let A=e.$implicit;u(2),ba("Run ",A.runIndex," (",T0(3,2,A.timestamp,"mediumTime"),")")}}function fFA(t,e){if(t&1&&(B(0,"div",17),O(1,rFA,5,0,"div",40),B(2,"div",41)(3,"div",42)(4,"span",43),y(5,"Invocation:"),Q(),O(6,lFA,10,3)(7,gFA,2,2,"span",44),Q()(),O(8,dFA,6,2,"div",45),B(9,"div",46,0),O(11,BFA,3,0,"button",47),O(12,EFA,2,0,"div",39)(13,hFA,2,0,"div",48)(14,QFA,1,1,"div",49),Q(),QA(15,"div",50,1),B(17,"mat-menu",null,2),Je(19,uFA,4,5,"button",51,SNA),Q()()),t&2){let A,i=Qi(18),n=p();u(),Y(n.isViewOnlyAppNameMismatch()?1:-1),u(5),Y(n.invocationDisplayMap().size>0&&((A=n.selectedEvent())!=null&&A.invocationId)?6:7),u(2),Y(n.hasSubWorkflows()&&(n.breadcrumbs().length>0||n.appName())?8:-1),u(3),Y(n.graphsAvailable()?11:-1),u(),Y(n.graphsAvailable()?n.renderedEventGraph()?14:13:12),u(3),ut("left",n.menuPos.x+"px")("top",n.menuPos.y+"px"),H("matMenuTriggerFor",i),u(4),Oe(n.menuEvents)}}function pFA(t,e){t&1&&(B(0,"div",48),QA(1,"mat-progress-spinner",63),Q())}function mFA(t,e){t&1&&(B(0,"div",39),y(1,"Select an LLM response to see request details."),Q())}function wFA(t,e){if(t&1){let A=hA();B(0,"div",16),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p(2);return J(n.copyJsonToClipboard(n.llmRequest(),"request"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(2);u(),H("json",A.llmRequest()),u(3),lA(A.copiedId==="request"?"check":"content_copy")}}function DFA(t,e){if(t&1&&(O(0,pFA,2,0,"div",48),Ht(1,"async"),WI(2,mFA,2,0,"div",39)(3,wFA,5,2,"div",16)),t&2){let A=p();Y(ri(1,1,A.uiStateService.isEventRequestResponseLoading())===!0?0:A.llmRequest()?3:2)}}function yFA(t,e){t&1&&(B(0,"div",48),QA(1,"mat-progress-spinner",63),Q())}function vFA(t,e){t&1&&(B(0,"div",39),y(1,"Select an LLM response to see response details."),Q())}function bFA(t,e){if(t&1){let A=hA();B(0,"div",16),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p(2);return J(n.copyJsonToClipboard(n.llmResponse(),"response"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(2);u(),H("json",A.llmResponse()),u(3),lA(A.copiedId==="response"?"check":"content_copy")}}function MFA(t,e){if(t&1&&(O(0,yFA,2,0,"div",48),Ht(1,"async"),WI(2,vFA,2,0,"div",39)(3,bFA,5,2,"div",16)),t&2){let A=p();Y(ri(1,1,A.uiStateService.isEventRequestResponseLoading())===!0?0:A.llmResponse()?3:2)}}var Iv=class t{eventDataSize=me.required();eventDataMap=me(new Map);selectedEventIndex=me();selectedEvent=me.required();filteredSelectedEvent=me();renderedEventGraph=me();rawSvgString=me(null);llmRequest=me();llmResponse=me();traceData=me([]);appName=me("");selectedEventGraphPath=me("");hasSubWorkflows=me(!1);graphsAvailable=me(!0);invocationDisplayMap=me(new Map);forceGraphTab=me(!1);isViewOnlySession=me(!1);isViewOnlyAppNameMismatch=me(!1);invocationDisplayEntries=pe(()=>Array.from(this.invocationDisplayMap().entries()).map(([e,A])=>({key:e,value:A})));breadcrumbs=pe(()=>{let e=this.selectedEventGraphPath();return e?e.split("/").filter(A=>A):[]});functionCalls=pe(()=>(this.selectedEvent()?.content?.parts||[]).filter(A=>!!A.functionCall).map(A=>A.functionCall));functionResponses=pe(()=>(this.selectedEvent()?.content?.parts||[]).filter(A=>!!A.functionResponse).map(A=>A.functionResponse));processedFunctionResponses=pe(()=>this.functionResponses().map(A=>{if(!A)return null;if(A&&Array.isArray(A.parts)){let n=A.parts.filter(a=>!!a.inlineData).map(a=>a.inlineData&&a.inlineData.data?Ye(gA({},a),{inlineData:Ye(gA({},a.inlineData),{data:a.inlineData.data.replace(/-/g,"+").replace(/_/g,"/")})}):a),o=gA({},A);return delete o.parts,{name:A.name,cleanedFr:o,mediaParts:n,hasMedia:n.length>0}}return{name:A.name,cleanedFr:A,mediaParts:[],hasMedia:!1}}).filter(A=>A!==null));page=ui();closeSelectedEvent=ui();openImageDialog=ui();switchToTraceView=ui();showAgentStructureGraph=ui();drillDownNodePath=ui();selectEventById=ui();jumpToInvocation=ui();onInvocationSelected(e){this.jumpToInvocation.emit(e)}eventMenuTrigger;graphContainer;menuEvents=[];menuPos={x:0,y:0};uiStateService=w(tg);traceService=w(Ag);i18n=w(pQ);isEventRequestResponseLoadingSignal=Ar(this.uiStateService.isEventRequestResponseLoading(),{initialValue:!1});associatedSpans=pe(()=>{let e=this.selectedEvent();if(!e||!e.id)return[];let A=this.traceData();if(!A)return[];let i=o=>{let a=[];for(let r of o)a.push(r),r.children&&(a=a.concat(i(r.children)));return a};return i(A).filter(o=>o.attributes&&o.attributes["gcp.vertex.agent.event_id"]===e.id)});_selectedDetailTab="event";get selectedDetailTab(){return this._selectedDetailTab}set selectedDetailTab(e){this._selectedDetailTab=e,localStorage.setItem("adk-event-tab-selected-tab",e),e==="graph"&&setTimeout(()=>{this.graphContainer?.nativeElement&&nE(this.graphContainer.nativeElement,(A,i)=>{this.handleNodeClick(A,i)})},50)}copiedId=null;copyToClipboard(e,A){e&&navigator.clipboard.writeText(e).then(()=>{this.copiedId=A||e,setTimeout(()=>this.copiedId=null,2e3)})}copyJsonToClipboard(e,A){if(!e)return;let i=JSON.stringify(e,null,2);navigator.clipboard.writeText(i).then(()=>{this.copiedId=A,setTimeout(()=>this.copiedId=null,2e3)})}switchToSpan(e){this.switchToTraceView.emit(),this.traceService.selectedRow(e)}constructor(){let e=localStorage.getItem("adk-event-tab-selected-tab");e&&["event","raw","request","response","graph","metadata"].includes(e)&&(this._selectedDetailTab=e),Ao(()=>{let A=this.renderedEventGraph(),i=this._selectedDetailTab;A&&i==="graph"&&setTimeout(()=>{this.graphContainer?.nativeElement&&nE(this.graphContainer.nativeElement,(n,o)=>{this.handleNodeClick(n,o)})},50)}),Ao(()=>{let A=this.selectedEvent();this.forceGraphTab()&&(this.selectedDetailTab="graph")})}formatTime(e){if(!e)return"N/A";let A=e<1e10?e*1e3:e;return new Date(A).toLocaleString()}isObject(e){return e!==null&&typeof e=="object"}handleNodeClick(e,A){let i=Array.from(this.eventDataMap().values()),o=this.selectedEvent()?.invocationId;o&&(i=i.filter(l=>l.invocationId===o));let a=[],r=[],s="";i.forEach(l=>{let g=l.nodeInfo?.path;if(l.author==="user"&&(g="__START__"),!g)return;let C=g;g!=="__START__"&&(C=g.split("/").map(E=>E.split("@")[0]).join("/"));let I=C.split("/"),d=I[I.length-1],h="";if(I.length>=2&&I[I.length-1]==="call_llm"&&I[I.length-2]===l.author?(d=I[I.length-2],h=I.slice(1,-2).join("/")):h=I.slice(1,-1).join("/"),h===this.selectedEventGraphPath()){let E=g.split("/"),f=E[E.length-1],m=e.includes("@")?f:d;m!==s&&(s===e&&r.length>0&&a.push(r),s=m,r=[]),m===e&&r.push(l)}}),s===e&&r.length>0&&a.push(r),a.length!==0&&(a.length===1?this.selectEventById.emit(a[0][0].id):(this.menuEvents=a.map((l,g)=>({id:l[0].id,runIndex:g+1,timestamp:l[0].timestamp})),A&&(this.menuPos={x:A.clientX,y:A.clientY}),this.eventMenuTrigger.openMenu()))}handleMenuSelection(e){this.selectEventById.emit(e.id)}Object=Object;static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-event-tab"]],viewQuery:function(A,i){if(A&1&&Jt(yNA,5)(vNA,5),A&2){let n;ae(n=re())&&(i.eventMenuTrigger=n.first),ae(n=re())&&(i.graphContainer=n.first)}},inputs:{eventDataSize:[1,"eventDataSize"],eventDataMap:[1,"eventDataMap"],selectedEventIndex:[1,"selectedEventIndex"],selectedEvent:[1,"selectedEvent"],filteredSelectedEvent:[1,"filteredSelectedEvent"],renderedEventGraph:[1,"renderedEventGraph"],rawSvgString:[1,"rawSvgString"],llmRequest:[1,"llmRequest"],llmResponse:[1,"llmResponse"],traceData:[1,"traceData"],appName:[1,"appName"],selectedEventGraphPath:[1,"selectedEventGraphPath"],hasSubWorkflows:[1,"hasSubWorkflows"],graphsAvailable:[1,"graphsAvailable"],invocationDisplayMap:[1,"invocationDisplayMap"],forceGraphTab:[1,"forceGraphTab"],isViewOnlySession:[1,"isViewOnlySession"],isViewOnlyAppNameMismatch:[1,"isViewOnlyAppNameMismatch"]},outputs:{page:"page",closeSelectedEvent:"closeSelectedEvent",openImageDialog:"openImageDialog",switchToTraceView:"switchToTraceView",showAgentStructureGraph:"showAgentStructureGraph",drillDownNodePath:"drillDownNodePath",selectEventById:"selectEventById",jumpToInvocation:"jumpToInvocation"},decls:31,vars:29,consts:[["graphContainer",""],["eventMenuTrigger","matMenuTrigger"],["eventMenu","matMenu"],["invocationSelectorMenu","matMenu"],[1,"event-details-container"],[1,"event-details-header"],["hidePageSize","",1,"event-paginator",3,"page","length","pageSize","pageIndex"],["mat-icon-button","",3,"click","matTooltip"],[1,"event-details-content"],[1,"vertical-tabs-sidebar"],["mat-icon-button","","matTooltipPosition","right",3,"click","matTooltip"],["mat-icon-button","","matTooltipPosition","right",3,"active","matTooltip"],["mat-icon-button","","matTooltip","Usage Metadata","matTooltipPosition","right",3,"click"],["mat-icon-button","","matTooltip","Raw JSON","matTooltipPosition","right",3,"click"],[1,"vertical-tabs-content"],[1,"info-tables-container"],[1,"json-viewer-container","json-viewer-wrapper"],[1,"event-graph-wrapper"],["app-info-table",""],[1,"id-text"],[1,"id-cell"],[3,"matTooltip"],["mat-icon-button","","matTooltip","Copy",1,"copy-id-button",3,"click"],[1,"value-cell"],["mat-icon-button","","matTooltip","Copy",1,"copy-value-button",3,"click"],["app-info-table","","title","Node Info"],["app-info-table","","title","Actions"],["app-info-table","","title","Function Calls"],["app-info-table","","title","Function Responses"],["app-info-table","","title","Associated Spans"],[1,"json-viewer-wrapper"],[3,"json"],["mat-icon-button","","matTooltip","Copy JSON",1,"floating-copy-button",3,"click"],[1,"media-container"],[1,"generated-image-container"],["alt","image",3,"src"],["controls","",3,"src"],["href","javascript:void(0)",1,"span-link","id-text",3,"click","matTooltip"],["app-info-table","","title","Usage Metadata"],[1,"request-response-empty-state"],[1,"warning-banner",2,"background-color","#fff3cd","color","#856404","padding","8px","margin-bottom","8px","border-radius","4px","display","flex","align-items","center"],[1,"graph-header",2,"justify-content","space-between"],[2,"display","flex","align-items","center","min-width","0","flex","1","width","100%"],[2,"white-space","nowrap","flex-shrink","0"],[2,"margin-left","8px","font-weight","normal",3,"matTooltip"],[1,"breadcrumb-container"],[1,"event-graph-container"],["mat-icon-button","","matTooltip","Full Screen",1,"fullscreen-graph-button"],[1,"request-response-loading-spinner-container"],[1,"svg-graph-wrapper",3,"innerHtml"],[2,"visibility","hidden","position","fixed",3,"matMenuTriggerFor"],["mat-menu-item",""],[2,"margin-right","8px"],["mat-button","",1,"invocation-selector-button",2,"margin-left","8px","padding","0 8px","min-width","0","flex","1","height","24px","line-height","24px","width","100%",3,"matMenuTriggerFor"],[2,"display","flex","align-items","center","width","100%","min-width","0","justify-content","space-between"],[2,"font-weight","normal","overflow","hidden","text-overflow","ellipsis","white-space","nowrap","flex","1","text-align","left",3,"matTooltip"],[2,"margin-left","4px","font-size","18px","width","18px","height","18px","flex-shrink","0"],["mat-menu-item","","matTooltipPosition","right",3,"matTooltip"],["mat-menu-item","","matTooltipPosition","right",3,"click","matTooltip"],[2,"font-size","16px","width","16px","height","16px","margin-right","8px","color","var(--mat-sys-primary)"],["disabled","",1,"breadcrumb-item"],[1,"breadcrumb-separator"],["mat-icon-button","","matTooltip","Full Screen",1,"fullscreen-graph-button",3,"click"],["mode","indeterminate","diameter","50"],["mat-menu-item","",3,"click"]],template:function(A,i){A&1&&(B(0,"div",4)(1,"div",5)(2,"mat-paginator",6),U("page",function(o){return i.page.emit(o)}),Q(),B(3,"button",7),U("click",function(){return i.closeSelectedEvent.emit()}),B(4,"mat-icon"),y(5,"remove_selection"),Q()()(),B(6,"div",8)(7,"div",9)(8,"button",10),U("click",function(){return i.selectedDetailTab="event"}),B(9,"mat-icon"),y(10,"info"),Q()(),O(11,xNA,3,4,"button",11),B(12,"button",10),U("click",function(){return i.selectedDetailTab="request"}),B(13,"mat-icon"),y(14,"input"),Q()(),B(15,"button",10),U("click",function(){return i.selectedDetailTab="response"}),B(16,"mat-icon"),y(17,"output"),Q()(),B(18,"button",12),U("click",function(){return i.selectedDetailTab="metadata"}),B(19,"mat-icon"),y(20,"analytics"),Q()(),B(21,"button",13),U("click",function(){return i.selectedDetailTab="raw"}),B(22,"mat-icon"),y(23,"data_object"),Q()()(),B(24,"div",14),O(25,XNA,57,20,"div",15),O(26,oFA,3,1,"div",15),O(27,aFA,5,2,"div",16),O(28,fFA,21,10,"div",17),O(29,DFA,4,3),O(30,MFA,4,3),Q()()()),A&2&&(u(2),H("length",i.eventDataSize())("pageSize",1)("pageIndex",i.selectedEventIndex()),te("aria-label",i.i18n.selectEventAriaLabel),u(),H("matTooltip",XC(i.i18n.clearSelectionButtonLabel)),u(5),RA("active",i.selectedDetailTab==="event"),H("matTooltip",XC(i.i18n.infoTabLabel)),u(3),Y(i.graphsAvailable()?11:-1),u(),RA("active",i.selectedDetailTab==="request"),H("matTooltip",XC(i.i18n.requestDetailsTabLabel)),u(3),RA("active",i.selectedDetailTab==="response"),H("matTooltip",XC(i.i18n.responseDetailsTabLabel)),u(3),RA("active",i.selectedDetailTab==="metadata"),u(3),RA("active",i.selectedDetailTab==="raw"),u(4),Y(i.selectedDetailTab==="event"?25:-1),u(),Y(i.selectedDetailTab==="metadata"?26:-1),u(),Y(i.selectedDetailTab==="raw"?27:-1),u(),Y(i.selectedDetailTab==="graph"?28:-1),u(),Y(i.selectedDetailTab==="request"?29:-1),u(),Y(i.selectedDetailTab==="response"?30:-1))},dependencies:[qi,pi,ji,Wt,n6,gs,dn,LB,Zs,Ml,$c,cs,$l,OI,os,nL],styles:["[_nghost-%COMP%]{display:block;height:100%}.json-viewer-container[_ngcontent-%COMP%]{margin:10px}.event-paginator[_ngcontent-%COMP%]{margin-right:auto;display:flex;justify-content:center;background-color:transparent}.event-paginator[_ngcontent-%COMP%] .mat-mdc-paginator-range-label{order:2;margin:0 0 0 8px}.event-details-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.event-details-content[_ngcontent-%COMP%]{display:flex;flex:1;overflow:hidden}.vertical-tabs-sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:48px;border-right:1px solid var(--mat-sys-outline-variant);padding-top:8px;align-items:center;gap:8px}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}.vertical-tabs-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.event-details-header[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--mat-sys-outline-variant);height:48px;flex-shrink:0}.empty-state[_ngcontent-%COMP%]{padding:16px;text-align:center;color:var(--mat-sys-on-surface-variant);font-style:italic}.details-content[_ngcontent-%COMP%]{color:var(--side-panel-details-content-color);font-size:14px}.event-graph-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;width:100%}.breadcrumb-container[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:13px;color:var(--mat-sys-on-surface-variant);padding:8px 12px}.breadcrumb-container[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500;margin-right:8px;color:var(--mat-sys-on-surface)}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-item[_ngcontent-%COMP%]{background:none;border:none;color:var(--mat-sys-primary);font-size:13px;padding:2px 4px}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-item.active[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-sys-on-surface)}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-item[_ngcontent-%COMP%]:disabled{color:var(--mat-sys-on-surface);font-weight:500}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-separator[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--mat-sys-on-surface-variant);margin:0 4px}.graph-header[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:13px;color:var(--mat-sys-on-surface-variant);background-color:var(--mat-sys-surface-container-lowest);padding:8px 16px;border-bottom:1px solid var(--mat-sys-outline-variant)}.graph-header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500;margin-right:8px;color:var(--mat-sys-on-surface)}.event-graph-container[_ngcontent-%COMP%]{flex:1;overflow:hidden;padding:16px;position:relative}.fullscreen-graph-button[_ngcontent-%COMP%]{position:absolute;top:4px;right:4px;z-index:10;width:48px!important;height:48px!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important}.fullscreen-graph-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px!important;width:28px!important;height:28px!important;line-height:28px!important;margin:0!important;padding:0!important}.event-graph-container[_ngcontent-%COMP%] .svg-graph-wrapper[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.event-graph-container[_ngcontent-%COMP%] svg{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.event-graph-container[_ngcontent-%COMP%] svg>g.graph>polygon:first-child{fill:transparent!important}.request-response-loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em}.request-response-empty-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em;font-style:italic}.id-text[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace;font-size:12px}.id-cell[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;overflow:hidden}.id-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child, .value-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.id-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .id-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%]{opacity:1}.copy-id-button[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%]{width:28px!important;height:28px!important;padding:0!important;line-height:28px!important;flex-shrink:0;margin:-4px 0!important;opacity:0;transition:opacity .2s ease-in-out;border-radius:4px!important;overflow:hidden!important}.copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.copy-id-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.info-tables-container[_ngcontent-%COMP%]{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.invocation-selector-button[_ngcontent-%COMP%] .mdc-button__label{width:100%;flex:1;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.media-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;margin-top:8px;margin-bottom:12px}.generated-image-container[_ngcontent-%COMP%]{max-width:100%;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;border:1px solid var(--mat-sys-outline-variant)}.generated-image-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:auto;display:block}audio[_ngcontent-%COMP%], video[_ngcontent-%COMP%]{max-width:100%;border-radius:4px}.json-viewer-wrapper[_ngcontent-%COMP%]{position:relative}.json-viewer-wrapper[_ngcontent-%COMP%]:hover .floating-copy-button[_ngcontent-%COMP%]{opacity:1}.floating-copy-button[_ngcontent-%COMP%]{position:absolute;top:4px;right:4px;z-index:10;opacity:0;transition:opacity .2s ease-in-out;background-color:var(--mat-sys-surface-container-high)!important;border-radius:4px!important;overflow:hidden!important;width:28px!important;height:28px!important;line-height:28px!important;padding:0!important}.floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.floating-copy-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.floating-copy-button[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}"],changeDetection:0})};var SFA=["evalTabContainer"];function kFA(t,e){}function xFA(t,e){t&1&&(B(0,"div",1),QA(1,"mat-progress-spinner",4),Q())}function _FA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(2);u(),lA(A.i18n.infoTabLabel)}}function RFA(t,e){if(t&1){let A=hA();B(0,"app-trace-tab",12),U("switchToEvent",function(n){T(A);let o=p(2);return J(o.switchToEvent.emit(n))}),Q()}if(t&2){let A=p(2);H("traceData",A.traceData())}}function NFA(t,e){if(t&1){let A=hA();B(0,"app-event-tab",13),U("page",function(n){T(A);let o=p(2);return J(o.page.emit(n))})("closeSelectedEvent",function(){T(A);let n=p(2);return J(n.closeSelectedEvent.emit())})("openImageDialog",function(n){T(A);let o=p(2);return J(o.openImageDialog.emit(n))})("switchToTraceView",function(){T(A);let n=p(2);return J(n.switchToTraceView.emit())})("showAgentStructureGraph",function(n){T(A);let o=p(2);return J(o.showAgentStructureGraph.emit(n))})("drillDownNodePath",function(n){T(A);let o=p(2);return J(o.drillDownNodePath.emit(n))})("selectEventById",function(n){T(A);let o=p(2);return J(o.selectEventById.emit(n))})("jumpToInvocation",function(n){T(A);let o=p(2);return J(o.jumpToInvocation.emit(n))}),Q()}if(t&2){let A=p(2);H("eventDataSize",A.eventData().size)("eventDataMap",A.eventData())("selectedEventIndex",A.selectedEventIndex())("selectedEvent",A.selectedEvent())("traceData",A.traceData())("filteredSelectedEvent",A.filteredSelectedEvent())("renderedEventGraph",A.renderedEventGraph())("rawSvgString",A.rawSvgString())("appName",A.appName())("selectedEventGraphPath",A.selectedEventGraphPath())("llmRequest",A.llmRequest())("llmResponse",A.llmResponse())("hasSubWorkflows",A.hasSubWorkflows())("graphsAvailable",A.graphsAvailable())("invocationDisplayMap",A.invocationDisplayMap())("forceGraphTab",A.forceGraphTab())("isViewOnlySession",A.isViewOnlySession())("isViewOnlyAppNameMismatch",A.isViewOnlyAppNameMismatch())}}function FFA(t,e){t&1&&(B(0,"div",9),y(1,"Select an event or trace span to view details"),Q())}function LFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(2);u(),lA(A.i18n.stateTabLabel)}}function GFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.artifactsTabLabel)}}function KFA(t,e){if(t&1&&(B(0,"mat-tab"),Et(1,GFA,2,1,"ng-template",6),QA(2,"app-artifact-tab",14),Q()),t&2){let A=p(2);u(2),H("artifacts",A.artifacts())}}function UFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.testsTabLabel)}}function TFA(t,e){if(t&1){let A=hA();B(0,"mat-tab"),Et(1,UFA,2,1,"ng-template",6),B(2,"app-tests-tab",15),U("testSelected",function(n){T(A);let o=p(2);return J(o.testSelected.emit(n))}),Q()()}if(t&2){let A=p(2);u(2),H("appName",A.appName())("sessionId",A.sessionId())("userId",A.userId())("isViewOnlySession",A.isViewOnlySession())}}function JFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.evalTabLabel)}}function OFA(t,e){t&1&&(B(0,"mat-tab"),Et(1,JFA,2,1,"ng-template",6),sn(2,null,0),Q())}function YFA(t,e){if(t&1){let A=hA();B(0,"div",2)(1,"mat-tab-group",5),Di("selectedIndexChange",function(n){T(A);let o=p();return di(o.selectedIndex,n)||(o.selectedIndex=n),J(n)}),U("selectedTabChange",function(n){T(A);let o=p();return J(o.onTabChange(n))}),B(2,"mat-tab"),Et(3,_FA,2,1,"ng-template",6),O(4,RFA,1,1,"app-trace-tab",7)(5,NFA,1,18,"app-event-tab",8)(6,FFA,2,0,"div",9),Q(),B(7,"mat-tab"),Et(8,LFA,2,1,"ng-template",6),QA(9,"app-state-tab",10),Q(),O(10,KFA,3,1,"mat-tab"),Ht(11,"async"),O(12,TFA,3,4,"mat-tab"),Ht(13,"async"),O(14,OFA,4,0,"mat-tab"),Ht(15,"async"),Q()()}if(t&2){let A=p(),i=zn(2);H("hidden",i||!A.showSidePanel()),u(),wi("selectedIndex",A.selectedIndex),u(3),Y(A.selectedSpan()?4:A.selectedEvent()?5:6),u(5),H("sessionState",A.currentSessionState()),u(),Y(ri(11,7,A.isArtifactsTabEnabledObs)?10:-1),u(2),Y(ri(13,9,A.isTestsEnabledObs)?12:-1),u(2),Y(ri(15,11,A.isEvalEnabledObs)?14:-1)}}var mQ=class t{Object=Object;appName=me("");userId=me("");sessionId=me("");traceData=me([]);eventData=me(new Map);currentSessionState=me();artifacts=me([]);selectedEvent=me();selectedEventIndex=me();renderedEventGraph=me();rawSvgString=me(null);selectedEventGraphPath=me("");llmRequest=me();llmResponse=me();showSidePanel=me(!1);isApplicationSelectorEnabledObs=me(oe(!1));isBuilderMode=me(!1);disableBuilderIcon=me(!1);hasSubWorkflows=me(!1);graphsAvailable=me(!0);invocationDisplayMap=me(new Map);forceGraphTab=me(!1);isViewOnlySession=me(!1);isViewOnlyAppNameMismatch=me(!1);closePanel=ui();tabChange=ui();sessionSelected=ui();sessionReloaded=ui();evalCaseSelected=ui();editEvalCaseRequested=ui();testSelected=ui();evalSetIdSelected=ui();returnToSession=ui();evalNotInstalled=ui();page=ui();switchToEvent=ui();closeSelectedEvent=ui();openImageDialog=ui();openAddItemDialog=ui();enterBuilderMode=ui();showAgentStructureGraph=ui();switchToTraceView=ui();drillDownNodePath=ui();selectEventById=ui();jumpToInvocation=ui();sessionTabComponent=void 0;evalTabComponent=So(_c);evalTabContainer=So("evalTabContainer",{read:Mo});tabGroup=So(lv);logoComponent=w(PB,{optional:!0});i18n=w(pQ);featureFlagService=w(yr);evalTabComponentClass=w(rv,{optional:!0});environmentInjector=w(Gr);uiStateService=w(tg);traceService=w(Ag);selectedSpan=Ar(this.traceService.selectedTraceRow$);selectedIndex=0;pendingEvalCaseSelection=bA(void 0);pendingEvalResultSelection=bA(void 0);constructor(){Ao(()=>{let e=this.selectedEvent(),A=this.selectedSpan(),i=this.tabGroup();(e||A)&&i&&i.selectedIndex!==0&&(this.selectedIndex=0,window.localStorage.setItem("adk-side-panel-selected-tab","0"))})}ngOnInit(){let e=window.localStorage.getItem("adk-side-panel-selected-tab");e!==null&&(this.selectedIndex=parseInt(e,10))}onTabChange(e){this.tabChange.emit(e),this.selectedIndex=e.index,window.localStorage.setItem("adk-side-panel-selected-tab",e.index.toString())}switchToEvalTab(){this.isEvalEnabledObs.pipe($n()).subscribe(e=>{e&&qC([this.isArtifactsTabEnabledObs.pipe($n()),this.isTestsEnabledObs.pipe($n())]).subscribe(([A,i])=>{let n=2;A&&n++,i&&n++,this.selectedIndex=n,window.localStorage.setItem("adk-side-panel-selected-tab",n.toString())})})}selectEvalCase(e,A){let i=this.evalTabComponent();i?(i.selectEvalSet(e),i.selectedEvalTab.set("cases"),i.selectedEvalCase.set(A)):this.pendingEvalCaseSelection.set({evalSetId:e,evalCase:A})}selectEvalResult(e,A,i){let n=this.evalTabComponent();console.log("selectEvalResult tab available:",!!n,"evalCase:",i),n?(n.selectEvalSet(e),n.selectedHistoryRun.set(A),i?(console.log("selectEvalResult setting cases tab and case"),n.selectedEvalTab.set("cases"),n.selectedEvalCase.set(i)):(console.log("selectEvalResult setting history tab and run"),n.selectedEvalTab.set("history"))):(console.log("selectEvalResult deferred to pending"),this.pendingEvalResultSelection.set({evalSetId:e,timestamp:A,evalCase:i}))}isAlwaysOnSidePanelEnabledObs=this.featureFlagService.isAlwaysOnSidePanelEnabled();isTraceEnabledObs=this.featureFlagService.isTraceEnabled();isArtifactsTabEnabledObs=this.featureFlagService.isArtifactsTabEnabled();isEvalEnabledObs=this.featureFlagService.isEvalEnabled();isTestsEnabledObs=this.featureFlagService.isTestsEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isMessageFileUploadEnabledObs=this.featureFlagService.isMessageFileUploadEnabled();isManualStateUpdateEnabledObs=this.featureFlagService.isManualStateUpdateEnabled();isBidiStreamingEnabledObs=this.featureFlagService.isBidiStreamingEnabled;filteredSelectedEvent=pe(()=>this.selectedEvent());ngAfterViewInit(){setTimeout(()=>{this.initEvalTab()},500)}initEvalTab(){this.isEvalEnabledObs.pipe($n()).subscribe(e=>{if(e){let A=this.evalTabContainer()?.createComponent(this.evalTabComponentClass??_c,{environmentInjector:this.environmentInjector});if(!A)return;Xa(this.environmentInjector,()=>{Ao(()=>{A.setInput("appName",this.appName()),A.setInput("userId",this.userId()),A.setInput("sessionId",this.sessionId())}),Ao(()=>{let i=this.pendingEvalCaseSelection();i&&(console.log("initEvalTab applying pendingEvalCaseSelection:",i),A.instance.selectEvalSet(i.evalSetId),A.instance.selectedEvalTab.set("cases"),A.instance.selectedEvalCase.set(i.evalCase),this.pendingEvalCaseSelection.set(void 0))}),Ao(()=>{let i=this.pendingEvalResultSelection();i&&(console.log("initEvalTab applying pendingEvalResultSelection:",i),A.instance.selectEvalSet(i.evalSetId),A.instance.selectedHistoryRun.set(i.timestamp),i.evalCase?(console.log("initEvalTab setting cases tab and case"),A.instance.selectedEvalTab.set("cases"),A.instance.selectedEvalCase.set(i.evalCase)):(console.log("initEvalTab setting history tab and run"),A.instance.selectedEvalTab.set("history")),this.pendingEvalResultSelection.set(void 0))})}),A.instance.sessionSelected.subscribe(i=>{this.sessionSelected.emit(i)}),A.instance.evalCaseSelected.subscribe(i=>{this.evalCaseSelected.emit(i)}),A.instance.editEvalCaseRequested.subscribe(i=>{this.editEvalCaseRequested.emit(i)}),A.instance.evalSetIdSelected.subscribe(i=>{this.evalSetIdSelected.emit(i)}),A.instance.shouldReturnToSession.subscribe(i=>{this.returnToSession.emit(i)}),A.instance.evalNotInstalledMsg.subscribe(i=>{this.evalNotInstalled.emit(i)})}})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-side-panel"]],viewQuery:function(A,i){A&1&&ns(i.evalTabComponent,_c,5)(i.evalTabContainer,SFA,5,Mo)(i.tabGroup,lv,5),A&2&&ur(3)},inputs:{appName:[1,"appName"],userId:[1,"userId"],sessionId:[1,"sessionId"],traceData:[1,"traceData"],eventData:[1,"eventData"],currentSessionState:[1,"currentSessionState"],artifacts:[1,"artifacts"],selectedEvent:[1,"selectedEvent"],selectedEventIndex:[1,"selectedEventIndex"],renderedEventGraph:[1,"renderedEventGraph"],rawSvgString:[1,"rawSvgString"],selectedEventGraphPath:[1,"selectedEventGraphPath"],llmRequest:[1,"llmRequest"],llmResponse:[1,"llmResponse"],showSidePanel:[1,"showSidePanel"],isApplicationSelectorEnabledObs:[1,"isApplicationSelectorEnabledObs"],isBuilderMode:[1,"isBuilderMode"],disableBuilderIcon:[1,"disableBuilderIcon"],hasSubWorkflows:[1,"hasSubWorkflows"],graphsAvailable:[1,"graphsAvailable"],invocationDisplayMap:[1,"invocationDisplayMap"],forceGraphTab:[1,"forceGraphTab"],isViewOnlySession:[1,"isViewOnlySession"],isViewOnlyAppNameMismatch:[1,"isViewOnlyAppNameMismatch"]},outputs:{closePanel:"closePanel",tabChange:"tabChange",sessionSelected:"sessionSelected",sessionReloaded:"sessionReloaded",evalCaseSelected:"evalCaseSelected",editEvalCaseRequested:"editEvalCaseRequested",testSelected:"testSelected",evalSetIdSelected:"evalSetIdSelected",returnToSession:"returnToSession",evalNotInstalled:"evalNotInstalled",page:"page",switchToEvent:"switchToEvent",closeSelectedEvent:"closeSelectedEvent",openImageDialog:"openImageDialog",openAddItemDialog:"openAddItemDialog",enterBuilderMode:"enterBuilderMode",showAgentStructureGraph:"showAgentStructureGraph",switchToTraceView:"switchToTraceView",drillDownNodePath:"drillDownNodePath",selectEventById:"selectEventById",jumpToInvocation:"jumpToInvocation"},decls:7,vars:8,consts:[["evalTabContainer",""],[1,"loading-spinner-container"],[1,"tabs-container",3,"hidden"],[1,"resize-handler"],["mode","indeterminate","diameter","50"],["animationDuration","0ms",3,"selectedIndexChange","selectedTabChange","selectedIndex"],["mat-tab-label",""],[3,"traceData"],[3,"eventDataSize","eventDataMap","selectedEventIndex","selectedEvent","traceData","filteredSelectedEvent","renderedEventGraph","rawSvgString","appName","selectedEventGraphPath","llmRequest","llmResponse","hasSubWorkflows","graphsAvailable","invocationDisplayMap","forceGraphTab","isViewOnlySession","isViewOnlyAppNameMismatch"],[1,"empty-state"],[3,"sessionState"],[1,"tab-label"],[3,"switchToEvent","traceData"],[3,"page","closeSelectedEvent","openImageDialog","switchToTraceView","showAgentStructureGraph","drillDownNodePath","selectEventById","jumpToInvocation","eventDataSize","eventDataMap","selectedEventIndex","selectedEvent","traceData","filteredSelectedEvent","renderedEventGraph","rawSvgString","appName","selectedEventGraphPath","llmRequest","llmResponse","hasSubWorkflows","graphsAvailable","invocationDisplayMap","forceGraphTab","isViewOnlySession","isViewOnlyAppNameMismatch"],[3,"artifacts"],[3,"testSelected","appName","sessionId","userId","isViewOnlySession"]],template:function(A,i){if(A&1&&(O(0,kFA,0,0),Ht(1,"async"),ta(2),Ht(3,"async"),O(4,xFA,2,0,"div",1),O(5,YFA,16,13,"div",2),QA(6,"div",3)),A&2){Y(ri(1,3,i.isAlwaysOnSidePanelEnabledObs)===!1?0:-1),u(2);let n=ga(ri(3,5,i.uiStateService.isSessionLoading()));u(2),Y(n?4:-1),u(),Y(i.appName()!=""?5:-1)}},dependencies:[lv,CF,cF,Cv,cv,Z6,Iv,gs,gv,os],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;position:relative}.drawer-header-wrapper[_ngcontent-%COMP%]{display:flex;height:48px;align-items:center;padding-left:20px}.drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center}.tabs-container[_ngcontent-%COMP%]{width:100%;flex:1;overflow:hidden;display:flex;flex-direction:column}.tab-label[_ngcontent-%COMP%]{font-size:14px}.resize-handler[_ngcontent-%COMP%]{width:6px;border-radius:4px;position:absolute;display:block;top:20px;bottom:20px;right:0;z-index:100;cursor:ew-resize}.resize-handler[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-outline-variant)}.empty-state[_ngcontent-%COMP%]{padding:16px;text-align:center;color:var(--mat-sys-on-surface-variant);font-style:italic}mat-tab-group[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;min-height:0}mat-tab-group[_ngcontent-%COMP%] .mdc-tab{padding:0 12px;min-width:48px} .mat-mdc-tab-body-wrapper{flex:1;min-height:0} .mat-mdc-tab-body-wrapper .mat-mdc-tab-body-content{overflow-x:hidden}.drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:6px}.drawer-logo[_ngcontent-%COMP%]{font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.drawer-header-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.panel-toggle-icon[_ngcontent-%COMP%]{font-size:20px;width:24px;height:24px;color:var(--side-panel-mat-icon-color, #c4c7c5);cursor:pointer;display:flex;align-items:center;justify-content:center}.powered-by-adk[_ngcontent-%COMP%]{font-size:10px;color:var(--side-panel-powered-by-adk-color);text-align:right;margin-top:-5px}.adk-info-icon[_ngcontent-%COMP%]{font-size:14px;color:var(--side-panel-mat-icon-color, #bdc1c6);cursor:pointer;margin-left:4px;vertical-align:middle}.mode-toggle-container[_ngcontent-%COMP%]{display:flex;align-items:center}.build-mode-button[_ngcontent-%COMP%]{margin:0 4px}.app-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}"]})};var HFA=["editInput"];function zFA(t,e){if(t&1){let A=hA();B(0,"button",5),U("click",function(){T(A);let n=p();return J(n.startEdit())}),B(1,"mat-icon"),y(2,"edit"),Q()()}}function PFA(t,e){if(t&1){let A=hA();B(0,"button",6),U("click",function(){T(A);let n=p();return J(n.saveEdit())}),B(1,"mat-icon"),y(2,"check"),Q()(),B(3,"button",7),U("click",function(){T(A);let n=p();return J(n.cancelEdit())}),B(4,"mat-icon"),y(5,"close"),Q()()}}var dv=class t{value="";displayValue="";tooltip="";placeholder="";textClass="";save=new LA;isEditing=!1;draftValue="";editInput;startEdit(){this.draftValue=this.value,this.isEditing=!0,setTimeout(()=>{this.editInput.nativeElement.focus()})}cancelEdit(){this.isEditing=!1,this.draftValue=""}saveEdit(){this.save.emit(this.draftValue),this.isEditing=!1}handleKeydown(e){e.key==="Enter"?this.saveEdit():e.key==="Escape"&&this.cancelEdit()}get effectiveDisplayValue(){return this.displayValue||this.value}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-inline-edit"]],viewQuery:function(A,i){if(A&1&&Jt(HFA,5),A&2){let n;ae(n=re())&&(i.editInput=n.first)}},inputs:{value:"value",displayValue:"displayValue",tooltip:"tooltip",placeholder:"placeholder",textClass:"textClass"},outputs:{save:"save"},decls:6,vars:10,consts:[["editInput",""],[1,"inline-edit-container"],[1,"inline-edit-text-wrapper"],[1,"inline-edit-input",3,"ngModelChange","keydown","readonly","ngClass","matTooltip","ngModel"],["mat-icon-button","","aria-label","Edit",1,"inline-edit-action-button"],["mat-icon-button","","aria-label","Edit",1,"inline-edit-action-button",3,"click"],["mat-icon-button","","aria-label","Save",1,"inline-edit-action-button",3,"click"],["mat-icon-button","","aria-label","Cancel",1,"inline-edit-action-button",3,"click"]],template:function(A,i){A&1&&(B(0,"div",1)(1,"div",2)(2,"input",3,0),U("ngModelChange",function(o){return i.draftValue=o})("keydown",function(o){return i.handleKeydown(o)}),Q()(),O(4,zFA,3,0,"button",4)(5,PFA,6,0),Q()),A&2&&(u(2),RA("readonly",!i.isEditing),H("readonly",!i.isEditing)("ngClass",i.textClass)("matTooltip",i.isEditing?"":i.tooltip)("ngModel",i.isEditing?i.draftValue:i.effectiveDisplayValue),te("placeholder",i.isEditing?i.placeholder:"")("aria-label",i.placeholder)("size",((i.isEditing?i.draftValue:i.effectiveDisplayValue)==null?null:(i.isEditing?i.draftValue:i.effectiveDisplayValue).length)||1),u(2),Y(i.isEditing?5:4))},dependencies:[si,zl,ln,Dn,yn,ko,qi,ji,Tn,Wt,Fa,dn],styles:["[_nghost-%COMP%]{display:block;max-width:100%;min-width:0;width:100%}.inline-edit-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.inline-edit-text-wrapper[_ngcontent-%COMP%]{flex:0 1 auto;min-width:0;display:flex;align-items:center}.inline-edit-input[_ngcontent-%COMP%]{min-width:48px;max-width:100%;padding:2px 6px;margin:-3px -7px;border:1px solid var(--chat-toolbar-session-text-color, #ccc);border-radius:4px;color:var(--chat-toolbar-session-id-color, inherit);font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;background:transparent;field-sizing:content;transition:all .2s ease}.inline-edit-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color, #1a73e8)}.inline-edit-input.readonly[_ngcontent-%COMP%]{min-width:0;border-color:transparent;cursor:inherit}.inline-edit-input.readonly[_ngcontent-%COMP%]:focus{outline:none;border-color:transparent}.inline-edit-action-button[_ngcontent-%COMP%]{flex-shrink:0;width:28px!important;height:28px!important;padding:0!important;display:flex;align-items:center;justify-content:center}.inline-edit-action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}"]})};var jFA={openPanelTooltip:"Open panel",evalCaseIdLabel:"Eval Case ID",cancelButton:"Cancel",saveButton:"Save",editEvalCaseTooltip:"Edit current eval case",deleteEvalCaseTooltip:"Delete current eval case",sessionIdLabel:"Session",copySessionIdTooltip:"Copy session ID",sessionIdCopiedMessage:"Session ID copied",copySessionIdFailedMessage:"Failed to copy session ID",userIdLabel:"User ID",editUserIdTooltip:"Edit user ID",userIdInputPlaceholder:"Enter user ID",saveUserIdTooltip:"Save user ID",cancelUserIdEditTooltip:"Cancel editing user ID",invalidUserIdMessage:"User ID cannot be empty",loadingSessionLabel:"Loading session...",tokenStreamingLabel:"Token Streaming",moreOptionsTooltip:"More options",createNewSessionTooltip:"Create a new Session",newSessionButton:"New Session",deleteSessionTooltip:"Delete session",exportSessionTooltip:"Export session",importSessionTooltip:"Import session",viewSessionTooltip:"View session",loadingAgentsLabel:"Loading agents, please wait...",welcomeMessage:"Welcome to ADK!",selectAgentMessage:"Select an agent on the left to begin with.",failedToLoadAgentsMessage:"Failed to load agents. To get started, run",errorMessageLabel:"Error message:",noAgentsFoundWarning:"Warning: No agents found in current folder.",cannotEditSessionMessage:"Chat is disabled to prevent changes to the end user's session.",viewSessionReadOnlyMessage:'This is a read-only view of a session file. Use "Import Session" if you want to continue this session.',readOnlyBadgeLabel:"Read-only"},liA=new kA("Chat Messages",{factory:()=>jFA});var qFA=["sideDrawer"],VFA=["drawerSessionTab"],WFA=["appSearchInput"],ZFA=["invChipMenuTrigger"],XFA=["nodeChipMenuTrigger"],$FA=["addMenuTrigger"],ALA=[[["","adk-web-chat-container-top",""]]],eLA=["[adk-web-chat-container-top]"],ciA=()=>[],tLA=(t,e)=>e.metricName;function iLA(t,e){t&1&&sn(0)}function nLA(t,e){if(t&1&&Et(0,iLA,1,0,"ng-container",39),t&2){let A=p();H("ngComponentOutlet",A.logoComponent)}}function oLA(t,e){if(t&1&&(B(0,"span",42),y(1),Q()),t&2){let A=p(2);u(),lA(A.adkVersion())}}function aLA(t,e){if(t&1&&(B(0,"div",48)(1,"div",49)(2,"span",50),y(3,"Version:"),Q(),B(4,"span",51),y(5),Q()(),B(6,"div",49)(7,"span",50),y(8,"Language:"),Q(),B(9,"span",51),y(10),Q()(),B(11,"div",49)(12,"span",50),y(13,"Lang Version:"),Q(),B(14,"span",51),y(15),Q()()()),t&2){let A=p(2);u(5),lA(A.versionInfo().version),u(5),lA(A.versionInfo().language),u(5),lA(A.versionInfo().language_version)}}function rLA(t,e){if(t&1&&(QA(0,"img",40),B(1,"span",41),y(2,"Agent Development Kit"),O(3,oLA,2,1,"span",42),Q(),B(4,"span",43),y(5,"ADK"),Q(),B(6,"div",44)(7,"mat-icon",45),y(8,"info_outline"),Q(),B(9,"div",46)(10,"div",47),y(11),Q(),O(12,aLA,16,3,"div",48),Q()()),t&2){let A=p();u(3),Y(A.adkVersion()?3:-1),u(8),lA(A.sidePanelI18n.disclosureTooltip),u(),Y(A.versionInfo()?12:-1)}}function sLA(t,e){t&1&&(B(0,"mat-icon",19),y(1,"warning"),Q())}function lLA(t,e){if(t&1){let A=hA();B(0,"span",53)(1,"button",55),U("click",function(){T(A);let n=p(2);return J(n.openAgentStructureGraphDialog())}),B(2,"mat-icon"),y(3,"account_tree"),Q()()()}if(t&2){let A=p(2);H("matTooltip",A.graphsAvailable()?"View Agent Structure Graph":"Agent structure graph is not available for this agent"),u(),H("disabled",!A.graphsAvailable())}}function gLA(t,e){if(t&1){let A=hA();QA(0,"div",52),O(1,lLA,4,2,"span",53),B(2,"span",53)(3,"button",54),U("click",function(){T(A);let n=p();return J(n.enterBuilderMode())}),B(4,"mat-icon"),y(5,"edit"),Q()()()}if(t&2){let A=p();u(),Y(A.graphsAvailable()?1:-1),u(),H("matTooltip",A.disableBuilderSwitch?"Editing is not available for this agent because it was not built by the builder":"Edit in Builder Mode"),u(),H("disabled",A.disableBuilderSwitch)}}function cLA(t,e){if(t&1){let A=hA();B(0,"div",56)(1,"mat-icon",61),y(2,"visibility"),Q(),B(3,"span",62),y(4),Q(),B(5,"button",63),U("click",function(){T(A);let n=p(2);return J(n.closeReadonlySession())}),B(6,"mat-icon",64),y(7,"close"),Q()()()}if(t&2){let A=p(2);u(4),ba("",A.readonlySessionType(),": ",A.readonlySessionName())}}function CLA(t,e){if(t&1){let A=hA();B(0,"button",68),U("click",function(){T(A);let n=p(6);return J(n.onNewSessionClick())}),B(1,"mat-icon",17),y(2,"add_comment"),Q(),B(3,"span"),y(4),Q()()}if(t&2){let A=p(6);H("matTooltip",A.i18n.createNewSessionTooltip),u(4),lA(A.i18n.newSessionButton)}}function ILA(t,e){if(t&1){let A=hA();B(0,"button",69),U("click",function(){T(A);let n=p(6);return J(n.onNewSessionClick())}),B(1,"mat-icon",17),y(2,"add_comment"),Q()()}if(t&2){let A=p(6);H("matTooltip",A.i18n.createNewSessionTooltip)}}function dLA(t,e){if(t&1&&(QA(0,"div",52),O(1,CLA,5,2,"button",66)(2,ILA,3,1,"button",67)),t&2){let A=p(5);u(),Y(A.uiEvents().length>0?1:2)}}function BLA(t,e){if(t&1&&O(0,dLA,3,1),t&2){let A=p(4);Y(A.sessionId?0:-1)}}function ELA(t,e){if(t&1&&(ta(0),Ht(1,"async"),O(2,BLA,1,1)),t&2){let A=ri(1,1,p(3).uiStateService.isSessionLoading());u(2),Y(A===!1?2:-1)}}function hLA(t,e){if(t&1){let A=hA();B(0,"div",15)(1,"button",65),U("click",function(){T(A);let n=p(2);return J(n.toggleSessionSelectorDrawer())}),B(2,"mat-icon",17),y(3,"chat"),Q(),B(4,"span",18),y(5),Q(),B(6,"mat-icon",20),y(7,"arrow_drop_down"),Q()(),O(8,ELA,3,3),Q()}if(t&2){let A=p(2);u(5),lA(A.getToolbarSessionId()),u(3),Y(A.evalCase?-1:8)}}function QLA(t,e){if(t&1&&(B(0,"div",56)(1,"span",62),y(2),Q(),B(3,"span",70),y(4),Q()()),t&2){let A=p(3);u(2),lA(A.i18n.evalCaseIdLabel),u(2),lA(A.evalCase.evalId)}}function uLA(t,e){if(t&1){let A=hA();B(0,"button",71),U("click",function(){T(A);let n=p(3);return J(n.cancelEditEvalCase())}),y(1),Q(),B(2,"button",72),U("click",function(){T(A);let n=p(3);return J(n.saveEvalCase())}),y(3),Q()}if(t&2){let A=p(3);u(),ue(" ",A.i18n.cancelButton," "),u(),H("disabled",!A.hasEvalCaseChanged()||A.isEvalCaseEditing()),u(),ue(" ",A.i18n.saveButton," ")}}function fLA(t,e){}function pLA(t,e){if(t&1&&(O(0,QLA,5,2,"div",56),B(1,"div",59),O(2,uLA,4,3)(3,fLA,0,0),Q()),t&2){let A=p(2);Y(A.isViewOnlySession()?-1:0),u(2),Y(A.isEvalEditMode()?2:3)}}function mLA(t,e){}function wLA(t,e){if(t&1&&(B(0,"div",73),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.loadingSessionLabel)}}function DLA(t,e){if(t&1&&(B(0,"div",58),ta(1),Ht(2,"async"),O(3,mLA,0,0)(4,wLA,2,1,"div",73),Q()),t&2){let A=ri(2,1,p(2).uiStateService.isSessionLoading());u(3),Y(A===!1?3:4)}}function yLA(t,e){if(t&1){let A=hA();B(0,"button",74),U("click",function(){T(A);let n=p(2);return J(n.themeService.toggleTheme())}),B(1,"mat-icon"),y(2),Q()()}if(t&2){let A=p(2);H("matTooltip",A.themeService.currentTheme()==="dark"?"Switch to Light Mode":"Switch to Dark Mode"),u(2),lA(A.themeService.currentTheme()==="dark"?"light_mode":"dark_mode")}}function vLA(t,e){if(t&1&&(B(0,"div",21),O(1,cLA,8,2,"div",56)(2,hLA,9,2,"div",15),B(3,"div",57),O(4,pLA,4,2)(5,DLA,5,3,"div",58),Q(),B(6,"div",59),ta(7),Ht(8,"async"),O(9,yLA,3,2,"button",60),Q()()),t&2){let A=p();u(),Y(A.isViewOnlySession()?1:2),u(3),Y(A.evalCase?4:5);let i=ri(8,3,A.uiStateService.isSessionLoading());u(5),Y(i===!1?9:-1)}}function bLA(t,e){t&1&&(B(0,"div",84),QA(1,"mat-progress-spinner",85),Q())}function MLA(t,e){t&1&&(B(0,"mat-icon",91),y(1,"check"),Q())}function SLA(t,e){if(t&1){let A=hA();B(0,"button",88),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.selectAppFromDrawer(n))}),B(1,"mat-icon",89),y(2,"robot_2"),Q(),B(3,"span",90),y(4),Q(),O(5,MLA,2,0,"mat-icon",91),Q()}if(t&2){let A=e.$implicit,i=p(3);RA("selected",A===i.appName),u(4),lA(A),u(),Y(A===i.appName?5:-1)}}function kLA(t,e){t&1&&(B(0,"div",87),y(1,"No apps found"),Q())}function xLA(t,e){t&1&&Je(0,SLA,6,4,"button",86,hi,!1,kLA,2,0,"div",87),t&2&&Oe(e)}function _LA(t,e){if(t&1){let A=hA();B(0,"div",75)(1,"span",76),y(2,"Select an App"),Q(),B(3,"div")(4,"button",77),U("click",function(){T(A);let n=p();return J(n.openAddItemDialog())}),B(5,"mat-icon"),y(6,"add"),Q()(),B(7,"button",78),U("click",function(){T(A);let n=p();return J(n.toggleAppSelectorDrawer())}),B(8,"mat-icon"),y(9,"close"),Q()()()(),B(10,"div",79)(11,"mat-form-field",80)(12,"mat-icon",81),y(13,"search"),Q(),B(14,"input",82,3),U("keydown",function(n){T(A);let o=p();return J(o.handleAppSearchKeydown(n))}),Q()()(),B(16,"div",83),U("keydown",function(n){T(A);let o=p();return J(o.handleAppListKeydown(n))}),O(17,bLA,2,0,"div",84),Ht(18,"async"),WI(19,xLA,3,1),Q()}if(t&2){let A,i=p();u(14),H("formControl",i.appDrawerSearchControl),u(3),Y(i.isLoadingApps()?17:(A=ri(18,2,i.filteredDrawerApps$))?19:-1,A)}}function RLA(t,e){if(t&1){let A=hA();B(0,"button",94),U("click",function(){T(A);let n=p(2);return J(n.importSession())}),B(1,"mat-icon"),y(2,"upload"),Q(),B(3,"span"),y(4,"Import"),Q()()}if(t&2){let A=p(2);H("matTooltip",A.i18n.importSessionTooltip)}}function NLA(t,e){if(t&1){let A=hA();B(0,"button",107),U("click",function(){T(A);let n=p(3);return J(n.exportSession())}),B(1,"mat-icon"),y(2,"download"),Q(),B(3,"span"),y(4,"Export"),Q()()}if(t&2){let A=p(3);H("matTooltip",A.i18n.exportSessionTooltip)}}function FLA(t,e){if(t&1){let A=hA();B(0,"button",108),U("click",function(){T(A);let n=p(3);return J(n.deleteSession(n.sessionId))}),B(1,"mat-icon"),y(2,"delete"),Q(),B(3,"span"),y(4,"Delete"),Q()()}if(t&2){let A=p(3);H("matTooltip",A.i18n.deleteSessionTooltip)}}function LLA(t,e){if(t&1){let A=hA();B(0,"div",96)(1,"span",99),y(2,"Current Session"),Q(),B(3,"div",100)(4,"app-inline-edit",101),U("save",function(n){T(A);let o=p(2);return J(o.saveSessionName(n))}),Q()(),B(5,"div",102)(6,"span",103),y(7),Q(),B(8,"button",104),U("click",function(){T(A);let n=p(2);return J(n.copySessionId())}),B(9,"mat-icon"),y(10,"content_copy"),Q()(),O(11,NLA,5,1,"button",105),Ht(12,"async"),O(13,FLA,5,1,"button",106),Ht(14,"async"),Q()()}if(t&2){let A=p(2);u(4),H("value",A.sessionDisplayNameDraft)("displayValue",A.getCurrentSessionDisplayName())("tooltip",A.sessionId),u(2),H("title",A.sessionId),u(),lA(A.sessionId),u(4),Y(ri(12,7,A.isExportSessionEnabledObs)?11:-1),u(2),Y(ri(14,9,A.isDeleteSessionEnabledObs)?13:-1)}}function GLA(t,e){if(t&1){let A=hA();B(0,"div",75)(1,"span",76),y(2,"Select a Session"),Q(),B(3,"div",92),O(4,RLA,5,1,"button",93),Ht(5,"async"),B(6,"button",94),U("click",function(){T(A);let n=p();return J(n.viewSession())}),B(7,"mat-icon"),y(8,"visibility"),Q(),B(9,"span"),y(10,"View"),Q()(),B(11,"button",95),U("click",function(){T(A);let n=p();return J(n.toggleSessionSelectorDrawer())}),B(12,"mat-icon"),y(13,"close"),Q()()()(),O(14,LLA,15,11,"div",96),B(15,"div",97)(16,"app-session-tab",98,4),U("sessionSelected",function(n){T(A);let o=p();return J(o.onSessionSelectedFromDrawer(n))})("sessionReloaded",function(n){T(A);let o=p();return J(o.onSessionReloadedFromDrawer(n))}),Q()()}if(t&2){let A=p();u(4),Y(ri(5,6,A.importSessionEnabledObs)?4:-1),u(2),H("matTooltip",A.i18n.viewSessionTooltip),u(8),Y(A.sessionId?14:-1),u(2),H("userId",A.userId)("appName",A.appName)("sessionId",A.sessionId)}}function KLA(t,e){if(t&1){let A=hA();B(0,"app-side-panel",109),U("jumpToInvocation",function(n){T(A);let o=p();return J(o.handleJumpToInvocation(n))})("closePanel",function(){T(A);let n=p();return J(n.toggleSidePanel())})("tabChange",function(n){T(A);let o=p();return J(o.handleTabChange(n))})("sessionSelected",function(n){T(A);let o=p();return J(o.updateWithSelectedSession(n))})("evalCaseSelected",function(n){T(A);let o=p();return J(o.updateWithSelectedEvalCase(n))})("editEvalCaseRequested",function(n){T(A);let o=p();return J(o.handleEditEvalCaseRequested(n))})("testSelected",function(n){T(A);let o=p();return J(o.updateWithSelectedTest(n.testName,n.events))})("evalSetIdSelected",function(n){T(A);let o=p();return J(o.updateSelectedEvalSetId(n))})("returnToSession",function(n){T(A);let o=p();return J(o.handleReturnToSession(n))})("evalNotInstalled",function(n){T(A);let o=p();return J(o.handleEvalNotInstalled(n))})("page",function(n){T(A);let o=p();return J(o.handlePageEvent(n))})("closeSelectedEvent",function(){T(A);let n=p();return J(n.closeSelectedEvent())})("openImageDialog",function(n){T(A);let o=p();return J(o.openViewImageDialog(n))})("openAddItemDialog",function(){T(A);let n=p();return J(n.openAddItemDialog())})("enterBuilderMode",function(){T(A);let n=p();return J(n.enterBuilderMode())})("showAgentStructureGraph",function(){T(A);let n=p();return J(n.openAgentStructureGraphDialog("event"))})("switchToEvent",function(n){T(A);let o=p();return J(o.selectEvent(n))})("switchToTraceView",function(){T(A);let n=p();return J(n.switchToTraceView())})("drillDownNodePath",function(n){T(A);let o=p();return J(o.onEventTabDrillDown(n))})("selectEventById",function(n){T(A);let o=p();return J(o.selectEvent(n))}),Q()}if(t&2){let A=p();H("isApplicationSelectorEnabledObs",A.isApplicationSelectorEnabledObs)("showSidePanel",A.showSidePanel)("appName",A.appName)("userId",A.userId)("sessionId",A.sessionId)("isViewOnlySession",A.isViewOnlySession())("isViewOnlyAppNameMismatch",A.isViewOnlyAppNameMismatch())("traceData",A.traceData)("eventData",A.eventData)("currentSessionState",A.currentSessionState)("artifacts",A.artifacts)("selectedEvent",A.selectedEvent)("selectedEventIndex",A.selectedEventIndex)("renderedEventGraph",A.renderedEventGraph)("rawSvgString",A.rawSvgString)("selectedEventGraphPath",A.selectedEventGraphPath)("llmRequest",A.llmRequest)("llmResponse",A.llmResponse)("disableBuilderIcon",A.disableBuilderSwitch)("hasSubWorkflows",A.hasSubWorkflows)("graphsAvailable",A.graphsAvailable())("invocationDisplayMap",A.invocationDisplayMap())("forceGraphTab",A.autoSelectLatestEvent)}}function ULA(t,e){if(t&1){let A=hA();B(0,"app-builder-tabs",110),U("exitBuilderMode",function(){T(A);let n=p();return J(n.exitBuilderMode())})("closePanel",function(){T(A);let n=p();return J(n.toggleSidePanel())}),Q(),QA(1,"div",111)}if(t&2){let A=p();H("appNameInput",A.appName)}}function TLA(t,e){if(t&1){let A=hA();B(0,"div",36)(1,"div",112)(2,"button",113),U("click",function(){T(A);let n=p();return J(n.saveAgentBuilder())}),B(3,"mat-icon"),y(4,"check"),Q()(),B(5,"button",114),U("click",function(){T(A);let n=p();return J(n.exitBuilderMode())}),B(6,"mat-icon"),y(7,"close"),Q()(),B(8,"button",115),U("click",function(){T(A);let n=p();return J(n.toggleBuilderAssistant())}),B(9,"mat-icon"),y(10,"assistant"),Q()()(),B(11,"app-canvas",116),U("toggleSidePanelRequest",function(){T(A);let n=p();return J(n.toggleSidePanel())})("builderAssistantCloseRequest",function(){T(A);let n=p();return J(n.toggleBuilderAssistant())}),Q()()}if(t&2){let A=p();u(8),RA("active",A.showBuilderAssistant),u(3),H("showSidePanel",A.showSidePanel)("showBuilderAssistant",A.showBuilderAssistant)("appNameInput",A.appName)}}function JLA(t,e){if(t&1&&(B(0,"div",118)(1,"span"),y(2),Q()()),t&2){let A=p(3);u(2),lA(A.i18n.loadingAgentsLabel)}}function OLA(t,e){if(t&1&&(B(0,"span"),y(1),QA(2,"br"),y(3),Q()),t&2){let A=p(4);u(),lA(A.i18n.welcomeMessage),u(2),ue(" ",A.i18n.selectAgentMessage)}}function YLA(t,e){if(t&1&&(y(0),QA(1,"br"),B(2,"pre",120),y(3),Q()),t&2){let A=p(5);ue(" ",A.i18n.errorMessageLabel," "),u(3),lA(A.loadingError())}}function HLA(t,e){if(t&1&&(B(0,"pre",119),y(1),Q()),t&2){let A=p(5);u(),lA(A.i18n.noAgentsFoundWarning)}}function zLA(t,e){if(t&1&&(B(0,"div"),y(1),B(2,"pre"),y(3,"adk web"),Q(),y(4," in the folder that contains the agents."),QA(5,"br"),O(6,YLA,4,2)(7,HLA,2,1,"pre",119),Q()),t&2){let A=p(4);u(),ue(" ",A.i18n.failedToLoadAgentsMessage," "),u(5),Y(A.loadingError()?6:7)}}function PLA(t,e){if(t&1&&(B(0,"div",118),O(1,OLA,4,2,"span"),Ht(2,"async"),WI(3,zLA,8,2,"div"),Q()),t&2){let A=p(3);u(),Y((ri(2,1,A.apps$)||Rg(3,ciA)).length>0?1:3)}}function jLA(t,e){if(t&1&&(O(0,JLA,3,1,"div",118),Ht(1,"async"),WI(2,PLA,4,4,"div",118)),t&2){let A=p(2);Y(A.isLoadingApps()?0:ri(1,1,A.isApplicationSelectorEnabledObs)?2:-1)}}function qLA(t,e){if(t&1){let A=hA();B(0,"div",143,8),U("click",function(n){return n.stopPropagation()}),B(2,"span",144),y(3),Q(),B(4,"button",145),U("click",function(n){T(A);let o=p(3);return J(o.removeInvocationIdFilter(n))}),B(5,"mat-icon"),y(6,"close"),Q()()()}if(t&2){p();let A=Qi(18),i=p(2);H("matMenuTriggerFor",A)("matTooltip",i.invocationIdFilter()?"Invocation: "+(i.invocationDisplayMap().get(i.invocationIdFilter())||i.invocationIdFilter()):"Filter events by a specific invocation"),u(2),H("title",i.invocationIdFilter()?i.invocationDisplayMap().get(i.invocationIdFilter())||i.invocationIdFilter():"Invocation"),u(),lA(i.invocationIdFilter()?i.invocationDisplayMap().get(i.invocationIdFilter())||i.invocationIdFilter():"Invocation")}}function VLA(t,e){if(t&1){let A=hA();B(0,"div",143,9),U("click",function(n){return n.stopPropagation()}),B(2,"span",62),y(3,"Node"),Q(),B(4,"button",145),U("click",function(n){T(A);let o=p(3);return J(o.removeNodePathFilter(n))}),B(5,"mat-icon"),y(6,"close"),Q()()()}if(t&2){p();let A=Qi(22),i=p(2);H("matMenuTriggerFor",A)("matTooltip",i.nodePathFilter()?"Node: "+i.nodePathFilter():"Filter events generated by a specific node")}}function WLA(t,e){if(t&1){let A=hA();B(0,"div",146),U("click",function(n){return n.stopPropagation()}),B(1,"span",62),y(2,"Final"),Q(),B(3,"button",145),U("click",function(n){return T(A),p(3).toggleHideIntermediateEvents(),J(n.stopPropagation())}),B(4,"mat-icon"),y(5,"close"),Q()()()}}function ZLA(t,e){if(t&1&&(B(0,"div",147,10),U("click",function(i){return i.stopPropagation()}),B(2,"mat-icon"),y(3,"add"),Q(),B(4,"span"),y(5,"Filter"),Q()()),t&2){p();let A=Qi(13);H("matMenuTriggerFor",A)}}function XLA(t,e){if(t&1){let A=hA();B(0,"div",148),U("click",function(n){T(A);let o=p(3);return J(o.clearAllFilters(n))}),B(1,"mat-icon"),y(2,"clear_all"),Q(),B(3,"span"),y(4,"Clear"),Q()()}}function $LA(t,e){if(t&1){let A=hA();B(0,"button",149),U("click",function(){T(A);let n=p(3);return J(n.addInvocationIdFilter())}),y(1,"Invocation"),Q()}}function AGA(t,e){if(t&1){let A=hA();B(0,"button",150),U("click",function(){T(A);let n=p(3);return J(n.addNodePathFilter())}),y(1,"Node"),Q()}}function eGA(t,e){if(t&1){let A=hA();B(0,"button",151),U("click",function(){T(A);let n=p(3);return J(n.toggleHideIntermediateEvents())}),y(1,"Final"),Q()}}function tGA(t,e){if(t&1){let A=hA();B(0,"button",152),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.setInvocationIdFilter(n))}),B(1,"mat-icon",153),y(2,"check"),Q(),y(3),Q()}if(t&2){let A=e.$implicit,i=p(3);H("matTooltip",A),u(),ut("visibility",i.invocationIdFilter()===A?"visible":"hidden"),u(2),ue(" ",i.invocationDisplayMap().get(A)||A," ")}}function iGA(t,e){if(t&1){let A=hA();B(0,"button",154),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.setNodePathFilter(n))}),B(1,"mat-icon",153),y(2,"check"),Q(),y(3),Q()}if(t&2){let A=e.$implicit,i=p(3);u(),ut("visibility",i.nodePathFilter()===A?"visible":"hidden"),u(2),ue(" ",A," ")}}function nGA(t,e){if(t&1){let A=hA();B(0,"button",155),U("click",function(){T(A);let n=p(3);return J(n.isSideBySide.set(!n.isSideBySide()))}),B(1,"mat-icon",156),y(2),Q(),B(3,"span",157),y(4,"Compare"),Q()()}if(t&2){let A=p(3);ut("color",A.isSideBySide()?"var(--mat-sys-primary)":"var(--mat-sys-on-surface-variant)"),u(2),lA(A.isSideBySide()?"check_circle":"radio_button_unchecked")}}function oGA(t,e){if(t&1){let A=hA();B(0,"button",158),U("click",function(){T(A);let n=p(3);return J(n.toggleSse())}),B(1,"mat-icon",156),y(2),Q(),B(3,"span",157),y(4,"Streaming"),Q()()}if(t&2){let A=p(3);ut("color",A.useSse()?"var(--mat-sys-primary)":"var(--mat-sys-on-surface-variant)"),u(2),lA(A.useSse()?"check_circle":"radio_button_unchecked")}}function aGA(t,e){if(t&1){let A=hA();B(0,"app-chat-panel",159),Ht(1,"async"),Di("userInputChange",function(n){T(A);let o=p(3);return di(o.userInput,n)||(o.userInput=n),J(n)}),U("toggleHideIntermediateEvents",function(){T(A);let n=p(3);return J(n.toggleHideIntermediateEvents())})("toggleSse",function(){T(A);let n=p(3);return J(n.toggleSse())})("clickEvent",function(n){T(A);let o=p(3);return J(o.clickEvent(n))})("handleKeydown",function(n){T(A);let o=p(3);return J(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){T(A);let o=p(3);return J(o.cancelEditMessage(n))})("saveEditMessage",function(n){T(A);let o=p(3);return J(o.saveEditMessage(n))})("openViewImageDialog",function(n){T(A);let o=p(3);return J(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){T(A);let o=p(3);return J(o.openBase64InNewTab(n.data,n.mimeType))})("fileSelect",function(n){T(A);let o=p(3);return J(o.onFileSelect(n))})("removeFile",function(n){T(A);let o=p(3);return J(o.removeFile(n))})("removeStateUpdate",function(){T(A);let n=p(3);return J(n.removeStateUpdate())})("sendMessage",function(n){T(A);let o=p(3);return J(o.handleChatInput(n))})("updateState",function(){T(A);let n=p(3);return J(n.updateState())})("toggleAudioRecording",function(n){T(A);let o=p(3);return J(o.toggleAudioRecording(n))})("toggleVideoRecording",function(){T(A);let n=p(3);return J(n.toggleVideoRecording())})("longRunningResponseComplete",function(n){T(A);let o=p(3);return J(o.sendMessage(n))}),Q()}if(t&2){let A=p(3);H("appName",A.appName)("agentReadme",A.agentReadme),wi("userInput",A.userInput),H("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("traceData",A.traceData)("isTokenStreamingEnabled",ri(1,22,A.isTokenStreamingEnabledObs)??!1)("useSse",A.useSse())("isChatMode",!0)("selectedFiles",A.selectedFiles)("updatedSessionState",A.updatedSessionState())("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("isAudioRecording",A.isAudioRecording)("micVolume",A.micVolume())("isVideoRecording",A.isVideoRecording)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function rGA(t,e){if(t&1){let A=hA();B(0,"app-chat-panel",160),Ht(1,"async"),Di("userInputChange",function(n){T(A);let o=p(3);return di(o.userInput,n)||(o.userInput=n),J(n)})("userEditEvalCaseMessageChange",function(n){T(A);let o=p(3);return di(o.userEditEvalCaseMessage,n)||(o.userEditEvalCaseMessage=n),J(n)}),U("clickEvent",function(n){T(A);let o=p(3);return J(o.clickEvent(n))})("handleKeydown",function(n){T(A);let o=p(3);return J(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){T(A);let o=p(3);return J(o.cancelEditMessage(n))})("saveEditMessage",function(n){T(A);let o=p(3);return J(o.saveEditMessage(n))})("openViewImageDialog",function(n){T(A);let o=p(3);return J(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){T(A);let o=p(3);return J(o.openBase64InNewTab(n.data,n.mimeType))})("editEvalCaseMessage",function(n){T(A);let o=p(3);return J(o.editEvalCaseMessage(n))})("deleteEvalCaseMessage",function(n){T(A);let o=p(3);return J(o.deleteEvalCaseMessage(n.message,n.index))})("editFunctionArgs",function(n){T(A);let o=p(3);return J(o.editFunctionArgs(n))}),Q()}if(t&2){let A=p(3);H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("isChatMode",!1)("evalCase",A.evalCase)("isEvalEditMode",A.isEvalEditMode())("isEvalCaseEditing",A.isEvalCaseEditing())("isEditFunctionArgsEnabled",ri(1,19,A.isEditFunctionArgsEnabledObs)??!1),wi("userInput",A.userInput)("userEditEvalCaseMessage",A.userEditEvalCaseMessage),H("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function sGA(t,e){if(t&1&&(B(0,"div",174),y(1),Q()),t&2){p();let A=zn(40);u(),ue(" ",A)}}function lGA(t,e){if(t&1&&(B(0,"div",166)(1,"span",167),y(2),Ht(3,"formatMetricName"),Q(),B(4,"div",168)(5,"span",169),y(6),Ht(7,"number"),Q(),B(8,"span",170),y(9),Ht(10,"number"),Q()(),B(11,"div",171)(12,"div",172),y(13),Ht(14,"formatMetricName"),Q(),B(15,"div",173),y(16),Q(),B(17,"div",48)(18,"div",49)(19,"span",50),y(20,"Actual:"),Q(),B(21,"span",51),y(22),Ht(23,"number"),Q()(),B(24,"div",49)(25,"span",50),y(26,"Threshold:"),Q(),B(27,"span",51),y(28),Ht(29,"number"),Q()(),B(30,"div",49)(31,"span",50),y(32,"Min:"),Q(),B(33,"span",51),y(34),Q()(),B(35,"div",49)(36,"span",50),y(37,"Max:"),Q(),B(38,"span",51),y(39),Q()()(),ta(40),O(41,sGA,2,1,"div",174),Q()()),t&2){let A=e.$implicit,i=p(6);ut("border",A.evalStatus==1?"1px solid #2e7d32":"1px solid var(--mat-sys-error)"),u(2),lA(ri(3,16,A.metricName)),u(3),ut("color",A.evalStatus==1?"#2e7d32":"var(--mat-sys-error)"),u(),ue(" ",A.score!=null?T0(7,18,A.score,"1.2-2"):"?"," "),u(3),ue(" / ",T0(10,21,A.threshold,"1.2-2")," "),u(4),lA(ri(14,24,A.metricName)),u(3),lA(A.metricName),u(5),ut("color",A.evalStatus==1?"#2e7d32":"var(--mat-sys-error)"),u(),lA(A.score!=null?T0(23,26,A.score,"1.2-2"):"?"),u(6),lA(T0(29,29,A.threshold,"1.2-2")),u(6),lA(i.getMetricMin(A.metricName)),u(5),lA(i.getMetricMax(A.metricName)),u();let n=ga(i.getMetricDescription(A.metricName));u(),Y(n?41:-1)}}function gGA(t,e){if(t&1&&(B(0,"div",164),Je(1,lGA,42,33,"div",165,tLA),Q()),t&2){p();let A=zn(0);u(),Oe(A.overallEvalMetricResults)}}function cGA(t,e){if(t&1&&(ta(0),B(1,"div",161),O(2,gGA,3,0,"div",164),Q()),t&2){let A=ga(p(4).evalCaseResult());u(2),Y(A.overallEvalMetricResults!=null&&A.overallEvalMetricResults.length?2:-1)}}function CGA(t,e){if(t&1){let A=hA();B(0,"div",162)(1,"div",175)(2,"div",176),y(3,"Expected"),Q(),QA(4,"app-chat-panel",177),Q(),B(5,"div",175)(6,"div",176),y(7,"Actual"),Q(),B(8,"app-chat-panel",178),Ht(9,"async"),Ht(10,"async"),U("toggleHideIntermediateEvents",function(){T(A);let n=p(4);return J(n.toggleHideIntermediateEvents())})("toggleSse",function(){T(A);let n=p(4);return J(n.toggleSse())}),Di("userInputChange",function(n){T(A);let o=p(4);return di(o.userInput,n)||(o.userInput=n),J(n)})("userEditEvalCaseMessageChange",function(n){T(A);let o=p(4);return di(o.userEditEvalCaseMessage,n)||(o.userEditEvalCaseMessage=n),J(n)}),U("clickEvent",function(n){T(A);let o=p(4);return J(o.clickEvent(n))})("handleKeydown",function(n){T(A);let o=p(4);return J(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){T(A);let o=p(4);return J(o.cancelEditMessage(n))})("saveEditMessage",function(n){T(A);let o=p(4);return J(o.saveEditMessage(n))})("openViewImageDialog",function(n){T(A);let o=p(4);return J(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){T(A);let o=p(4);return J(o.openBase64InNewTab(n.data,n.mimeType))})("editEvalCaseMessage",function(n){T(A);let o=p(4);return J(o.editEvalCaseMessage(n))})("deleteEvalCaseMessage",function(n){T(A);let o=p(4);return J(o.deleteEvalCaseMessage(n.message,n.index))})("editFunctionArgs",function(n){T(A);let o=p(4);return J(o.editFunctionArgs(n))})("fileSelect",function(n){T(A);let o=p(4);return J(o.onFileSelect(n))})("removeFile",function(n){T(A);let o=p(4);return J(o.removeFile(n))})("removeStateUpdate",function(){T(A);let n=p(4);return J(n.removeStateUpdate())})("sendMessage",function(n){T(A);let o=p(4);return J(o.handleChatInput(n))})("updateState",function(){T(A);let n=p(4);return J(n.updateState())})("toggleAudioRecording",function(n){T(A);let o=p(4);return J(o.toggleAudioRecording(n))})("toggleVideoRecording",function(){T(A);let n=p(4);return J(n.toggleVideoRecording())})("longRunningResponseComplete",function(n){T(A);let o=p(4);return J(o.sendMessage(n))}),Q()()()}if(t&2){let A=p(4);u(4),H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredExpectedUiEvents())("isChatMode",!1)("evalCase",A.evalCase)("isEvalEditMode",!1)("isEvalCaseEditing",!1)("isEditFunctionArgsEnabled",!1)("userInput","")("selectedFiles",Rg(54,ciA))("updatedSessionState",null)("agentGraphData",A.agentGraphData())("selectedMessageIndex",-1)("isAudioRecording",!1)("micVolume",0)("isVideoRecording",!1)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn),u(4),H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("traceData",A.traceData)("isTokenStreamingEnabled",ri(9,50,A.isTokenStreamingEnabledObs)??!1)("useSse",A.useSse())("isChatMode",!1)("evalCase",A.evalCase)("isEvalEditMode",A.isEvalEditMode())("isEvalCaseEditing",A.isEvalCaseEditing())("isEditFunctionArgsEnabled",ri(10,52,A.isEditFunctionArgsEnabledObs)??!1),wi("userInput",A.userInput)("userEditEvalCaseMessage",A.userEditEvalCaseMessage),H("selectedFiles",A.selectedFiles)("updatedSessionState",A.updatedSessionState())("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("isAudioRecording",A.isAudioRecording)("micVolume",A.micVolume())("isVideoRecording",A.isVideoRecording)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function IGA(t,e){if(t&1&&QA(0,"app-chat-panel",163),t&2){let A=p(4);H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("traceData",A.traceData)("isChatMode",!1)("evalCase",A.evalCase)("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function dGA(t,e){if(t&1&&(O(0,cGA,3,2,"div",161),O(1,CGA,11,55,"div",162)(2,IGA,1,15,"app-chat-panel",163)),t&2){let A=p(3);Y(A.evalCaseResult()?0:-1),u(),Y(A.isSideBySide()?1:2)}}function BGA(t,e){t&1&&(B(0,"div",142)(1,"mat-icon",179),y(2,"insert_drive_file"),Q(),B(3,"h3",180),y(4,"File View"),Q(),B(5,"p",181),y(6,"File content lost on refresh. Please re-upload the file to view or use it."),Q()())}function EGA(t,e){if(t&1){let A=hA();B(0,"div",121)(1,"mat-button-toggle-group",122),U("change",function(n){T(A);let o=p(2);return J(o.onViewModeChange(n.value))}),B(2,"mat-button-toggle",123),y(3,"Events"),Q(),B(4,"mat-button-toggle",124),y(5,"Traces"),Q()(),B(6,"div",125),U("click",function(n){T(A);let o=p(2);return J(o.openAddFilterMenu(n))}),O(7,qLA,7,4,"div",126),O(8,VLA,7,2,"div",126),O(9,WLA,6,0,"div",127),O(10,ZLA,6,1,"div",128),O(11,XLA,5,0,"div",129),Q(),B(12,"mat-menu",130,5),O(14,$LA,2,0,"button",131),O(15,AGA,2,0,"button",132),O(16,eGA,2,0,"button",133),Q(),B(17,"mat-menu",134,6),U("closed",function(){T(A);let n=p(2);return J(n.onInvocationMenuClosed())}),Je(19,tGA,4,4,"button",135,hi),Q(),B(21,"mat-menu",134,7),U("closed",function(){T(A);let n=p(2);return J(n.onNodePathMenuClosed())}),Je(23,iGA,4,3,"button",136,hi),Q(),QA(25,"div",137),O(26,nGA,5,3,"button",138),O(27,oGA,5,3,"button",139),Ht(28,"async"),Q(),O(29,aGA,2,24,"app-chat-panel",140)(30,rGA,2,21,"app-chat-panel",141)(31,dGA,3,2)(32,BGA,7,0,"div",142)}if(t&2){let A,i=p(2);u(),H("value",i.viewMode()),u(6),Y(i.invocationIdFilterActive()?7:-1),u(),Y(i.nodePathFilterActive()?8:-1),u(),Y(i.hideIntermediateEvents()?9:-1),u(),Y(!i.invocationIdFilterActive()||!i.nodePathFilterActive()||!i.hideIntermediateEvents()?10:-1),u(),Y(i.invocationIdFilterActive()||i.nodePathFilterActive()||i.hideIntermediateEvents()?11:-1),u(3),Y(i.invocationIdFilterActive()?-1:14),u(),Y(i.nodePathFilterActive()?-1:15),u(),Y(i.hideIntermediateEvents()?-1:16),u(3),Oe(i.invocationIdOptions()),u(4),Oe(i.nodePathOptions()),u(3),Y(i.chatType()==="eval-result"?26:-1),u(),Y(ri(28,12,i.isTokenStreamingEnabledObs)&&i.canEditSession()?27:-1),u(2),Y((A=i.chatType())==="session"?29:A==="eval-case"?30:A==="eval-result"?31:A==="file"?32:-1)}}function hGA(t,e){if(t&1&&(B(0,"div",37),Ve(1),B(2,"mat-card",117),O(3,jLA,3,3),O(4,EGA,33,14),Q()()),t&2){let A=p();u(2),RA("no-side-panel",!A.showSidePanel),u(),Y(A.selectedAppControl.value?-1:3),u(),Y(A.appName!=""?4:-1)}}function QGA(t,e){if(t&1){let A=hA();B(0,"app-agent-structure-graph-dialog",182),U("close",function(){T(A);let n=p();return J(n.showAgentStructureOverlay=!1)}),Q()}if(t&2){let A=p();H("appName",A.appName)("preloadedAppData",A.agentGraphData())("preloadedLightGraphSvg",A.agentStructureOverlayMode==="event"?A.eventGraphSvgLight:A.sessionGraphSvgLight)("preloadedDarkGraphSvg",A.agentStructureOverlayMode==="event"?A.eventGraphSvgDark:A.sessionGraphSvgDark)("startPath",A.agentStructureOverlayMode==="event"?A.selectedEventGraphPath:"")}}var uGA="root_agent",Bv="q",fGA="hideSidePanel",dF="",BF="",giA="application/json+a2ui";function EF(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");t.length%4!==0;)t+="=";return t}var hF=class t extends b1{nextPageLabel="Next Event";previousPageLabel="Previous Event";firstPageLabel="First Event";lastPageLabel="Last Event";getRangeLabel=(e,A,i)=>i===0?`Event 0 of ${i}`:(i=Math.max(i,0),`Event ${e*A+1} of ${i}`);static \u0275fac=(()=>{let e;return function(i){return(e||(e=bi(t)))(i||t)}})();static \u0275prov=qA({token:t,factory:t.\u0275fac})},pGA="Restarting bidirectional streaming is not currently supported. Please refresh the page or start a new session.",Ev=class t{i18n=w(liA);sidePanelI18n=w(pQ);_snackBar=w(h2);activatedRoute=w(Vs);agentService=w($s);artifactService=w(TB);changeDetectorRef=w(wt);dialog=w(Or);document=w(ti);downloadService=w(JB);evalService=w(t0);eventService=w(o6);featureFlagService=w(yr);graphService=w(OB);localFileService=w(a6);location=w(g6);renderer=w(Pi);router=w(ls);safeValuesService=w(Cs);testsService=w(u2);sessionService=w(Al);streamChatService=w(s6);webSocketService=w(zB);audioRecordingService=w(YB);audioPlayingService=w(HB);stringToColorService=w(Q2);traceService=w(Ag);uiStateService=w(tg);agentBuilderService=w(e0);themeService=w(eg);logoComponent=w(PB,{optional:!0});chatPanel=So(hQ);canvasComponent=So.required(cQ);sideDrawer=So.required("sideDrawer");sidePanel=So.required(mQ);drawerSessionTab=So("drawerSessionTab");evalTab=So(_c);appSearchInput=So("appSearchInput");canChat=pe(()=>this.chatType()==="session");isEvalCaseEditing=bA(!1);hasEvalCaseChanged=bA(!1);isEvalEditMode=bA(!1);isBuilderMode=bA(!1);chatType=bA("session");currentEvalCaseId=null;currentEvalTimestamp=null;videoElement;currentMessage="";uiEvents=bA([]);invocationDisplayMap=pe(()=>{let e=new Map,A=1,i="";for(let n of this.uiEvents()){if(n.role==="user")if(n.text)i=n.text;else if(n.event?.content?.parts?.length){let o=n.event.content.parts.find(a=>a.text);o&&o.text&&(i=o.text)}else i="User Message";if(n.event?.invocationId){let o=n.event.invocationId;if(!e.has(o)){let a=i||"User Message";a.length>50&&(a=a.substring(0,47)+"..."),e.set(o,`#${A} (${a})`),A++}}}return e});artifacts=[];userInput="";userEditEvalCaseMessage="";userId="user";appName="";sessionId="";sessionIdOfLoadedMessages="";evalCase=null;evalCaseResult=bA(null);metricsInfo=this.evalService.metricsInfo;updatedEvalCase=null;adkVersion=bA("");versionInfo=bA(null);evalSetId="";isAudioRecording=!1;micVolume=this.audioRecordingService.volumeLevel;isVideoRecording=!1;longRunningEvents=[];functionCallEventId="";redirectUri=Dr.getBaseUrlWithoutPath();showSidePanel=window.localStorage.getItem("adk-side-panel-visible")!=="false";showBuilderAssistant=!0;showAppSelectorDrawer=!1;showSessionSelectorDrawer=!1;useSse=bA(window.localStorage.getItem("adk-use-sse")==="true");currentSessionState={};root_agent=uGA;updatedSessionState=bA(null);canEditSession=bA(!0);isViewOnlySession=bA(!1);isViewOnlyAppNameMismatch=bA(!1);isLoadedAppUnavailable=bA(!1);unavailableAppName=bA("");readonlySessionType=bA("");readonlySessionName=bA("");isSideBySide=bA(!1);expectedUiEvents=bA([]);viewMode=bA(localStorage.getItem("chat-view-mode")||"events");invocationIdFilterActive=bA(!1);nodePathFilterActive=bA(!1);invocationIdFilter=bA("");nodePathFilter=bA("");invocationIdOptions=pe(()=>{let e=new Set;for(let A of this.uiEvents())A.event?.invocationId&&e.add(A.event.invocationId);return Array.from(e)});nodePathOptions=pe(()=>{let e=new Set;for(let A of this.uiEvents()){let i=A.bareNodePath;i&&e.add(i)}return Array.from(e)});invChipMenuTrigger=So("invChipMenuTrigger");nodeChipMenuTrigger=So("nodeChipMenuTrigger");addMenuTrigger=So("addMenuTrigger");openAddFilterMenu(e){e.stopPropagation(),this.addMenuTrigger()?.openMenu()}addInvocationIdFilter(){this.invocationIdFilterActive.set(!0),setTimeout(()=>{this.invChipMenuTrigger()?.openMenu()})}addNodePathFilter(){this.nodePathFilterActive.set(!0),setTimeout(()=>{this.nodeChipMenuTrigger()?.openMenu()})}removeInvocationIdFilter(e){e.stopPropagation(),this.invocationIdFilterActive.set(!1),this.invocationIdFilter.set("")}removeNodePathFilter(e){e.stopPropagation(),this.nodePathFilterActive.set(!1),this.nodePathFilter.set("")}setInvocationIdFilter(e){this.invocationIdFilter.set(e)}setNodePathFilter(e){this.nodePathFilter.set(e)}onInvocationMenuClosed(){this.invocationIdFilter()||this.invocationIdFilterActive.set(!1)}onNodePathMenuClosed(){this.nodePathFilter()||this.nodePathFilterActive.set(!1)}clearAllFilters(e){e.stopPropagation(),this.invocationIdFilterActive()&&(this.invocationIdFilterActive.set(!1),this.invocationIdFilter.set("")),this.nodePathFilterActive()&&(this.nodePathFilterActive.set(!1),this.nodePathFilter.set("")),this.hideIntermediateEvents()&&this.toggleHideIntermediateEvents()}shouldShowEvent(e){let A=this.invocationIdFilter();if(A&&!(e.event?.invocationId||"").includes(A))return!1;let i=this.nodePathFilter();if(i&&!(e.bareNodePath||"").includes(i))return!1;if(!this.hideIntermediateEvents()||e.role==="user")return!0;if(e.event?.content!==void 0){let n=e.event.content.parts||[];if(n.length>0&&n.every(a=>a.functionCall||a.functionResponse)){if(n.some(r=>{let s=r.functionCall?.id||r.functionResponse?.id;return s&&e.event?.longRunningToolIds?.includes(s)}))return!0}else return!0}if(e.event?.output!==void 0){let n=e.event?.nodeInfo,o=!1,a=n?.outputFor;if(Array.isArray(a)?o=a.some(r=>!r.includes("/")):typeof a=="string"?o=!a.includes("/"):n?.path&&(o=!n.path.includes("/")),o)return!0}return!1}shouldShowEventFn=this.shouldShowEvent.bind(this);getMetricTooltip(e,A,i){let n=this.metricsInfo().find(g=>g.metricName===e),o=n?.description||"",a=n?.metricValueInfo?.interval?.minValue??"?",r=n?.metricValueInfo?.interval?.maxValue??"?",s=A!=null?parseFloat(A).toFixed(2):"?",l=i!=null?parseFloat(i).toFixed(2):"?";return`${o?o+" | ":""}Actual: ${s} | Threshold: ${l} | Min: ${a} | Max: ${r}`}getMetricDescription(e){return this.metricsInfo().find(i=>i.metricName===e)?.description||""}getMetricMin(e){let i=this.metricsInfo().find(n=>n.metricName===e)?.metricValueInfo?.interval?.minValue;return i!=null?i.toFixed(2):"?"}getMetricMax(e){let i=this.metricsInfo().find(n=>n.metricName===e)?.metricValueInfo?.interval?.maxValue;return i!=null?i.toFixed(2):"?"}getVersionTooltip(){let e=this.versionInfo();return e?`Version: ${e.version} | Language: ${e.language} | Language Version: ${e.language_version}`:""}getMergedTooltip(){let e=this.sidePanelI18n.disclosureTooltip||"",A=this.getVersionTooltip();return A?`${e} | ${A}`:e}filteredUiEvents=pe(()=>this.uiEvents().filter(e=>this.shouldShowEvent(e)));filteredExpectedUiEvents=pe(()=>this.expectedUiEvents().filter(e=>this.shouldShowEvent(e)));onViewModeChange(e){this.viewMode.set(e);try{localStorage.setItem("chat-view-mode",e)}catch(A){}}originalSessionId="";hideIntermediateEvents=bA(window.localStorage.getItem("adk-hide-intermediate-events")==="true");toggleHideIntermediateEvents(){let e=!this.hideIntermediateEvents();this.hideIntermediateEvents.set(e),window.localStorage.setItem("adk-hide-intermediate-events",String(e))}sessionHasUsedBidi=new Set;eventData=new Map;traceData=[];renderedEventGraph;rawSvgString=null;agentGraphData=bA(null);sessionGraphSvgLight={};sessionGraphSvgDark={};dynamicGraphDot={};agentReadme="";graphsAvailable=bA(!0);get hasSubWorkflows(){return Object.keys(this.sessionGraphSvgLight).length>1}selectedEvent=void 0;selectedEventIndex=void 0;selectedMessageIndex=void 0;llmRequest=void 0;llmResponse=void 0;llmRequestKey="gcp.vertex.agent.llm_request";llmResponseKey="gcp.vertex.agent.llm_response";getMediaTypeFromMimetype=X6;selectedFiles=[];MediaType=aC;selectedAppControl=new Os("",{nonNullable:!0});appDrawerSearchControl=new Os("",{nonNullable:!0});openBase64InNewTab(e,A){this.safeValuesService.openBase64InNewTab(e,A)}isLoadingApps=bA(!1);loadingError=bA("");apps$=oe([]).pipe(Ii(()=>{this.isLoadingApps.set(!0),this.selectedAppControl.disable()}),Ei(()=>this.agentService.listApps().pipe(Po(e=>(this.loadingError.set(e.message),oe(void 0))))),uo(1),Ii(e=>{this.isLoadingApps.set(!1),this.selectedAppControl.enable(),e?.length==1&&this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:{app:e[0]},queryParamsHandling:"merge"})}),Gs());filteredDrawerApps$=this.apps$.pipe(Ei(e=>Qr([oe(e),this.appDrawerSearchControl.valueChanges.pipe(Sn(""))])),we(([e,A])=>{if(!e||!A||A.trim()==="")return e;let i=A.toLowerCase().trim();return e.filter(n=>n.toLowerCase().includes(i))}));importSessionEnabledObs=this.featureFlagService.isImportSessionEnabled();isEditFunctionArgsEnabledObs=this.featureFlagService.isEditFunctionArgsEnabled();isSessionUrlEnabledObs=this.featureFlagService.isSessionUrlEnabled();isApplicationSelectorEnabledObs=this.featureFlagService.isApplicationSelectorEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isExportSessionEnabledObs=this.featureFlagService.isExportSessionEnabled();isEventFilteringEnabled=Ar(this.featureFlagService.isEventFilteringEnabled());isApplicationSelectorEnabled=Ar(this.featureFlagService.isApplicationSelectorEnabled());isDeleteSessionEnabledObs=this.featureFlagService.isDeleteSessionEnabled();isUserIdOnToolbarEnabledObs=this.featureFlagService.isUserIdOnToolbarEnabled();isDeveloperUiDisclaimerEnabledObs=this.featureFlagService.isDeveloperUiDisclaimerEnabled();disableBuilderSwitch=!1;autoSelectLatestEvent=!1;constructor(){Ao(()=>{this.themeService.currentTheme()&&this.updateRenderedGraph()})}ngOnInit(){if(this.syncSelectedAppFromUrl(),this.updateSelectedAppUrl(),this.hideSidePanelIfNeeded(),this.agentService.getVersion().subscribe(i=>{this.adkVersion.set(i.version||""),this.versionInfo.set(i)}),Qr([this.agentService.getApp(),this.activatedRoute.queryParams]).pipe(gt(([i,n])=>!!i&&!!n[Bv]),$n(),we(([,i])=>i[Bv])).subscribe(i=>{setTimeout(()=>{this.userInput=i})}),this.streamChatService.onStreamClose().subscribe(i=>{let n=`Please check server log for full details: +`),this.isRebuilding.set(!1),A.complete()}})}clearConsole(){this.consoleOutput.set("")}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-tests-tab"]],inputs:{appName:[1,"appName"],sessionId:[1,"sessionId"],userId:[1,"userId"],isViewOnlySession:[1,"isViewOnlySession"]},outputs:{testSelected:"testSelected"},features:[Yt],decls:20,vars:4,consts:[[1,"tests-container"],[1,"toolbar"],["mat-button","","color","primary",3,"click","disabled"],["mat-button","","color","accent",3,"click","disabled"],[1,"spacer"],["mat-icon-button","","matTooltip","Refresh",3,"click"],[1,"empty-state"],["mat-table","",1,"tests-table",3,"dataSource"],["matColumnDef","name"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","actions"],["mat-row","",3,"selected-row","click",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell",""],["mat-icon-button","","color","primary","matTooltip","Run Test",3,"click","disabled"],["mat-icon-button","","color","accent","matTooltip","Rebuild Test",3,"click","disabled"],["mat-icon-button","","color","primary","matTooltip","Rename Test",3,"click","disabled"],["mat-icon-button","","color","warn","matTooltip","Delete Test",3,"click","disabled"],["mat-row","",3,"click"]],template:function(A,i){A&1&&(B(0,"div",0)(1,"div",1)(2,"button",2),U("click",function(){return i.promoteCurrentSessionToTest()}),B(3,"mat-icon"),y(4,"add"),Q(),y(5," From Current Session "),Q(),B(6,"button",2),U("click",function(){return i.runAllTests()}),B(7,"mat-icon"),y(8,"playlist_play"),Q(),y(9," Run All "),Q(),B(10,"button",3),U("click",function(){return i.rebuildAllTests()}),B(11,"mat-icon"),y(12,"sync"),Q(),y(13," Rebuild All "),Q(),QA(14,"span",4),B(15,"button",5),U("click",function(){return i.loadTests()}),B(16,"mat-icon"),y(17,"refresh"),Q()()(),O(18,ANA,5,0,"div",6)(19,aNA,8,2,"table",7),Q()),A&2&&(u(2),H("disabled",!i.sessionId()||i.isViewOnlySession()),u(4),H("disabled",i.isRunning()||i.isRebuilding()||i.dataSource.data.length===0),u(4),H("disabled",i.isRunning()||i.isRebuilding()||i.dataSource.data.length===0),u(8),Y(i.dataSource.data.length===0?18:19))},dependencies:[si,qi,pi,ji,Tn,Wt,JtA,HtA,YtA,ztA,OtA,PtA,jtA,qtA,Fa,dn,E2,IQ,Xc],styles:[".tests-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;box-sizing:border-box}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;height:48px;flex-shrink:0;padding:0 10px;background-color:var(--mat-sys-surface-container);border-bottom:1px solid var(--mat-sys-outline-variant);gap:8px}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1 1 auto}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:32px!important;line-height:normal!important;border-radius:16px!important;font-size:13px!important;font-weight:500!important;display:inline-flex!important;align-items:center;justify-content:center}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-button[_ngcontent-%COMP%]{padding:0 12px!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:4px!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-icon-button[_ngcontent-%COMP%]{width:32px!important;min-width:32px!important;padding:0!important;border-radius:50%!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:0!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button.mat-mdc-icon-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple{width:32px!important;height:32px!important;border-radius:50%!important}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px!important;width:20px!important;height:20px!important;line-height:20px!important;vertical-align:middle}.tests-container[_ngcontent-%COMP%] .toolbar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{vertical-align:middle}.tests-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;color:var(--mat-sys-on-surface-variant);font-style:italic;gap:8px}.tests-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%]{width:100%;background:transparent;border-top:1px solid var(--mat-sys-outline-variant, #e0e0e0)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:600}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{vertical-align:middle;padding:6px 16px;border-bottom:1px solid var(--mat-sys-outline-variant, #e0e0e0)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr.mat-header-row[_ngcontent-%COMP%]{display:none}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{cursor:pointer;background:transparent}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-surface-container-low, #f5f5f5)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover td.mat-column-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{opacity:1}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr.selected-row[_ngcontent-%COMP%]{background-color:var(--mat-sys-surface-container-high, #e0e0e0)}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.mat-column-actions[_ngcontent-%COMP%]{text-align:right}.tests-container[_ngcontent-%COMP%] .tests-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td.mat-column-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{opacity:0;transition:opacity .2s ease-in-out}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%]{margin-top:16px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:200px}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;font-weight:600}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--mat-sys-on-surface-variant)}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-actions[_ngcontent-%COMP%] .running-status[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse 1.5s infinite}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]{background-color:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.85rem;overflow:auto;flex:1;margin:0;white-space:pre-wrap;word-break:break-all;border:1px solid #333}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:8px}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#777}.tests-container[_ngcontent-%COMP%] .console-section[_ngcontent-%COMP%] .console-box[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#1e1e1e}@keyframes _ngcontent-%COMP%_pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}"]})};var rNA={stateIsEmpty:"State is empty"},siA=new kA("State Tab Messages",{factory:()=>rNA});function sNA(t,e){if(t&1&&(B(0,"div",1),y(1),Q()),t&2){let A=p();u(),lA(A.i18n.stateIsEmpty)}}function lNA(t,e){if(t&1&&(B(0,"div"),QA(1,"ngx-json-viewer",2),Q()),t&2){let A=p();u(),H("json",A.sessionState)}}var cv=class t{sessionState;i18n=w(siA);get isEmptyState(){return!this.sessionState||Object.keys(this.sessionState).length===0}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-state-tab"]],inputs:{sessionState:"sessionState"},decls:3,vars:1,consts:[[1,"state-wrapper"],[1,"empty-state"],[3,"json"]],template:function(A,i){A&1&&(B(0,"div",0),O(1,sNA,2,1,"div",1)(2,lNA,2,1,"div"),Q()),A&2&&(u(),Y(i.isEmptyState?1:2))},dependencies:[cs,$l],styles:[".state-wrapper[_ngcontent-%COMP%]{padding-left:25px;padding-right:25px;margin-top:16px}.state-wrapper[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{text-align:center;font-style:italic}"]})};var gNA=(t,e)=>e.span_id;function cNA(t,e){if(t&1){let A=hA();B(0,"span",20)(1,"a",24),U("click",function(){let n;T(A);let o=p(3);return J(o.selectSpanById((n=o.selectedSpan())==null?null:n.parent_span_id))}),y(2),Q(),B(3,"button",21),U("click",function(){let n;T(A);let o=p(3);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.parent_span_id))}),B(4,"mat-icon"),y(5),Q()()()}if(t&2){let A,i,n,o=p(3);u(),H("matTooltip",((A=o.selectedSpan())==null?null:A.parent_span_id)||""),u(),lA((i=o.selectedSpan())==null?null:i.parent_span_id),u(3),lA(o.copiedId===((n=o.selectedSpan())==null?null:n.parent_span_id)?"check":"content_copy")}}function CNA(t,e){t&1&&y(0," None ")}function INA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",20)(5,"a",24),U("click",function(){let n=T(A).$implicit,o=p(4);return J(o.selectSpanById(n.span_id))}),y(6),Q(),B(7,"button",21),U("click",function(){let n=T(A).$implicit,o=p(4);return J(o.copyToClipboard(n.span_id))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A=e.$implicit,i=p(4);u(2),lA(A.name),u(3),H("matTooltip",A.span_id),u(),lA(A.span_id),u(3),lA(i.copiedId===A.span_id?"check":"content_copy")}}function dNA(t,e){if(t&1&&(B(0,"table",22),Je(1,INA,10,4,"tr",null,gNA),Q()),t&2){let A=p(3);u(),Oe(A.selectedSpanChildren)}}function BNA(t,e){if(t&1){let A=hA();B(0,"table",23)(1,"tr")(2,"td"),y(3,"Event ID"),Q(),B(4,"td")(5,"span",20)(6,"a",24),U("click",function(){T(A);let n=p(3);return J(n.switchToEvent.emit(n.selectedSpan().attributes["gcp.vertex.agent.event_id"]))}),y(7),Q(),B(8,"button",21),U("click",function(){T(A);let n=p(3);return J(n.copyToClipboard(n.selectedSpan().attributes["gcp.vertex.agent.event_id"]))}),B(9,"mat-icon"),y(10),Q()()()()()()}if(t&2){let A=p(3);u(6),H("matTooltip",A.selectedSpan().attributes["gcp.vertex.agent.event_id"]||""),u(),lA(A.selectedSpan().attributes["gcp.vertex.agent.event_id"]),u(3),lA(A.copiedId===A.selectedSpan().attributes["gcp.vertex.agent.event_id"]?"check":"content_copy")}}function ENA(t,e){if(t&1){let A=hA();B(0,"div",13)(1,"table",15)(2,"tr")(3,"td"),y(4,"Name"),Q(),B(5,"td")(6,"span",16)(7,"span",17),y(8),Q(),B(9,"button",18),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.name))}),B(10,"mat-icon"),y(11),Q()()()()(),B(12,"tr")(13,"td"),y(14,"Span ID"),Q(),B(15,"td",19)(16,"span",20)(17,"span",17),y(18),Q(),B(19,"button",21),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.span_id))}),B(20,"mat-icon"),y(21),Q()()()()(),B(22,"tr")(23,"td"),y(24,"Parent ID"),Q(),B(25,"td"),O(26,cNA,6,3,"span",20)(27,CNA,1,0),Q()(),B(28,"tr")(29,"td"),y(30,"Trace ID"),Q(),B(31,"td",19)(32,"span",20)(33,"span",17),y(34),Q(),B(35,"button",21),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard((n=o.selectedSpan())==null?null:n.trace_id))}),B(36,"mat-icon"),y(37),Q()()()()(),B(38,"tr")(39,"td"),y(40,"Start Time"),Q(),B(41,"td")(42,"span",16)(43,"span",17),y(44),Q(),B(45,"button",18),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard(o.formatTime((n=o.selectedSpan())==null?null:n.start_time),"startTime"))}),B(46,"mat-icon"),y(47),Q()()()()(),B(48,"tr")(49,"td"),y(50,"End Time"),Q(),B(51,"td")(52,"span",16)(53,"span",17),y(54),Q(),B(55,"button",18),U("click",function(){let n;T(A);let o=p(2);return J(o.copyToClipboard(o.formatTime((n=o.selectedSpan())==null?null:n.end_time),"endTime"))}),B(56,"mat-icon"),y(57),Q()()()()()(),O(58,dNA,3,0,"table",22),O(59,BNA,11,3,"table",23),Q()}if(t&2){let A,i,n,o,a,r,s,l,g,C,I,d,h,E,f,m=p(2);u(7),H("matTooltip",((A=m.selectedSpan())==null?null:A.name)||""),u(),lA((i=m.selectedSpan())==null?null:i.name),u(3),lA(m.copiedId===((n=m.selectedSpan())==null?null:n.name)?"check":"content_copy"),u(6),H("matTooltip",((o=m.selectedSpan())==null?null:o.span_id)||""),u(),lA((a=m.selectedSpan())==null?null:a.span_id),u(3),lA(m.copiedId===((r=m.selectedSpan())==null?null:r.span_id)?"check":"content_copy"),u(5),Y((s=m.selectedSpan())!=null&&s.parent_span_id?26:27),u(7),H("matTooltip",((l=m.selectedSpan())==null?null:l.trace_id)||""),u(),lA((g=m.selectedSpan())==null?null:g.trace_id),u(3),lA(m.copiedId===((C=m.selectedSpan())==null?null:C.trace_id)?"check":"content_copy"),u(6),H("matTooltip",m.formatTime((I=m.selectedSpan())==null?null:I.start_time)),u(),lA(m.formatTime((d=m.selectedSpan())==null?null:d.start_time)),u(3),lA(m.copiedId==="startTime"?"check":"content_copy"),u(6),H("matTooltip",m.formatTime((h=m.selectedSpan())==null?null:h.end_time)),u(),lA(m.formatTime((E=m.selectedSpan())==null?null:E.end_time)),u(3),lA(m.copiedId==="endTime"?"check":"content_copy"),u(),Y(m.selectedSpanChildren.length>0?58:-1),u(),Y((f=m.selectedSpan())!=null&&f.attributes&&m.selectedSpan().attributes["gcp.vertex.agent.event_id"]?59:-1)}}function hNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",16)(5,"span"),y(6),Q(),B(7,"button",18),U("click",function(){let n,o=T(A).$implicit,a=p(4);return J(a.copyToClipboard((n=a.selectedSpan().attributes[o])==null?null:n.toString()))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A,i=e.$implicit,n=p(4);u(2),lA(i),u(4),lA(n.selectedSpan().attributes[i]),u(3),lA(n.copiedId===((A=n.selectedSpan().attributes[i])==null?null:A.toString())?"check":"content_copy")}}function QNA(t,e){if(t&1&&(B(0,"table",15),Je(1,hNA,10,3,"tr",null,hi),Q()),t&2){let A=p(3);u(),Oe(A.Object.keys(A.selectedSpan().attributes))}}function uNA(t,e){t&1&&(B(0,"div",1),y(1,"No attributes available"),Q())}function fNA(t,e){if(t&1&&(B(0,"div",13),O(1,QNA,3,0,"table",15)(2,uNA,2,0,"div",1),Q()),t&2){let A,i=p(2);u(),Y((A=i.selectedSpan())!=null&&A.attributes&&i.Object.keys(i.selectedSpan().attributes).length>0?1:2)}}function pNA(t,e){if(t&1){let A=hA();B(0,"div",14),QA(1,"ngx-json-viewer",25),B(2,"button",26),U("click",function(){T(A);let n=p(2);return J(n.copyJsonToClipboard(n.selectedSpan(),"raw"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(2);u(),H("json",A.selectedSpan()),u(3),lA(A.copiedId==="raw"?"check":"content_copy")}}function mNA(t,e){if(t&1){let A=hA();B(0,"div",0)(1,"div",2)(2,"mat-paginator",3),U("page",function(n){T(A);let o=p();return J(o.onPage(n))}),Q(),B(3,"div",4),y(4),Q(),QA(5,"div",5),B(6,"button",6),U("click",function(){T(A);let n=p();return J(n.traceService.selectedRow(void 0))}),B(7,"mat-icon"),y(8,"remove_selection"),Q()()(),B(9,"div",7)(10,"div",8)(11,"button",9),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab.set("info"))}),B(12,"mat-icon"),y(13,"info"),Q()(),B(14,"button",10),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab.set("attributes"))}),B(15,"mat-icon"),y(16,"list_alt"),Q()(),B(17,"button",11),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab.set("raw"))}),B(18,"mat-icon"),y(19,"data_object"),Q()()(),B(20,"div",12),O(21,ENA,60,18,"div",13),O(22,fNA,3,1,"div",13),O(23,pNA,5,2,"div",14),Q()()()}if(t&2){let A,i=p();u(2),H("length",i.orderedTraceData.length)("pageSize",1)("pageIndex",i.selectedSpanIndex),u(2),ue(" ",(A=i.selectedSpan())==null?null:A.name," "),u(7),RA("active",i.selectedDetailTab()==="info"),u(3),RA("active",i.selectedDetailTab()==="attributes"),u(3),RA("active",i.selectedDetailTab()==="raw"),u(4),Y(i.selectedDetailTab()==="info"?21:-1),u(),Y(i.selectedDetailTab()==="attributes"?22:-1),u(),Y(i.selectedDetailTab()==="raw"?23:-1)}}function wNA(t,e){t&1&&(B(0,"div",1),y(1,"Select a trace span to view its details"),Q())}var IF=class t extends b1{nextPageLabel="Next Span";previousPageLabel="Previous Span";firstPageLabel="First Span";lastPageLabel="Last Span";getRangeLabel=(e,A,i)=>i===0?"Span 0 of 0":(i=Math.max(i,0),`Span ${e*A+1} of ${i}`);static \u0275fac=(()=>{let e;return function(i){return(e||(e=bi(t)))(i||t)}})();static \u0275prov=qA({token:t,factory:t.\u0275fac})},Cv=class t{_traceData=[];orderedTraceData=[];set traceData(e){this._traceData=e||[],this.orderedTraceData=this.computeOrdered(this._traceData)}get traceData(){return this._traceData}computeOrdered(e){let A=e.map(a=>gA({},a)),i=new Map,n=[];A.forEach(a=>i.set(a.span_id,a)),A.forEach(a=>{if(a.parent_span_id&&i.has(a.parent_span_id)){let r=i.get(a.parent_span_id);r.children=r.children||[],r.children.push(a)}else n.push(a)});let o=a=>a.flatMap(r=>[r,...r.children?o(r.children):[]]);return o(n)}traceService=w(Ag);selectedSpan=Ar(this.traceService.selectedTraceRow$);static getValidTraceTab(e){return e==="info"||e==="attributes"||e==="raw"?e:"info"}selectedDetailTab=bA(t.getValidTraceTab(localStorage.getItem("adk-trace-tab-selected-tab")));switchToEvent=ui();constructor(){Ao(()=>{localStorage.setItem("adk-trace-tab-selected-tab",this.selectedDetailTab())})}formatTime(e){return e?new Date(e/1e6).toLocaleString():"N/A"}get selectedSpanChildren(){let e=this.selectedSpan();return e?e.children&&e.children.length>0?e.children:this.traceData.filter(A=>A.parent_span_id===e.span_id):[]}selectSpanById(e){if(!e)return;let A=this.traceData.find(i=>String(i.span_id)===String(e));A&&this.traceService.selectedRow(A)}get selectedSpanIndex(){let e=this.selectedSpan();if(!e)return;let A=this.orderedTraceData.findIndex(i=>i.span_id===e.span_id);return A===-1?void 0:A}onPage(e){e.pageIndex>=0&&e.pageIndex=this.orderedTraceData.length?0:this.selectedSpanIndex+1:i=this.selectedSpanIndex-1<0?this.orderedTraceData.length-1:this.selectedSpanIndex-1,this.traceService.selectedRow(this.orderedTraceData[i])}Object=Object;copiedId=null;copyToClipboard(e,A){e&&navigator.clipboard.writeText(e).then(()=>{this.copiedId=A||e,setTimeout(()=>this.copiedId=null,2e3)})}copyJsonToClipboard(e,A){if(!e)return;let i=JSON.stringify(e,null,2);navigator.clipboard.writeText(i).then(()=>{this.copiedId=A,setTimeout(()=>this.copiedId=null,2e3)})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-trace-tab"]],hostBindings:function(A,i){A&1&&U("keydown",function(o){return i.handleKeyboardNavigation(o)},ZC)},inputs:{traceData:"traceData"},outputs:{switchToEvent:"switchToEvent"},features:[Bt([{provide:b1,useClass:IF}])],decls:2,vars:1,consts:[[1,"event-details-container"],[1,"empty-state"],[1,"event-details-header"],["hidePageSize","","aria-label","Select span",1,"event-paginator",3,"page","length","pageSize","pageIndex"],[1,"span-title"],[2,"flex-grow","1"],["mat-icon-button","","matTooltip","Clear selection",3,"click"],[1,"event-details-content"],[1,"vertical-tabs-sidebar"],["mat-icon-button","","matTooltip","Info","matTooltipPosition","right",3,"click"],["mat-icon-button","","matTooltip","Attributes","matTooltipPosition","right",3,"click"],["mat-icon-button","","matTooltip","Raw JSON","matTooltipPosition","right",3,"click"],[1,"vertical-tabs-content"],[1,"info-tables-container"],[1,"json-viewer-container","json-viewer-wrapper"],["app-info-table",""],[1,"value-cell"],[3,"matTooltip"],["mat-icon-button","","matTooltip","Copy",1,"copy-value-button",3,"click"],[1,"id-text"],[1,"id-cell"],["mat-icon-button","","matTooltip","Copy",1,"copy-id-button",3,"click"],["app-info-table","","title","Children"],["app-info-table","","title","Events"],["href","javascript:void(0)",1,"span-link","id-text",3,"click","matTooltip"],[3,"json"],["mat-icon-button","","matTooltip","Copy JSON",1,"floating-copy-button",3,"click"]],template:function(A,i){A&1&&O(0,mNA,24,13,"div",0)(1,wNA,2,0,"div",1),A&2&&Y(i.selectedSpan()!==void 0?0:1)},dependencies:[qi,ji,Tn,Wt,Fa,dn,cs,$l,n6,OI],styles:["[_nghost-%COMP%]{display:block;height:100%}.json-viewer-container[_ngcontent-%COMP%]{margin:10px}.event-paginator[_ngcontent-%COMP%]{display:flex;justify-content:center;background-color:transparent}.event-paginator[_ngcontent-%COMP%] .mat-mdc-paginator-range-label{order:2;margin:0 0 0 8px}.span-title[_ngcontent-%COMP%]{font-weight:500;font-family:Google Sans Mono,monospace;font-size:13px;color:var(--mat-sys-on-surface);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:300px;margin-left:16px}.event-details-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.event-details-content[_ngcontent-%COMP%]{display:flex;flex:1;overflow:hidden}.vertical-tabs-sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:48px;border-right:1px solid var(--mat-sys-outline-variant);padding-top:8px;align-items:center;gap:8px}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}.vertical-tabs-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.event-details-header[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--mat-sys-outline-variant);height:48px;flex-shrink:0}.empty-state[_ngcontent-%COMP%]{padding:16px;text-align:center;color:var(--mat-sys-on-surface-variant);font-style:italic;font-size:14px}.info-tables-container[_ngcontent-%COMP%]{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.span-link[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;cursor:pointer}.span-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.id-text[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace;font-size:11px}.id-cell[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;overflow:hidden}.id-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child, .value-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.id-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .id-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%]{opacity:1}.copy-id-button[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%]{width:28px!important;height:28px!important;padding:0!important;line-height:28px!important;flex-shrink:0;margin:-4px 0!important;opacity:0;transition:opacity .2s ease-in-out;border-radius:4px!important;overflow:hidden!important}.copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.copy-id-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.json-viewer-wrapper[_ngcontent-%COMP%]{position:relative}.json-viewer-wrapper[_ngcontent-%COMP%]:hover .floating-copy-button[_ngcontent-%COMP%]{opacity:1}.floating-copy-button[_ngcontent-%COMP%]{position:absolute;top:4px;right:4px;z-index:10;opacity:0;transition:opacity .2s ease-in-out;background-color:var(--mat-sys-surface-container-high)!important;border-radius:4px!important;overflow:hidden!important;width:28px!important;height:28px!important;line-height:28px!important;padding:0!important}.floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.floating-copy-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.floating-copy-button[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}"]})};var DNA={agentDevelopmentKitLabel:"Agent Development Kit",disclosureTooltip:"ADK Web is for development purposes. It has access to all the data and should not be used in production.",collapsePanelTooltip:"Collapse panel",eventsTabLabel:"Events",stateTabLabel:"State",artifactsTabLabel:"Artifacts",sessionsTabLabel:"Sessions",evalTabLabel:"Evals",testsTabLabel:"Tests",selectEventAriaLabel:"Select event",infoTabLabel:"Info",graphTabLabel:"Graph",requestDetailsTabLabel:"Request",responseDetailsTabLabel:"Response",responseIsNotAvailable:"Response is not available",requestIsNotAvailable:"Request is not available",clearSelectionButtonLabel:"Remove selection"},pQ=new kA("Side Panel Messages",{factory:()=>DNA});var yNA=["eventMenuTrigger"],vNA=["graphContainer"],bNA=(t,e)=>e.span_id,MNA=(t,e)=>e.modality,SNA=(t,e)=>e.id,kNA=(t,e)=>e.key;function xNA(t,e){if(t&1){let A=hA();B(0,"button",10),U("click",function(){T(A);let n=p();return J(n.selectedDetailTab="graph")}),B(1,"mat-icon"),y(2,"account_tree"),Q()()}if(t&2){let A=p();RA("active",A.selectedDetailTab==="graph"),H("matTooltip",XC(A.i18n.graphTabLabel))}}function _NA(t,e){if(t&1){let A=hA();B(0,"div",30),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p(3);return J(n.copyJsonToClipboard(n.selectedEvent().nodeInfo.outputFor,"nodeInfo.outputFor"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(3);u(),H("json",A.selectedEvent().nodeInfo.outputFor),u(3),lA(A.copiedId==="nodeInfo.outputFor"?"check":"content_copy")}}function RNA(t,e){t&1&&y(0," N/A ")}function NNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2,"Message As Output"),Q(),B(3,"td")(4,"span",23)(5,"span",21),y(6),Q(),B(7,"button",24),U("click",function(){T(A);let n=p(3);return J(n.copyToClipboard(n.selectedEvent().nodeInfo.messageAsOutput))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A,i=p(3);u(5),H("matTooltip",((A=i.selectedEvent().nodeInfo.messageAsOutput)==null?null:A.toString())||""),u(),lA(i.selectedEvent().nodeInfo.messageAsOutput),u(3),lA(i.copiedId===i.selectedEvent().nodeInfo.messageAsOutput?"check":"content_copy")}}function FNA(t,e){if(t&1){let A=hA();B(0,"table",25)(1,"tr")(2,"td"),y(3,"Node Path"),Q(),B(4,"td")(5,"span",23)(6,"span",21),y(7),Q(),B(8,"button",24),U("click",function(){T(A);let n=p(2);return J(n.copyToClipboard(n.selectedEvent().nodeInfo.path))}),B(9,"mat-icon"),y(10),Q()()()()(),B(11,"tr")(12,"td"),y(13,"Output For"),Q(),B(14,"td"),O(15,_NA,5,2,"div",30)(16,RNA,1,0),Q()(),O(17,NNA,10,3,"tr"),Q()}if(t&2){let A=p(2);u(6),H("matTooltip",A.selectedEvent().nodeInfo.path||""),u(),lA(A.selectedEvent().nodeInfo.path||"N/A"),u(3),lA(A.copiedId===A.selectedEvent().nodeInfo.path?"check":"content_copy"),u(5),Y(A.selectedEvent().nodeInfo.outputFor?15:16),u(2),Y(A.selectedEvent().nodeInfo.messageAsOutput!==void 0?17:-1)}}function LNA(t,e){if(t&1){let A=hA();B(0,"div",30),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p().$implicit,o=p(3);return J(o.copyJsonToClipboard(o.selectedEvent().actions[n],"action."+n))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p().$implicit,i=p(3);u(),H("json",i.selectedEvent().actions[A]),u(3),lA(i.copiedId==="action."+A?"check":"content_copy")}}function GNA(t,e){if(t&1){let A=hA();B(0,"span",23)(1,"span",21),y(2),Q(),B(3,"button",24),U("click",function(){let n;T(A);let o=p().$implicit,a=p(3);return J(a.copyToClipboard((n=a.selectedEvent().actions[o])==null?null:n.toString()))}),B(4,"mat-icon"),y(5),Q()()()}if(t&2){let A,i,n=p().$implicit,o=p(3);u(),H("matTooltip",((A=o.selectedEvent().actions[n])==null?null:A.toString())||""),u(),lA(o.selectedEvent().actions[n]),u(3),lA(o.copiedId===((i=o.selectedEvent().actions[n])==null?null:i.toString())?"check":"content_copy")}}function KNA(t,e){if(t&1&&(B(0,"tr")(1,"td"),y(2),Q(),B(3,"td"),O(4,LNA,5,2,"div",30)(5,GNA,6,3,"span",23),Q()()),t&2){let A=e.$implicit,i=p(3);u(2),lA(A),u(2),Y(i.isObject(i.selectedEvent().actions[A])?4:5)}}function UNA(t,e){if(t&1&&(B(0,"table",26),Je(1,KNA,6,2,"tr",null,hi),Q()),t&2){let A=p(2);u(),Oe(A.Object.keys(A.selectedEvent().actions))}}function TNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"div",30),QA(5,"ngx-json-viewer",31),B(6,"button",32),U("click",function(){let n=T(A),o=n.$implicit,a=n.$index,r=p(3);return J(r.copyJsonToClipboard(o,"fc."+a))}),B(7,"mat-icon"),y(8),Q()()()()()}if(t&2){let A=e.$implicit,i=e.$index,n=p(3);u(2),lA(A==null?null:A.name),u(3),H("json",A),u(3),lA(n.copiedId==="fc."+i?"check":"content_copy")}}function JNA(t,e){if(t&1&&(B(0,"table",27),Je(1,TNA,9,3,"tr",null,ws),Q()),t&2){let A=p(2);u(),Oe(A.functionCalls())}}function ONA(t,e){if(t&1&&(B(0,"div",34),QA(1,"img",35),Q()),t&2){let A=p().$implicit;u(),H("src","data:"+A.inlineData.mimeType+";base64,"+A.inlineData.data,Go)}}function YNA(t,e){if(t&1&&(B(0,"div"),QA(1,"audio",36),Q()),t&2){let A=p().$implicit;u(),H("src","data:"+A.inlineData.mimeType+";base64,"+A.inlineData.data)}}function HNA(t,e){if(t&1&&(B(0,"div"),QA(1,"video",36),Q()),t&2){let A=p().$implicit;u(),H("src","data:"+A.inlineData.mimeType+";base64,"+A.inlineData.data,Go)}}function zNA(t,e){if(t&1&&(B(0,"div"),y(1),Q()),t&2){let A=p().$implicit;u(),ue(" Unsupported media type: ",A.inlineData==null?null:A.inlineData.mimeType," ")}}function PNA(t,e){if(t&1&&O(0,ONA,2,1,"div",34)(1,YNA,2,1,"div")(2,HNA,2,1,"div")(3,zNA,2,1,"div"),t&2){let A=e.$implicit;Y(!(A.inlineData==null||A.inlineData.mimeType==null)&&A.inlineData.mimeType.startsWith("image/")?0:!(A.inlineData==null||A.inlineData.mimeType==null)&&A.inlineData.mimeType.startsWith("audio/")?1:!(A.inlineData==null||A.inlineData.mimeType==null)&&A.inlineData.mimeType.startsWith("video/")?2:3)}}function jNA(t,e){if(t&1&&(B(0,"div",33),Je(1,PNA,4,1,null,null,ws),Q()),t&2){let A=p().$implicit;u(),Oe(A.mediaParts)}}function qNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td"),O(4,jNA,3,0,"div",33),B(5,"div",30),QA(6,"ngx-json-viewer",31),B(7,"button",32),U("click",function(){let n=T(A),o=n.$implicit,a=n.$index,r=p(3);return J(r.copyJsonToClipboard(o.cleanedFr,"pfr."+a))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A=e.$implicit,i=e.$index,n=p(3);u(2),lA(A.name),u(2),Y(A.hasMedia?4:-1),u(2),H("json",A.cleanedFr),u(3),lA(n.copiedId==="pfr."+i?"check":"content_copy")}}function VNA(t,e){if(t&1&&(B(0,"table",28),Je(1,qNA,10,4,"tr",null,ws),Q()),t&2){let A=p(2);u(),Oe(A.processedFunctionResponses())}}function WNA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",20)(5,"a",37),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.switchToSpan(n))}),y(6),Q(),B(7,"button",22),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.copyToClipboard(n.span_id))}),B(8,"mat-icon"),y(9),Q()()()()()}if(t&2){let A=e.$implicit,i=p(3);u(2),lA(A.name),u(3),H("matTooltip",A.span_id),u(),lA(A.span_id),u(3),lA(i.copiedId===A.span_id?"check":"content_copy")}}function ZNA(t,e){if(t&1&&(B(0,"table",29),Je(1,WNA,10,4,"tr",null,bNA),Q()),t&2){let A=p(2);u(),Oe(A.associatedSpans())}}function XNA(t,e){if(t&1){let A=hA();B(0,"div",15)(1,"table",18)(2,"tr")(3,"td"),y(4,"Event ID"),Q(),B(5,"td",19)(6,"span",20)(7,"span",21),y(8),Q(),B(9,"button",22),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.id))}),B(10,"mat-icon"),y(11),Q()()()()(),B(12,"tr")(13,"td"),y(14,"Invocation ID"),Q(),B(15,"td",19)(16,"span",20)(17,"span",21),y(18),Q(),B(19,"button",22),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.invocationId))}),B(20,"mat-icon"),y(21),Q()()()()(),B(22,"tr")(23,"td"),y(24,"Branch"),Q(),B(25,"td")(26,"span",23)(27,"span",21),y(28),Q(),B(29,"button",24),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.branch))}),B(30,"mat-icon"),y(31),Q()()()()(),B(32,"tr")(33,"td"),y(34,"Timestamp"),Q(),B(35,"td")(36,"span",23)(37,"span",21),y(38),Q(),B(39,"button",24),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard(o.formatTime((n=o.selectedEvent())==null?null:n.timestamp),"timestamp"))}),B(40,"mat-icon"),y(41),Q()()()()(),B(42,"tr")(43,"td"),y(44,"Author"),Q(),B(45,"td")(46,"span",23)(47,"span",21),y(48),Q(),B(49,"button",24),U("click",function(){let n;T(A);let o=p();return J(o.copyToClipboard((n=o.selectedEvent())==null?null:n.author))}),B(50,"mat-icon"),y(51),Q()()()()()(),O(52,FNA,18,5,"table",25),O(53,UNA,3,0,"table",26),O(54,JNA,3,0,"table",27),O(55,VNA,3,0,"table",28),O(56,ZNA,3,0,"table",29),Q()}if(t&2){let A,i,n,o,a,r,s,l,g,C,I,d,h,E,f,m,v=p();u(7),H("matTooltip",((A=v.selectedEvent())==null?null:A.id)||""),u(),lA((i=v.selectedEvent())==null?null:i.id),u(3),lA(v.copiedId===((n=v.selectedEvent())==null?null:n.id)?"check":"content_copy"),u(6),H("matTooltip",((o=v.selectedEvent())==null?null:o.invocationId)||""),u(),lA(((a=v.selectedEvent())==null?null:a.invocationId)||"N/A"),u(3),lA(v.copiedId===((r=v.selectedEvent())==null?null:r.invocationId)?"check":"content_copy"),u(6),H("matTooltip",((s=v.selectedEvent())==null?null:s.branch)||""),u(),lA(((l=v.selectedEvent())==null?null:l.branch)||"N/A"),u(3),lA(v.copiedId===((g=v.selectedEvent())==null?null:g.branch)?"check":"content_copy"),u(6),H("matTooltip",v.formatTime((C=v.selectedEvent())==null?null:C.timestamp)),u(),lA(v.formatTime((I=v.selectedEvent())==null?null:I.timestamp)),u(3),lA(v.copiedId==="timestamp"?"check":"content_copy"),u(6),H("matTooltip",((d=v.selectedEvent())==null?null:d.author)||""),u(),lA((h=v.selectedEvent())==null?null:h.author),u(3),lA(v.copiedId===((E=v.selectedEvent())==null?null:E.author)?"check":"content_copy"),u(),Y((f=v.selectedEvent())!=null&&f.nodeInfo?52:-1),u(),Y((m=v.selectedEvent())!=null&&m.actions&&v.Object.keys(v.selectedEvent().actions).length>0?53:-1),u(),Y(v.functionCalls().length>0?54:-1),u(),Y(v.processedFunctionResponses().length>0?55:-1),u(),Y(v.associatedSpans().length>0?56:-1)}}function $NA(t,e){if(t&1&&(B(0,"div",21),y(1),Q()),t&2){let A=e.$implicit;H("matTooltip",A.modality+": "+A.tokenCount),u(),ba("",A.modality,": ",A.tokenCount)}}function AFA(t,e){if(t&1&&Je(0,$NA,2,3,"div",21,MNA),t&2){let A=p().$implicit,i=p(3);Oe(i.selectedEvent().usageMetadata[A])}}function eFA(t,e){if(t&1&&(B(0,"span",21),y(1),Q()),t&2){let A,i=p().$implicit,n=p(3);H("matTooltip",((A=n.selectedEvent().usageMetadata[i])==null?null:A.toString())||""),u(),lA(n.selectedEvent().usageMetadata[i])}}function tFA(t,e){if(t&1){let A=hA();B(0,"tr")(1,"td"),y(2),Q(),B(3,"td")(4,"span",23)(5,"span"),O(6,AFA,2,0)(7,eFA,2,2,"span",21),Q(),B(8,"button",24),U("click",function(){let n,o=T(A).$implicit,a=p(3);return J(a.isObject(a.selectedEvent().usageMetadata[o])?a.copyJsonToClipboard(a.selectedEvent().usageMetadata[o],"usage."+o):a.copyToClipboard((n=a.selectedEvent().usageMetadata[o])==null?null:n.toString(),"usage."+o))}),B(9,"mat-icon"),y(10),Q()()()()()}if(t&2){let A=e.$implicit,i=p(3);u(2),lA(A),u(4),Y(A==="promptTokensDetails"||A==="promptTokenDetails"||A==="candidatesTokenDetails"||A==="candidatesTokensDetails"||A==="cacheTokensDetails"?6:7),u(4),lA(i.copiedId==="usage."+A?"check":"content_copy")}}function iFA(t,e){if(t&1&&(B(0,"table",38),Je(1,tFA,11,3,"tr",null,hi),Q()),t&2){let A=p(2);u(),Oe(A.Object.keys(A.selectedEvent().usageMetadata))}}function nFA(t,e){t&1&&(B(0,"div",39),y(1,"Select an LLM response to see usage metadata."),Q())}function oFA(t,e){if(t&1&&(B(0,"div",15),O(1,iFA,3,0,"table",38)(2,nFA,2,0,"div",39),Q()),t&2){let A,i=p();u(),Y((A=i.selectedEvent())!=null&&A.usageMetadata&&i.Object.keys(i.selectedEvent().usageMetadata).length>0?1:2)}}function aFA(t,e){if(t&1){let A=hA();B(0,"div",16),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p();return J(n.copyJsonToClipboard(n.filteredSelectedEvent(),"raw"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p();u(),H("json",A.filteredSelectedEvent()),u(3),lA(A.copiedId==="raw"?"check":"content_copy")}}function rFA(t,e){t&1&&(B(0,"div",40)(1,"mat-icon",52),y(2,"warning"),Q(),B(3,"span"),y(4,"The loaded session file was for a different app. The graph may not be accurate."),Q()())}function sFA(t,e){if(t&1){let A=hA();B(0,"button",58),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.onInvocationSelected(n.key))}),B(1,"mat-icon",59),y(2,"check"),Q(),y(3),Q()}if(t&2){let A,i=e.$implicit,n=p(3);H("matTooltip",i.key),u(),ut("visibility",((A=n.selectedEvent())==null?null:A.invocationId)===i.key?"visible":"hidden"),u(2),ue(" ",i.value," ")}}function lFA(t,e){if(t&1&&(B(0,"button",53)(1,"div",54)(2,"span",55),y(3),Q(),B(4,"mat-icon",56),y(5,"arrow_drop_down"),Q()()(),B(6,"mat-menu",null,3),Je(8,sFA,4,4,"button",57,kNA),Q()),t&2){let A,i=Qi(7),n=p(2);H("matMenuTriggerFor",i),u(2),H("matTooltip",((A=n.selectedEvent())==null?null:A.invocationId)||""),u(),ue(" ",n.invocationDisplayMap().get(n.selectedEvent().invocationId)||n.selectedEvent().invocationId," "),u(5),Oe(n.invocationDisplayEntries())}}function gFA(t,e){if(t&1&&(B(0,"span",44),y(1),Q()),t&2){let A,i,n=p(2);H("matTooltip",((A=n.selectedEvent())==null?null:A.invocationId)||""),u(),lA((i=n.selectedEvent())!=null&&i.invocationId?n.invocationDisplayMap().get(n.selectedEvent().invocationId)||n.selectedEvent().invocationId:"N/A")}}function cFA(t,e){t&1&&(B(0,"mat-icon",61),y(1,"chevron_right"),Q())}function CFA(t,e){t&1&&(B(0,"mat-icon",61),y(1,"chevron_right"),Q())}function IFA(t,e){if(t&1&&(O(0,CFA,2,0,"mat-icon",61),B(1,"button",60),y(2),Q()),t&2){let A=e.$implicit,i=e.$index,n=p(3);Y(i>0?0:-1),u(),RA("active",i===n.breadcrumbs().length-1),u(),ue(" ",A," ")}}function dFA(t,e){if(t&1&&(B(0,"div",45)(1,"button",60),y(2),Q(),O(3,cFA,2,0,"mat-icon",61),Je(4,IFA,3,4,null,null,ws),Q()),t&2){let A=p(2);u(2),lA(A.appName()),u(),Y(A.breadcrumbs().length>0?3:-1),u(),Oe(A.breadcrumbs())}}function BFA(t,e){if(t&1){let A=hA();B(0,"button",62),U("click",function(){T(A);let n=p(2);return J(n.showAgentStructureGraph.emit(!0))}),B(1,"mat-icon"),y(2,"fullscreen"),Q()()}}function EFA(t,e){t&1&&(B(0,"div",39),y(1," Graph is not available for this agent. "),Q())}function hFA(t,e){t&1&&(B(0,"div",48),QA(1,"mat-progress-spinner",63),Q())}function QFA(t,e){if(t&1&&QA(0,"div",49),t&2){let A=p(2);H("innerHtml",A.renderedEventGraph(),Kc)}}function uFA(t,e){if(t&1){let A=hA();B(0,"button",64),U("click",function(){let n=T(A).$implicit,o=p(2);return J(o.handleMenuSelection(n))}),B(1,"span"),y(2),Ht(3,"date"),Q()()}if(t&2){let A=e.$implicit;u(2),ba("Run ",A.runIndex," (",T0(3,2,A.timestamp,"mediumTime"),")")}}function fFA(t,e){if(t&1&&(B(0,"div",17),O(1,rFA,5,0,"div",40),B(2,"div",41)(3,"div",42)(4,"span",43),y(5,"Invocation:"),Q(),O(6,lFA,10,3)(7,gFA,2,2,"span",44),Q()(),O(8,dFA,6,2,"div",45),B(9,"div",46,0),O(11,BFA,3,0,"button",47),O(12,EFA,2,0,"div",39)(13,hFA,2,0,"div",48)(14,QFA,1,1,"div",49),Q(),QA(15,"div",50,1),B(17,"mat-menu",null,2),Je(19,uFA,4,5,"button",51,SNA),Q()()),t&2){let A,i=Qi(18),n=p();u(),Y(n.isViewOnlyAppNameMismatch()?1:-1),u(5),Y(n.invocationDisplayMap().size>0&&((A=n.selectedEvent())!=null&&A.invocationId)?6:7),u(2),Y(n.hasSubWorkflows()&&(n.breadcrumbs().length>0||n.appName())?8:-1),u(3),Y(n.graphsAvailable()?11:-1),u(),Y(n.graphsAvailable()?n.renderedEventGraph()?14:13:12),u(3),ut("left",n.menuPos.x+"px")("top",n.menuPos.y+"px"),H("matMenuTriggerFor",i),u(4),Oe(n.menuEvents)}}function pFA(t,e){t&1&&(B(0,"div",48),QA(1,"mat-progress-spinner",63),Q())}function mFA(t,e){t&1&&(B(0,"div",39),y(1,"Select an LLM response to see request details."),Q())}function wFA(t,e){if(t&1){let A=hA();B(0,"div",16),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p(2);return J(n.copyJsonToClipboard(n.llmRequest(),"request"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(2);u(),H("json",A.llmRequest()),u(3),lA(A.copiedId==="request"?"check":"content_copy")}}function DFA(t,e){if(t&1&&(O(0,pFA,2,0,"div",48),Ht(1,"async"),WI(2,mFA,2,0,"div",39)(3,wFA,5,2,"div",16)),t&2){let A=p();Y(ri(1,1,A.uiStateService.isEventRequestResponseLoading())===!0?0:A.llmRequest()?3:2)}}function yFA(t,e){t&1&&(B(0,"div",48),QA(1,"mat-progress-spinner",63),Q())}function vFA(t,e){t&1&&(B(0,"div",39),y(1,"Select an LLM response to see response details."),Q())}function bFA(t,e){if(t&1){let A=hA();B(0,"div",16),QA(1,"ngx-json-viewer",31),B(2,"button",32),U("click",function(){T(A);let n=p(2);return J(n.copyJsonToClipboard(n.llmResponse(),"response"))}),B(3,"mat-icon"),y(4),Q()()()}if(t&2){let A=p(2);u(),H("json",A.llmResponse()),u(3),lA(A.copiedId==="response"?"check":"content_copy")}}function MFA(t,e){if(t&1&&(O(0,yFA,2,0,"div",48),Ht(1,"async"),WI(2,vFA,2,0,"div",39)(3,bFA,5,2,"div",16)),t&2){let A=p();Y(ri(1,1,A.uiStateService.isEventRequestResponseLoading())===!0?0:A.llmResponse()?3:2)}}var Iv=class t{eventDataSize=me.required();eventDataMap=me(new Map);selectedEventIndex=me();selectedEvent=me.required();filteredSelectedEvent=me();renderedEventGraph=me();rawSvgString=me(null);llmRequest=me();llmResponse=me();traceData=me([]);appName=me("");selectedEventGraphPath=me("");hasSubWorkflows=me(!1);graphsAvailable=me(!0);invocationDisplayMap=me(new Map);forceGraphTab=me(!1);isViewOnlySession=me(!1);isViewOnlyAppNameMismatch=me(!1);invocationDisplayEntries=pe(()=>Array.from(this.invocationDisplayMap().entries()).map(([e,A])=>({key:e,value:A})));breadcrumbs=pe(()=>{let e=this.selectedEventGraphPath();return e?e.split("/").filter(A=>A):[]});functionCalls=pe(()=>(this.selectedEvent()?.content?.parts||[]).filter(A=>!!A.functionCall).map(A=>A.functionCall));functionResponses=pe(()=>(this.selectedEvent()?.content?.parts||[]).filter(A=>!!A.functionResponse).map(A=>A.functionResponse));processedFunctionResponses=pe(()=>this.functionResponses().map(A=>{if(!A)return null;if(A&&Array.isArray(A.parts)){let n=A.parts.filter(a=>!!a.inlineData).map(a=>a.inlineData&&a.inlineData.data?Ye(gA({},a),{inlineData:Ye(gA({},a.inlineData),{data:a.inlineData.data.replace(/-/g,"+").replace(/_/g,"/")})}):a),o=gA({},A);return delete o.parts,{name:A.name,cleanedFr:o,mediaParts:n,hasMedia:n.length>0}}return{name:A.name,cleanedFr:A,mediaParts:[],hasMedia:!1}}).filter(A=>A!==null));page=ui();closeSelectedEvent=ui();openImageDialog=ui();switchToTraceView=ui();showAgentStructureGraph=ui();drillDownNodePath=ui();selectEventById=ui();jumpToInvocation=ui();onInvocationSelected(e){this.jumpToInvocation.emit(e)}eventMenuTrigger;graphContainer;menuEvents=[];menuPos={x:0,y:0};uiStateService=w(tg);traceService=w(Ag);i18n=w(pQ);isEventRequestResponseLoadingSignal=Ar(this.uiStateService.isEventRequestResponseLoading(),{initialValue:!1});associatedSpans=pe(()=>{let e=this.selectedEvent();if(!e||!e.id)return[];let A=this.traceData();if(!A)return[];let i=o=>{let a=[];for(let r of o)a.push(r),r.children&&(a=a.concat(i(r.children)));return a};return i(A).filter(o=>o.attributes&&o.attributes["gcp.vertex.agent.event_id"]===e.id)});_selectedDetailTab="event";get selectedDetailTab(){return this._selectedDetailTab}set selectedDetailTab(e){this._selectedDetailTab=e,localStorage.setItem("adk-event-tab-selected-tab",e),e==="graph"&&setTimeout(()=>{this.graphContainer?.nativeElement&&nE(this.graphContainer.nativeElement,(A,i)=>{this.handleNodeClick(A,i)})},50)}copiedId=null;copyToClipboard(e,A){e&&navigator.clipboard.writeText(e).then(()=>{this.copiedId=A||e,setTimeout(()=>this.copiedId=null,2e3)})}copyJsonToClipboard(e,A){if(!e)return;let i=JSON.stringify(e,null,2);navigator.clipboard.writeText(i).then(()=>{this.copiedId=A,setTimeout(()=>this.copiedId=null,2e3)})}switchToSpan(e){this.switchToTraceView.emit(),this.traceService.selectedRow(e)}constructor(){let e=localStorage.getItem("adk-event-tab-selected-tab");e&&["event","raw","request","response","graph","metadata"].includes(e)&&(this._selectedDetailTab=e),Ao(()=>{let A=this.renderedEventGraph(),i=this._selectedDetailTab;A&&i==="graph"&&setTimeout(()=>{this.graphContainer?.nativeElement&&nE(this.graphContainer.nativeElement,(n,o)=>{this.handleNodeClick(n,o)})},50)}),Ao(()=>{let A=this.selectedEvent();this.forceGraphTab()&&(this.selectedDetailTab=this.graphsAvailable()?"graph":"event")})}formatTime(e){if(!e)return"N/A";let A=e<1e10?e*1e3:e;return new Date(A).toLocaleString()}isObject(e){return e!==null&&typeof e=="object"}handleNodeClick(e,A){let i=Array.from(this.eventDataMap().values()),o=this.selectedEvent()?.invocationId;o&&(i=i.filter(l=>l.invocationId===o));let a=[],r=[],s="";i.forEach(l=>{let g=l.nodeInfo?.path;if(l.author==="user"&&(g="__START__"),!g)return;let C=g;g!=="__START__"&&(C=g.split("/").map(E=>E.split("@")[0]).join("/"));let I=C.split("/"),d=I[I.length-1],h="";if(I.length>=2&&I[I.length-1]==="call_llm"&&I[I.length-2]===l.author?(d=I[I.length-2],h=I.slice(1,-2).join("/")):h=I.slice(1,-1).join("/"),h===this.selectedEventGraphPath()){let E=g.split("/"),f=E[E.length-1],m=e.includes("@")?f:d;m!==s&&(s===e&&r.length>0&&a.push(r),s=m,r=[]),m===e&&r.push(l)}}),s===e&&r.length>0&&a.push(r),a.length!==0&&(a.length===1?this.selectEventById.emit(a[0][0].id):(this.menuEvents=a.map((l,g)=>({id:l[0].id,runIndex:g+1,timestamp:l[0].timestamp})),A&&(this.menuPos={x:A.clientX,y:A.clientY}),this.eventMenuTrigger.openMenu()))}handleMenuSelection(e){this.selectEventById.emit(e.id)}Object=Object;static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-event-tab"]],viewQuery:function(A,i){if(A&1&&Jt(yNA,5)(vNA,5),A&2){let n;ae(n=re())&&(i.eventMenuTrigger=n.first),ae(n=re())&&(i.graphContainer=n.first)}},inputs:{eventDataSize:[1,"eventDataSize"],eventDataMap:[1,"eventDataMap"],selectedEventIndex:[1,"selectedEventIndex"],selectedEvent:[1,"selectedEvent"],filteredSelectedEvent:[1,"filteredSelectedEvent"],renderedEventGraph:[1,"renderedEventGraph"],rawSvgString:[1,"rawSvgString"],llmRequest:[1,"llmRequest"],llmResponse:[1,"llmResponse"],traceData:[1,"traceData"],appName:[1,"appName"],selectedEventGraphPath:[1,"selectedEventGraphPath"],hasSubWorkflows:[1,"hasSubWorkflows"],graphsAvailable:[1,"graphsAvailable"],invocationDisplayMap:[1,"invocationDisplayMap"],forceGraphTab:[1,"forceGraphTab"],isViewOnlySession:[1,"isViewOnlySession"],isViewOnlyAppNameMismatch:[1,"isViewOnlyAppNameMismatch"]},outputs:{page:"page",closeSelectedEvent:"closeSelectedEvent",openImageDialog:"openImageDialog",switchToTraceView:"switchToTraceView",showAgentStructureGraph:"showAgentStructureGraph",drillDownNodePath:"drillDownNodePath",selectEventById:"selectEventById",jumpToInvocation:"jumpToInvocation"},decls:31,vars:29,consts:[["graphContainer",""],["eventMenuTrigger","matMenuTrigger"],["eventMenu","matMenu"],["invocationSelectorMenu","matMenu"],[1,"event-details-container"],[1,"event-details-header"],["hidePageSize","",1,"event-paginator",3,"page","length","pageSize","pageIndex"],["mat-icon-button","",3,"click","matTooltip"],[1,"event-details-content"],[1,"vertical-tabs-sidebar"],["mat-icon-button","","matTooltipPosition","right",3,"click","matTooltip"],["mat-icon-button","","matTooltipPosition","right",3,"active","matTooltip"],["mat-icon-button","","matTooltip","Usage Metadata","matTooltipPosition","right",3,"click"],["mat-icon-button","","matTooltip","Raw JSON","matTooltipPosition","right",3,"click"],[1,"vertical-tabs-content"],[1,"info-tables-container"],[1,"json-viewer-container","json-viewer-wrapper"],[1,"event-graph-wrapper"],["app-info-table",""],[1,"id-text"],[1,"id-cell"],[3,"matTooltip"],["mat-icon-button","","matTooltip","Copy",1,"copy-id-button",3,"click"],[1,"value-cell"],["mat-icon-button","","matTooltip","Copy",1,"copy-value-button",3,"click"],["app-info-table","","title","Node Info"],["app-info-table","","title","Actions"],["app-info-table","","title","Function Calls"],["app-info-table","","title","Function Responses"],["app-info-table","","title","Associated Spans"],[1,"json-viewer-wrapper"],[3,"json"],["mat-icon-button","","matTooltip","Copy JSON",1,"floating-copy-button",3,"click"],[1,"media-container"],[1,"generated-image-container"],["alt","image",3,"src"],["controls","",3,"src"],["href","javascript:void(0)",1,"span-link","id-text",3,"click","matTooltip"],["app-info-table","","title","Usage Metadata"],[1,"request-response-empty-state"],[1,"warning-banner",2,"background-color","#fff3cd","color","#856404","padding","8px","margin-bottom","8px","border-radius","4px","display","flex","align-items","center"],[1,"graph-header",2,"justify-content","space-between"],[2,"display","flex","align-items","center","min-width","0","flex","1","width","100%"],[2,"white-space","nowrap","flex-shrink","0"],[2,"margin-left","8px","font-weight","normal",3,"matTooltip"],[1,"breadcrumb-container"],[1,"event-graph-container"],["mat-icon-button","","matTooltip","Full Screen",1,"fullscreen-graph-button"],[1,"request-response-loading-spinner-container"],[1,"svg-graph-wrapper",3,"innerHtml"],[2,"visibility","hidden","position","fixed",3,"matMenuTriggerFor"],["mat-menu-item",""],[2,"margin-right","8px"],["mat-button","",1,"invocation-selector-button",2,"margin-left","8px","padding","0 8px","min-width","0","flex","1","height","24px","line-height","24px","width","100%",3,"matMenuTriggerFor"],[2,"display","flex","align-items","center","width","100%","min-width","0","justify-content","space-between"],[2,"font-weight","normal","overflow","hidden","text-overflow","ellipsis","white-space","nowrap","flex","1","text-align","left",3,"matTooltip"],[2,"margin-left","4px","font-size","18px","width","18px","height","18px","flex-shrink","0"],["mat-menu-item","","matTooltipPosition","right",3,"matTooltip"],["mat-menu-item","","matTooltipPosition","right",3,"click","matTooltip"],[2,"font-size","16px","width","16px","height","16px","margin-right","8px","color","var(--mat-sys-primary)"],["disabled","",1,"breadcrumb-item"],[1,"breadcrumb-separator"],["mat-icon-button","","matTooltip","Full Screen",1,"fullscreen-graph-button",3,"click"],["mode","indeterminate","diameter","50"],["mat-menu-item","",3,"click"]],template:function(A,i){A&1&&(B(0,"div",4)(1,"div",5)(2,"mat-paginator",6),U("page",function(o){return i.page.emit(o)}),Q(),B(3,"button",7),U("click",function(){return i.closeSelectedEvent.emit()}),B(4,"mat-icon"),y(5,"remove_selection"),Q()()(),B(6,"div",8)(7,"div",9)(8,"button",10),U("click",function(){return i.selectedDetailTab="event"}),B(9,"mat-icon"),y(10,"info"),Q()(),O(11,xNA,3,4,"button",11),B(12,"button",10),U("click",function(){return i.selectedDetailTab="request"}),B(13,"mat-icon"),y(14,"input"),Q()(),B(15,"button",10),U("click",function(){return i.selectedDetailTab="response"}),B(16,"mat-icon"),y(17,"output"),Q()(),B(18,"button",12),U("click",function(){return i.selectedDetailTab="metadata"}),B(19,"mat-icon"),y(20,"analytics"),Q()(),B(21,"button",13),U("click",function(){return i.selectedDetailTab="raw"}),B(22,"mat-icon"),y(23,"data_object"),Q()()(),B(24,"div",14),O(25,XNA,57,20,"div",15),O(26,oFA,3,1,"div",15),O(27,aFA,5,2,"div",16),O(28,fFA,21,10,"div",17),O(29,DFA,4,3),O(30,MFA,4,3),Q()()()),A&2&&(u(2),H("length",i.eventDataSize())("pageSize",1)("pageIndex",i.selectedEventIndex()),te("aria-label",i.i18n.selectEventAriaLabel),u(),H("matTooltip",XC(i.i18n.clearSelectionButtonLabel)),u(5),RA("active",i.selectedDetailTab==="event"),H("matTooltip",XC(i.i18n.infoTabLabel)),u(3),Y(i.graphsAvailable()?11:-1),u(),RA("active",i.selectedDetailTab==="request"),H("matTooltip",XC(i.i18n.requestDetailsTabLabel)),u(3),RA("active",i.selectedDetailTab==="response"),H("matTooltip",XC(i.i18n.responseDetailsTabLabel)),u(3),RA("active",i.selectedDetailTab==="metadata"),u(3),RA("active",i.selectedDetailTab==="raw"),u(4),Y(i.selectedDetailTab==="event"?25:-1),u(),Y(i.selectedDetailTab==="metadata"?26:-1),u(),Y(i.selectedDetailTab==="raw"?27:-1),u(),Y(i.selectedDetailTab==="graph"?28:-1),u(),Y(i.selectedDetailTab==="request"?29:-1),u(),Y(i.selectedDetailTab==="response"?30:-1))},dependencies:[qi,pi,ji,Wt,n6,gs,dn,LB,Zs,Ml,$c,cs,$l,OI,os,nL],styles:["[_nghost-%COMP%]{display:block;height:100%}.json-viewer-container[_ngcontent-%COMP%]{margin:10px}.event-paginator[_ngcontent-%COMP%]{margin-right:auto;display:flex;justify-content:center;background-color:transparent}.event-paginator[_ngcontent-%COMP%] .mat-mdc-paginator-range-label{order:2;margin:0 0 0 8px}.event-details-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.event-details-content[_ngcontent-%COMP%]{display:flex;flex:1;overflow:hidden}.vertical-tabs-sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:48px;border-right:1px solid var(--mat-sys-outline-variant);padding-top:8px;align-items:center;gap:8px}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .vertical-tabs-sidebar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:6px!important}.vertical-tabs-sidebar[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}.vertical-tabs-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto}.event-details-header[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid var(--mat-sys-outline-variant);height:48px;flex-shrink:0}.empty-state[_ngcontent-%COMP%]{padding:16px;text-align:center;color:var(--mat-sys-on-surface-variant);font-style:italic}.details-content[_ngcontent-%COMP%]{color:var(--side-panel-details-content-color);font-size:14px}.event-graph-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;width:100%}.breadcrumb-container[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:13px;color:var(--mat-sys-on-surface-variant);padding:8px 12px}.breadcrumb-container[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500;margin-right:8px;color:var(--mat-sys-on-surface)}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-item[_ngcontent-%COMP%]{background:none;border:none;color:var(--mat-sys-primary);font-size:13px;padding:2px 4px}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-item.active[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-sys-on-surface)}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-item[_ngcontent-%COMP%]:disabled{color:var(--mat-sys-on-surface);font-weight:500}.breadcrumb-container[_ngcontent-%COMP%] .breadcrumb-separator[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--mat-sys-on-surface-variant);margin:0 4px}.graph-header[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:13px;color:var(--mat-sys-on-surface-variant);background-color:var(--mat-sys-surface-container-lowest);padding:8px 16px;border-bottom:1px solid var(--mat-sys-outline-variant)}.graph-header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500;margin-right:8px;color:var(--mat-sys-on-surface)}.event-graph-container[_ngcontent-%COMP%]{flex:1;overflow:hidden;padding:16px;position:relative}.fullscreen-graph-button[_ngcontent-%COMP%]{position:absolute;top:4px;right:4px;z-index:10;width:48px!important;height:48px!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important}.fullscreen-graph-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px!important;width:28px!important;height:28px!important;line-height:28px!important;margin:0!important;padding:0!important}.event-graph-container[_ngcontent-%COMP%] .svg-graph-wrapper[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.event-graph-container[_ngcontent-%COMP%] svg{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.event-graph-container[_ngcontent-%COMP%] svg>g.graph>polygon:first-child{fill:transparent!important}.request-response-loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em}.request-response-empty-state[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin-top:2em;font-style:italic}.id-text[_ngcontent-%COMP%]{font-family:Google Sans Mono,monospace;font-size:12px}.id-cell[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;overflow:hidden}.id-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child, .value-cell[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.id-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .id-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-id-button[_ngcontent-%COMP%], .value-cell[_ngcontent-%COMP%]:hover .copy-value-button[_ngcontent-%COMP%]{opacity:1}.copy-id-button[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%]{width:28px!important;height:28px!important;padding:0!important;line-height:28px!important;flex-shrink:0;margin:-4px 0!important;opacity:0;transition:opacity .2s ease-in-out;border-radius:4px!important;overflow:hidden!important}.copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-id-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .copy-value-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.copy-id-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%], .copy-value-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.info-tables-container[_ngcontent-%COMP%]{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.invocation-selector-button[_ngcontent-%COMP%] .mdc-button__label{width:100%;flex:1;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:space-between}.media-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;margin-top:8px;margin-bottom:12px}.generated-image-container[_ngcontent-%COMP%]{max-width:100%;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;border:1px solid var(--mat-sys-outline-variant)}.generated-image-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:auto;display:block}audio[_ngcontent-%COMP%], video[_ngcontent-%COMP%]{max-width:100%;border-radius:4px}.json-viewer-wrapper[_ngcontent-%COMP%]{position:relative}.json-viewer-wrapper[_ngcontent-%COMP%]:hover .floating-copy-button[_ngcontent-%COMP%]{opacity:1}.floating-copy-button[_ngcontent-%COMP%]{position:absolute;top:4px;right:4px;z-index:10;opacity:0;transition:opacity .2s ease-in-out;background-color:var(--mat-sys-surface-container-high)!important;border-radius:4px!important;overflow:hidden!important;width:28px!important;height:28px!important;line-height:28px!important;padding:0!important}.floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-ripple, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple:before, .floating-copy-button[_ngcontent-%COMP%] .mat-mdc-focus-indicator{border-radius:4px!important}.floating-copy-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}.floating-copy-button[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-secondary-container)!important;color:var(--mat-sys-on-secondary-container)!important}"],changeDetection:0})};var SFA=["evalTabContainer"];function kFA(t,e){}function xFA(t,e){t&1&&(B(0,"div",1),QA(1,"mat-progress-spinner",4),Q())}function _FA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(2);u(),lA(A.i18n.infoTabLabel)}}function RFA(t,e){if(t&1){let A=hA();B(0,"app-trace-tab",12),U("switchToEvent",function(n){T(A);let o=p(2);return J(o.switchToEvent.emit(n))}),Q()}if(t&2){let A=p(2);H("traceData",A.traceData())}}function NFA(t,e){if(t&1){let A=hA();B(0,"app-event-tab",13),U("page",function(n){T(A);let o=p(2);return J(o.page.emit(n))})("closeSelectedEvent",function(){T(A);let n=p(2);return J(n.closeSelectedEvent.emit())})("openImageDialog",function(n){T(A);let o=p(2);return J(o.openImageDialog.emit(n))})("switchToTraceView",function(){T(A);let n=p(2);return J(n.switchToTraceView.emit())})("showAgentStructureGraph",function(n){T(A);let o=p(2);return J(o.showAgentStructureGraph.emit(n))})("drillDownNodePath",function(n){T(A);let o=p(2);return J(o.drillDownNodePath.emit(n))})("selectEventById",function(n){T(A);let o=p(2);return J(o.selectEventById.emit(n))})("jumpToInvocation",function(n){T(A);let o=p(2);return J(o.jumpToInvocation.emit(n))}),Q()}if(t&2){let A=p(2);H("eventDataSize",A.eventData().size)("eventDataMap",A.eventData())("selectedEventIndex",A.selectedEventIndex())("selectedEvent",A.selectedEvent())("traceData",A.traceData())("filteredSelectedEvent",A.filteredSelectedEvent())("renderedEventGraph",A.renderedEventGraph())("rawSvgString",A.rawSvgString())("appName",A.appName())("selectedEventGraphPath",A.selectedEventGraphPath())("llmRequest",A.llmRequest())("llmResponse",A.llmResponse())("hasSubWorkflows",A.hasSubWorkflows())("graphsAvailable",A.graphsAvailable())("invocationDisplayMap",A.invocationDisplayMap())("forceGraphTab",A.forceGraphTab())("isViewOnlySession",A.isViewOnlySession())("isViewOnlyAppNameMismatch",A.isViewOnlyAppNameMismatch())}}function FFA(t,e){t&1&&(B(0,"div",9),y(1,"Select an event or trace span to view details"),Q())}function LFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(2);u(),lA(A.i18n.stateTabLabel)}}function GFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.artifactsTabLabel)}}function KFA(t,e){if(t&1&&(B(0,"mat-tab"),Et(1,GFA,2,1,"ng-template",6),QA(2,"app-artifact-tab",14),Q()),t&2){let A=p(2);u(2),H("artifacts",A.artifacts())}}function UFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.testsTabLabel)}}function TFA(t,e){if(t&1){let A=hA();B(0,"mat-tab"),Et(1,UFA,2,1,"ng-template",6),B(2,"app-tests-tab",15),U("testSelected",function(n){T(A);let o=p(2);return J(o.testSelected.emit(n))}),Q()()}if(t&2){let A=p(2);u(2),H("appName",A.appName())("sessionId",A.sessionId())("userId",A.userId())("isViewOnlySession",A.isViewOnlySession())}}function JFA(t,e){if(t&1&&(B(0,"span",11),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.evalTabLabel)}}function OFA(t,e){t&1&&(B(0,"mat-tab"),Et(1,JFA,2,1,"ng-template",6),sn(2,null,0),Q())}function YFA(t,e){if(t&1){let A=hA();B(0,"div",2)(1,"mat-tab-group",5),Di("selectedIndexChange",function(n){T(A);let o=p();return di(o.selectedIndex,n)||(o.selectedIndex=n),J(n)}),U("selectedTabChange",function(n){T(A);let o=p();return J(o.onTabChange(n))}),B(2,"mat-tab"),Et(3,_FA,2,1,"ng-template",6),O(4,RFA,1,1,"app-trace-tab",7)(5,NFA,1,18,"app-event-tab",8)(6,FFA,2,0,"div",9),Q(),B(7,"mat-tab"),Et(8,LFA,2,1,"ng-template",6),QA(9,"app-state-tab",10),Q(),O(10,KFA,3,1,"mat-tab"),Ht(11,"async"),O(12,TFA,3,4,"mat-tab"),Ht(13,"async"),O(14,OFA,4,0,"mat-tab"),Ht(15,"async"),Q()()}if(t&2){let A=p(),i=zn(2);H("hidden",i||!A.showSidePanel()),u(),wi("selectedIndex",A.selectedIndex),u(3),Y(A.selectedSpan()?4:A.selectedEvent()?5:6),u(5),H("sessionState",A.currentSessionState()),u(),Y(ri(11,7,A.isArtifactsTabEnabledObs)?10:-1),u(2),Y(ri(13,9,A.isTestsEnabledObs)?12:-1),u(2),Y(ri(15,11,A.isEvalEnabledObs)?14:-1)}}var mQ=class t{Object=Object;appName=me("");userId=me("");sessionId=me("");traceData=me([]);eventData=me(new Map);currentSessionState=me();artifacts=me([]);selectedEvent=me();selectedEventIndex=me();renderedEventGraph=me();rawSvgString=me(null);selectedEventGraphPath=me("");llmRequest=me();llmResponse=me();showSidePanel=me(!1);isApplicationSelectorEnabledObs=me(oe(!1));isBuilderMode=me(!1);disableBuilderIcon=me(!1);hasSubWorkflows=me(!1);graphsAvailable=me(!0);invocationDisplayMap=me(new Map);forceGraphTab=me(!1);isViewOnlySession=me(!1);isViewOnlyAppNameMismatch=me(!1);closePanel=ui();tabChange=ui();sessionSelected=ui();sessionReloaded=ui();evalCaseSelected=ui();editEvalCaseRequested=ui();testSelected=ui();evalSetIdSelected=ui();returnToSession=ui();evalNotInstalled=ui();page=ui();switchToEvent=ui();closeSelectedEvent=ui();openImageDialog=ui();openAddItemDialog=ui();enterBuilderMode=ui();showAgentStructureGraph=ui();switchToTraceView=ui();drillDownNodePath=ui();selectEventById=ui();jumpToInvocation=ui();sessionTabComponent=void 0;evalTabComponent=So(_c);evalTabContainer=So("evalTabContainer",{read:Mo});tabGroup=So(lv);logoComponent=w(PB,{optional:!0});i18n=w(pQ);featureFlagService=w(yr);evalTabComponentClass=w(rv,{optional:!0});environmentInjector=w(Gr);uiStateService=w(tg);traceService=w(Ag);selectedSpan=Ar(this.traceService.selectedTraceRow$);selectedIndex=0;pendingEvalCaseSelection=bA(void 0);pendingEvalResultSelection=bA(void 0);constructor(){Ao(()=>{let e=this.selectedEvent(),A=this.selectedSpan(),i=this.tabGroup();(e||A)&&i&&i.selectedIndex!==0&&(this.selectedIndex=0,window.localStorage.setItem("adk-side-panel-selected-tab","0"))})}ngOnInit(){let e=window.localStorage.getItem("adk-side-panel-selected-tab");e!==null&&(this.selectedIndex=parseInt(e,10))}onTabChange(e){this.tabChange.emit(e),this.selectedIndex=e.index,window.localStorage.setItem("adk-side-panel-selected-tab",e.index.toString())}switchToEvalTab(){this.isEvalEnabledObs.pipe($n()).subscribe(e=>{e&&qC([this.isArtifactsTabEnabledObs.pipe($n()),this.isTestsEnabledObs.pipe($n())]).subscribe(([A,i])=>{let n=2;A&&n++,i&&n++,this.selectedIndex=n,window.localStorage.setItem("adk-side-panel-selected-tab",n.toString())})})}selectEvalCase(e,A){let i=this.evalTabComponent();i?(i.selectEvalSet(e),i.selectedEvalTab.set("cases"),i.selectedEvalCase.set(A)):this.pendingEvalCaseSelection.set({evalSetId:e,evalCase:A})}selectEvalResult(e,A,i){let n=this.evalTabComponent();console.log("selectEvalResult tab available:",!!n,"evalCase:",i),n?(n.selectEvalSet(e),n.selectedHistoryRun.set(A),i?(console.log("selectEvalResult setting cases tab and case"),n.selectedEvalTab.set("cases"),n.selectedEvalCase.set(i)):(console.log("selectEvalResult setting history tab and run"),n.selectedEvalTab.set("history"))):(console.log("selectEvalResult deferred to pending"),this.pendingEvalResultSelection.set({evalSetId:e,timestamp:A,evalCase:i}))}isAlwaysOnSidePanelEnabledObs=this.featureFlagService.isAlwaysOnSidePanelEnabled();isTraceEnabledObs=this.featureFlagService.isTraceEnabled();isArtifactsTabEnabledObs=this.featureFlagService.isArtifactsTabEnabled();isEvalEnabledObs=this.featureFlagService.isEvalEnabled();isTestsEnabledObs=this.featureFlagService.isTestsEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isMessageFileUploadEnabledObs=this.featureFlagService.isMessageFileUploadEnabled();isManualStateUpdateEnabledObs=this.featureFlagService.isManualStateUpdateEnabled();isBidiStreamingEnabledObs=this.featureFlagService.isBidiStreamingEnabled;filteredSelectedEvent=pe(()=>this.selectedEvent());ngAfterViewInit(){setTimeout(()=>{this.initEvalTab()},500)}initEvalTab(){this.isEvalEnabledObs.pipe($n()).subscribe(e=>{if(e){let A=this.evalTabContainer()?.createComponent(this.evalTabComponentClass??_c,{environmentInjector:this.environmentInjector});if(!A)return;Xa(this.environmentInjector,()=>{Ao(()=>{A.setInput("appName",this.appName()),A.setInput("userId",this.userId()),A.setInput("sessionId",this.sessionId())}),Ao(()=>{let i=this.pendingEvalCaseSelection();i&&(console.log("initEvalTab applying pendingEvalCaseSelection:",i),A.instance.selectEvalSet(i.evalSetId),A.instance.selectedEvalTab.set("cases"),A.instance.selectedEvalCase.set(i.evalCase),this.pendingEvalCaseSelection.set(void 0))}),Ao(()=>{let i=this.pendingEvalResultSelection();i&&(console.log("initEvalTab applying pendingEvalResultSelection:",i),A.instance.selectEvalSet(i.evalSetId),A.instance.selectedHistoryRun.set(i.timestamp),i.evalCase?(console.log("initEvalTab setting cases tab and case"),A.instance.selectedEvalTab.set("cases"),A.instance.selectedEvalCase.set(i.evalCase)):(console.log("initEvalTab setting history tab and run"),A.instance.selectedEvalTab.set("history")),this.pendingEvalResultSelection.set(void 0))})}),A.instance.sessionSelected.subscribe(i=>{this.sessionSelected.emit(i)}),A.instance.evalCaseSelected.subscribe(i=>{this.evalCaseSelected.emit(i)}),A.instance.editEvalCaseRequested.subscribe(i=>{this.editEvalCaseRequested.emit(i)}),A.instance.evalSetIdSelected.subscribe(i=>{this.evalSetIdSelected.emit(i)}),A.instance.shouldReturnToSession.subscribe(i=>{this.returnToSession.emit(i)}),A.instance.evalNotInstalledMsg.subscribe(i=>{this.evalNotInstalled.emit(i)})}})}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-side-panel"]],viewQuery:function(A,i){A&1&&ns(i.evalTabComponent,_c,5)(i.evalTabContainer,SFA,5,Mo)(i.tabGroup,lv,5),A&2&&ur(3)},inputs:{appName:[1,"appName"],userId:[1,"userId"],sessionId:[1,"sessionId"],traceData:[1,"traceData"],eventData:[1,"eventData"],currentSessionState:[1,"currentSessionState"],artifacts:[1,"artifacts"],selectedEvent:[1,"selectedEvent"],selectedEventIndex:[1,"selectedEventIndex"],renderedEventGraph:[1,"renderedEventGraph"],rawSvgString:[1,"rawSvgString"],selectedEventGraphPath:[1,"selectedEventGraphPath"],llmRequest:[1,"llmRequest"],llmResponse:[1,"llmResponse"],showSidePanel:[1,"showSidePanel"],isApplicationSelectorEnabledObs:[1,"isApplicationSelectorEnabledObs"],isBuilderMode:[1,"isBuilderMode"],disableBuilderIcon:[1,"disableBuilderIcon"],hasSubWorkflows:[1,"hasSubWorkflows"],graphsAvailable:[1,"graphsAvailable"],invocationDisplayMap:[1,"invocationDisplayMap"],forceGraphTab:[1,"forceGraphTab"],isViewOnlySession:[1,"isViewOnlySession"],isViewOnlyAppNameMismatch:[1,"isViewOnlyAppNameMismatch"]},outputs:{closePanel:"closePanel",tabChange:"tabChange",sessionSelected:"sessionSelected",sessionReloaded:"sessionReloaded",evalCaseSelected:"evalCaseSelected",editEvalCaseRequested:"editEvalCaseRequested",testSelected:"testSelected",evalSetIdSelected:"evalSetIdSelected",returnToSession:"returnToSession",evalNotInstalled:"evalNotInstalled",page:"page",switchToEvent:"switchToEvent",closeSelectedEvent:"closeSelectedEvent",openImageDialog:"openImageDialog",openAddItemDialog:"openAddItemDialog",enterBuilderMode:"enterBuilderMode",showAgentStructureGraph:"showAgentStructureGraph",switchToTraceView:"switchToTraceView",drillDownNodePath:"drillDownNodePath",selectEventById:"selectEventById",jumpToInvocation:"jumpToInvocation"},decls:7,vars:8,consts:[["evalTabContainer",""],[1,"loading-spinner-container"],[1,"tabs-container",3,"hidden"],[1,"resize-handler"],["mode","indeterminate","diameter","50"],["animationDuration","0ms",3,"selectedIndexChange","selectedTabChange","selectedIndex"],["mat-tab-label",""],[3,"traceData"],[3,"eventDataSize","eventDataMap","selectedEventIndex","selectedEvent","traceData","filteredSelectedEvent","renderedEventGraph","rawSvgString","appName","selectedEventGraphPath","llmRequest","llmResponse","hasSubWorkflows","graphsAvailable","invocationDisplayMap","forceGraphTab","isViewOnlySession","isViewOnlyAppNameMismatch"],[1,"empty-state"],[3,"sessionState"],[1,"tab-label"],[3,"switchToEvent","traceData"],[3,"page","closeSelectedEvent","openImageDialog","switchToTraceView","showAgentStructureGraph","drillDownNodePath","selectEventById","jumpToInvocation","eventDataSize","eventDataMap","selectedEventIndex","selectedEvent","traceData","filteredSelectedEvent","renderedEventGraph","rawSvgString","appName","selectedEventGraphPath","llmRequest","llmResponse","hasSubWorkflows","graphsAvailable","invocationDisplayMap","forceGraphTab","isViewOnlySession","isViewOnlyAppNameMismatch"],[3,"artifacts"],[3,"testSelected","appName","sessionId","userId","isViewOnlySession"]],template:function(A,i){if(A&1&&(O(0,kFA,0,0),Ht(1,"async"),ta(2),Ht(3,"async"),O(4,xFA,2,0,"div",1),O(5,YFA,16,13,"div",2),QA(6,"div",3)),A&2){Y(ri(1,3,i.isAlwaysOnSidePanelEnabledObs)===!1?0:-1),u(2);let n=ga(ri(3,5,i.uiStateService.isSessionLoading()));u(2),Y(n?4:-1),u(),Y(i.appName()!=""?5:-1)}},dependencies:[lv,CF,cF,Cv,cv,Z6,Iv,gs,gv,os],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;position:relative}.drawer-header-wrapper[_ngcontent-%COMP%]{display:flex;height:48px;align-items:center;padding-left:20px}.drawer-header[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between;align-items:center}.tabs-container[_ngcontent-%COMP%]{width:100%;flex:1;overflow:hidden;display:flex;flex-direction:column}.tab-label[_ngcontent-%COMP%]{font-size:14px}.resize-handler[_ngcontent-%COMP%]{width:6px;border-radius:4px;position:absolute;display:block;top:20px;bottom:20px;right:0;z-index:100;cursor:ew-resize}.resize-handler[_ngcontent-%COMP%]:hover{background-color:var(--mat-sys-outline-variant)}.empty-state[_ngcontent-%COMP%]{padding:16px;text-align:center;color:var(--mat-sys-on-surface-variant);font-style:italic}mat-tab-group[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;min-height:0}mat-tab-group[_ngcontent-%COMP%] .mdc-tab{padding:0 12px;min-width:48px} .mat-mdc-tab-body-wrapper{flex:1;min-height:0} .mat-mdc-tab-body-wrapper .mat-mdc-tab-body-content{overflow-x:hidden}.drawer-logo[_ngcontent-%COMP%]{margin-left:9px;display:flex;align-items:center}.drawer-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:6px}.drawer-logo[_ngcontent-%COMP%]{font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.drawer-header-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.panel-toggle-icon[_ngcontent-%COMP%]{font-size:20px;width:24px;height:24px;color:var(--side-panel-mat-icon-color, #c4c7c5);cursor:pointer;display:flex;align-items:center;justify-content:center}.powered-by-adk[_ngcontent-%COMP%]{font-size:10px;color:var(--side-panel-powered-by-adk-color);text-align:right;margin-top:-5px}.adk-info-icon[_ngcontent-%COMP%]{font-size:14px;color:var(--side-panel-mat-icon-color, #bdc1c6);cursor:pointer;margin-left:4px;vertical-align:middle}.mode-toggle-container[_ngcontent-%COMP%]{display:flex;align-items:center}.build-mode-button[_ngcontent-%COMP%]{margin:0 4px}.app-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.loading-spinner-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}"]})};var HFA=["editInput"];function zFA(t,e){if(t&1){let A=hA();B(0,"button",5),U("click",function(){T(A);let n=p();return J(n.startEdit())}),B(1,"mat-icon"),y(2,"edit"),Q()()}}function PFA(t,e){if(t&1){let A=hA();B(0,"button",6),U("click",function(){T(A);let n=p();return J(n.saveEdit())}),B(1,"mat-icon"),y(2,"check"),Q()(),B(3,"button",7),U("click",function(){T(A);let n=p();return J(n.cancelEdit())}),B(4,"mat-icon"),y(5,"close"),Q()()}}var dv=class t{value="";displayValue="";tooltip="";placeholder="";textClass="";save=new LA;isEditing=!1;draftValue="";editInput;startEdit(){this.draftValue=this.value,this.isEditing=!0,setTimeout(()=>{this.editInput.nativeElement.focus()})}cancelEdit(){this.isEditing=!1,this.draftValue=""}saveEdit(){this.save.emit(this.draftValue),this.isEditing=!1}handleKeydown(e){e.key==="Enter"?this.saveEdit():e.key==="Escape"&&this.cancelEdit()}get effectiveDisplayValue(){return this.displayValue||this.value}static \u0275fac=function(A){return new(A||t)};static \u0275cmp=SA({type:t,selectors:[["app-inline-edit"]],viewQuery:function(A,i){if(A&1&&Jt(HFA,5),A&2){let n;ae(n=re())&&(i.editInput=n.first)}},inputs:{value:"value",displayValue:"displayValue",tooltip:"tooltip",placeholder:"placeholder",textClass:"textClass"},outputs:{save:"save"},decls:6,vars:10,consts:[["editInput",""],[1,"inline-edit-container"],[1,"inline-edit-text-wrapper"],[1,"inline-edit-input",3,"ngModelChange","keydown","readonly","ngClass","matTooltip","ngModel"],["mat-icon-button","","aria-label","Edit",1,"inline-edit-action-button"],["mat-icon-button","","aria-label","Edit",1,"inline-edit-action-button",3,"click"],["mat-icon-button","","aria-label","Save",1,"inline-edit-action-button",3,"click"],["mat-icon-button","","aria-label","Cancel",1,"inline-edit-action-button",3,"click"]],template:function(A,i){A&1&&(B(0,"div",1)(1,"div",2)(2,"input",3,0),U("ngModelChange",function(o){return i.draftValue=o})("keydown",function(o){return i.handleKeydown(o)}),Q()(),O(4,zFA,3,0,"button",4)(5,PFA,6,0),Q()),A&2&&(u(2),RA("readonly",!i.isEditing),H("readonly",!i.isEditing)("ngClass",i.textClass)("matTooltip",i.isEditing?"":i.tooltip)("ngModel",i.isEditing?i.draftValue:i.effectiveDisplayValue),te("placeholder",i.isEditing?i.placeholder:"")("aria-label",i.placeholder)("size",((i.isEditing?i.draftValue:i.effectiveDisplayValue)==null?null:(i.isEditing?i.draftValue:i.effectiveDisplayValue).length)||1),u(2),Y(i.isEditing?5:4))},dependencies:[si,zl,ln,Dn,yn,ko,qi,ji,Tn,Wt,Fa,dn],styles:["[_nghost-%COMP%]{display:block;max-width:100%;min-width:0;width:100%}.inline-edit-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.inline-edit-text-wrapper[_ngcontent-%COMP%]{flex:0 1 auto;min-width:0;display:flex;align-items:center}.inline-edit-input[_ngcontent-%COMP%]{min-width:48px;max-width:100%;padding:2px 6px;margin:-3px -7px;border:1px solid var(--chat-toolbar-session-text-color, #ccc);border-radius:4px;color:var(--chat-toolbar-session-id-color, inherit);font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;background:transparent;field-sizing:content;transition:all .2s ease}.inline-edit-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--primary-color, #1a73e8)}.inline-edit-input.readonly[_ngcontent-%COMP%]{min-width:0;border-color:transparent;cursor:inherit}.inline-edit-input.readonly[_ngcontent-%COMP%]:focus{outline:none;border-color:transparent}.inline-edit-action-button[_ngcontent-%COMP%]{flex-shrink:0;width:28px!important;height:28px!important;padding:0!important;display:flex;align-items:center;justify-content:center}.inline-edit-action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px}"]})};var jFA={openPanelTooltip:"Open panel",evalCaseIdLabel:"Eval Case ID",cancelButton:"Cancel",saveButton:"Save",editEvalCaseTooltip:"Edit current eval case",deleteEvalCaseTooltip:"Delete current eval case",sessionIdLabel:"Session",copySessionIdTooltip:"Copy session ID",sessionIdCopiedMessage:"Session ID copied",copySessionIdFailedMessage:"Failed to copy session ID",userIdLabel:"User ID",editUserIdTooltip:"Edit user ID",userIdInputPlaceholder:"Enter user ID",saveUserIdTooltip:"Save user ID",cancelUserIdEditTooltip:"Cancel editing user ID",invalidUserIdMessage:"User ID cannot be empty",loadingSessionLabel:"Loading session...",tokenStreamingLabel:"Token Streaming",moreOptionsTooltip:"More options",createNewSessionTooltip:"Create a new Session",newSessionButton:"New Session",deleteSessionTooltip:"Delete session",exportSessionTooltip:"Export session",importSessionTooltip:"Import session",viewSessionTooltip:"View session",loadingAgentsLabel:"Loading agents, please wait...",welcomeMessage:"Welcome to ADK!",selectAgentMessage:"Select an agent on the left to begin with.",failedToLoadAgentsMessage:"Failed to load agents. To get started, run",errorMessageLabel:"Error message:",noAgentsFoundWarning:"Warning: No agents found in current folder.",cannotEditSessionMessage:"Chat is disabled to prevent changes to the end user's session.",viewSessionReadOnlyMessage:'This is a read-only view of a session file. Use "Import Session" if you want to continue this session.',readOnlyBadgeLabel:"Read-only"},liA=new kA("Chat Messages",{factory:()=>jFA});var qFA=["sideDrawer"],VFA=["drawerSessionTab"],WFA=["appSearchInput"],ZFA=["invChipMenuTrigger"],XFA=["nodeChipMenuTrigger"],$FA=["addMenuTrigger"],ALA=[[["","adk-web-chat-container-top",""]]],eLA=["[adk-web-chat-container-top]"],ciA=()=>[],tLA=(t,e)=>e.metricName;function iLA(t,e){t&1&&sn(0)}function nLA(t,e){if(t&1&&Et(0,iLA,1,0,"ng-container",39),t&2){let A=p();H("ngComponentOutlet",A.logoComponent)}}function oLA(t,e){if(t&1&&(B(0,"span",42),y(1),Q()),t&2){let A=p(2);u(),lA(A.adkVersion())}}function aLA(t,e){if(t&1&&(B(0,"div",48)(1,"div",49)(2,"span",50),y(3,"Version:"),Q(),B(4,"span",51),y(5),Q()(),B(6,"div",49)(7,"span",50),y(8,"Language:"),Q(),B(9,"span",51),y(10),Q()(),B(11,"div",49)(12,"span",50),y(13,"Lang Version:"),Q(),B(14,"span",51),y(15),Q()()()),t&2){let A=p(2);u(5),lA(A.versionInfo().version),u(5),lA(A.versionInfo().language),u(5),lA(A.versionInfo().language_version)}}function rLA(t,e){if(t&1&&(QA(0,"img",40),B(1,"span",41),y(2,"Agent Development Kit"),O(3,oLA,2,1,"span",42),Q(),B(4,"span",43),y(5,"ADK"),Q(),B(6,"div",44)(7,"mat-icon",45),y(8,"info_outline"),Q(),B(9,"div",46)(10,"div",47),y(11),Q(),O(12,aLA,16,3,"div",48),Q()()),t&2){let A=p();u(3),Y(A.adkVersion()?3:-1),u(8),lA(A.sidePanelI18n.disclosureTooltip),u(),Y(A.versionInfo()?12:-1)}}function sLA(t,e){t&1&&(B(0,"mat-icon",19),y(1,"warning"),Q())}function lLA(t,e){if(t&1){let A=hA();B(0,"span",53)(1,"button",55),U("click",function(){T(A);let n=p(2);return J(n.openAgentStructureGraphDialog())}),B(2,"mat-icon"),y(3,"account_tree"),Q()()()}if(t&2){let A=p(2);H("matTooltip",A.graphsAvailable()?"View Agent Structure Graph":"Agent structure graph is not available for this agent"),u(),H("disabled",!A.graphsAvailable())}}function gLA(t,e){if(t&1){let A=hA();QA(0,"div",52),O(1,lLA,4,2,"span",53),B(2,"span",53)(3,"button",54),U("click",function(){T(A);let n=p();return J(n.enterBuilderMode())}),B(4,"mat-icon"),y(5,"edit"),Q()()()}if(t&2){let A=p();u(),Y(A.graphsAvailable()?1:-1),u(),H("matTooltip",A.disableBuilderSwitch?"Editing is not available for this agent because it was not built by the builder":"Edit in Builder Mode"),u(),H("disabled",A.disableBuilderSwitch)}}function cLA(t,e){if(t&1){let A=hA();B(0,"div",56)(1,"mat-icon",61),y(2,"visibility"),Q(),B(3,"span",62),y(4),Q(),B(5,"button",63),U("click",function(){T(A);let n=p(2);return J(n.closeReadonlySession())}),B(6,"mat-icon",64),y(7,"close"),Q()()()}if(t&2){let A=p(2);u(4),ba("",A.readonlySessionType(),": ",A.readonlySessionName())}}function CLA(t,e){if(t&1){let A=hA();B(0,"button",68),U("click",function(){T(A);let n=p(6);return J(n.onNewSessionClick())}),B(1,"mat-icon",17),y(2,"add_comment"),Q(),B(3,"span"),y(4),Q()()}if(t&2){let A=p(6);H("matTooltip",A.i18n.createNewSessionTooltip),u(4),lA(A.i18n.newSessionButton)}}function ILA(t,e){if(t&1){let A=hA();B(0,"button",69),U("click",function(){T(A);let n=p(6);return J(n.onNewSessionClick())}),B(1,"mat-icon",17),y(2,"add_comment"),Q()()}if(t&2){let A=p(6);H("matTooltip",A.i18n.createNewSessionTooltip)}}function dLA(t,e){if(t&1&&(QA(0,"div",52),O(1,CLA,5,2,"button",66)(2,ILA,3,1,"button",67)),t&2){let A=p(5);u(),Y(A.uiEvents().length>0?1:2)}}function BLA(t,e){if(t&1&&O(0,dLA,3,1),t&2){let A=p(4);Y(A.sessionId?0:-1)}}function ELA(t,e){if(t&1&&(ta(0),Ht(1,"async"),O(2,BLA,1,1)),t&2){let A=ri(1,1,p(3).uiStateService.isSessionLoading());u(2),Y(A===!1?2:-1)}}function hLA(t,e){if(t&1){let A=hA();B(0,"div",15)(1,"button",65),U("click",function(){T(A);let n=p(2);return J(n.toggleSessionSelectorDrawer())}),B(2,"mat-icon",17),y(3,"chat"),Q(),B(4,"span",18),y(5),Q(),B(6,"mat-icon",20),y(7,"arrow_drop_down"),Q()(),O(8,ELA,3,3),Q()}if(t&2){let A=p(2);u(5),lA(A.getToolbarSessionId()),u(3),Y(A.evalCase?-1:8)}}function QLA(t,e){if(t&1&&(B(0,"div",56)(1,"span",62),y(2),Q(),B(3,"span",70),y(4),Q()()),t&2){let A=p(3);u(2),lA(A.i18n.evalCaseIdLabel),u(2),lA(A.evalCase.evalId)}}function uLA(t,e){if(t&1){let A=hA();B(0,"button",71),U("click",function(){T(A);let n=p(3);return J(n.cancelEditEvalCase())}),y(1),Q(),B(2,"button",72),U("click",function(){T(A);let n=p(3);return J(n.saveEvalCase())}),y(3),Q()}if(t&2){let A=p(3);u(),ue(" ",A.i18n.cancelButton," "),u(),H("disabled",!A.hasEvalCaseChanged()||A.isEvalCaseEditing()),u(),ue(" ",A.i18n.saveButton," ")}}function fLA(t,e){}function pLA(t,e){if(t&1&&(O(0,QLA,5,2,"div",56),B(1,"div",59),O(2,uLA,4,3)(3,fLA,0,0),Q()),t&2){let A=p(2);Y(A.isViewOnlySession()?-1:0),u(2),Y(A.isEvalEditMode()?2:3)}}function mLA(t,e){}function wLA(t,e){if(t&1&&(B(0,"div",73),y(1),Q()),t&2){let A=p(3);u(),lA(A.i18n.loadingSessionLabel)}}function DLA(t,e){if(t&1&&(B(0,"div",58),ta(1),Ht(2,"async"),O(3,mLA,0,0)(4,wLA,2,1,"div",73),Q()),t&2){let A=ri(2,1,p(2).uiStateService.isSessionLoading());u(3),Y(A===!1?3:4)}}function yLA(t,e){if(t&1){let A=hA();B(0,"button",74),U("click",function(){T(A);let n=p(2);return J(n.themeService.toggleTheme())}),B(1,"mat-icon"),y(2),Q()()}if(t&2){let A=p(2);H("matTooltip",A.themeService.currentTheme()==="dark"?"Switch to Light Mode":"Switch to Dark Mode"),u(2),lA(A.themeService.currentTheme()==="dark"?"light_mode":"dark_mode")}}function vLA(t,e){if(t&1&&(B(0,"div",21),O(1,cLA,8,2,"div",56)(2,hLA,9,2,"div",15),B(3,"div",57),O(4,pLA,4,2)(5,DLA,5,3,"div",58),Q(),B(6,"div",59),ta(7),Ht(8,"async"),O(9,yLA,3,2,"button",60),Q()()),t&2){let A=p();u(),Y(A.isViewOnlySession()?1:2),u(3),Y(A.evalCase?4:5);let i=ri(8,3,A.uiStateService.isSessionLoading());u(5),Y(i===!1?9:-1)}}function bLA(t,e){t&1&&(B(0,"div",84),QA(1,"mat-progress-spinner",85),Q())}function MLA(t,e){t&1&&(B(0,"mat-icon",91),y(1,"check"),Q())}function SLA(t,e){if(t&1){let A=hA();B(0,"button",88),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.selectAppFromDrawer(n))}),B(1,"mat-icon",89),y(2,"robot_2"),Q(),B(3,"span",90),y(4),Q(),O(5,MLA,2,0,"mat-icon",91),Q()}if(t&2){let A=e.$implicit,i=p(3);RA("selected",A===i.appName),u(4),lA(A),u(),Y(A===i.appName?5:-1)}}function kLA(t,e){t&1&&(B(0,"div",87),y(1,"No apps found"),Q())}function xLA(t,e){t&1&&Je(0,SLA,6,4,"button",86,hi,!1,kLA,2,0,"div",87),t&2&&Oe(e)}function _LA(t,e){if(t&1){let A=hA();B(0,"div",75)(1,"span",76),y(2,"Select an App"),Q(),B(3,"div")(4,"button",77),U("click",function(){T(A);let n=p();return J(n.openAddItemDialog())}),B(5,"mat-icon"),y(6,"add"),Q()(),B(7,"button",78),U("click",function(){T(A);let n=p();return J(n.toggleAppSelectorDrawer())}),B(8,"mat-icon"),y(9,"close"),Q()()()(),B(10,"div",79)(11,"mat-form-field",80)(12,"mat-icon",81),y(13,"search"),Q(),B(14,"input",82,3),U("keydown",function(n){T(A);let o=p();return J(o.handleAppSearchKeydown(n))}),Q()()(),B(16,"div",83),U("keydown",function(n){T(A);let o=p();return J(o.handleAppListKeydown(n))}),O(17,bLA,2,0,"div",84),Ht(18,"async"),WI(19,xLA,3,1),Q()}if(t&2){let A,i=p();u(14),H("formControl",i.appDrawerSearchControl),u(3),Y(i.isLoadingApps()?17:(A=ri(18,2,i.filteredDrawerApps$))?19:-1,A)}}function RLA(t,e){if(t&1){let A=hA();B(0,"button",94),U("click",function(){T(A);let n=p(2);return J(n.importSession())}),B(1,"mat-icon"),y(2,"upload"),Q(),B(3,"span"),y(4,"Import"),Q()()}if(t&2){let A=p(2);H("matTooltip",A.i18n.importSessionTooltip)}}function NLA(t,e){if(t&1){let A=hA();B(0,"button",107),U("click",function(){T(A);let n=p(3);return J(n.exportSession())}),B(1,"mat-icon"),y(2,"download"),Q(),B(3,"span"),y(4,"Export"),Q()()}if(t&2){let A=p(3);H("matTooltip",A.i18n.exportSessionTooltip)}}function FLA(t,e){if(t&1){let A=hA();B(0,"button",108),U("click",function(){T(A);let n=p(3);return J(n.deleteSession(n.sessionId))}),B(1,"mat-icon"),y(2,"delete"),Q(),B(3,"span"),y(4,"Delete"),Q()()}if(t&2){let A=p(3);H("matTooltip",A.i18n.deleteSessionTooltip)}}function LLA(t,e){if(t&1){let A=hA();B(0,"div",96)(1,"span",99),y(2,"Current Session"),Q(),B(3,"div",100)(4,"app-inline-edit",101),U("save",function(n){T(A);let o=p(2);return J(o.saveSessionName(n))}),Q()(),B(5,"div",102)(6,"span",103),y(7),Q(),B(8,"button",104),U("click",function(){T(A);let n=p(2);return J(n.copySessionId())}),B(9,"mat-icon"),y(10,"content_copy"),Q()(),O(11,NLA,5,1,"button",105),Ht(12,"async"),O(13,FLA,5,1,"button",106),Ht(14,"async"),Q()()}if(t&2){let A=p(2);u(4),H("value",A.sessionDisplayNameDraft)("displayValue",A.getCurrentSessionDisplayName())("tooltip",A.sessionId),u(2),H("title",A.sessionId),u(),lA(A.sessionId),u(4),Y(ri(12,7,A.isExportSessionEnabledObs)?11:-1),u(2),Y(ri(14,9,A.isDeleteSessionEnabledObs)?13:-1)}}function GLA(t,e){if(t&1){let A=hA();B(0,"div",75)(1,"span",76),y(2,"Select a Session"),Q(),B(3,"div",92),O(4,RLA,5,1,"button",93),Ht(5,"async"),B(6,"button",94),U("click",function(){T(A);let n=p();return J(n.viewSession())}),B(7,"mat-icon"),y(8,"visibility"),Q(),B(9,"span"),y(10,"View"),Q()(),B(11,"button",95),U("click",function(){T(A);let n=p();return J(n.toggleSessionSelectorDrawer())}),B(12,"mat-icon"),y(13,"close"),Q()()()(),O(14,LLA,15,11,"div",96),B(15,"div",97)(16,"app-session-tab",98,4),U("sessionSelected",function(n){T(A);let o=p();return J(o.onSessionSelectedFromDrawer(n))})("sessionReloaded",function(n){T(A);let o=p();return J(o.onSessionReloadedFromDrawer(n))}),Q()()}if(t&2){let A=p();u(4),Y(ri(5,6,A.importSessionEnabledObs)?4:-1),u(2),H("matTooltip",A.i18n.viewSessionTooltip),u(8),Y(A.sessionId?14:-1),u(2),H("userId",A.userId)("appName",A.appName)("sessionId",A.sessionId)}}function KLA(t,e){if(t&1){let A=hA();B(0,"app-side-panel",109),U("jumpToInvocation",function(n){T(A);let o=p();return J(o.handleJumpToInvocation(n))})("closePanel",function(){T(A);let n=p();return J(n.toggleSidePanel())})("tabChange",function(n){T(A);let o=p();return J(o.handleTabChange(n))})("sessionSelected",function(n){T(A);let o=p();return J(o.updateWithSelectedSession(n))})("evalCaseSelected",function(n){T(A);let o=p();return J(o.updateWithSelectedEvalCase(n))})("editEvalCaseRequested",function(n){T(A);let o=p();return J(o.handleEditEvalCaseRequested(n))})("testSelected",function(n){T(A);let o=p();return J(o.updateWithSelectedTest(n.testName,n.events))})("evalSetIdSelected",function(n){T(A);let o=p();return J(o.updateSelectedEvalSetId(n))})("returnToSession",function(n){T(A);let o=p();return J(o.handleReturnToSession(n))})("evalNotInstalled",function(n){T(A);let o=p();return J(o.handleEvalNotInstalled(n))})("page",function(n){T(A);let o=p();return J(o.handlePageEvent(n))})("closeSelectedEvent",function(){T(A);let n=p();return J(n.closeSelectedEvent())})("openImageDialog",function(n){T(A);let o=p();return J(o.openViewImageDialog(n))})("openAddItemDialog",function(){T(A);let n=p();return J(n.openAddItemDialog())})("enterBuilderMode",function(){T(A);let n=p();return J(n.enterBuilderMode())})("showAgentStructureGraph",function(){T(A);let n=p();return J(n.openAgentStructureGraphDialog("event"))})("switchToEvent",function(n){T(A);let o=p();return J(o.selectEvent(n))})("switchToTraceView",function(){T(A);let n=p();return J(n.switchToTraceView())})("drillDownNodePath",function(n){T(A);let o=p();return J(o.onEventTabDrillDown(n))})("selectEventById",function(n){T(A);let o=p();return J(o.selectEvent(n))}),Q()}if(t&2){let A=p();H("isApplicationSelectorEnabledObs",A.isApplicationSelectorEnabledObs)("showSidePanel",A.showSidePanel)("appName",A.appName)("userId",A.userId)("sessionId",A.sessionId)("isViewOnlySession",A.isViewOnlySession())("isViewOnlyAppNameMismatch",A.isViewOnlyAppNameMismatch())("traceData",A.traceData)("eventData",A.eventData)("currentSessionState",A.currentSessionState)("artifacts",A.artifacts)("selectedEvent",A.selectedEvent)("selectedEventIndex",A.selectedEventIndex)("renderedEventGraph",A.renderedEventGraph)("rawSvgString",A.rawSvgString)("selectedEventGraphPath",A.selectedEventGraphPath)("llmRequest",A.llmRequest)("llmResponse",A.llmResponse)("disableBuilderIcon",A.disableBuilderSwitch)("hasSubWorkflows",A.hasSubWorkflows)("graphsAvailable",A.graphsAvailable())("invocationDisplayMap",A.invocationDisplayMap())("forceGraphTab",A.autoSelectLatestEvent)}}function ULA(t,e){if(t&1){let A=hA();B(0,"app-builder-tabs",110),U("exitBuilderMode",function(){T(A);let n=p();return J(n.exitBuilderMode())})("closePanel",function(){T(A);let n=p();return J(n.toggleSidePanel())}),Q(),QA(1,"div",111)}if(t&2){let A=p();H("appNameInput",A.appName)}}function TLA(t,e){if(t&1){let A=hA();B(0,"div",36)(1,"div",112)(2,"button",113),U("click",function(){T(A);let n=p();return J(n.saveAgentBuilder())}),B(3,"mat-icon"),y(4,"check"),Q()(),B(5,"button",114),U("click",function(){T(A);let n=p();return J(n.exitBuilderMode())}),B(6,"mat-icon"),y(7,"close"),Q()(),B(8,"button",115),U("click",function(){T(A);let n=p();return J(n.toggleBuilderAssistant())}),B(9,"mat-icon"),y(10,"assistant"),Q()()(),B(11,"app-canvas",116),U("toggleSidePanelRequest",function(){T(A);let n=p();return J(n.toggleSidePanel())})("builderAssistantCloseRequest",function(){T(A);let n=p();return J(n.toggleBuilderAssistant())}),Q()()}if(t&2){let A=p();u(8),RA("active",A.showBuilderAssistant),u(3),H("showSidePanel",A.showSidePanel)("showBuilderAssistant",A.showBuilderAssistant)("appNameInput",A.appName)}}function JLA(t,e){if(t&1&&(B(0,"div",118)(1,"span"),y(2),Q()()),t&2){let A=p(3);u(2),lA(A.i18n.loadingAgentsLabel)}}function OLA(t,e){if(t&1&&(B(0,"span"),y(1),QA(2,"br"),y(3),Q()),t&2){let A=p(4);u(),lA(A.i18n.welcomeMessage),u(2),ue(" ",A.i18n.selectAgentMessage)}}function YLA(t,e){if(t&1&&(y(0),QA(1,"br"),B(2,"pre",120),y(3),Q()),t&2){let A=p(5);ue(" ",A.i18n.errorMessageLabel," "),u(3),lA(A.loadingError())}}function HLA(t,e){if(t&1&&(B(0,"pre",119),y(1),Q()),t&2){let A=p(5);u(),lA(A.i18n.noAgentsFoundWarning)}}function zLA(t,e){if(t&1&&(B(0,"div"),y(1),B(2,"pre"),y(3,"adk web"),Q(),y(4," in the folder that contains the agents."),QA(5,"br"),O(6,YLA,4,2)(7,HLA,2,1,"pre",119),Q()),t&2){let A=p(4);u(),ue(" ",A.i18n.failedToLoadAgentsMessage," "),u(5),Y(A.loadingError()?6:7)}}function PLA(t,e){if(t&1&&(B(0,"div",118),O(1,OLA,4,2,"span"),Ht(2,"async"),WI(3,zLA,8,2,"div"),Q()),t&2){let A=p(3);u(),Y((ri(2,1,A.apps$)||Rg(3,ciA)).length>0?1:3)}}function jLA(t,e){if(t&1&&(O(0,JLA,3,1,"div",118),Ht(1,"async"),WI(2,PLA,4,4,"div",118)),t&2){let A=p(2);Y(A.isLoadingApps()?0:ri(1,1,A.isApplicationSelectorEnabledObs)?2:-1)}}function qLA(t,e){if(t&1){let A=hA();B(0,"div",143,8),U("click",function(n){return n.stopPropagation()}),B(2,"span",144),y(3),Q(),B(4,"button",145),U("click",function(n){T(A);let o=p(3);return J(o.removeInvocationIdFilter(n))}),B(5,"mat-icon"),y(6,"close"),Q()()()}if(t&2){p();let A=Qi(18),i=p(2);H("matMenuTriggerFor",A)("matTooltip",i.invocationIdFilter()?"Invocation: "+(i.invocationDisplayMap().get(i.invocationIdFilter())||i.invocationIdFilter()):"Filter events by a specific invocation"),u(2),H("title",i.invocationIdFilter()?i.invocationDisplayMap().get(i.invocationIdFilter())||i.invocationIdFilter():"Invocation"),u(),lA(i.invocationIdFilter()?i.invocationDisplayMap().get(i.invocationIdFilter())||i.invocationIdFilter():"Invocation")}}function VLA(t,e){if(t&1){let A=hA();B(0,"div",143,9),U("click",function(n){return n.stopPropagation()}),B(2,"span",62),y(3,"Node"),Q(),B(4,"button",145),U("click",function(n){T(A);let o=p(3);return J(o.removeNodePathFilter(n))}),B(5,"mat-icon"),y(6,"close"),Q()()()}if(t&2){p();let A=Qi(22),i=p(2);H("matMenuTriggerFor",A)("matTooltip",i.nodePathFilter()?"Node: "+i.nodePathFilter():"Filter events generated by a specific node")}}function WLA(t,e){if(t&1){let A=hA();B(0,"div",146),U("click",function(n){return n.stopPropagation()}),B(1,"span",62),y(2,"Final"),Q(),B(3,"button",145),U("click",function(n){return T(A),p(3).toggleHideIntermediateEvents(),J(n.stopPropagation())}),B(4,"mat-icon"),y(5,"close"),Q()()()}}function ZLA(t,e){if(t&1&&(B(0,"div",147,10),U("click",function(i){return i.stopPropagation()}),B(2,"mat-icon"),y(3,"add"),Q(),B(4,"span"),y(5,"Filter"),Q()()),t&2){p();let A=Qi(13);H("matMenuTriggerFor",A)}}function XLA(t,e){if(t&1){let A=hA();B(0,"div",148),U("click",function(n){T(A);let o=p(3);return J(o.clearAllFilters(n))}),B(1,"mat-icon"),y(2,"clear_all"),Q(),B(3,"span"),y(4,"Clear"),Q()()}}function $LA(t,e){if(t&1){let A=hA();B(0,"button",149),U("click",function(){T(A);let n=p(3);return J(n.addInvocationIdFilter())}),y(1,"Invocation"),Q()}}function AGA(t,e){if(t&1){let A=hA();B(0,"button",150),U("click",function(){T(A);let n=p(3);return J(n.addNodePathFilter())}),y(1,"Node"),Q()}}function eGA(t,e){if(t&1){let A=hA();B(0,"button",151),U("click",function(){T(A);let n=p(3);return J(n.toggleHideIntermediateEvents())}),y(1,"Final"),Q()}}function tGA(t,e){if(t&1){let A=hA();B(0,"button",152),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.setInvocationIdFilter(n))}),B(1,"mat-icon",153),y(2,"check"),Q(),y(3),Q()}if(t&2){let A=e.$implicit,i=p(3);H("matTooltip",A),u(),ut("visibility",i.invocationIdFilter()===A?"visible":"hidden"),u(2),ue(" ",i.invocationDisplayMap().get(A)||A," ")}}function iGA(t,e){if(t&1){let A=hA();B(0,"button",154),U("click",function(){let n=T(A).$implicit,o=p(3);return J(o.setNodePathFilter(n))}),B(1,"mat-icon",153),y(2,"check"),Q(),y(3),Q()}if(t&2){let A=e.$implicit,i=p(3);u(),ut("visibility",i.nodePathFilter()===A?"visible":"hidden"),u(2),ue(" ",A," ")}}function nGA(t,e){if(t&1){let A=hA();B(0,"button",155),U("click",function(){T(A);let n=p(3);return J(n.isSideBySide.set(!n.isSideBySide()))}),B(1,"mat-icon",156),y(2),Q(),B(3,"span",157),y(4,"Compare"),Q()()}if(t&2){let A=p(3);ut("color",A.isSideBySide()?"var(--mat-sys-primary)":"var(--mat-sys-on-surface-variant)"),u(2),lA(A.isSideBySide()?"check_circle":"radio_button_unchecked")}}function oGA(t,e){if(t&1){let A=hA();B(0,"button",158),U("click",function(){T(A);let n=p(3);return J(n.toggleSse())}),B(1,"mat-icon",156),y(2),Q(),B(3,"span",157),y(4,"Streaming"),Q()()}if(t&2){let A=p(3);ut("color",A.useSse()?"var(--mat-sys-primary)":"var(--mat-sys-on-surface-variant)"),u(2),lA(A.useSse()?"check_circle":"radio_button_unchecked")}}function aGA(t,e){if(t&1){let A=hA();B(0,"app-chat-panel",159),Ht(1,"async"),Di("userInputChange",function(n){T(A);let o=p(3);return di(o.userInput,n)||(o.userInput=n),J(n)}),U("toggleHideIntermediateEvents",function(){T(A);let n=p(3);return J(n.toggleHideIntermediateEvents())})("toggleSse",function(){T(A);let n=p(3);return J(n.toggleSse())})("clickEvent",function(n){T(A);let o=p(3);return J(o.clickEvent(n))})("handleKeydown",function(n){T(A);let o=p(3);return J(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){T(A);let o=p(3);return J(o.cancelEditMessage(n))})("saveEditMessage",function(n){T(A);let o=p(3);return J(o.saveEditMessage(n))})("openViewImageDialog",function(n){T(A);let o=p(3);return J(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){T(A);let o=p(3);return J(o.openBase64InNewTab(n.data,n.mimeType))})("fileSelect",function(n){T(A);let o=p(3);return J(o.onFileSelect(n))})("removeFile",function(n){T(A);let o=p(3);return J(o.removeFile(n))})("removeStateUpdate",function(){T(A);let n=p(3);return J(n.removeStateUpdate())})("sendMessage",function(n){T(A);let o=p(3);return J(o.handleChatInput(n))})("updateState",function(){T(A);let n=p(3);return J(n.updateState())})("toggleAudioRecording",function(n){T(A);let o=p(3);return J(o.toggleAudioRecording(n))})("toggleVideoRecording",function(){T(A);let n=p(3);return J(n.toggleVideoRecording())})("longRunningResponseComplete",function(n){T(A);let o=p(3);return J(o.sendMessage(n))}),Q()}if(t&2){let A=p(3);H("appName",A.appName)("agentReadme",A.agentReadme),wi("userInput",A.userInput),H("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("traceData",A.traceData)("isTokenStreamingEnabled",ri(1,22,A.isTokenStreamingEnabledObs)??!1)("useSse",A.useSse())("isChatMode",!0)("selectedFiles",A.selectedFiles)("updatedSessionState",A.updatedSessionState())("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("isAudioRecording",A.isAudioRecording)("micVolume",A.micVolume())("isVideoRecording",A.isVideoRecording)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function rGA(t,e){if(t&1){let A=hA();B(0,"app-chat-panel",160),Ht(1,"async"),Di("userInputChange",function(n){T(A);let o=p(3);return di(o.userInput,n)||(o.userInput=n),J(n)})("userEditEvalCaseMessageChange",function(n){T(A);let o=p(3);return di(o.userEditEvalCaseMessage,n)||(o.userEditEvalCaseMessage=n),J(n)}),U("clickEvent",function(n){T(A);let o=p(3);return J(o.clickEvent(n))})("handleKeydown",function(n){T(A);let o=p(3);return J(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){T(A);let o=p(3);return J(o.cancelEditMessage(n))})("saveEditMessage",function(n){T(A);let o=p(3);return J(o.saveEditMessage(n))})("openViewImageDialog",function(n){T(A);let o=p(3);return J(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){T(A);let o=p(3);return J(o.openBase64InNewTab(n.data,n.mimeType))})("editEvalCaseMessage",function(n){T(A);let o=p(3);return J(o.editEvalCaseMessage(n))})("deleteEvalCaseMessage",function(n){T(A);let o=p(3);return J(o.deleteEvalCaseMessage(n.message,n.index))})("editFunctionArgs",function(n){T(A);let o=p(3);return J(o.editFunctionArgs(n))}),Q()}if(t&2){let A=p(3);H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("isChatMode",!1)("evalCase",A.evalCase)("isEvalEditMode",A.isEvalEditMode())("isEvalCaseEditing",A.isEvalCaseEditing())("isEditFunctionArgsEnabled",ri(1,19,A.isEditFunctionArgsEnabledObs)??!1),wi("userInput",A.userInput)("userEditEvalCaseMessage",A.userEditEvalCaseMessage),H("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function sGA(t,e){if(t&1&&(B(0,"div",174),y(1),Q()),t&2){p();let A=zn(40);u(),ue(" ",A)}}function lGA(t,e){if(t&1&&(B(0,"div",166)(1,"span",167),y(2),Ht(3,"formatMetricName"),Q(),B(4,"div",168)(5,"span",169),y(6),Ht(7,"number"),Q(),B(8,"span",170),y(9),Ht(10,"number"),Q()(),B(11,"div",171)(12,"div",172),y(13),Ht(14,"formatMetricName"),Q(),B(15,"div",173),y(16),Q(),B(17,"div",48)(18,"div",49)(19,"span",50),y(20,"Actual:"),Q(),B(21,"span",51),y(22),Ht(23,"number"),Q()(),B(24,"div",49)(25,"span",50),y(26,"Threshold:"),Q(),B(27,"span",51),y(28),Ht(29,"number"),Q()(),B(30,"div",49)(31,"span",50),y(32,"Min:"),Q(),B(33,"span",51),y(34),Q()(),B(35,"div",49)(36,"span",50),y(37,"Max:"),Q(),B(38,"span",51),y(39),Q()()(),ta(40),O(41,sGA,2,1,"div",174),Q()()),t&2){let A=e.$implicit,i=p(6);ut("border",A.evalStatus==1?"1px solid #2e7d32":"1px solid var(--mat-sys-error)"),u(2),lA(ri(3,16,A.metricName)),u(3),ut("color",A.evalStatus==1?"#2e7d32":"var(--mat-sys-error)"),u(),ue(" ",A.score!=null?T0(7,18,A.score,"1.2-2"):"?"," "),u(3),ue(" / ",T0(10,21,A.threshold,"1.2-2")," "),u(4),lA(ri(14,24,A.metricName)),u(3),lA(A.metricName),u(5),ut("color",A.evalStatus==1?"#2e7d32":"var(--mat-sys-error)"),u(),lA(A.score!=null?T0(23,26,A.score,"1.2-2"):"?"),u(6),lA(T0(29,29,A.threshold,"1.2-2")),u(6),lA(i.getMetricMin(A.metricName)),u(5),lA(i.getMetricMax(A.metricName)),u();let n=ga(i.getMetricDescription(A.metricName));u(),Y(n?41:-1)}}function gGA(t,e){if(t&1&&(B(0,"div",164),Je(1,lGA,42,33,"div",165,tLA),Q()),t&2){p();let A=zn(0);u(),Oe(A.overallEvalMetricResults)}}function cGA(t,e){if(t&1&&(ta(0),B(1,"div",161),O(2,gGA,3,0,"div",164),Q()),t&2){let A=ga(p(4).evalCaseResult());u(2),Y(A.overallEvalMetricResults!=null&&A.overallEvalMetricResults.length?2:-1)}}function CGA(t,e){if(t&1){let A=hA();B(0,"div",162)(1,"div",175)(2,"div",176),y(3,"Expected"),Q(),QA(4,"app-chat-panel",177),Q(),B(5,"div",175)(6,"div",176),y(7,"Actual"),Q(),B(8,"app-chat-panel",178),Ht(9,"async"),Ht(10,"async"),U("toggleHideIntermediateEvents",function(){T(A);let n=p(4);return J(n.toggleHideIntermediateEvents())})("toggleSse",function(){T(A);let n=p(4);return J(n.toggleSse())}),Di("userInputChange",function(n){T(A);let o=p(4);return di(o.userInput,n)||(o.userInput=n),J(n)})("userEditEvalCaseMessageChange",function(n){T(A);let o=p(4);return di(o.userEditEvalCaseMessage,n)||(o.userEditEvalCaseMessage=n),J(n)}),U("clickEvent",function(n){T(A);let o=p(4);return J(o.clickEvent(n))})("handleKeydown",function(n){T(A);let o=p(4);return J(o.handleKeydown(n.event,n.message))})("cancelEditMessage",function(n){T(A);let o=p(4);return J(o.cancelEditMessage(n))})("saveEditMessage",function(n){T(A);let o=p(4);return J(o.saveEditMessage(n))})("openViewImageDialog",function(n){T(A);let o=p(4);return J(o.openViewImageDialog(n))})("openBase64InNewTab",function(n){T(A);let o=p(4);return J(o.openBase64InNewTab(n.data,n.mimeType))})("editEvalCaseMessage",function(n){T(A);let o=p(4);return J(o.editEvalCaseMessage(n))})("deleteEvalCaseMessage",function(n){T(A);let o=p(4);return J(o.deleteEvalCaseMessage(n.message,n.index))})("editFunctionArgs",function(n){T(A);let o=p(4);return J(o.editFunctionArgs(n))})("fileSelect",function(n){T(A);let o=p(4);return J(o.onFileSelect(n))})("removeFile",function(n){T(A);let o=p(4);return J(o.removeFile(n))})("removeStateUpdate",function(){T(A);let n=p(4);return J(n.removeStateUpdate())})("sendMessage",function(n){T(A);let o=p(4);return J(o.handleChatInput(n))})("updateState",function(){T(A);let n=p(4);return J(n.updateState())})("toggleAudioRecording",function(n){T(A);let o=p(4);return J(o.toggleAudioRecording(n))})("toggleVideoRecording",function(){T(A);let n=p(4);return J(n.toggleVideoRecording())})("longRunningResponseComplete",function(n){T(A);let o=p(4);return J(o.sendMessage(n))}),Q()()()}if(t&2){let A=p(4);u(4),H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredExpectedUiEvents())("isChatMode",!1)("evalCase",A.evalCase)("isEvalEditMode",!1)("isEvalCaseEditing",!1)("isEditFunctionArgsEnabled",!1)("userInput","")("selectedFiles",Rg(54,ciA))("updatedSessionState",null)("agentGraphData",A.agentGraphData())("selectedMessageIndex",-1)("isAudioRecording",!1)("micVolume",0)("isVideoRecording",!1)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn),u(4),H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("traceData",A.traceData)("isTokenStreamingEnabled",ri(9,50,A.isTokenStreamingEnabledObs)??!1)("useSse",A.useSse())("isChatMode",!1)("evalCase",A.evalCase)("isEvalEditMode",A.isEvalEditMode())("isEvalCaseEditing",A.isEvalCaseEditing())("isEditFunctionArgsEnabled",ri(10,52,A.isEditFunctionArgsEnabledObs)??!1),wi("userInput",A.userInput)("userEditEvalCaseMessage",A.userEditEvalCaseMessage),H("selectedFiles",A.selectedFiles)("updatedSessionState",A.updatedSessionState())("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("isAudioRecording",A.isAudioRecording)("micVolume",A.micVolume())("isVideoRecording",A.isVideoRecording)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function IGA(t,e){if(t&1&&QA(0,"app-chat-panel",163),t&2){let A=p(4);H("appName",A.appName)("agentReadme",A.agentReadme)("hideIntermediateEvents",A.hideIntermediateEvents())("uiEvents",A.filteredUiEvents())("traceData",A.traceData)("isChatMode",!1)("evalCase",A.evalCase)("agentGraphData",A.agentGraphData())("selectedMessageIndex",A.selectedMessageIndex)("userId",A.userId)("sessionId",A.sessionId)("sessionName",A.sessionId)("invocationDisplayMap",A.invocationDisplayMap())("viewMode",A.viewMode())("shouldShowEvent",A.shouldShowEventFn)}}function dGA(t,e){if(t&1&&(O(0,cGA,3,2,"div",161),O(1,CGA,11,55,"div",162)(2,IGA,1,15,"app-chat-panel",163)),t&2){let A=p(3);Y(A.evalCaseResult()?0:-1),u(),Y(A.isSideBySide()?1:2)}}function BGA(t,e){t&1&&(B(0,"div",142)(1,"mat-icon",179),y(2,"insert_drive_file"),Q(),B(3,"h3",180),y(4,"File View"),Q(),B(5,"p",181),y(6,"File content lost on refresh. Please re-upload the file to view or use it."),Q()())}function EGA(t,e){if(t&1){let A=hA();B(0,"div",121)(1,"mat-button-toggle-group",122),U("change",function(n){T(A);let o=p(2);return J(o.onViewModeChange(n.value))}),B(2,"mat-button-toggle",123),y(3,"Events"),Q(),B(4,"mat-button-toggle",124),y(5,"Traces"),Q()(),B(6,"div",125),U("click",function(n){T(A);let o=p(2);return J(o.openAddFilterMenu(n))}),O(7,qLA,7,4,"div",126),O(8,VLA,7,2,"div",126),O(9,WLA,6,0,"div",127),O(10,ZLA,6,1,"div",128),O(11,XLA,5,0,"div",129),Q(),B(12,"mat-menu",130,5),O(14,$LA,2,0,"button",131),O(15,AGA,2,0,"button",132),O(16,eGA,2,0,"button",133),Q(),B(17,"mat-menu",134,6),U("closed",function(){T(A);let n=p(2);return J(n.onInvocationMenuClosed())}),Je(19,tGA,4,4,"button",135,hi),Q(),B(21,"mat-menu",134,7),U("closed",function(){T(A);let n=p(2);return J(n.onNodePathMenuClosed())}),Je(23,iGA,4,3,"button",136,hi),Q(),QA(25,"div",137),O(26,nGA,5,3,"button",138),O(27,oGA,5,3,"button",139),Ht(28,"async"),Q(),O(29,aGA,2,24,"app-chat-panel",140)(30,rGA,2,21,"app-chat-panel",141)(31,dGA,3,2)(32,BGA,7,0,"div",142)}if(t&2){let A,i=p(2);u(),H("value",i.viewMode()),u(6),Y(i.invocationIdFilterActive()?7:-1),u(),Y(i.nodePathFilterActive()?8:-1),u(),Y(i.hideIntermediateEvents()?9:-1),u(),Y(!i.invocationIdFilterActive()||!i.nodePathFilterActive()||!i.hideIntermediateEvents()?10:-1),u(),Y(i.invocationIdFilterActive()||i.nodePathFilterActive()||i.hideIntermediateEvents()?11:-1),u(3),Y(i.invocationIdFilterActive()?-1:14),u(),Y(i.nodePathFilterActive()?-1:15),u(),Y(i.hideIntermediateEvents()?-1:16),u(3),Oe(i.invocationIdOptions()),u(4),Oe(i.nodePathOptions()),u(3),Y(i.chatType()==="eval-result"?26:-1),u(),Y(ri(28,12,i.isTokenStreamingEnabledObs)&&i.canEditSession()?27:-1),u(2),Y((A=i.chatType())==="session"?29:A==="eval-case"?30:A==="eval-result"?31:A==="file"?32:-1)}}function hGA(t,e){if(t&1&&(B(0,"div",37),Ve(1),B(2,"mat-card",117),O(3,jLA,3,3),O(4,EGA,33,14),Q()()),t&2){let A=p();u(2),RA("no-side-panel",!A.showSidePanel),u(),Y(A.selectedAppControl.value?-1:3),u(),Y(A.appName!=""?4:-1)}}function QGA(t,e){if(t&1){let A=hA();B(0,"app-agent-structure-graph-dialog",182),U("close",function(){T(A);let n=p();return J(n.showAgentStructureOverlay=!1)}),Q()}if(t&2){let A=p();H("appName",A.appName)("preloadedAppData",A.agentGraphData())("preloadedLightGraphSvg",A.agentStructureOverlayMode==="event"?A.eventGraphSvgLight:A.sessionGraphSvgLight)("preloadedDarkGraphSvg",A.agentStructureOverlayMode==="event"?A.eventGraphSvgDark:A.sessionGraphSvgDark)("startPath",A.agentStructureOverlayMode==="event"?A.selectedEventGraphPath:"")}}var uGA="root_agent",Bv="q",fGA="hideSidePanel",dF="",BF="",giA="application/json+a2ui";function EF(t){for(t=t.replace(/-/g,"+").replace(/_/g,"/");t.length%4!==0;)t+="=";return t}var hF=class t extends b1{nextPageLabel="Next Event";previousPageLabel="Previous Event";firstPageLabel="First Event";lastPageLabel="Last Event";getRangeLabel=(e,A,i)=>i===0?`Event 0 of ${i}`:(i=Math.max(i,0),`Event ${e*A+1} of ${i}`);static \u0275fac=(()=>{let e;return function(i){return(e||(e=bi(t)))(i||t)}})();static \u0275prov=qA({token:t,factory:t.\u0275fac})},pGA="Restarting bidirectional streaming is not currently supported. Please refresh the page or start a new session.",Ev=class t{i18n=w(liA);sidePanelI18n=w(pQ);_snackBar=w(h2);activatedRoute=w(Vs);agentService=w($s);artifactService=w(TB);changeDetectorRef=w(wt);dialog=w(Or);document=w(ti);downloadService=w(JB);evalService=w(t0);eventService=w(o6);featureFlagService=w(yr);graphService=w(OB);localFileService=w(a6);location=w(g6);renderer=w(Pi);router=w(ls);safeValuesService=w(Cs);testsService=w(u2);sessionService=w(Al);streamChatService=w(s6);webSocketService=w(zB);audioRecordingService=w(YB);audioPlayingService=w(HB);stringToColorService=w(Q2);traceService=w(Ag);uiStateService=w(tg);agentBuilderService=w(e0);themeService=w(eg);logoComponent=w(PB,{optional:!0});chatPanel=So(hQ);canvasComponent=So.required(cQ);sideDrawer=So.required("sideDrawer");sidePanel=So.required(mQ);drawerSessionTab=So("drawerSessionTab");evalTab=So(_c);appSearchInput=So("appSearchInput");canChat=pe(()=>this.chatType()==="session");isEvalCaseEditing=bA(!1);hasEvalCaseChanged=bA(!1);isEvalEditMode=bA(!1);isBuilderMode=bA(!1);chatType=bA("session");currentEvalCaseId=null;currentEvalTimestamp=null;videoElement;currentMessage="";uiEvents=bA([]);invocationDisplayMap=pe(()=>{let e=new Map,A=1,i="";for(let n of this.uiEvents()){if(n.role==="user")if(n.text)i=n.text;else if(n.event?.content?.parts?.length){let o=n.event.content.parts.find(a=>a.text);o&&o.text&&(i=o.text)}else i="User Message";if(n.event?.invocationId){let o=n.event.invocationId;if(!e.has(o)){let a=i||"User Message";a.length>50&&(a=a.substring(0,47)+"..."),e.set(o,`#${A} (${a})`),A++}}}return e});artifacts=[];userInput="";userEditEvalCaseMessage="";userId="user";appName="";sessionId="";sessionIdOfLoadedMessages="";evalCase=null;evalCaseResult=bA(null);metricsInfo=this.evalService.metricsInfo;updatedEvalCase=null;adkVersion=bA("");versionInfo=bA(null);evalSetId="";isAudioRecording=!1;micVolume=this.audioRecordingService.volumeLevel;isVideoRecording=!1;longRunningEvents=[];functionCallEventId="";redirectUri=Dr.getBaseUrlWithoutPath();showSidePanel=window.localStorage.getItem("adk-side-panel-visible")!=="false";showBuilderAssistant=!0;showAppSelectorDrawer=!1;showSessionSelectorDrawer=!1;useSse=bA(window.localStorage.getItem("adk-use-sse")==="true");currentSessionState={};root_agent=uGA;updatedSessionState=bA(null);canEditSession=bA(!0);isViewOnlySession=bA(!1);isViewOnlyAppNameMismatch=bA(!1);isLoadedAppUnavailable=bA(!1);unavailableAppName=bA("");readonlySessionType=bA("");readonlySessionName=bA("");isSideBySide=bA(!1);expectedUiEvents=bA([]);viewMode=bA(localStorage.getItem("chat-view-mode")||"events");invocationIdFilterActive=bA(!1);nodePathFilterActive=bA(!1);invocationIdFilter=bA("");nodePathFilter=bA("");invocationIdOptions=pe(()=>{let e=new Set;for(let A of this.uiEvents())A.event?.invocationId&&e.add(A.event.invocationId);return Array.from(e)});nodePathOptions=pe(()=>{let e=new Set;for(let A of this.uiEvents()){let i=A.bareNodePath;i&&e.add(i)}return Array.from(e)});invChipMenuTrigger=So("invChipMenuTrigger");nodeChipMenuTrigger=So("nodeChipMenuTrigger");addMenuTrigger=So("addMenuTrigger");openAddFilterMenu(e){e.stopPropagation(),this.addMenuTrigger()?.openMenu()}addInvocationIdFilter(){this.invocationIdFilterActive.set(!0),setTimeout(()=>{this.invChipMenuTrigger()?.openMenu()})}addNodePathFilter(){this.nodePathFilterActive.set(!0),setTimeout(()=>{this.nodeChipMenuTrigger()?.openMenu()})}removeInvocationIdFilter(e){e.stopPropagation(),this.invocationIdFilterActive.set(!1),this.invocationIdFilter.set("")}removeNodePathFilter(e){e.stopPropagation(),this.nodePathFilterActive.set(!1),this.nodePathFilter.set("")}setInvocationIdFilter(e){this.invocationIdFilter.set(e)}setNodePathFilter(e){this.nodePathFilter.set(e)}onInvocationMenuClosed(){this.invocationIdFilter()||this.invocationIdFilterActive.set(!1)}onNodePathMenuClosed(){this.nodePathFilter()||this.nodePathFilterActive.set(!1)}clearAllFilters(e){e.stopPropagation(),this.invocationIdFilterActive()&&(this.invocationIdFilterActive.set(!1),this.invocationIdFilter.set("")),this.nodePathFilterActive()&&(this.nodePathFilterActive.set(!1),this.nodePathFilter.set("")),this.hideIntermediateEvents()&&this.toggleHideIntermediateEvents()}shouldShowEvent(e){let A=this.invocationIdFilter();if(A&&!(e.event?.invocationId||"").includes(A))return!1;let i=this.nodePathFilter();if(i&&!(e.bareNodePath||"").includes(i))return!1;if(!this.hideIntermediateEvents()||e.role==="user")return!0;if(e.event?.content!==void 0){let n=e.event.content.parts||[];if(n.length>0&&n.every(a=>a.functionCall||a.functionResponse)){if(n.some(r=>{let s=r.functionCall?.id||r.functionResponse?.id;return s&&e.event?.longRunningToolIds?.includes(s)}))return!0}else return!0}if(e.event?.output!==void 0){let n=e.event?.nodeInfo,o=!1,a=n?.outputFor;if(Array.isArray(a)?o=a.some(r=>!r.includes("/")):typeof a=="string"?o=!a.includes("/"):n?.path&&(o=!n.path.includes("/")),o)return!0}return!1}shouldShowEventFn=this.shouldShowEvent.bind(this);getMetricTooltip(e,A,i){let n=this.metricsInfo().find(g=>g.metricName===e),o=n?.description||"",a=n?.metricValueInfo?.interval?.minValue??"?",r=n?.metricValueInfo?.interval?.maxValue??"?",s=A!=null?parseFloat(A).toFixed(2):"?",l=i!=null?parseFloat(i).toFixed(2):"?";return`${o?o+" | ":""}Actual: ${s} | Threshold: ${l} | Min: ${a} | Max: ${r}`}getMetricDescription(e){return this.metricsInfo().find(i=>i.metricName===e)?.description||""}getMetricMin(e){let i=this.metricsInfo().find(n=>n.metricName===e)?.metricValueInfo?.interval?.minValue;return i!=null?i.toFixed(2):"?"}getMetricMax(e){let i=this.metricsInfo().find(n=>n.metricName===e)?.metricValueInfo?.interval?.maxValue;return i!=null?i.toFixed(2):"?"}getVersionTooltip(){let e=this.versionInfo();return e?`Version: ${e.version} | Language: ${e.language} | Language Version: ${e.language_version}`:""}getMergedTooltip(){let e=this.sidePanelI18n.disclosureTooltip||"",A=this.getVersionTooltip();return A?`${e} | ${A}`:e}filteredUiEvents=pe(()=>this.uiEvents().filter(e=>this.shouldShowEvent(e)));filteredExpectedUiEvents=pe(()=>this.expectedUiEvents().filter(e=>this.shouldShowEvent(e)));onViewModeChange(e){this.viewMode.set(e);try{localStorage.setItem("chat-view-mode",e)}catch(A){}}originalSessionId="";hideIntermediateEvents=bA(window.localStorage.getItem("adk-hide-intermediate-events")==="true");toggleHideIntermediateEvents(){let e=!this.hideIntermediateEvents();this.hideIntermediateEvents.set(e),window.localStorage.setItem("adk-hide-intermediate-events",String(e))}sessionHasUsedBidi=new Set;eventData=new Map;traceData=[];renderedEventGraph;rawSvgString=null;agentGraphData=bA(null);sessionGraphSvgLight={};sessionGraphSvgDark={};dynamicGraphDot={};agentReadme="";graphsAvailable=bA(!0);get hasSubWorkflows(){return Object.keys(this.sessionGraphSvgLight).length>1}selectedEvent=void 0;selectedEventIndex=void 0;selectedMessageIndex=void 0;llmRequest=void 0;llmResponse=void 0;llmRequestKey="gcp.vertex.agent.llm_request";llmResponseKey="gcp.vertex.agent.llm_response";getMediaTypeFromMimetype=X6;selectedFiles=[];MediaType=aC;selectedAppControl=new Os("",{nonNullable:!0});appDrawerSearchControl=new Os("",{nonNullable:!0});openBase64InNewTab(e,A){this.safeValuesService.openBase64InNewTab(e,A)}isLoadingApps=bA(!1);loadingError=bA("");apps$=oe([]).pipe(Ii(()=>{this.isLoadingApps.set(!0),this.selectedAppControl.disable()}),Ei(()=>this.agentService.listApps().pipe(Po(e=>(this.loadingError.set(e.message),oe(void 0))))),uo(1),Ii(e=>{this.isLoadingApps.set(!1),this.selectedAppControl.enable(),e?.length==1&&this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:{app:e[0]},queryParamsHandling:"merge"})}),Gs());filteredDrawerApps$=this.apps$.pipe(Ei(e=>Qr([oe(e),this.appDrawerSearchControl.valueChanges.pipe(Sn(""))])),we(([e,A])=>{if(!e||!A||A.trim()==="")return e;let i=A.toLowerCase().trim();return e.filter(n=>n.toLowerCase().includes(i))}));importSessionEnabledObs=this.featureFlagService.isImportSessionEnabled();isEditFunctionArgsEnabledObs=this.featureFlagService.isEditFunctionArgsEnabled();isSessionUrlEnabledObs=this.featureFlagService.isSessionUrlEnabled();isApplicationSelectorEnabledObs=this.featureFlagService.isApplicationSelectorEnabled();isTokenStreamingEnabledObs=this.featureFlagService.isTokenStreamingEnabled();isExportSessionEnabledObs=this.featureFlagService.isExportSessionEnabled();isEventFilteringEnabled=Ar(this.featureFlagService.isEventFilteringEnabled());isApplicationSelectorEnabled=Ar(this.featureFlagService.isApplicationSelectorEnabled());isDeleteSessionEnabledObs=this.featureFlagService.isDeleteSessionEnabled();isUserIdOnToolbarEnabledObs=this.featureFlagService.isUserIdOnToolbarEnabled();isDeveloperUiDisclaimerEnabledObs=this.featureFlagService.isDeveloperUiDisclaimerEnabled();disableBuilderSwitch=!1;autoSelectLatestEvent=!1;constructor(){Ao(()=>{this.themeService.currentTheme()&&this.updateRenderedGraph()})}ngOnInit(){if(this.syncSelectedAppFromUrl(),this.updateSelectedAppUrl(),this.hideSidePanelIfNeeded(),this.agentService.getVersion().subscribe(i=>{this.adkVersion.set(i.version||""),this.versionInfo.set(i)}),Qr([this.agentService.getApp(),this.activatedRoute.queryParams]).pipe(gt(([i,n])=>!!i&&!!n[Bv]),$n(),we(([,i])=>i[Bv])).subscribe(i=>{setTimeout(()=>{this.userInput=i})}),this.streamChatService.onStreamClose().subscribe(i=>{let n=`Please check server log for full details: `+i;this.openSnackBar(n,"OK")}),this.webSocketService.getMessages().subscribe(i=>{if(i)try{let n=JSON.parse(i);(n.interrupted||n.inputTranscription!==void 0&&n.partial)&&this.audioPlayingService.stopAudio(),this.appendEventRow(n),this.changeDetectorRef.detectChanges()}catch(n){}}),new URL(window.location.href).searchParams.has("code")){let i=window.location.href;window.opener?.postMessage({authResponseUrl:i},window.origin),window.close()}this.agentService.getApp().subscribe(i=>{this.appName=i,this.evalService.metricsInfo.set([])}),this.traceService.selectedTraceRow$.subscribe(i=>{i&&(this.selectedEvent=void 0,this.selectedEventIndex=void 0,this.selectedMessageIndex=void 0,this.showSidePanel||(this.showSidePanel=!0,window.localStorage.setItem("adk-side-panel-visible","true"),this.sideDrawer()?.open()),this.changeDetectorRef.detectChanges())}),this.featureFlagService.isInfinityMessageScrollingEnabled().pipe($n()).subscribe(i=>{i&&(this.uiStateService.onNewMessagesLoaded().subscribe(n=>{this.populateMessages(n.items,!0,!n.isBackground),this.loadTraceData()}),this.uiStateService.onNewMessagesLoadingFailed().subscribe(n=>{this.openSnackBar(n.message,"OK")}))})}get sessionTab(){return this.drawerSessionTab()}switchToTraceView(){this.onViewModeChange("traces")}ngAfterViewInit(){this.showSidePanel&&this.sideDrawer()?.open(),this.isApplicationSelectorEnabled()||this.loadSessionByUrlOrReset()}selectApp(e){if(this.isLoadedAppUnavailable.set(!1),e!=this.appName){let A=!this.appName;this.agentService.setApp(e),A?this.loadSessionByUrlOrReset():this.createSessionAndReset()}}loadSessionByUrlOrReset(){this.isSessionUrlEnabledObs.subscribe(e=>{let A=this.activatedRoute.snapshot.queryParams,i=A.session,n=A.userId,o=A.evalCase,a=A.evalResult,r=A.file;if(n&&(this.userId=n),o){this.chatType.set("eval-case");let s=o.split("/");if(s.length===2){let l=s[0],g=s[1];this.evalSetId=l,this.evalService.getEvalCase(this.appName,l,g).subscribe(C=>{C&&(this.updateWithSelectedEvalCase(C),setTimeout(()=>{let I=this.sidePanel();I.switchToEvalTab(),I.selectEvalCase(l,C)},600))})}return}if(a){this.chatType.set("eval-result");let s=a.split("/");if(console.log("loadSessionByUrlOrReset evalResultUrl parts:",s),s.length===3){let l=s[0],g=s[1],C=s[2];this.evalSetId=l;let I=`${this.appName}_${l}_${C}`;console.log("loadSessionByUrlOrReset runId:",I),this.evalService.getEvalResult(this.appName,I).subscribe(d=>{if(console.log("loadSessionByUrlOrReset runResult:",d),d){let h=d.evalCaseResults?.find(E=>E.evalId===g);if(console.log("loadSessionByUrlOrReset evalCaseResult:",h),h){let E=h.sessionId;this.evalService.getEvalCase(this.appName,l,g).subscribe(f=>{this.sessionService.getSession(this.userId,this.appName,E).subscribe(m=>{this.addEvalCaseResultToEvents(m,h);let v={id:m?.id??"",appName:m?.appName??"",userId:m?.userId??"",state:m?.state??[],events:m?.events??[],isEvalResult:!0,evalCase:f,evalCaseResult:h,timestamp:C};this.updateWithSelectedSession(v),setTimeout(()=>{let k=this.sidePanel();k.switchToEvalTab(),k.selectEvalResult(l,C,f)},600)})})}}})}return}if(r){this.chatType.set("file");return}if(!e||!i){this.chatType.set("session"),this.createSessionAndReset();return}i&&(this.chatType.set("session"),this.sessionId=i,this.loadSession(i,!0))})}loadSession(e,A=!1){this.uiStateService.setIsSessionLoading(!0),this.isViewOnlySession.set(!1),this.isViewOnlyAppNameMismatch.set(!1),Qr([this.sessionService.getSession(this.userId,this.appName,e).pipe(Po(i=>(A&&(this.openSnackBar("Cannot find specified session. Creating a new one.",void 0,3e3),this.createSessionAndReset()),oe(null)))),this.featureFlagService.isInfinityMessageScrollingEnabled()]).pipe($n()).subscribe(([i,n])=>{this.uiStateService.setIsSessionLoading(!1),i&&(n&&i.id&&this.uiStateService.lazyLoadMessages(i.id,{pageSize:100,pageToken:""}).pipe($n()).subscribe(),this.updateWithSelectedSession(i))})}hideSidePanelIfNeeded(){this.activatedRoute.queryParams.pipe(gt(e=>e[fGA]==="true"),uo(1)).subscribe(()=>{this.showSidePanel=!1,this.sideDrawer()?.close()})}createSessionAndReset(){this.resetToNewSession(),this.chatType.set("session"),this.isViewOnlySession.set(!1),this.isViewOnlyAppNameMismatch.set(!1),this.canEditSession.set(!0),this.chatPanel()?.canEditSession.set(!0),this.eventData=new Map,this.uiEvents.set([]),this.artifacts=[],this.userInput="",this.longRunningEvents=[],this.selectedEvent=void 0,this.selectedEventIndex=void 0,this.selectedMessageIndex=void 0,this.traceService.resetTraceService()}resetToNewSession(){this.sessionId="",this.currentSessionState={},this.sessionTab?.refreshSession(),this.clearSessionUrl()}createSession(){this.uiStateService.setIsSessionListLoading(!0),this.sessionService.createSession(this.userId,this.appName).subscribe(e=>{this.currentSessionState=e.state,this.sessionId=e.id??"",this.sessionTab?.refreshSession(),this.sessionTab?.reloadSession(this.sessionId),this.isSessionUrlEnabledObs.subscribe(A=>{A&&this.updateSelectedSessionUrl()})},()=>{this.uiStateService.setIsSessionListLoading(!1)})}handleChatInput(e){return lt(this,null,function*(){if(e.preventDefault(),!this.userInput.trim()&&this.selectedFiles.length<=0||e instanceof KeyboardEvent&&(e.isComposing||e.keyCode===229))return;let A={role:"user",parts:yield this.getUserMessageParts()};this.userInput="",this.selectedFiles=[];let i=this.router.parseUrl(this.location.path());i.queryParams[Bv]&&(delete i.queryParams[Bv],this.location.replaceState(i.toString())),yield this.sendMessage(A)})}ensureSessionActive(e){return lt(this,null,function*(){if(this.sessionId)return!0;try{let A="";e?.parts&&e.parts[0]?.text&&(A=e.parts[0].text,A.length>50&&(A=A.substring(0,47)+"..."));let i=A?{__session_metadata__:{displayName:A}}:void 0,n=yield J3(this.sessionService.createSession(this.userId,this.appName,i));return this.currentSessionState=n.state||i||{},this.sessionId=n.id??"",this.sessionTab?.refreshSession(),this.sessionTab?.reloadSession(this.sessionId),this.drawerSessionTab()?.refreshSession(),this.drawerSessionTab()?.reloadSession(this.sessionId),this.isSessionUrlEnabledObs.pipe($n()).subscribe(o=>{o&&this.updateSelectedSessionUrl()}),!0}catch(A){return this.openSnackBar("Failed to create session","OK"),!1}})}sendMessage(e){return lt(this,null,function*(){if(!(yield this.ensureSessionActive(e)))return;let i=e.functionCallEventId;i&&delete e.functionCallEventId;let n=`user_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,o={id:n,author:e.role||"user",content:e},a=this.buildUiEventFromEvent(o);this.uiEvents.update(s=>[...s,a]),setTimeout(()=>this.changeDetectorRef.detectChanges(),0),this.eventData.set(n,o),this.eventData=new Map(this.eventData);let r={appName:this.appName,userId:this.userId,sessionId:this.sessionId,newMessage:e,streaming:this.useSse(),stateDelta:this.updatedSessionState()};i&&(r.functionCallEventId=i),this.submitAgentRunRequest(r),this.changeDetectorRef.detectChanges()})}submitAgentRunRequest(e){this.autoSelectLatestEvent=!0,this.agentService.runSse(e).subscribe({next:A=>lt(this,null,function*(){if(A.error){this.openSnackBar(A.error,"OK");return}this.appendEventRow(A),this.autoSelectLatestEvent&&A.id&&this.selectEvent(A.id,void 0,!1),A.actions&&(this.processActionArtifact(A),this.processActionStateDelta(A)),this.changeDetectorRef.detectChanges()}),error:A=>{console.error("Send message error:",A),this.openSnackBar(A,"OK")},complete:()=>{this.updatedSessionState()&&(this.currentSessionState=this.updatedSessionState(),this.updatedSessionState.set(null)),this.featureFlagService.isSessionReloadOnNewMessageEnabled().pipe($n()).subscribe(A=>{A&&this.sessionTab?.reloadSession(this.sessionId)}),this.loadTraceData()}})}appendEventRow(e,A=!1){if(e.inputTranscription!==void 0?e.author="user":e.outputTranscription!==void 0&&(e.author="bot"),e.errorMessage&&e.id&&!this.eventData.has(e.id)&&(this.eventData.set(e.id,e),this.eventData=new Map(this.eventData)),e.id&&!this.eventData.has(e.id)&&(this.eventData.set(e.id,e),this.eventData=new Map(this.eventData)),this.traceService.setEventData(this.eventData),e.partial)this.uiEvents.update(i=>{if(i.length>0){let o=i.length-1,a=i[o],r=!!(a.event?.inputTranscription||a.event?.outputTranscription),s=!!(e.inputTranscription||e.outputTranscription);if(a.event?.partial&&a.role===(e.author==="user"?"user":"bot")&&r===s){let l=this.mergePartialEvent(a,e),g=[...i];return g[o]=l,g}}let n=this.buildUiEventFromEvent(e,A);return A?[n,...i]:[...i,n]});else{let i=this.buildUiEventFromEvent(e,A);this.uiEvents.update(n=>{let o=n.findIndex(a=>a.event?.id===e.id&&e.id);if(o<0&&n.length>0){let a=e.inputTranscription!==void 0,r=e.outputTranscription!==void 0,s=e.content?.parts?.some(l=>l.thought);if(a||r||s)if(A)for(let l=0;lC.thought))){o=l;break}}}else for(let l=n.length-1;l>=0;l--){let g=n[l].event;if(g?.partial){if(a&&g.inputTranscription!==void 0){o=l;break}if(r&&g.outputTranscription!==void 0){o=l;break}if(s&&(n[l].thought||g.content?.parts?.some(C=>C.thought))){o=l;break}}}else{let l=A?0:n.length-1,g=n[l];if(g.event?.partial){let C=!!(g.event?.inputTranscription||g.event?.outputTranscription),I=!!(e.inputTranscription||e.outputTranscription);C===I&&(o=l)}}}if(o>=0){let a=[...n];return a[o]=i,a}else return A?[i,...n]:[...n,i]})}if(e.actions?.artifactDelta)for(let i in e.actions.artifactDelta)e.actions.artifactDelta.hasOwnProperty(i)&&this.renderArtifact(i,e.actions.artifactDelta[i],A)}mergePartialEvent(e,A){let i=new UB(Ye(gA({},e),{event:A})),n=A.content?.parts||[];if(this.isEventA2aResponse(A)&&(n=this.combineA2uiDataParts(n)),n=this.combineTextParts(n),n.forEach(o=>{o.text!==void 0&&o.text!==null?(i.text=(i.text||"")+o.text,o.thought&&(i.thought=!0,i.text=this.processThoughtText(i.text||""))):this.processPartIntoMessage(o,A,i)}),A.inputTranscription){let o=e.event?.inputTranscription?.text||"";i.event.inputTranscription={text:o+(A.inputTranscription.text||"")}}if(A.outputTranscription){let o=e.event?.outputTranscription?.text||"";i.event.outputTranscription={text:o+(A.outputTranscription.text||"")}}return i}getUserMessageParts(){return lt(this,null,function*(){let e=[];if(this.userInput.trim()&&e.push({text:`${this.userInput}`}),this.selectedFiles.length>0)for(let A of this.selectedFiles)e.push(yield this.localFileService.createMessagePartFromFile(A.file));return e})}processActionArtifact(e){e.actions&&e.actions.artifactDelta&&Object.keys(e.actions.artifactDelta).length>0&&(this.storeEvents(null,e),this.storeMessage(null,e,"bot"))}processActionStateDelta(e){e.actions&&e.actions.stateDelta&&Object.keys(e.actions.stateDelta).length>0&&(this.currentSessionState=gA(gA({},this.currentSessionState||{}),e.actions.stateDelta))}combineTextParts(e){let A=[],i;for(let n of e)n.text&&!n.thought?i?i.text+=n.text:(i={text:n.text},A.push(i)):(i=void 0,A.push(n));return A}isEventA2aResponse(e){return!!e?.customMetadata?.["a2a:response"]}isA2aDataPart(e){if(!e.inlineData||e.inlineData.mimeType!=="text/plain")return!1;let A=atob(EF(e.inlineData.data));return A.startsWith(dF)&&A.endsWith(BF)}isA2uiDataPart(e){let A=this.extractA2aDataPartJson(e);return A&&A.kind==="data"&&A.metadata?.mimeType===giA}extractA2aDataPartJson(e){if(!this.isA2aDataPart(e))return null;let A=atob(EF(e.inlineData.data)),i=A.substring(dF.length,A.length-BF.length),n;try{n=JSON.parse(i)}catch(o){return null}return n}combineA2uiDataParts(e){let A=[],i=[],n;for(let o of e)this.isA2uiDataPart(o)?(i.push(this.extractA2aDataPartJson(o)),n||(n={inlineData:{mimeType:"text/plain",data:o.inlineData.data}},A.push(n))):A.push(o);if(n?.inlineData){let a=dF+JSON.stringify({kind:"data",metadata:{mimeType:giA},data:i})+BF;n.inlineData.data=btoa(a)}return A}processA2uiPartIntoMessage(e){let A={};return e.a2ui.forEach(i=>{i.data.beginRendering?A.beginRendering=i.data:i.data.surfaceUpdate?A.surfaceUpdate=i.data:i.data.dataModelUpdate&&(A.dataModelUpdate=i.data)}),A}updateRedirectUri(e,A){try{let i=new URL(e);return i.searchParams.set("redirect_uri",A),i.toString()}catch(i){return console.warn("Failed to update redirect URI: ",i),e}}storeMessage(e,A,i,n,o,a=!1){if(A?.longRunningToolIds&&A.longRunningToolIds.length>0){let s=this.longRunningEvents.length;this.getAsyncFunctionsFromParts(A.longRunningToolIds,A.content.parts,A.invocationId),this.functionCallEventId=A.id;for(let l=s;l{this.sendOAuthResponse(g,d,this.redirectUri)}).catch(d=>{console.error("OAuth Error:",d)});break}}}if(A?.actions&&A.actions.artifactDelta)for(let s in A.actions.artifactDelta)A.actions.artifactDelta.hasOwnProperty(s)&&this.renderArtifact(s,A.actions.artifactDelta[s],a);let r={role:i,evalStatus:A?.evalStatus,failedMetric:A?.failedMetric,evalScore:A?.evalScore,evalThreshold:A?.evalThreshold,actualInvocationToolUses:A?.actualInvocationToolUses,expectedInvocationToolUses:A?.expectedInvocationToolUses,actualFinalResponse:A?.actualFinalResponse,expectedFinalResponse:A?.expectedFinalResponse,invocationIndex:n!==void 0?n:void 0,finalResponsePartIndex:o?.finalResponsePartIndex!==void 0?o.finalResponsePartIndex:void 0,toolUseIndex:o?.toolUseIndex!==void 0?o.toolUseIndex:void 0};if(e){if(e.inlineData){let s=this.formatBase64Data(e.inlineData.data,e.inlineData.mimeType);r.inlineData={displayName:e.inlineData.displayName,data:s,mimeType:e.inlineData.mimeType}}else if(e.a2ui)r.a2uiData=this.processA2uiPartIntoMessage(e);else if(e.text)r.text=e.text,r.thought=!!e.thought,A?.groundingMetadata&&A.groundingMetadata.searchEntryPoint&&A.groundingMetadata.searchEntryPoint.renderedContent&&(r.renderedContent=A.groundingMetadata.searchEntryPoint.renderedContent),r.event=A;else if(e.functionCall){let s=A?.longRunningToolIds?.includes(e.functionCall.id),l=gA(gA({},e.functionCall),s&&{isLongRunning:!0,invocationId:A.invocationId,functionCallEventId:A.id,needsResponse:!0,responseStatus:"pending",userResponse:""});r.functionCalls=[l],r.event=A}else if(e.functionResponse)r.functionResponses=[e.functionResponse],r.event=A;else if(e.executableCode)r.executableCode=e.executableCode;else if(e.codeExecutionResult&&(r.codeExecutionResult=e.codeExecutionResult,A.actions&&A.actions.artifact_delta))for(let s in A.actions.artifact_delta)A.actions.artifact_delta.hasOwnProperty(s)&&this.renderArtifact(s,A.actions.artifact_delta[s],a)}e&&Object.keys(e).length>0&&(a?this.uiEvents.update(s=>[r,...s]):this.insertOrUpdateMessage(r))}insertOrUpdateMessage(e){this.uiEvents.update(A=>{if(this.useSse()&&e.text&&e.event.id&&e.role==="bot"&&A.length>0){let i=A.length-1,n=A[i];if(n.event.id===e.event.id&&n.role==="bot"){let o=[...A];return o[i]=e,o}}return[...A,e]})}formatBase64Data(e,A){let i=EF(e);return`data:${A};base64,${i}`}processPartIntoMessage(e,A,i){if(e)if(A&&(i.event=A,A.invocationIndex!==void 0&&(i.invocationIndex=A.invocationIndex),A.toolUseIndex!==void 0&&(i.toolUseIndex=A.toolUseIndex),A.finalResponsePartIndex!==void 0&&(i.finalResponsePartIndex=A.finalResponsePartIndex)),e.text)i.text=(i.text||"")+e.text,i.thought=!!e.thought,A?.groundingMetadata&&A.groundingMetadata.searchEntryPoint&&A.groundingMetadata.searchEntryPoint.renderedContent&&(i.renderedContent=A.groundingMetadata.searchEntryPoint.renderedContent),A?.id&&(i.event=A);else if(e.inlineData){let n=this.formatBase64Data(e.inlineData.data,e.inlineData.mimeType),o=X6(e.inlineData.mimeType);i.inlineData={displayName:e.inlineData.displayName,data:n,mimeType:e.inlineData.mimeType,mediaType:o},i.role==="user"&&A?.id&&(i.event=A)}else if(e.functionCall){i.functionCalls||(i.functionCalls=[]);let n=A?.longRunningToolIds?.includes(e.functionCall.id),o=e.functionCall;n&&(o=Ye(gA({},e.functionCall),{isLongRunning:!0,invocationId:A.invocationId,functionCallEventId:A.id,needsResponse:!0,responseStatus:e.functionCall.responseStatus||"pending",userResponse:e.functionCall.userResponse||""}));let a=i.functionCalls.findIndex(r=>r.id===e.functionCall.id);a>=0?i.functionCalls[a]=gA(gA({},i.functionCalls[a]),o):i.functionCalls.push(o),A?.id&&(i.event=A)}else e.functionResponse?(i.functionResponses||(i.functionResponses=[]),i.functionResponses.push(e.functionResponse),A?.id&&(i.event=A)):e.executableCode?i.executableCode=e.executableCode:e.codeExecutionResult?i.codeExecutionResult=e.codeExecutionResult:e.a2ui&&(i.a2uiData=this.processA2uiPartIntoMessage(e))}handleArtifactFetchFailure(e,A,i){this.openSnackBar("Failed to fetch artifact data","OK"),e.error={errorMessage:"Failed to fetch artifact data"},this.changeDetectorRef.detectChanges(),this.artifacts=this.artifacts.filter(n=>n.id!==A||n.versionId!==i)}renderArtifact(e,A,i=!1){if(this.artifacts.some(r=>r.id===e&&r.versionId===A))return;let o=new UB({role:"bot",event:{id:"artifact-"+e},inlineData:{data:"",mimeType:"image/png"}});i?this.uiEvents.update(r=>[o,...r]):this.insertOrUpdateMessage(o);let a={id:e,versionId:A,data:"",mimeType:"image/png",mediaType:"image"};this.artifacts=[...this.artifacts,a],this.artifactService.getArtifactVersion(this.userId,this.appName,this.sessionId,e,A).subscribe({next:r=>{let{mimeType:s,data:l}=r.inlineData??{};if(!s||!l){this.handleArtifactFetchFailure(o,e,A);return}let g=this.formatBase64Data(l,s),C=X6(s),I={name:this.createDefaultArtifactName(s),data:g,mimeType:s,mediaType:C};o.inlineData=I,this.changeDetectorRef.detectChanges(),this.artifacts=this.artifacts.map(d=>d.id===e&&d.versionId===A?{id:e,versionId:A,data:g,mimeType:s,mediaType:C}:d)},error:r=>{this.handleArtifactFetchFailure(o,e,A)}})}storeEvents(e,A){let i="";e==null&&A.actions.artifactDelta?i+="eventAction: artifact":e&&(e.text?i+="text:"+e.text:e.functionCall?i+="functionCall:"+e.functionCall.name:e.functionResponse?i+="functionResponse:"+e.functionResponse.name:e.executableCode?i+="executableCode:"+e.executableCode.code.slice(0,10):e.codeExecutionResult?i+="codeExecutionResult:"+e.codeExecutionResult.outcome:e.errorMessage&&(i+="errorMessage:"+e.errorMessage)),A.title=i,this.eventData.set(A.id,A),this.eventData=new Map(this.eventData)}sendOAuthResponse(e,A,i){this.longRunningEvents.pop();var n=structuredClone(e.args.authConfig);n.exchangedAuthCredential.oauth2.authResponseUri=A,n.exchangedAuthCredential.oauth2.redirectUri=i;let o={role:"user",parts:[{functionResponse:{id:e.id,name:e.name,response:n}}],functionCallEventId:this.functionCallEventId};this.sendMessage(o)}clickEvent(e){let A=this.uiEvents()[e],i=A.event.id;if(i){if(this.selectedMessageIndex===e){this.sideDrawer()?.open(),this.showSidePanel=!0,window.localStorage.setItem("adk-side-panel-visible","true");return}if(A.role==="user"){this.selectedEvent=this.eventData.get(i),this.selectedEventIndex=this.getIndexOfKeyInMap(i),this.selectedMessageIndex=e,this.llmRequest=void 0,this.llmResponse=void 0,this.sideDrawer()?.open(),this.showSidePanel=!0,window.localStorage.setItem("adk-side-panel-visible","true"),this.updateRenderedGraph(),this.viewMode()!=="events"&&this.onViewModeChange("events");return}this.sideDrawer()?.open(),this.showSidePanel=!0,window.localStorage.setItem("adk-side-panel-visible","true"),this.selectEvent(i,e)}}handleJumpToInvocation(e){let A=this.uiEvents(),i=-1,n=-1;for(let o=0;o{this.chatPanel()?.scrollToSelectedMessage(i)},100))}ngOnDestroy(){this.streamChatService.closeStream()}onAppSelection(e){this.isAudioRecording&&(this.stopAudioRecording(),this.isAudioRecording=!1),this.isVideoRecording&&(this.stopVideoRecording(),this.isVideoRecording=!1),this.evalTab()?.resetEvalResults(),this.traceData=[]}toggleAudioRecording(e){return lt(this,null,function*(){this.isAudioRecording?this.stopAudioRecording():yield this.startAudioRecording(e)})}startAudioRecording(e){return lt(this,null,function*(){if(this.sessionId&&this.sessionHasUsedBidi.has(this.sessionId)){this.openSnackBar(pGA,"OK");return}(yield this.ensureSessionActive())&&(this.isAudioRecording=!0,this.streamChatService.startAudioChat({appName:this.appName,userId:this.userId,sessionId:this.sessionId,flags:e}),this.sessionHasUsedBidi.add(this.sessionId))})}stopAudioRecording(){this.audioPlayingService.stopAudio(),this.streamChatService.stopAudioChat(),this.isAudioRecording=!1,this.isVideoRecording&&this.stopVideoRecording()}toggleVideoRecording(){this.isVideoRecording?this.stopVideoRecording():this.startVideoRecording()}startVideoRecording(){let e=this.chatPanel()?.videoContainer;e&&(this.isVideoRecording=!0,this.streamChatService.startVideoStreaming(e))}stopVideoRecording(){let e=this.chatPanel()?.videoContainer;e&&(this.streamChatService.stopVideoStreaming(e),this.isVideoRecording=!1)}getAsyncFunctionsFromParts(e,A,i){for(let n of A)n.functionCall&&e.includes(n.functionCall.id)&&this.longRunningEvents.push({function:n.functionCall,invocationId:i})}openOAuthPopup(e){return new Promise((A,i)=>{if(!this.safeValuesService.windowOpen(window,e,"oauthPopup","width=600,height=700")){i("Popup blocked!");return}let o=a=>{if(a.origin!==window.location.origin)return;let{authResponseUrl:r}=a.data;r?(A(r),window.removeEventListener("message",o)):console.log("OAuth failed",a)};window.addEventListener("message",o)})}toggleSidePanel(){this.showSidePanel?(this.sideDrawer()?.close(),this.selectedEvent=void 0,this.selectedEventIndex=void 0,this.selectedMessageIndex=void 0):this.sideDrawer()?.open(),this.showSidePanel=!this.showSidePanel,window.localStorage.setItem("adk-side-panel-visible",this.showSidePanel.toString())}toggleAppSelectorDrawer(){this.showSessionSelectorDrawer=!1,this.showAppSelectorDrawer=!this.showAppSelectorDrawer,this.showAppSelectorDrawer&&this.appDrawerSearchControl.setValue("")}onSelectorDrawerOpened(){this.showAppSelectorDrawer&&this.appSearchInput()?.nativeElement.focus()}handleAppSearchKeydown(e){if(e.key==="ArrowDown"){e.preventDefault(),e.stopPropagation();let A=this.document.querySelector(".app-selector-list .app-selector-item");A&&A.focus()}}handleAppListKeydown(e){if(e.key!=="ArrowDown"&&e.key!=="ArrowUp")return;e.stopPropagation();let A=Array.from(this.document.querySelectorAll(".app-selector-list .app-selector-item")),i=A.indexOf(this.document.activeElement);if(i>-1){if(e.preventDefault(),e.key==="ArrowDown"){let n=i+1;n=0?A[n].focus():this.appSearchInput()?.nativeElement.focus()}}}onAppSelectorDrawerClosed(){this.showAppSelectorDrawer=!1}toggleSessionSelectorDrawer(){this.showAppSelectorDrawer=!1,this.showSessionSelectorDrawer=!this.showSessionSelectorDrawer}onSessionSelectorDrawerClosed(){this.showSessionSelectorDrawer=!1}onSelectorDrawerClosed(){this.showAppSelectorDrawer=!1,this.showSessionSelectorDrawer=!1}onSessionSelectedFromDrawer(e){this.showSessionSelectorDrawer=!1,this.loadSession(e)}onSessionReloadedFromDrawer(e){this.loadSession(e)}selectAppFromDrawer(e){this.selectedAppControl.setValue(e),this.showAppSelectorDrawer=!1}handleTabChange(e){this.canChat()||(this.resetEditEvalCaseVars(),this.handleReturnToSession(!0))}handleReturnToSession(e){this.sessionTab?.getSession(this.sessionId),this.evalTab()?.resetEvalCase(),this.chatType.set("session")}handleEvalNotInstalled(e){e&&this.openSnackBar(e,"OK")}resetEventsAndMessages({keepMessages:e}={}){e||(this.eventData.clear(),this.uiEvents.set([]),this.selectedEvent=void 0,this.selectedEventIndex=void 0,this.selectedMessageIndex=void 0),this.artifacts=[]}loadTraceData(){this.sessionId&&(this.uiStateService.setIsEventRequestResponseLoading(!0),this.eventService.getTrace(this.sessionId).pipe($n(),Po(e=>(console.error("[DEBUG] getTrace error:",e),oe([])))).subscribe(e=>{this.traceData=e,this.traceService.setEventData(this.eventData),this.traceService.setMessages(this.uiEvents()),this.selectedEvent&&this.populateLlmRequestResponse(),this.uiStateService.setIsEventRequestResponseLoading(!1),this.changeDetectorRef.detectChanges()}),this.changeDetectorRef.detectChanges())}buildUiEventFromEvent(e,A=!1){let i=this.isEventA2aResponse(e),n=i?this.combineA2uiDataParts(e.content?.parts):e.content?.parts||[],o=A?[...n].reverse():n,a=e.author==="user"?"user":"bot",r=new UB({role:a,event:e});return(e.errorCode||e.errorMessage)&&(r.error={errorCode:e.errorCode,errorMessage:e.errorMessage}),e.inputTranscription!==void 0&&typeof e.inputTranscription=="string"&&(r.event.inputTranscription={text:e.inputTranscription}),e.outputTranscription!==void 0&&typeof e.outputTranscription=="string"&&(r.event.outputTranscription={text:e.outputTranscription}),o.forEach(s=>{a==="bot"&&i&&this.isA2uiDataPart(s)&&(s={a2ui:this.extractA2aDataPartJson(s).data}),this.processPartIntoMessage(s,e,r)}),r}populateMessages(e,A=!1,i=!1){this.resetEventsAndMessages({keepMessages:i&&this.sessionIdOfLoadedMessages===this.sessionId}),e.forEach(n=>{this.appendEventRow(n,A)}),this.sessionIdOfLoadedMessages=this.sessionId}restorePendingLongRunningCalls(){let e=this.uiEvents(),A=new Set;this.uiEvents().forEach(i=>{i.functionResponses&&i.functionResponses.forEach(n=>{n.id&&A.add(n.id)})}),this.uiEvents().forEach(i=>{i.functionCalls&&i.functionCalls.forEach(n=>{let o=i.event.id?this.eventData.get(i.event.id):null;(n.isLongRunning||o?.longRunningToolIds?.includes(n.id))&&!A.has(n.id)&&(n.isLongRunning=!0,n.invocationId=o?.invocationId,n.functionCallEventId=i.event.id||"",n.needsResponse=!0,n.responseStatus="pending",n.userResponse=n.userResponse||"")})})}updateWithSelectedSession(e){if(!(!e||!e.id)){if(this.traceService.resetTraceService(),this.traceData=[],this.sessionId=e.id,this.currentSessionState=e.state||{},this.evalCase=null,this.resetEventsAndMessages(),e.isEvalResult){this.isViewOnlySession.set(!0),this.readonlySessionType.set("Eval Result");let A=e.evalCase?.evalId,i=e.timestamp;this.currentEvalCaseId=A,this.currentEvalTimestamp=i;let n=i;if(i){let o=Number(i);isNaN(o)||(n=new Date(o*1e3).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0}))}this.readonlySessionName.set(A&&n?`${n} > ${A}`:e.id),this.canEditSession.set(!1),this.chatPanel()?.canEditSession.set(!1)}else this.isViewOnlySession.set(!1);e.evalCase?this.expectedUiEvents.set(this.buildUiEventsFromEvalCase(e.evalCase)):this.expectedUiEvents.set([]),e.evalCaseResult?this.evalCaseResult.set(e.evalCaseResult):this.evalCaseResult.set(null),e.isEvalResult?this.chatType.set("eval-result"):(this.chatType.set("session"),this.isSideBySide.set(!1)),this.isSessionUrlEnabledObs.subscribe(A=>{A&&this.updateSelectedSessionUrl()}),e.events&&e.state&&(e.events.forEach(A=>{if(this.appendEventRow(A,!1),A.author!=="user"&&A.actions?.artifactDelta)for(let n in A.actions.artifactDelta)A.actions.artifactDelta.hasOwnProperty(n)&&this.renderArtifact(n,A.actions.artifactDelta[n])}),this.restorePendingLongRunningCalls()),this.changeDetectorRef.detectChanges(),this.loadTraceData(),e.isEvalResult||this.sessionService.canEdit(this.userId,e).pipe($n(),Po(()=>oe(!0))).subscribe(A=>{this.chatPanel()?.canEditSession.set(A),this.canEditSession.set(A)}),this.featureFlagService.isInfinityMessageScrollingEnabled().pipe($n()).subscribe(A=>{A||this.populateMessages(e.events||[]),this.loadTraceData()})}}formatToolUses(e){if(!e||!Array.isArray(e))return[];let A=[];for(let i of e)A.push({name:i.name,args:i.args});return A}addEvalCaseResultToEvents(e,A){let i=A.evalMetricResultPerInvocation,n=-1;if(i)for(let o=0;o{this.appendEventRow(i,!1)}),this.canEditSession.set(!1),this.chatPanel()?.canEditSession.set(!1),this.isViewOnlySession.set(!0),this.changeDetectorRef.detectChanges()}buildUiEventsFromEvalCase(e){let A=this.uiEvents(),i=this.eventData,n=this.chatType(),o=this.isViewOnlySession(),a=this.readonlySessionType(),r=this.readonlySessionName();this.uiEvents.set([]),this.eventData=new Map,this.updateWithSelectedEvalCase(e);let s=this.uiEvents();return this.uiEvents.set(A),this.eventData=i,this.chatType.set(n),this.isViewOnlySession.set(o),this.readonlySessionType.set(a),this.readonlySessionName.set(r),s}updateWithSelectedEvalCase(e){if(this.evalCase=e,this.chatType.set("eval-case"),this.isViewOnlySession.set(!0),this.readonlySessionType.set("Eval Case"),this.readonlySessionName.set(e.evalId),this.chatType.set("eval-case"),this.isSessionUrlEnabledObs.subscribe(A=>{A&&this.updateSelectedSessionUrl()}),this.resetEventsAndMessages(),e.events&&e.events.length>0)for(let A of e.events)this.appendEventRow(A,!1);else{e.events=[];let A=0;for(let i of e.conversation){if(i.userContent?.parts&&e.events.push({author:"user",content:i.userContent,invocationIndex:A}),i.intermediateData?.invocationEvents){let n=0;for(let o of i.intermediateData.invocationEvents)o.invocationIndex=A,o.content?.parts?.[0]?.functionCall&&(o.toolUseIndex=n,n++),e.events.push(o)}else if(i.intermediateData?.toolUses){let n=0;for(let o of i.intermediateData.toolUses)e.events.push({author:"bot",content:{parts:[{functionCall:{name:o.name,args:o.args}}]},invocationIndex:A,toolUseIndex:n}),n++,e.events.push({author:"bot",content:{parts:[{functionResponse:{name:o.name}}]},invocationIndex:A})}i.finalResponse?.parts&&e.events.push({author:"bot",content:i.finalResponse,invocationIndex:A}),A++}for(let i of e.events)this.appendEventRow(i,!1)}}handleEditEvalCaseRequested(e){this.updateWithSelectedEvalCase(e),this.editEvalCase()}updateSelectedEvalSetId(e){this.evalSetId=e}editEvalCaseMessage(e){this.isEvalCaseEditing.set(!0),this.userEditEvalCaseMessage=e.text,e.isEditing=!0,setTimeout(()=>{let A=this.chatPanel()?.textarea?.nativeElement;if(!A)return;A.focus();let i=A.value.length;e.text.charAt(i-1)===` `&&i--,A.setSelectionRange(i,i)},0)}editFunctionArgs(e){this.isEvalCaseEditing.set(!0),this.dialog.open(S3,{maxWidth:"90vw",maxHeight:"90vh",data:{dialogHeader:"Edit function arguments",functionName:e.functionCall.name,jsonContent:e.functionCall.args}}).afterClosed().subscribe(i=>{this.isEvalCaseEditing.set(!1),i&&(this.hasEvalCaseChanged.set(!0),e.functionCall.args=i,this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].intermediateData.toolUses[e.toolUseIndex].args=i)})}saveEvalCase(){this.evalService.updateEvalCase(this.appName,this.evalSetId,this.updatedEvalCase.evalId,this.updatedEvalCase).subscribe(e=>{this.openSnackBar("Eval case updated","OK"),this.resetEditEvalCaseVars()})}cancelEditEvalCase(){this.resetEditEvalCaseVars(),this.updateWithSelectedEvalCase(this.evalCase)}resetEditEvalCaseVars(){this.hasEvalCaseChanged.set(!1),this.isEvalCaseEditing.set(!1),this.isEvalEditMode.set(!1),this.updatedEvalCase=null}cancelEditMessage(e){e.isEditing=!1,this.isEvalCaseEditing.set(!1)}saveEditMessage(e){this.hasEvalCaseChanged.set(!0),this.isEvalCaseEditing.set(!1),e.isEditing=!1,e.text=this.userEditEvalCaseMessage?this.userEditEvalCaseMessage:" ",this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].finalResponse.parts[e.finalResponsePartIndex]={text:this.userEditEvalCaseMessage},this.userEditEvalCaseMessage=""}handleKeydown(e,A){e.key==="Enter"&&!e.shiftKey?(e.preventDefault(),this.saveEditMessage(A)):e.key==="Escape"&&this.cancelEditMessage(A)}deleteEvalCaseMessage(e,A){this.hasEvalCaseChanged.set(!0),this.uiEvents.update(i=>i.filter((n,o)=>o!==A)),this.updatedEvalCase=structuredClone(this.evalCase),this.updatedEvalCase.conversation[e.invocationIndex].finalResponse.parts.splice(e.finalResponsePartIndex,1)}editEvalCase(){this.isEvalEditMode.set(!0),this.isViewOnlySession.set(!1)}deleteEvalCase(){let e={title:"Confirm delete",message:`Are you sure you want to delete ${this.evalCase.evalId}?`,confirmButtonText:"Delete",cancelButtonText:"Cancel"};this.dialog.open(xc,{width:"600px",data:e}).afterClosed().subscribe(i=>{i&&(this.evalTab()?.deleteEvalCase(this.evalCase.evalId),this.openSnackBar("Eval case deleted","OK"))})}onNewSessionClick(){this.resetToNewSession(),this.eventData.clear(),this.uiEvents.set([]),this.artifacts=[],this.traceData=[],this.selectedEvent=void 0,this.selectedEventIndex=void 0,this.selectedMessageIndex=void 0,this.traceService.resetTraceService(),this.chatPanel()?.focusInput(),this.evalTab()?.showEvalHistory&&this.evalTab()?.toggleEvalHistoryButton()}getToolbarSessionId(){if(!this.sessionId)return"NEW SESSION";if(this.isViewOnlySession())return this.sessionId;let e=this.currentSessionState?.__session_metadata__;return e?.displayName?`[${this.sessionId.substring(0,4)}] ${e.displayName}`:this.sessionId}getCurrentSessionDisplayName(){return this.sessionId?this.currentSessionState?.__session_metadata__?.displayName||this.sessionId:"NEW SESSION"}copySessionId(){return lt(this,null,function*(){if(this.sessionId)try{yield navigator.clipboard.writeText(this.sessionId),this.openSnackBar(this.i18n.sessionIdCopiedMessage,"OK")}catch(e){this.openSnackBar(this.i18n.copySessionIdFailedMessage,"OK")}})}saveSessionName(e){if(!this.sessionId)return;let A={__session_metadata__:Ye(gA({},this.currentSessionState?.__session_metadata__||{}),{displayName:e})};this.currentSessionState=gA(gA({},this.currentSessionState),A),this.updatedSessionState.set(gA(gA({},this.updatedSessionState()),A)),this.sessionService.updateSession(this.userId,this.appName,this.sessionId,{stateDelta:A}).subscribe({next:()=>{this.sessionTab&&this.sessionTab.reloadSession(this.sessionId),this.drawerSessionTab()&&this.drawerSessionTab().reloadSession(this.sessionId)}})}get sessionDisplayNameDraft(){return this.currentSessionState?.__session_metadata__?.displayName||""}saveUserId(e){if(e=e.trim(),!e){this.openSnackBar(this.i18n.invalidUserIdMessage,"OK");return}this.userId=e,this.isSessionUrlEnabledObs.pipe(uo(1)).subscribe(A=>{A&&this.updateSelectedSessionUrl()})}onFileSelect(e){let A=e.target;if(A.files)for(let i=0;i{e&&this.canvasComponent()?.loadFromYaml(e,this.appName)},error:e=>{console.error("Error loading agent configuration:",e),this._snackBar.open("Error loading agent configuration","OK")}})}exitBuilderMode(){let e=this.router.createUrlTree([],{queryParams:{mode:null},queryParamsHandling:"merge"}).toString();this.location.replaceState(e),this.isBuilderMode.set(!1),this.agentBuilderService.clear()}toggleBuilderAssistant(){this.showBuilderAssistant=!this.showBuilderAssistant}openAddItemDialog(){this.apps$.pipe(uo(1)).subscribe(e=>{let A=this.dialog.open(j6,{width:"600px",data:{existingAppNames:e??[]}})})}eventGraphSvgLight={};eventGraphSvgDark={};selectedEventGraphPath="";showAgentStructureOverlay=!1;agentStructureOverlayMode="session";openAgentStructureGraphDialog(e="session"){this.agentStructureOverlayMode=e,this.showAgentStructureOverlay=!0}saveAgentBuilder(){this.canvasComponent()?.saveAgent(this.appName)}onEventTabDrillDown(e){this.updateRenderedGraph(void 0,e)}updateRenderedGraph(e,A){return lt(this,null,function*(){let i=this.sessionGraphSvgLight,n=this.sessionGraphSvgDark;if(Object.keys(i).length===0||Object.keys(n).length===0){this.renderedEventGraph=void 0;return}let o=e||this.selectedEvent?.nodeInfo?.path;!e&&this.selectedEvent?.author==="user"&&(o="__START__");let a=o;o&&o!=="__START__"&&(a=o.split("/").map(h=>h.split("@")[0]).join("/"));let r=A!==void 0?A:"",s="";if(a&&A===void 0){let h=a.split("/");if(s=h[h.length-1],h.length>=2&&h[h.length-1]==="call_llm"&&h[h.length-2]===this.selectedEvent?.author?(s=h[h.length-2],r=h.slice(1,-2).join("/")):r=h.slice(1,-1).join("/"),r&&!(r in i&&!(r in this.dynamicGraphDot))){let f=this.tryGenerateDynamicGraph(r);if(f&&this.dynamicGraphDot[r]!==f)try{let m=yield this.graphService.render(f);this.sessionGraphSvgLight[r]=m,this.sessionGraphSvgDark[r]=m,this.dynamicGraphDot[r]=f}catch(m){console.error("Failed to render dynamic graph",m)}}for(;r&&!(r in i);){let E=r.split("/");E.pop(),r=E.join("/")}}let l=i[r]||i[""]||"",g=n[r]||n[""]||"";if(this.selectedEvent){let h=this.getV1HighlightPairs(this.selectedEvent);h.length>0&&(l=this.applyV1Highlighting(l,h,!1),g=this.applyV1Highlighting(g,h,!0))}let C=[],I=[];if(this.selectedEventIndex!==void 0){let h=Array.from(this.eventData.values()),f=h[this.selectedEventIndex]?.invocationId;for(let m=0;mb.split("@")[0]).join("/")),S){let b=S.split("/"),x=b[b.length-1],F="";b.length>=2&&b[b.length-1]==="call_llm"&&b[b.length-2]===v.author?(x=b[b.length-2],F=b.slice(1,-2).join("/")):F=b.slice(1,-1).join("/");let z=r in this.dynamicGraphDot,P=k?k.split("/"):[],W=P.length>0?P[P.length-1]:"",eA=z?W:x;F===r&&(m<=this.selectedEventIndex&&(C.length===0||C[C.length-1]!==eA)&&C.push(eA),(I.length===0||I[I.length-1]!==eA)&&I.push(eA))}}}if(this.selectedEvent){let h=this.getV1HighlightPairs(this.selectedEvent);for(let[E,f]of h)f&&f!==""&&(I.includes(f)||I.push(f),C.includes(f)||C.push(f)),E&&E!==""&&(I.includes(E)||I.push(E),C.includes(E)||C.push(E))}I.length>0&&l&&g&&(l=this.highlightExecutionPathInSvg(l,C,I,"light"),g=this.highlightExecutionPathInSvg(g,C,I,"dark")),this.selectedEventGraphPath=r,this.eventGraphSvgLight=Ye(gA({},i),{[r]:l}),this.eventGraphSvgDark=Ye(gA({},n),{[r]:g});let d=this.themeService.currentTheme()==="dark"?g:l;this.rawSvgString=d,this.renderedEventGraph=this.safeValuesService.bypassSecurityTrustHtml(d),this.changeDetectorRef.detectChanges()})}tryGenerateDynamicGraph(e){let A=Array.from(this.eventData.values()),i=[];for(let l of A){let g=l.nodeInfo?.path;if(!g)continue;let C=g.split("/"),I=C.map(h=>h.split("@")[0]),d="";if(I.length>=2&&I[I.length-1]==="call_llm"&&I[I.length-2]===l.author?d=I.slice(1,-2).join("/"):d=I.slice(1,-1).join("/"),d===e){let h=C[C.length-1];i.push({run:h,branch:l.branch})}}if(i.length===0)return null;let n=new Set,o=new Map;for(let l of i)n.add(l.run),l.branch&&o.set(l.run,l.branch);if(n.size===0)return null;let a=`digraph G { `;a+=` rankdir=TB; From b2d81b319c35df059dad5b8a4b13457c7ea00781 Mon Sep 17 00:00:00 2001 From: "Wei (Jack) Sun" Date: Thu, 16 Apr 2026 17:54:55 -0700 Subject: [PATCH 2/3] chore(release/candidate): release 1.31.0 (#5360) --- .github/.release-please-manifest.json | 2 +- CHANGELOG.md | 34 +++++++++++++++++++++++++++ src/google/adk/version.py | 2 +- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index bacdd304e4..306dc078c6 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.30.0" + ".": "1.31.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index d955ad7ff5..e77d2ee09a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,39 @@ # Changelog +## [1.31.0](https://github.com/google/adk-python/compare/v1.30.0...v1.31.0) (2026-04-16) + + +### Features + +* Add "google-adk" user agent to Parameter Manager and Secret Manager clients ([b8e8f6b](https://github.com/google/adk-python/commit/b8e8f6b90290e48e134f48bbe7e2b800276e7269)) +* Add support for memories.ingest_events in VertexAiMemoryBankService ([d69477f](https://github.com/google/adk-python/commit/d69477f6ff348311e1d53e3f2c389dcf037fb049)) +* Add Vertex AI Agent Engine Sandbox integration for computer use ([7686848](https://github.com/google/adk-python/commit/76868485519090c5fa2a0287bccca040e438d94e)) +* Firestore support ([1a9df8f](https://github.com/google/adk-python/commit/1a9df8f77410a08a85d04744f199d25f20d55ebd)) +* **live:** Add live_session_id to LlmResponse ([bf84e2c](https://github.com/google/adk-python/commit/bf84e2cee84f04c886914eb72318875f3c29ea13)) + + +### Bug Fixes + +* Bump minimum mcp version from 1.23.0 to 1.24.0 ([494c360](https://github.com/google/adk-python/commit/494c360b2a82af5130f153ff615f84e4c2604a73)) +* **cli:** correct console URL path after adk deploy agent_engine ([64ed1a6](https://github.com/google/adk-python/commit/64ed1a68c98e32d61aff43857fa4e756b129b13f)), closes [#5336](https://github.com/google/adk-python/issues/5336) +* execute on_event_callback before append_event to persist plugin modifications ([454188d](https://github.com/google/adk-python/commit/454188de5de0ef44adb7716230eacddcb060dab2)), closes [#3990](https://github.com/google/adk-python/issues/3990) +* make `_EvalMetricResultWithInvocation.expected_invocation` `Optional` for conversation_scenario support ([#5215](https://github.com/google/adk-python/issues/5215)) ([a4c9387](https://github.com/google/adk-python/commit/a4c938775764794f42e00a89e3cb33da5119c38b)) +* Pass in auth headers with header provider instead of connection params ([e12b0af](https://github.com/google/adk-python/commit/e12b0af20d9a025e3d75f309de836b139b6d3e88)) +* populate required fields in FunctionDeclaration json_schema fallback ([9b9faa4](https://github.com/google/adk-python/commit/9b9faa4ba21d566252e4c25bd55ab9db2658051e)) +* Resolve BigQuery plugin issues with A2A transfers, spans, and metadata ([9ca8c38](https://github.com/google/adk-python/commit/9ca8c384324e07e945146359f21010b438eb1bc6)) +* upgrade google-genai lower bound ([8bc5728](https://github.com/google/adk-python/commit/8bc57283f3c584a5a6d6d774a316fe63342ed481)) + + +### Code Refactoring + +* **live:** Use `send_client_content` to send conversation history ([67dc2eb](https://github.com/google/adk-python/commit/67dc2ebfd42f175f2dd6ea58df51a03c575062c6)) +* **live:** Use `send_tool_response` for function responses ([70c5fc8](https://github.com/google/adk-python/commit/70c5fc83a62d1e81d20986223f5c275b086f9822)) + + +### Documentation + +* update MCP Toolbox branding, binary version, and asset references ([47fa7b7](https://github.com/google/adk-python/commit/47fa7b743c37e3aa8302e78be552876c2784e6ff)) + ## [1.30.0](https://github.com/google/adk-python/compare/v1.29.0...v1.30.0) (2026-04-13) diff --git a/src/google/adk/version.py b/src/google/adk/version.py index d392c99b2c..bc862a31dd 100644 --- a/src/google/adk/version.py +++ b/src/google/adk/version.py @@ -13,4 +13,4 @@ # limitations under the License. # version: major.minor.patch -__version__ = "1.30.0" +__version__ = "1.31.0" From 61cca7e5d6a8fa36dec06b52e5fc66405b1acb27 Mon Sep 17 00:00:00 2001 From: Jacksunwei <1281348+Jacksunwei@users.noreply.github.com> Date: Fri, 17 Apr 2026 00:55:07 +0000 Subject: [PATCH 3/3] chore: update last-release-sha for next release --- .github/release-please-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/release-please-config.json b/.github/release-please-config.json index b8b693afc9..42b40215c4 100644 --- a/.github/release-please-config.json +++ b/.github/release-please-config.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", - "last-release-sha": "80a7ecf4b31e4c6de4a1425b03422f384c1a032d", + "last-release-sha": "d69477f6ff348311e1d53e3f2c389dcf037fb049", "packages": { ".": { "release-type": "python",