PageSourceSearch

https://bysophia.ai/chunk-NUEZXYVE.js

js bysophia.ai collected 2026-10-05 11:53:17 UTC 21,389 bytes, 1 lines download raw bytes

1import{a as Z}from"./chunk-IXZXTBDO.js";import{a as E,b as k,d as A,e as T}from"./chunk-DCG5M5TT.js";import{a as V}from"./chunk-HNUSXH7X.js";import{a as N}from"./chunk-K5TGYZ7U.js";import{$ as oe,A as P,B as w,E as ee,G as te,K as ne,Y as ie,_ as R,b as Q,c as L,p as X,r as Y,s as O,x as M}from"./chunk-4DE4JTRT.js";import{Ac as x,Bb as j,Cb as I,Db as H,Eb as h,Fb as i,Gb as n,Hb as J,Mb as B,Ob as u,Qb as p,Sa as F,Wa as l,a as q,b as K,ba as g,cc as a,dc as _,ec as C,ga as v,ha as b,ib as y,pc as z,sa as f,ua as G,xb as d,zb as c}from"./chunk-3OJZI24V.js";var ae=()=>[],me=(e,s)=>s.agent;function pe(e,s){if(e&1){let t=B();i(0,"div",7)(1,"input",12),u("ngModelChange",function(r){v(t);let m=p();return b(m.nameInput.set(r))}),n(),i(2,"button",13),u("click",function(){v(t);let r=p();return b(r.onSaveName())}),a(3),n(),i(4,"button",14),u("click",function(){v(t);let r=p();return b(r.onCancelName())}),a(5,"Cancel"),n()()}if(e&2){let t=p();l(),h("ngModel",t.nameInput()),l(),h("disabled",t.savingName()),l(),C(" ",t.savingName()?"Saving\u2026":"Save"," ")}}function ue(e,s){if(e&1){let t=B();i(0,"div",7)(1,"span",15),a(2),n(),i(3,"button",16),u("click",function(){v(t);let r=p();return b(r.onStartEditName())}),a(4,"Edit"),n()()}if(e&2){let t,o=p();l(2),_(((t=o.userDoc())==null?null:t.name)||"\u2014")}}function fe(e,s){e&1&&(i(0,"span",5),a(1,"Tenant"),n(),i(2,"span",15),a(3),n()),e&2&&(l(3),_(s))}function ge(e,s){if(e&1&&(i(0,"span",9),a(1),n()),e&2){let t=s.$implicit,o=p();l(),_(o.roleLabel(t))}}function xe(e,s){e&1&&(i(0,"span",5),a(1,"Member since"),n(),i(2,"span",15),a(3),n()),e&2&&(l(3),_(s))}function _e(e,s){if(e&1&&(i(0,"span",18),a(1),n()),e&2){let t=s.$implicit;l(),_(t)}}function he(e,s){if(e&1&&(i(0,"span",5),a(1,"Knowledge tags"),n(),i(2,"div",17)(3,"div",8),I(4,_e,2,1,"span",18,j),n(),i(6,"p",19),a(7," Default knowledge filter applied to every agent that doesn't have its own override below. Document retrieval narrows to the intersection of these tags and the agent's own tags. "),n()()),e&2){let t,o=p();l(4),H(((t=o.userDoc())==null?null:t.tags)??z(0,ae))}}function Ce(e,s){if(e&1&&(i(0,"span",18),a(1),n()),e&2){let t=s.$implicit;l(),_(t)}}function ve(e,s){if(e&1&&(i(0,"div",22)(1,"span",23),a(2),n(),i(3,"span",24),a(4,"\u2192"),n(),I(5,Ce,2,1,"span",18,j),n()),e&2){let t=s.$implicit;l(2),_(t.agent),l(3),H(t.tags)}}function be(e,s){if(e&1&&(i(0,"span",20),a(1,"Per-agent overrides"),n(),i(2,"div",21),I(3,ve,7,1,"div",22,me),i(5,"p",19),a(6," When you chat with one of these agents, document retrieval narrows to the intersection of these tags and the agent's own tags (instead of the default above). "),n()()),e&2){let t=p();l(3),H(t.agentOverrides())}}var re=(()=>{class e{constructor(){this.authService=g(w),this.http=g(L),this.userDoc=f(null),this.tenantDoc=f(null),this.editingName=f(!1),this.nameInput=f(""),this.savingName=f(!1),this.status=x(()=>this.userDoc()?.status??null),this.statusLabel=x(()=>this.status()??"active"),this.agentOverrides=x(()=>{let o=this.userDoc()?.agentTagRestrictions??{};return Object.entries(o).filter(([,r])=>Array.isArray(r)&&r.length>0).map(([r,m])=>({agent:r,tags:m})).sort((r,m)=>r.agent.localeCompare(m.agent))}),this.tenantLabel=x(()=>{let o=this.authService.tenant();return o?this.tenantDoc()?.name??o:null}),this.memberSince=x(()=>{let o=this.userDoc()?._etag?.$oid;if(!o||o.length<8)return null;let r=parseInt(o.substring(0,8),16);return!Number.isFinite(r)||r===0?null:new Date(r*1e3).toLocaleDateString()});let t=this.authService.username();t&&this.http.get(`${M.API_URL}/users/${encodeURIComponent(t)}`).subscribe({next:o=>{this.userDoc.set(o);let r=o?.tenant??this.authService.tenant();r&&this.http.get(`${M.API_URL}/tenants/${encodeURIComponent(r)}`).subscribe({next:m=>this.tenantDoc.set(m),error:()=>{}})},error:()=>{}})}roleLabel(t){switch(t){case"admin":return"Admin";case"tenant-admin":return"Tenant Admin";case"user":return"User";default:return t}}onStartEditName(){this.nameInput.set(this.userDoc()?.name??""),this.editingName.set(!0)}onCancelName(){this.editingName.set(!1),this.nameInput.set("")}onSaveName(){let t=this.authService.username();if(!t)return;
1let o=this.nameInput().trim(),r=this.userDoc()?.name??"";if(o===r){this.editingName.set(!1);return}this.savingName.set(!0);let m={name:o.length>0?o:null};this.http.patch(`${M.API_URL}/users/${encodeURIComponent(t)}`,m).subscribe({next:()=>{this.userDoc.update(D=>D&&K(q({},D),{name:o||void 0})),this.editingName.set(!1),this.savingName.set(!1),N.success("Display name updated")},error:()=>{this.savingName.set(!1),N.error("Could not update name")}})}static{this.\u0275fac=function(o){return new(o||e)}}static{this.\u0275cmp=y({type:e,selectors:[["app-profile-account"]],decls:30,vars:9,consts:[["hlmCard","",1,"bg-dark-300","border-dark-50"],["hlmCardHeader",""],["hlmCardTitle","",1,"text-lg","text-gray-100"],["hlmCardContent","",1,"space-y-3","text-sm"],[1,"grid","grid-cols-[120px_1fr]","gap-y-2","gap-x-3","items-center"],[1,"text-gray-500"],[1,"text-gray-200","font-mono"],[1,"flex","items-center","gap-2"],[1,"flex","flex-wrap","gap-1"],["hlmBadge","","variant","secondary",1,"px-1.5","py-0","text-[10px]","leading-5"],["hlmBadge","",1,"px-1.5","py-0","text-[10px]","leading-5",3,"variant"],[1,"text-xs","text-gray-500","leading-relaxed","pt-2"],["hlmInput","","placeholder","(none)",1,"h-7","max-w-xs","text-xs",3,"ngModelChange","ngModel"],["hlmBtn","","size","sm",1,"h-7","px-2","text-xs",3,"click","disabled"],["hlmBtn","","variant","ghost","size","sm",1,"h-7","px-2","text-xs","text-gray-500",3,"click"],[1,"text-gray-200"],["hlmBtn","","variant","ghost","size","sm",1,"h-6","px-1.5","text-[11px]","text-gray-500",3,"click"],[1,"flex","flex-col","gap-1"],["hlmBadge","","variant","outline",1,"px-1.5","py-0","text-[10px]","leading-5","text-sky-400","border-sky-400/40"],[1,"text-[11px]","text-gray-500","leading-relaxed"],[1,"text-gray-500","self-start","mt-1"],[1,"flex","flex-col","gap-1.5"],[1,"flex","flex-wrap","items-center","gap-1.5"],[1,"text-xs","text-gray-300","font-mono"],[1,"text-[10px]","text-gray-600"]],template:function(o,r){if(o&1&&(i(0,"section",0)(1,"div",1)(2,"h2",2),a(3,"Account"),n()(),i(4,"div",3)(5,"div",4)(6,"span",5),a(7,"Email"),n(),i(8,"span",6),a(9),n(),i(10,"span",5),a(11,"Display name"),n(),d(12,pe,6,3,"div",7)(13,ue,5,1,"div",7),d(14,fe,4,1),i(15,"span",5),a(16,"Roles"),n(),i(17,"div",8),I(18,ge,2,1,"span",9,j),n(),i(20,"span",5),a(21,"Status"),n(),i(22,"div")(23,"span",10),a(24),n()(),d(25,xe,4,1),d(26,he,8,1),d(27,be,7,0),n(),i(28,"p",11),a(29," To change email, tenant, roles or knowledge tags, please contact an administrator. "),n()()()),o&2){let m,D,U;l(9),_(r.authService.username()),l(3),c(r.editingName()?12:13),l(2),c((m=r.tenantLabel())?14:-1,m),l(4),H(r.authService.roles()),l(5),h("variant",r.statusLabel()==="active"?"secondary":"destructive"),l(),C(" ",r.statusLabel()," "),l(),c((D=r.memberSince())?25:-1,D),l(),c((((U=r.userDoc())==null?null:U.tags)??z(8,ae)).length>0?26:-1),l(),c(r.agentOverrides().length>0?27:-1)}},dependencies:[ie,ee,te,ne,E,k,A,T,V,P,R],encapsulation:2})}}return e})();var ye=(e,s)=>s._id;function Pe(e,s){if(e&1&&(i(0,"span",4),a(1),n()),e&2){let t=p();l(),C("(",t.agents().length,")")}}function we(e,s){e&1&&(i(0,"a",7),u("click",function(o){return o.stopPropagation()}),a(1,"Manage all"),n())}function Se(e,s){e&1&&(i(0,"p",8),a(1,"Loading\u2026"),n())}function Ee(e,s){e&1&&(i(0,"p",8),a(1,"No agents accessible."),n())}function ke(e,s){e&1&&(i(0,"span",14),a(1,"private"),n())}function Ae(e,s){e&1&&(i(0,"span",15),a(1,"public"),n())}function Te(e,s){if(e&1&&(i(0,"span",16),a(1),n()),e&2){let t=p().$implicit;l(),_(t.welcome)}}function De(e,s){if(e&1&&(i(0,"li",10)(1,"div",11)(2,"div",12)(3,"span",13),a(4),n(),d(5,ke,2,0,"span",14)(6,Ae,2,0,"span",15),n(),d(7,Te,2,1,"span",16),n(),i(8,"a",17),a(9),n()()),e&2){let t=s.$implicit,o=p(3);l(4),_(t._id),l(),c(t.private?5:6),l(2),c(t.welcome?7:-1),l(),h("routerLink",o.agentLink(t._id)),l(),C(" ",o.authService.isAnyAdmin()?"Edit":"Open"," ")}}function Ne(e,s){if(e&1&&(i(0,"ul",9),I(1,De,10,5,"li",10,ye),n()),e&2){let t=p(2);l(),H(t.agents())}}function Me(e,s){if(e&1&&(i(0,"div",6),d(1,Se,2,0,"p",8)(2,Ee,2,0,"p",8)(3,Ne,3,0,"ul",9),n()),e&2){let t=p();l(),c(t.loading()?1:t.agents().length===0?2:3)}}var le=(()=>{class e{constructor(){this.authService=g(w),this.http=g(L),this.agents=f([]),this.loading=f(!0),this.expanded=f(!1),this.http.get(`${M.API_URL}
1/agents`).subscribe({next:t=>{this.agents.set(Array.isArray(t)?t:[]),this.loading.set(!1)},error:()=>this.loading.set(!1)})}agentLink(t){return this.authService.isAnyAdmin()?`/admin/agents/${t}`:`/${t}`}static{this.\u0275fac=function(o){return new(o||e)}}static{this.\u0275cmp=y({type:e,selectors:[["app-profile-agents"]],decls:9,vars:4,consts:[["hlmCard","",1,"bg-dark-300","border-dark-50"],["hlmCardHeader","","type","button",1,"w-full","flex","flex-row","items-center","justify-between","gap-2","cursor-pointer","hover:bg-dark-200/30","transition-colors","text-left",3,"click"],["hlmCardTitle","",1,"text-lg","text-gray-100","flex","items-center","gap-2"],[1,"text-gray-500","text-sm","w-3","inline-block"],[1,"text-xs","text-gray-500","font-normal"],["hlmBtn","","variant","ghost","size","sm","routerLink","/admin/agents"],["hlmCardContent","",1,"space-y-2","text-sm"],["hlmBtn","","variant","ghost","size","sm","routerLink","/admin/agents",3,"click"],[1,"text-gray-500"],[1,"divide-y","divide-dark-50"],[1,"flex","items-center","justify-between","py-2","gap-3"],[1,"flex","flex-col","gap-0.5","min-w-0","flex-1"],[1,"flex","items-center","gap-2"],[1,"font-mono","text-gray-200","truncate"],["hlmBadge","","variant","secondary",1,"px-1.5","py-0","text-[10px]","leading-5"],["hlmBadge","","variant","outline",1,"px-1.5","py-0","text-[10px]","leading-5"],[1,"text-xs","text-gray-500","line-clamp-1"],["hlmBtn","","variant","ghost","size","sm",3,"routerLink"]],template:function(o,r){o&1&&(i(0,"section",0)(1,"button",1),u("click",function(){return r.expanded.set(!r.expanded())}),i(2,"h2",2)(3,"span",3),a(4),n(),a(5," Accessible Agents "),d(6,Pe,2,1,"span",4),n(),d(7,we,2,0,"a",5),n(),d(8,Me,4,1,"div",6),n()),o&2&&(l(4),_(r.expanded()?"\u25BE":"\u25B8"),l(2),c(r.loading()?-1:6),l(),c(r.authService.isAnyAdmin()?7:-1),l(),c(r.expanded()?8:-1))},dependencies:[E,k,A,T,P,V,O],encapsulation:2})}}return e})();function Ie(e,s){e&1&&(i(0,"p",9),a(1,"Passwords don't match."),n())}function He(e,s){if(e&1){let t=B();i(0,"div",4)(1,"div",5)(2,"label",6),a(3,"Current password"),n(),i(4,"input",7),u("input",function(r){v(t);let m=p();return b(m.currentPwd.set(r.target.value))}),n()(),i(5,"div",5)(6,"label",6),a(7,"New password"),n(),i(8,"input",8),u("input",function(r){v(t);let m=p();return b(m.newPwd.set(r.target.value))}),n()(),i(9,"div",5)(10,"label",6),a(11,"Confirm new password"),n(),i(12,"input",8),u("input",function(r){v(t);let m=p();return b(m.confirmPwd.set(r.target.value))}),n(),d(13,Ie,2,0,"p",9),n(),i(14,"p",10),a(15," Password strength is checked by the server. If your new password is too weak, you'll be prompted to choose a stronger one. "),n(),i(16,"div",11)(17,"a",12),a(18," Forgot current password? "),n(),i(19,"button",13),u("click",function(){v(t);let r=p();return b(r.onSubmit())}),a(20),n()()()}if(e&2){let t=p();l(4),h("value",t.currentPwd()),l(4),h("value",t.newPwd()),l(4),h("value",t.confirmPwd()),l(),c(t.confirmPwd().length>0&&t.newPwd()!==t.confirmPwd()?13:-1),l(6),h("disabled",!t.canSubmit()||t.submitting()),l(),C(" ",t.submitting()?"Updating\u2026":"Update password"," ")}}var se=(()=>{class e{constructor(){this.authService=g(w),this.currentPwd=f(""),this.newPwd=f(""),this.confirmPwd=f(""),this.submitting=f(!1),this.expanded=f(!1),this.canSubmit=x(()=>this.currentPwd().length>0&&this.newPwd().length>0&&this.confirmPwd()===this.newPwd())}onSubmit(){!this.canSubmit()||this.submitting()||(this.submitting.set(!0),this.authService.changePassword(this.currentPwd(),this.newPwd()).subscribe(t=>{switch(this.submitting.set(!1),t){case"ok":N.success("Password updated"),this.currentPwd.set(""),this.newPwd.set(""),this.confirmPwd.set("");break;case"wrong-current-password":N.error("Current password is incorrect");break;case"weak-password":N.error("Password too weak \u2014 please choose a stronger one");break;default:N.error("Failed to update password. Please try again.")}}))}static{this.\u0275fac=function(o){return new(o||e)}}static{this.\u0275cmp=y({type:e,selectors:[["app-profile-change-password"]],decls:7,vars:2,consts:[["hlmCard","",1,"bg-dark-300","border-dark-50"],["hlmC
1ardHeader","","type","button",1,"w-full","flex","flex-row","items-center","justify-between","gap-2","cursor-pointer","hover:bg-dark-200/30","transition-colors","text-left",3,"click"],["hlmCardTitle","",1,"text-lg","text-gray-100","flex","items-center","gap-2"],[1,"text-gray-500","text-sm","w-3","inline-block"],["hlmCardContent","",1,"space-y-4","text-sm"],[1,"space-y-1.5"],["hlmLabel","",1,"text-xs","text-gray-400"],["hlmInput","","type","password","autocomplete","current-password",1,"w-full","bg-dark-400","border-dark-50",3,"input","value"],["hlmInput","","type","password","autocomplete","new-password",1,"w-full","bg-dark-400","border-dark-50",3,"input","value"],[1,"text-[11px]","text-red-400","mt-1"],[1,"text-[11px]","text-gray-500"],[1,"flex","items-center","justify-between","pt-1"],["routerLink","/auth/forgot-password",1,"text-xs","text-brand","hover:underline"],["hlmBtn","","size","sm",3,"click","disabled"]],template:function(o,r){o&1&&(i(0,"section",0)(1,"button",1),u("click",function(){return r.expanded.set(!r.expanded())}),i(2,"h2",2)(3,"span",3),a(4),n(),a(5," Change Password "),n()(),d(6,He,21,6,"div",4),n()),o&2&&(l(4),_(r.expanded()?"\u25BE":"\u25B8"),l(2),c(r.expanded()?6:-1))},dependencies:[E,k,A,T,P,R,oe,O],encapsulation:2})}}return e})();function Be(e,s){e&1&&(i(0,"p",5),a(1,"Loading\u2026"),n())}function Le(e,s){e&1&&(i(0,"span",11),a(1),n()),e&2&&(l(),C("accepted v",s))}function Ve(e,s){e&1&&(i(0,"span",12),a(1,"not accepted"),n())}function Ue(e,s){e&1&&(i(0,"span",12),a(1,"re-acceptance required"),n())}function $e(e,s){e&1&&(i(0,"span",13),a(1),n()),e&2&&(l(),C("on ",s))}function Fe(e,s){e&1&&(i(0,"a",14),a(1,"read current"),n()),e&2&&h("href",s,F)}function je(e,s){e&1&&(i(0,"span",11),a(1),n()),e&2&&(l(),C("accepted v",s))}function Oe(e,s){e&1&&(i(0,"span",12),a(1,"not accepted"),n())}function Re(e,s){e&1&&(i(0,"span",12),a(1,"re-acceptance required"),n())}function ze(e,s){e&1&&(i(0,"span",13),a(1),n()),e&2&&(l(),C("on ",s))}function We(e,s){e&1&&(i(0,"a",14),a(1,"read current"),n()),e&2&&h("href",s,F)}function qe(e,s){e&1&&(i(0,"p",15),a(1," Cookie usage: "),i(2,"a",17),a(3,"Cookie Policy"),n(),a(4," (informational \u2014 Sophia uses only essential authentication cookies). "),n()),e&2&&(l(2),h("href",s,F))}function Ke(e,s){if(e&1){let t=B();i(0,"div",16)(1,"button",18),u("click",function(){v(t);let r=p(2);return b(r.reAccept())}),a(2,"Update acceptance"),n()()}}function Ge(e,s){if(e&1&&(i(0,"div",6)(1,"div",7)(2,"div",8)(3,"div",9)(4,"span",10),a(5,"Terms of Service"),n(),d(6,Le,2,1,"span",11)(7,Ve,2,0,"span",12),d(8,Ue,2,0,"span",12),n(),d(9,$e,2,1,"span",13),n(),d(10,Fe,2,1,"a",14),n(),i(11,"div",7)(12,"div",8)(13,"div",9)(14,"span",10),a(15,"Privacy Policy"),n(),d(16,je,2,1,"span",11)(17,Oe,2,0,"span",12),d(18,Re,2,0,"span",12),n(),d(19,ze,2,1,"span",13),n(),d(20,We,2,1,"a",14),n(),d(21,qe,5,1,"p",15),n(),d(22,Ke,3,0,"div",16)),e&2){let t,o,r,m,D,U,W,S=p();l(6),c((t=S.termsAcceptedVersion())?6:7,t),l(2),c(S.termsOutdated()?8:-1),l(),c((o=S.termsAcceptedAt())?9:-1,o),l(),c((r=S.currentTermsUrl())?10:-1,r),l(6),c((m=S.privacyAcceptedVersion())?16:17,m),l(2),c(S.privacyOutdated()?18:-1),l(),c((D=S.privacyAcceptedAt())?19:-1,D),l(),c((U=S.currentPrivacyUrl())?20:-1,U),l(),c((W=S.cookiesUrl())?21:-1,W),l(),c(S.termsOutdated()||S.privacyOutdated()?22:-1)}}var de=(()=>{class e{constructor(){this.authService=g(w),this.http=g(L),this.legal=g(Z),this.loading=f(!0),this.userDoc=f(null),this.currentTermsUrl=x(()=>this.legal.current()?.terms?.url??null),this.currentPrivacyUrl=x(()=>this.legal.current()?.privacy?.url??null),this.cookiesUrl=x(()=>this.legal.current()?.cookies?.url??null),this.termsAcceptedVersion=x(()=>this.userDoc()?.consents?.termsAndConditions?.version??null),this.privacyAcceptedVersion=x(()=>this.userDoc()?.consents?.privacyPolicy?.version??null),this.termsAcceptedAt=x(()=>this.formatDate(this.userDoc()?.consents?.termsAndConditions?.acceptedAt)),this.privacyAcceptedAt=x(()=>this.formatDate(this.userDoc()?.consents?.privacyPolicy?.acceptedAt)),this.termsOutdated=x(()=>{let o=this.termsAcceptedVersion(),r=this.legal.current()?.terms?.version;return!o||!r?!1:this.major(o)!==this.major(r)}),this.privacyOutdated=x(()=>{let o=this.privacyAcceptedVersion(),r=this.legal.current()?.privacy?.version;return!o||!r?!1:this.major(o)!==this.major(r)}),this.legal.fetchCurrent().subscribe({error:()=>{}}),this.refresh();let t=this.legal.needsAcceptance();G(()=>{let o=this.legal.needsAcceptance();t&&!o&&this.refresh(),t=o})}refresh(){let t=this.authService.username();if(!t){this.loading.set(!1);return}this.loading.set(!0),this.http.get(`${M.API_URL}
1/users/${encodeURIComponent(t)}`,{params:new Q().set("_",Date.now())}).subscribe({next:o=>{this.userDoc.set(o),this.loading.set(!1)},error:()=>this.loading.set(!1)})}reAccept(){this.legal.flagNeedsAcceptance()}major(t){let o=t.indexOf(".");return o>0?t.substring(0,o):t}formatDate(t){return!t||typeof t.$date!="number"?null:new Date(t.$date).toLocaleDateString()}static{this.\u0275fac=function(o){return new(o||e)}}static{this.\u0275cmp=y({type:e,selectors:[["app-profile-policies"]],decls:9,vars:2,consts:[["hlmCard","",1,"bg-dark-300","border-dark-50"],["hlmCardHeader","",1,"flex","flex-row","items-center","justify-between","gap-2"],["hlmCardTitle","",1,"text-lg","text-gray-100"],["hlmBtn","","variant","ghost","size","sm","type","button","title","Reload from server",3,"click","disabled"],["hlmCardContent","",1,"space-y-3","text-sm"],[1,"text-gray-500"],[1,"space-y-2.5"],[1,"flex","items-start","justify-between","gap-3"],[1,"flex","flex-col","gap-0.5"],[1,"flex","items-center","gap-2"],[1,"text-gray-200"],[1,"text-xs","text-gray-500"],["hlmBadge","","variant","destructive",1,"px-1.5","py-0","text-[10px]","leading-5"],[1,"text-[11px]","text-gray-500"],["target","_blank","rel","noopener noreferrer",1,"text-xs","text-brand","hover:underline","whitespace-nowrap",3,"href"],[1,"text-[11px]","text-gray-500","pt-1"],[1,"pt-1"],["target","_blank","rel","noopener noreferrer",1,"text-brand","hover:underline",3,"href"],["hlmBtn","","size","sm",3,"click"]],template:function(o,r){o&1&&(i(0,"section",0)(1,"div",1)(2,"h2",2),a(3,"Accepted Policies"),n(),i(4,"button",3),u("click",function(){return r.refresh()}),a(5,"\u21BB"),n()(),i(6,"div",4),d(7,Be,2,0,"p",5)(8,Ge,23,10),n()()),o&2&&(l(4),h("disabled",r.loading()),l(3),c(r.loading()?7:8))},dependencies:[E,k,A,T,V,P],encapsulation:2})}}return e})();var ce=(()=>{class e{constructor(){this.authService=g(w)}static{this.\u0275fac=function(o){return new(o||e)}}static{this.\u0275cmp=y({type:e,selectors:[["app-profile-session"]],decls:13,vars:1,consts:[["hlmCard","",1,"bg-dark-300","border-dark-50"],["hlmCardHeader",""],["hlmCardTitle","",1,"text-lg","text-gray-100"],["hlmCardContent","",1,"space-y-3","text-sm"],[1,"text-gray-400"],[1,"font-mono","text-gray-200"],["hlmBtn","","variant","destructive","size","sm",3,"click"]],template:function(o,r){o&1&&(i(0,"section",0)(1,"div",1)(2,"h2",2),a(3,"Session"),n()(),i(4,"div",3)(5,"p",4),a(6," Logged in as "),i(7,"span",5),a(8),n(),a(9,". "),n(),i(10,"div")(11,"button",6),u("click",function(){return r.authService.logout()}),a(12," Logout "),n()()()()),o&2&&(l(8),_(r.authService.username()))},dependencies:[E,k,A,T,P],encapsulation:2})}}return e})();var tn=(()=>{class e{constructor(){this.authService=g(w),this.route=g(X),this.router=g(Y)}goBack(){let t=this.route.snapshot.queryParamMap.get("back");if(t&&t.startsWith("/")&&!t.startsWith("//")&&!t.startsWith("/profile")){this.router.navigateByUrl(t);return}this.router.navigateByUrl(this.authService.isAnyAdmin()?"/admin":"/")}static{this.\u0275fac=function(o){return new(o||e)}}static{this.\u0275cmp=y({type:e,selectors:[["app-profile"]],decls:15,vars:0,consts:[[1,"shrink-0","border-b","border-dark-50","bg-dark-300","px-6","py-3","flex","items-center","justify-between"],[1,"flex","items-center","gap-3"],[1,"text-lg","font-bold","text-brand"],[1,"text-xs","text-gray-500"],["hlmBtn","","variant","ghost","size","sm","type","button",3,"click"],[1,"scroll-area"],[1,"mx-auto","max-w-2xl","px-4","py-6","flex","flex-col","gap-4"]],template:function(o,r){o&1&&(i(0,"header",0)(1,"div",1)(2,"h1",2),a(3,"Sophia"),n(),i(4,"span",3),a(5,"Profile"),n()(),i(6,"button",4),u("click",function(){return r.goBack()}),a(7,"\u2190 Back"),n()(),i(8,"main",5)(9,"div",6),J(10,"app-profile-account")(11,"app-profile-agents")(12,"app-profile-change-password")(13,"app-profile-policies")(14,"app-profile-session"),n()())},dependencies:[P,re,le,se,de,ce],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:calc(var(--vh, 1vh) * 100);background-color:#0f0f14;color:#e8e9ed}.scroll-area[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto}"]})}}return e})();export{tn as ProfileComponent};

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.