1import{a as mt}from"./chunk-YZZ6CKB3.js";import{a as dt}from"./chunk-5PPGBWZY.js";import{a as y,d as gt}from"./chunk-AJIXN4TP.js";import"./chunk-QDRIPFVV.js";import"./chunk-P6TIZVOU.js";import"./chunk-4WAUMBH6.js";import"./chunk-KH7K5DGA.js";import{a as q,b as J}from"./chunk-THXGMAON.js";import{b as rt}from"./chunk-XQXSI2MI.js";import"./chunk-JZVF4UFD.js";import{a as nt}from"./chunk-EBRNEVEB.js";import{c as at}from"./chunk-JFIIL3O5.js";import{a as ot}from"./chunk-XXUVMEHX.js";import{a as pt}from"./chunk-SIVW2O5K.js";import"./chunk-IXYALPCC.js";import{a as lt}from"./chunk-X25PQIQX.js";import{a as st,b as ct}from"./chunk-6KLVNBIT.js";import{a as it}from"./chunk-YLMGPHJT.js";import"./chunk-2INMHT5S.js";import"./chunk-AV4I7H6P.js";import{E as et,g as Z,l as tt}from"./chunk-3G75FYOC.js";import{d as K,f as Q,g as X}from"./chunk-MIJHCTDG.js";import"./chunk-PZHDZNOO.js";import{a as Y}from"./chunk-GGODJQRR.js";import"./chunk-4ZHAVEY3.js";import"./chunk-ERNNOIEA.js";import"./chunk-SRQR6N6L.js";import"./chunk-7QCXACDV.js";import"./chunk-PQEV5SKX.js";import{B as E,Db as M,Fb as u,Hb as p,K as k,La as r,Md as G,O as R,Ta as x,Tb as D,Vc as L,Wa as A,Wb as d,X as b,Xb as C,Xc as H,Yb as w,Zb as $,ab as v,ac as F,bc as j,cc as V,e as B,jc as U,kb as S,la as h,ma as f,mb as T,md as W,pb as N,qb as z,rb as l,sb as a,tb as o,ub as _,vc as g,wc as m}from"./chunk-NMIDHYRA.js";import{k as I}from"./chunk-ZOCHBAGS.js";var _t=(n,s)=>s.id;function ut(n,s){if(n&1){let e=M();a(0,"dui-button",12),u("onClick",function(){h(e);let i=p();return f(i.createBrain())}),a(1,"span",13),d(2),g(3,"translate"),o()()}n&2&&(r(2),C(m(3,1,"BRAINS.CREATE_BRAIN")))}function Ct(n,s){n&1&&(a(0,"div",10),_(1,"p-progressSpinner",14),o())}function bt(n,s){if(n&1){let e=M();a(0,"dui-button",12),u("onClick",function(){h(e);let i=p(2);return f(i.createBrain())}),d(1),g(2,"translate"),o()}n&2&&(r(),w(" ",m(2,1,"BRAINS.CREATE_FIRST_BRAIN")," "))}function ht(n,s){if(n&1&&(a(0,"div",11)(1,"h3",15),d(2),g(3,"translate"),o(),_(4,"img",16),v(5,bt,3,3,"dui-button",9),o()),n&2){let e=p();r(2),C(m(3,2,"BRAINS.EMPTY_TITLE")),r(3),l("appHasPermission",e.permissionsList.DATA_STUDIO.BRAINS_WRITE)}}function ft(n,s){n&1&&_(0,"i",26)}function Pt(n,s){if(n&1&&_(0,"div",27),n&2){let e=p().$implicit,t=p(2);l("ngClass",t.getStatusClass(e.status))}}function xt(n,s){if(n&1){let e=M();a(0,"dui-button",36),g(1,"translate"),u("onClick",function(i){h(e);let c=p().$implicit,P=p(2);return i.stopPropagation(),f(P.deleteBrain(c))}),_(2,"dapta-material-icon",37),o()}if(n&2){let e=p().$implicit;l("pTooltip",m(1,2,"BRAINS.DELETE"))("disabled",e.status==="deleting")}}function Mt(n,s){if(n&1&&(a(0,"p",38),d(1),o()),n&2){let e=p().$implicit;r(),w(" ",e.description," ")}}function Ot(n,s){if(n&1){let e=M();a(0,"div",21),u("click",function(){let i=h(e).$implicit,c=p(2);return f(i.status!=="deleting"&&c.editBrain(i))})("keydown.enter",function(){let i=h(e).$implicit,c=p(2);return f(i.status!=="deleting"&&c.editBrain(i))}),a(1,"div",22)(2,"div",23)(3,"h3",24),d(4),o(),a(5,"div",25),S(6,ft,1,0,"i",26)(7,Pt,1,1,"div",27),a(8,"span",28),d(9),g(10,"translate"),o()()(),a(11,"div",29),v(12,xt,3,4,"dui-button",30),o()(),v(13,Mt,2,1,"p",31),a(14,"div",32)(15,"div",33),_(16,"dapta-material-icon",34),a(17,"span"),d(18),g(19,"translate"),o()(),a(20,"div",33),_(21,"dapta-material-icon",35),a(22,"span"),d(23),o()()()()}if(n&2){let e=s.$implicit,t=p(2);D("brain-card--deleting",e.status==="deleting")("brain-card--processing",e.status==="pending"||e.status==="processing"||e.status==="in_progress"),r(4),C(e.name),r(),l("ngClass",t.getStatusClass(e.status)),r(),T(e.status==="deleting"?6:7),r(3),C(m(10,13,"BRAINS.STATUS."+e.status.toUpperCase())),r(3),l("appHasPermission",t.permissionsList.DATA_STUDIO.BRAINS_WRITE),r(),l("ngIf",e.de
1scription),r(5),$("",t.getFilesCount(e)," ",m(19,15,"BRAINS.FILES")),r(5),C(t.getTotalSize(e))}}function vt(n,s){if(n&1){let e=M();a(0,"div",17),N(1,Ot,24,17,"div",18,_t),o(),a(3,"div",19)(4,"dapta-table-pagination",20),u("pageChange",function(i){h(e);let c=p();return f(c.onPageChange(i))}),o()()}if(n&2){let e=p();r(),z(e.brains),r(3),l("currentPage",e.currentPage)("lastPage",e.lastPage)("totalResults",e.totalBrains)("pageSize",e.itemsPerPage)}}var Xt=(()=>{let s=class s{constructor(t,i,c,P,O){this.router=t,this.brainsService=i,this.alertController=c,this.translateService=P,this.popUpController=O,this.loading=!1,this.brains=[],this.searchTerm="",this.totalBrains=0,this.currentPage=1,this.itemsPerPage=6,this.lastPage=1,this.destroy$=new B,this.searchSubject=new B,this.stopPolling$=new B,this.permissionsList=lt}ngOnInit(){this.loadBrains(),this.setupSearch()}ngOnDestroy(){this.stopPolling$.next(),this.stopPolling$.complete(),this.destroy$.next(),this.destroy$.complete()}setupSearch(){this.searchSubject.pipe(k(400),R(),b(this.destroy$)).subscribe(()=>{this.currentPage=1,this.loadBrains()})}onSearchChange(){this.searchSubject.next(this.searchTerm)}loadBrains(){this.loading=!0;let t=(this.currentPage-1)*this.itemsPerPage;this.brainsService.getBrains({limit:this.itemsPerPage,offset:t,name:this.searchTerm||void 0}).pipe(b(this.destroy$)).subscribe({next:i=>{this.brains=i.items,this.totalBrains=i.total,this.lastPage=Math.ceil(this.totalBrains/this.itemsPerPage)||1,this.loading=!1,this.startPollingIfNeeded()},error:()=>{this.brains=[],this.totalBrains=0,this.lastPage=1,this.loading=!1}})}hasProcessingBrains(){return this.brains.some(t=>t.status==="pending"||t.status==="processing"||t.status==="in_progress")}startPollingIfNeeded(){if(this.stopPolling$.next(),!this.hasProcessingBrains())return;let t=(this.currentPage-1)*this.itemsPerPage;E(8e3,8e3).pipe(b(this.stopPolling$),b(this.destroy$)).subscribe(()=>{this.brainsService.getBrains({limit:this.itemsPerPage,offset:t,name:this.searchTerm||void 0}).pipe(b(this.destroy$)).subscribe({next:i=>{this.brains=i.items,this.totalBrains=i.total,this.lastPage=Math.ceil(this.totalBrains/this.itemsPerPage)||1,this.hasProcessingBrains()||this.stopPolling$.next()}})})}refreshBrains(){this.loadBrains()}onPageChange(t){this.currentPage=t.currentPage,this.loadBrains()}createBrain(){return I(this,null,function*(){(yield this.popUpController.openPopUp({component:dt,id:"create-brain",styles:{maxWidth:"700px",width:"90%",height:"auto",maxHeight:"90%",padding:"8px 16px 16px"}})).popUpClosed().then(i=>{i&&this.loadBrains()})})}editBrain(t){this.router.navigate(["/brains",t.id])}deleteBrain(t){this.alertController.confirmAction({title:this.translateService.instant("BRAINS.DELETE_CONFIRM_TITLE"),message:this.translateService.instant("BRAINS.DELETE_CONFIRM_MESSAGE",{name:t.name}),confirmFunction:()=>{this.loading=!0,this.brainsService.deleteBrain(t.id).pipe(b(this.destroy$)).subscribe({next:()=>{this.loadBrains()},error:()=>{this.loading=!1}})}})}getFilesCount(t){return t.sources_count??t.sources?.length??0}getTotalSize(t){return gt(t.total_size_bytes??0)}getStatusClass(t){switch(t){case"complete":return"status-complete";case"processing":case"in_progress":return"status-processing";case"pending":return"status-pending";case"error":return"status-error";case"deleting":return"status-deleting";default:return""}}};s.\u0275fac=function(i){return new(i||s)(x(G),x(y),x(it),x(K),x(nt))},s.\u0275cmp=A({type:s,selectors:[["app-brains"]],features:[U([y])],decls:19,vars:16,consts:[[1,"brains-page"],[1,"brains-page__title","text--title"],[1,"margin-top--8"],[1,"toolbar"],[1,"search-form"],["inputClass","filter-input",3,"ngModelChange","ngModel","placeholder"],["leftContent","",1,"pi","pi-search","common-icon--sm",2,"margin-left","8px"],[1,"toolbar-actions"],["variant","outlined","icon","pi pi-refresh","styleClass","refresh-btn","tooltipPosition","top",3,"onClick","disabled","pTooltip"],["icon","pi pi-plus",3,"onClick",4,"appHasPermission"],[1,"loading-container"],[1,"empty-state"],["icon","pi pi-plus",3,"onClick"],[1,"hidden","md:inline"],["strokeWidth","4"],[1,"empty-state__title"],["src","assets/dapty/dapti-add-brain.png","alt","Dapty adding a brain.","loading","lazy"],[1,"brains-grid"],["role","button","tabindex","0",1,"brain-card",3,"brain-card--deleting","brain-card--processing"],[1,"pagination-wrapper"],[3,"pageChange","currentPage","lastPage","totalResults","pageSize"],["role","button","tabindex","0",1,"brain-card",3,"click","keydown.enter"],[1,"card-header"],[1,"brain-info"],[1,"brain-name"],[1,"brain-status",3,"ngClass"],[1,"pi","pi-spinner","pi-spin",2,"font-size","10px"],[1,"dot-status",3,"ngClass"],[1,"brain-status-text"],[1,"card-actions"],["variant","text","customColor","var(--danger-500)","styleClass","action-btn","tooltipPosition","top",3,"pTooltip","disabled","onClick",4,"appHasPermission"],["class","brain-description",4,"ngIf"],[1,"card-stats"],[1,"stat-item"],["iconName","file_copy","size","14px"],["iconName","data_table","size","16px"],["variant","text","customColor","var(--danger-500)","styleClass","action-btn","tooltipPosition","top",3,"onClick","pTooltip","disabled"],["iconName","delete"],[1,"brain-description"]],template:function(i,c){i&1&&(a(0,"section",0)(1,"h1",1),d(2),g(3,"translate"),o(),a(4,"p",2),d(5),g(6,"translate"),o(),a(7,"div",3)(8,"div",4)(9,"dapta-input",5),g(10,"translate"),V("ngModelChange",function(O){return j(c.searchTerm,O)||(c.searchTerm=O),O}),u("ngModelChange",function(){return c.onSearchChange()}),_(11,"div",6),o()(),a(12,"div",7)(13,"dui-button",8),g(14,"translate"),u("onClick",function(){return c.refreshBrains()}),o(),v(15,ut,4,3,"dui-button",9),o()(),S(16,Ct,2,0,"div",10)(17,ht,6,4,"div",11)(18,vt,5,4),o()),i&2&&(r(2),C(m(3,8,"SIDEBAR.BRAINS")),r(3),C(m(6,10,"BRAINS.SUBTITLE")),r(4),F("ngModel",c.searchTerm),l("placeholder",m(10,12,"BRAINS.SEARCH_PLACEHOLDER")),r(4),l("disabled",!!c.loading)("pTooltip",m(14,14,"COMMON.REFRESH")),r(2),l("appHasPermission",c.permissionsList.DATA_STUDIO.BRAINS_WRITE),r(),T(c.loading?16:c.brains.length===0?17:18))},dependencies:[W,L,H,et,Z,tt,X,J,q,ct,st,Y,rt,at,ot,mt,pt,Q],styles:[".brains-page[_ngcontent-%COMP%]{height:100%;overflow:auto;padding:var(--page-padding);padding-top:0;padding-bottom:0}.brains-page__title[_ngcontent-%COMP%]{padding-top:16px}.toolbar[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}.search-form[_ngcontent-%COMP%]{flex:1;max-width:400px}.toolbar-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.toolbar-actions[_ngcontent-%COMP%] .brains-count[_ngcontent-%COMP%]{font-size:var(--font-size-body);color:var(--contrast-200)}.refresh-btn[_ngcontent-%COMP%]{height:40px;width:40px;padding:0}.refresh-btn[_ngcontent-%COMP%]:hover{border-color:var(--primary-400);color:var(--primary-400)}.refresh-btn[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}[_nghost-%COMP%] .filter-input{height:40px!important}.loading-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-height:300px;margin-top:24px}.empty-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px;margin-top:24px}.empty-state[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:180px;height:180px;min-width:180px;min-height:180px;object-fit:contain;margin-bottom:32px}.empty-state__title[_ngcontent-%COMP%]{font-size:var(--font-size-title);font-weight:600;color:var(--space-100);margin-bottom:32px}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:var(--font-size-body);color:var(--contrast-200);margin:0 0 24px;max-width:400px}.brains-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:24px}.brain-card[_ngcontent-%COMP%]{background:var(--space-400);border-radius:8px;padding:16px;transition:border-color .2s ease,opacity .2s ease}.brain-card--processing[_ngcontent-%COMP%]{border:1px solid rgba(59,130,246,.3);animation:_ngcontent-%COMP%_card-processing-pulse 3s ease-in-out infinite}.brain-card--deleting[_ngcontent-%COMP%]{opacity:.5;pointer-events:none;cursor:default}.brain-card[_ngcontent-%COMP%]:hover{border-color:var(--primary-400);
1cursor:pointer}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%]{flex:1;min-width:0}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-name[_ngcontent-%COMP%]{font-size:var(--font-size-title);font-weight:600;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-body);font-weight:var(--font-weight-regular);padding:4px 6px;border-radius:6px;width:fit-content}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status[_ngcontent-%COMP%] .dot-status[_ngcontent-%COMP%]{width:10px;height:10px;border-radius:50%;background:var(--tag-color-approved)}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-complete[_ngcontent-%COMP%]{background:var(--tag-background-approved);color:var(--tag-color-approved)}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-complete[_ngcontent-%COMP%] .dot-status[_ngcontent-%COMP%]{background:var(--tag-color-approved)}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-processing[_ngcontent-%COMP%]{background:#3b82f626;color:#3b82f6}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-processing[_ngcontent-%COMP%] .dot-status[_ngcontent-%COMP%]{background:#3b82f6;animation:_ngcontent-%COMP%_status-dot-pulse 1.5s ease-in-out infinite}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-pending[_ngcontent-%COMP%]{background:#eab30826;color:#eab308}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-pending[_ngcontent-%COMP%] .dot-status[_ngcontent-%COMP%]{background:#eab308;animation:_ngcontent-%COMP%_status-dot-pulse 1.5s ease-in-out infinite}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-error[_ngcontent-%COMP%]{background:#ef444426;color:var(--danger-350)}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-error[_ngcontent-%COMP%] .dot-status[_ngcontent-%COMP%]{background:var(--danger-350)}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .brain-info[_ngcontent-%COMP%] .brain-status.status-deleting[_ngcontent-%COMP%]{background:#ef444426;color:var(--danger-350)}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .card-actions[_ngcontent-%COMP%]{display:flex;gap:4px;margin-left:8px}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .card-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer}.brain-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .card-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]:hover{background:var(--space-300)}.brain-card[_ngcontent-%COMP%] .brain-description[_ngcontent-%COMP%]{font-size:13px;color:var(--contrast-200);margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brain-card[_ngcontent-%COMP%] .card-stats[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:16px;padding-top:12px}.brain-card[_ngcontent-%COMP%] .card-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;font-size:var(--font-size-body);color:var(--space-100)}.pagination-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;padding:24px 0}@media(max-width:800px){.toolbar[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.search-form[_ngcontent-%COMP%]{width:100%;max-width:100%}.toolbar-actions[_ngcontent-%COMP%]{justify-content:flex-end}.brains-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}@keyframes _ngcontent-%COMP%_card-processing-pulse{0%,to{box-shadow:0 0 #3b82f61a}50%{box-shadow:0 0 12px 2px #3b82f626}}@keyframes _ngcontent-%COMP%_status-dot-pulse{0%,to{opacity:1}50%{opacity:.3}}"]});let n=s;return n})();export{Xt as BrainsComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.