@whoz-oss/coday-client 0.0.0-workstream-forge.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdpartylicenses.txt +1341 -0
- package/browser/CODAY-Logo.png +0 -0
- package/browser/apple-touch-icon.png +0 -0
- package/browser/chunk-1xKCP6gl.js +1 -0
- package/browser/chunk-B1gTtKFG.js +1 -0
- package/browser/chunk-BIdH1XJF.js +276 -0
- package/browser/chunk-BSAXfS2x.js +1 -0
- package/browser/chunk-Bbb2Oy9I.js +508 -0
- package/browser/chunk-BjBW1d-u.js +675 -0
- package/browser/chunk-BlUiCEeR.js +1 -0
- package/browser/chunk-BloWX02p.js +1 -0
- package/browser/chunk-BmHNWYuZ.js +1 -0
- package/browser/chunk-Bo1DjeiW.js +190 -0
- package/browser/chunk-Boc0RvBR.js +1 -0
- package/browser/chunk-Bol7PdRu.js +1 -0
- package/browser/chunk-BtBbv-Bf.js +1 -0
- package/browser/chunk-BvO---8Y.js +429 -0
- package/browser/chunk-Bv_n_Pea.js +141 -0
- package/browser/chunk-C-VoWDOg.js +10 -0
- package/browser/chunk-C0DMx9CU.js +1 -0
- package/browser/chunk-C3cvHmBJ.js +1 -0
- package/browser/chunk-C5mPb_F4.js +1 -0
- package/browser/chunk-C6x9SBjG.js +1 -0
- package/browser/chunk-CBwpP2V0.js +1 -0
- package/browser/chunk-CCEiNYBj.js +1 -0
- package/browser/chunk-CCQAu0MS.js +1 -0
- package/browser/chunk-CE5rgBGE.js +182 -0
- package/browser/chunk-CERsD1uZ.js +1 -0
- package/browser/chunk-CFY3CFkD.js +1 -0
- package/browser/chunk-CFfiJ53b.js +474 -0
- package/browser/chunk-CG4buEjj.js +1 -0
- package/browser/chunk-CGL1Leue.js +1 -0
- package/browser/chunk-CGlvdEI7.js +2 -0
- package/browser/chunk-CHSLALZZ.js +111 -0
- package/browser/chunk-CRrjfkUg.js +5 -0
- package/browser/chunk-CdkqXKu3.js +1 -0
- package/browser/chunk-CfgXrte_.js +1 -0
- package/browser/chunk-ChTqQ8HQ.js +1 -0
- package/browser/chunk-CjKxvXTd.js +1 -0
- package/browser/chunk-Cmp8otOQ.js +2 -0
- package/browser/chunk-CpGwP-5T.js +1 -0
- package/browser/chunk-CrYRdxC9.js +55 -0
- package/browser/chunk-CrZEE1qa.js +1 -0
- package/browser/chunk-Cw62GRPX.js +1 -0
- package/browser/chunk-CxozF4Vf.js +1 -0
- package/browser/chunk-D-vld_6F.js +1 -0
- package/browser/chunk-D2pgQ9ii.js +1 -0
- package/browser/chunk-D5UGtM5T.js +1 -0
- package/browser/chunk-DG8M0PqZ.js +1 -0
- package/browser/chunk-DKg7p59a.js +1 -0
- package/browser/chunk-DOV6c8DN.js +4 -0
- package/browser/chunk-DX05HUs9.js +1 -0
- package/browser/chunk-DZe-m4Sd.js +1 -0
- package/browser/chunk-D_aTK145.js +37 -0
- package/browser/chunk-DczzZnS1.js +1 -0
- package/browser/chunk-Ddpg0y75.js +1 -0
- package/browser/chunk-DgmZwFcU.js +2 -0
- package/browser/chunk-DpKLsgM9.js +1 -0
- package/browser/chunk-DuNMllH-.js +2 -0
- package/browser/chunk-Dz1wgxrF.js +1 -0
- package/browser/chunk-Fh0Lvh-K.js +1 -0
- package/browser/chunk-G_l8BMaJ.js +61 -0
- package/browser/chunk-Ov4I3GYD.js +1 -0
- package/browser/chunk-RUBMO7Yb.js +976 -0
- package/browser/chunk-WuZ8xi__.js +1 -0
- package/browser/chunk-_2qKLbuS.js +1 -0
- package/browser/chunk-a4RWgm8g.js +1 -0
- package/browser/chunk-bIJnspzL.js +1 -0
- package/browser/chunk-cNEt2yX6.js +1 -0
- package/browser/chunk-cg5smJeu.js +1 -0
- package/browser/chunk-q9uyoVUw.js +1 -0
- package/browser/chunk-sqjr_Ky0.js +1 -0
- package/browser/chunk-u3jxNXQ8.js +1 -0
- package/browser/chunk-vQXZQsZC.js +1 -0
- package/browser/icon-192.png +0 -0
- package/browser/icon-512.png +0 -0
- package/browser/index.html +35 -0
- package/browser/main-2GG5NZ4C.js +1811 -0
- package/browser/manifest.json +22 -0
- package/browser/polyfills-2FSRUXKO.js +2 -0
- package/browser/styles-HDA2O7OH.css +1 -0
- package/browser/sw.js +13 -0
- package/package.json +33 -0
- package/prerendered-routes.json +3 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import {dt as A,du as z$1}from'./main-2GG5NZ4C.js';var ut=z$1(Xe=>{"use strict";(function(i){var n=/\S/,t=/\"/g,e=/\n/g,r=/\r/g,a=/\\/g,s=/\u2028/,u=/\u2029/;i.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},i.scan=function(h,g){var S=h.length,U=0,R=1,q=2,E=U,$=null,ee=null,B="",I=[],J=!1,O=0,C=0,L="{{",b="}}";function te(){B.length>0&&(I.push({tag:"_t",text:new String(B)}),B="");}function ge(){for(var A=!0,k=C;k<I.length;k++)if(A=i.tags[I[k].tag]<i.tags._v||I[k].tag=="_t"&&I[k].text.match(n)===null,!A)return !1;return A}function be(A,k){if(te(),A&&ge())for(var _=C,ie;_<I.length;_++)I[_].text&&((ie=I[_+1])&&ie.tag==">"&&(ie.indent=I[_].text.toString()),I.splice(_,1));else k||I.push({tag:`
|
|
2
|
+
`});J=!1,C=I.length;}function ne(A,k){var _="="+b,ie=A.indexOf(_,k),De=f(A.substring(A.indexOf("=",k)+1,ie)).split(" ");return L=De[0],b=De[De.length-1],ie+_.length-1}for(g&&(g=g.split(" "),L=g[0],b=g[1]),O=0;O<S;O++)E==U?v(L,h,O)?(--O,te(),E=R):h.charAt(O)==`
|
|
3
|
+
`?be(J):B+=h.charAt(O):E==R?(O+=L.length-1,ee=i.tags[h.charAt(O+1)],$=ee?h.charAt(O+1):"_v",$=="="?(O=ne(h,O),E=U):(ee&&O++,E=q),J=O):v(b,h,O)?(I.push({tag:$,n:f(B),otag:L,ctag:b,i:$=="/"?J-L.length:O+b.length}),B="",O+=b.length-1,E=U,$=="{"&&(b=="}}"?O++:d(I[I.length-1]))):B+=h.charAt(O);return be(J,!0),I};function d(l){l.n.substr(l.n.length-1)==="}"&&(l.n=l.n.substring(0,l.n.length-1));}function f(l){return l.trim?l.trim():l.replace(/^\s*|\s*$/g,"")}function v(l,h,g){if(h.charAt(g)!=l.charAt(0))return !1;for(var S=1,U=l.length;S<U;S++)if(h.charAt(g+S)!=l.charAt(S))return !1;return !0}var y={_t:!0,"\n":!0,$:!0,"/":!0};function o(l,h,g,S){var U=[],R=null,q=null,E=null;for(q=g[g.length-1];l.length>0;){if(E=l.shift(),q&&q.tag=="<"&&!(E.tag in y))throw new Error("Illegal content in < super tag.");if(i.tags[E.tag]<=i.tags.$||c(E,S))g.push(E),E.nodes=o(l,E.tag,g,S);else if(E.tag=="/"){if(g.length===0)throw new Error("Closing tag without opener: /"+E.n);if(R=g.pop(),E.n!=R.n&&!m(E.n,R.n,S))throw new Error("Nesting error: "+R.n+" vs. "+E.n);return R.end=E.i,U}else E.tag==`
|
|
4
|
+
`&&(E.last=l.length==0||l[0].tag==`
|
|
5
|
+
`);U.push(E);}if(g.length>0)throw new Error("missing closing tag: "+g.pop().n);return U}function c(l,h){for(var g=0,S=h.length;g<S;g++)if(h[g].o==l.n)return l.tag="#",!0}function m(l,h,g){for(var S=0,U=g.length;S<U;S++)if(g[S].c==l&&g[S].o==h)return !0}function p(l){var h=[];for(var g in l)h.push('"'+x(g)+'": function(c,p,t,i) {'+l[g]+"}");return "{ "+h.join(",")+" }"}function w(l){var h=[];for(var g in l.partials)h.push('"'+x(g)+'":{name:"'+x(l.partials[g].name)+'", '+w(l.partials[g])+"}");return "partials: {"+h.join(",")+"}, subs: "+p(l.subs)}i.stringify=function(l,h,g){return "{code: function (c,p,i) { "+i.wrapMain(l.code)+" },"+w(l)+"}"};var P=0;i.generate=function(l,h,g){P=0;var S={code:"",subs:{},partials:{}};return i.walk(l,S),g.asString?this.stringify(S,h,g):this.makeTemplate(S,h,g)},i.wrapMain=function(l){return 'var t=this;t.b(i=i||"");'+l+"return t.fl();"},i.template=i.Template,i.makeTemplate=function(l,h,g){var S=this.makePartials(l);return S.code=new Function("c","p","i",this.wrapMain(l.code)),new this.template(S,h,this,g)},i.makePartials=function(l){var h,g={subs:{},partials:l.partials,name:l.name};for(h in g.partials)g.partials[h]=this.makePartials(g.partials[h]);for(h in l.subs)g.subs[h]=new Function("c","p","t","i",l.subs[h]);return g};function x(l){return l.replace(a,"\\\\").replace(t,'\\"').replace(e,"\\n").replace(r,"\\r").replace(s,"\\u2028").replace(u,"\\u2029")}function N(l){return ~l.indexOf(".")?"d":"f"}function T(l,h){var g="<"+(h.prefix||""),S=g+l.n+P++;return h.partials[S]={name:l.n,partials:{}},h.code+='t.b(t.rp("'+x(S)+'",c,p,"'+(l.indent||"")+'"));',S}i.codegen={"#":function(l,h){h.code+="if(t.s(t."+N(l.n)+'("'+x(l.n)+'",c,p,1),c,p,0,'+l.i+","+l.end+',"'+l.otag+" "+l.ctag+'")){t.rs(c,p,function(c,p,t){',i.walk(l.nodes,h),h.code+="});c.pop();}";},"^":function(l,h){h.code+="if(!t.s(t."+N(l.n)+'("'+x(l.n)+'",c,p,1),c,p,1,0,0,"")){',i.walk(l.nodes,h),h.code+="};";},">":T,"<":function(l,h){var g={partials:{},code:"",subs:{},inPartial:!0};i.walk(l.nodes,g);var S=h.partials[T(l,h)];S.subs=g.subs,S.partials=g.partials;},$:function(l,h){var g={subs:{},code:"",partials:h.partials,prefix:l.n};i.walk(l.nodes,g),h.subs[l.n]=g.code,h.inPartial||(h.code+='t.sub("'+x(l.n)+'",c,p,i);');},"\n":function(l,h){h.code+=G('"\\n"'+(l.last?"":" + i"));},_v:function(l,h){h.code+="t.b(t.v(t."+N(l.n)+'("'+x(l.n)+'",c,p,0)));';},_t:function(l,h){h.code+=G('"'+x(l.text)+'"');},"{":D,"&":D};function D(l,h){h.code+="t.b(t.t(t."+N(l.n)+'("'+x(l.n)+'",c,p,0)));';}function G(l){return "t.b("+l+");"}i.walk=function(l,h){for(var g,S=0,U=l.length;S<U;S++)g=i.codegen[l[S].tag],g&&g(l[S],h);return h},i.parse=function(l,h,g){return g=g||{},o(l,"",[],g.sectionTags||[])},i.cache={},i.cacheKey=function(l,h){return [l,!!h.asString,!!h.disableLambda,h.delimiters,!!h.modelGet].join("||")},i.compile=function(l,h){h=h||{};var g=i.cacheKey(l,h),S=this.cache[g];if(S){var U=S.partials;for(var R in U)delete U[R].instance;return S}return S=this.generate(this.parse(this.scan(l,h.delimiters),l,h),l,h),this.cache[g]=S};})(typeof Xe<"u"?Xe:Hogan);});var ht=z$1(qe=>{"use strict";var At={};(function(i){i.Template=function(o,c,m,p){o=o||{},this.r=o.code||this.r,this.c=m,this.options=p||{},this.text=c||"",this.partials=o.partials||{},this.subs=o.subs||{},this.buf="";},i.Template.prototype={r:function(o,c,m){return ""},v,t:f,render:function(c,m,p){return this.ri([c],m||{},p)},ri:function(o,c,m){return this.r(o,c,m)},ep:function(o,c){var m=this.partials[o],p=c[m.name];if(m.instance&&m.base==p)return m.instance;if(typeof p=="string"){if(!this.c)throw new Error("No compiler available.");p=this.c.compile(p,this.options);}if(!p)return null;if(this.partials[o].base=p,m.subs){c.stackText||(c.stackText={});for(key in m.subs)c.stackText[key]||(c.stackText[key]=this.activeSub!==void 0&&c.stackText[this.activeSub]?c.stackText[this.activeSub]:this.text);p=t(p,m.subs,m.partials,this.stackSubs,this.stackPartials,c.stackText);}return this.partials[o].instance=p,p},rp:function(o,c,m,p){var w=this.ep(o,m);return w?w.ri(c,m,p):""},rs:function(o,c,m){var p=o[o.length-1];if(!y(p)){m(o,c,this);return}for(var w=0;w<p.length;w++)o.push(p[w]),m(o,c,this),o.pop();},s:function(o,c,m,p,w,P,x){var N;return y(o)&&o.length===0?!1:(typeof o=="function"&&(o=this.ms(o,c,m,p,w,P,x)),N=!!o,!p&&N&&c&&c.push(typeof o=="object"?o:c[c.length-1]),N)},d:function(o,c,m,p){var w,P=o.split("."),x=this.f(P[0],c,m,p),N=this.options.modelGet,T=null;if(o==="."&&y(c[c.length-2]))x=c[c.length-1];else for(var D=1;D<P.length;D++)w=n(P[D],x,N),w!==void 0?(T=x,x=w):x="";return p&&!x?!1:(!p&&typeof x=="function"&&(c.push(T),x=this.mv(x,c,m),c.pop()),x)},f:function(o,c,m,p){for(var w=!1,P=null,x=!1,N=this.options.modelGet,T=c.length-1;T>=0;T--)if(P=c[T],w=n(o,P,N),w!==void 0){x=!0;break}return x?(!p&&typeof w=="function"&&(w=this.mv(w,c,m)),w):p?!1:""},ls:function(o,c,m,p,w,P){var x=this.options.delimiters;return this.options.delimiters=P,this.b(this.ct(f(o.call(c,w,m)),c,p)),this.options.delimiters=x,!1},ct:function(o,c,m){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(o,this.options).render(c,m)},b:function(o){this.buf+=o;},fl:function(){var o=this.buf;return this.buf="",o},ms:function(o,c,m,p,w,P,x){var N,T=c[c.length-1],D=o.call(T);return typeof D=="function"?p?!0:(N=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(D,T,c,m,N.substring(w,P),x)):D},mv:function(o,c,m){var p=c[c.length-1],w=o.call(p);return typeof w=="function"?this.ct(f(w.call(p)),p,m):w},sub:function(o,c,m,p){var w=this.subs[o];w&&(this.activeSub=o,w(c,m,this,p),this.activeSub=!1);}};function n(o,c,m){var p;return c&&typeof c=="object"&&(c[o]!==void 0?p=c[o]:m&&c.get&&typeof c.get=="function"&&(p=c.get(o))),p}function t(o,c,m,p,w,P){function x(){}x.prototype=o;function N(){}N.prototype=o.subs;var T,D=new x;D.subs=new N,D.subsText={},D.buf="",p=p||{},D.stackSubs=p,D.subsText=P;for(T in c)p[T]||(p[T]=c[T]);for(T in p)D.subs[T]=p[T];w=w||{},D.stackPartials=w;for(T in m)w[T]||(w[T]=m[T]);for(T in w)D.partials[T]=w[T];return D}var e=/&/g,r=/</g,a=/>/g,s=/\'/g,u=/\"/g,d=/[&<>\"\']/;function f(o){return String(o??"")}function v(o){return o=f(o),d.test(o)?o.replace(e,"&").replace(r,"<").replace(a,">").replace(s,"'").replace(u,"""):o}var y=Array.isArray||function(o){return Object.prototype.toString.call(o)==="[object Array]"};})(typeof qe<"u"?qe:At);});var Je=z$1((cn,pt)=>{"use strict";var Le=ut();Le.Template=ht().Template;Le.template=Le.Template;pt.exports=Le;});var H=(function(i){return i.INSERT="insert",i.DELETE="delete",i.CONTEXT="context",i})(H||{}),Ze={LINE_BY_LINE:"line-by-line"},Ke={NONE:"none"},et={WORD:"word"},re=(function(i){return i.AUTO="auto",i.DARK="dark",i.LIGHT="light",i})(re||{});var gt=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],bt=RegExp("["+gt.join("\\")+"]","g");function tt(i){return i.replace(bt,"\\$&")}function Ie(i){return i&&i.replace(/\\/g,"/")}function nt(i){let n,t,e,r=0;for(n=0,e=i.length;n<e;n++)t=i.charCodeAt(n),r=(r<<5)-r+t,r|=0;return r}function ve(i){let n=i.length,t=-1/0;for(let e=0;e<n;e++)t=Math.max(t,i[e]);return t}function it(i,n){let t=i.split(".");return t.length>1?t[t.length-1]:n}function rt(i,n){return n.reduce((t,e)=>t||i.startsWith(e),false)}var st=["a/","b/","i/","w/","c/","o/"];function V(i,n,t){let e=t!==void 0?[...st,t]:st,r=n?new RegExp(`^${tt(n)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,a=""]=r.exec(i)||[],s=e.find(d=>a.indexOf(d)===0);return (s?a.slice(s.length):a).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function vt(i,n){return V(i,"---",n)}function wt(i,n){return V(i,"+++",n)}function Oe(i,n={}){let t=[],e=null,r=null,a=null,s=null,u=null,d=null,f=null,v="--- ",y="+++ ",o="@@",c=/^old mode (\d{6})/,m=/^new mode (\d{6})/,p=/^deleted file mode (\d{6})/,w=/^new file mode (\d{6})/,P=/^copy from "?(.+)"?/,x=/^copy to "?(.+)"?/,N=/^rename from "?(.+)"?/,T=/^rename to "?(.+)"?/,D=/^similarity index (\d+)%/,G=/^dissimilarity index (\d+)%/,l=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,h=/^Binary files (.*) and (.*) differ/,g=/^GIT binary patch/,S=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,U=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,R=/^new file mode (\d{6})/,q=/^deleted file mode (\d{6}),(\d{6})/,E=i.replace(/\/g,"").replace(/\r\n?/g,`
|
|
6
|
+
`).split(`
|
|
7
|
+
`);function $(){r!==null&&e!==null&&(e.blocks.push(r),r=null);}function ee(){e!==null&&(!e.oldName&&d!==null&&(e.oldName=d),!e.newName&&f!==null&&(e.newName=f),e.newName&&(t.push(e),e=null)),d=null,f=null;}function B(){$(),ee(),e={blocks:[],deletedLines:0,addedLines:0};}function I(C){$();let L;e!==null&&((L=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(C))?(e.isCombined=false,a=parseInt(L[1],10),u=parseInt(L[2],10)):(L=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(C))?(e.isCombined=true,a=parseInt(L[1],10),s=parseInt(L[2],10),u=parseInt(L[3],10)):(C.startsWith(o)&&console.error("Failed to parse lines, starting in 0!"),a=0,u=0,e.isCombined=false)),r={lines:[],oldStartLine:a,oldStartLine2:s,newStartLine:u,header:C};}function J(C){if(e===null||r===null||a===null||u===null)return;let L={content:C},b=e.isCombined?["+ "," +","++"]:["+"],te=e.isCombined?["- "," -","--"]:["-"];rt(C,b)?(e.addedLines++,L.type=H.INSERT,L.oldNumber=void 0,L.newNumber=u++):rt(C,te)?(e.deletedLines++,L.type=H.DELETE,L.oldNumber=a++,L.newNumber=void 0):(L.type=H.CONTEXT,L.oldNumber=a++,L.newNumber=u++),r.lines.push(L);}function O(C,L){let b=L;for(;b<E.length-3;){if(C.startsWith("diff"))return false;if(E[b].startsWith(v)&&E[b+1].startsWith(y)&&E[b+2].startsWith(o))return true;b++;}return false}return E.forEach((C,L)=>{if(!C||C.startsWith("*"))return;let b,te=E[L-1],ge=E[L+1],be=E[L+2];if(C.startsWith("diff --git")||C.startsWith("diff --combined")){if(B(),(b=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(C))&&(d=V(b[1],void 0,n.dstPrefix),f=V(b[2],void 0,n.srcPrefix)),e===null)throw new Error("Where is my file !!!");e.isGitDiff=true;return}if(C.startsWith("Binary files")&&!e?.isGitDiff){if(B(),(b=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(C))&&(d=V(b[1],void 0,n.dstPrefix),f=V(b[2],void 0,n.srcPrefix)),e===null)throw new Error("Where is my file !!!");e.isBinary=true;return}if((!e||!e.isGitDiff&&e&&C.startsWith(v)&&ge.startsWith(y)&&be.startsWith(o))&&B(),e?.isTooBig)return;if(e&&(typeof n.diffMaxChanges=="number"&&e.addedLines+e.deletedLines>n.diffMaxChanges||typeof n.diffMaxLineLength=="number"&&C.length>n.diffMaxLineLength)){e.isTooBig=true,e.addedLines=0,e.deletedLines=0,e.blocks=[],r=null;let A=typeof n.diffTooBigMessage=="function"?n.diffTooBigMessage(t.length):"Diff too big to be displayed";I(A);return}if(C.startsWith(v)&&ge.startsWith(y)||C.startsWith(y)&&te.startsWith(v)){if(e&&!e.oldName&&C.startsWith("--- ")&&(b=vt(C,n.srcPrefix))){e.oldName=b,e.language=it(e.oldName,e.language);return}if(e&&!e.newName&&C.startsWith("+++ ")&&(b=wt(C,n.dstPrefix))){e.newName=b,e.language=it(e.newName,e.language);return}}if(e&&(C.startsWith(o)||e.isGitDiff&&e.oldName&&e.newName&&!r)){I(C);return}if(r&&(C.startsWith("+")||C.startsWith("-")||C.startsWith(" "))){J(C);return}let ne=!O(C,L);if(e===null)throw new Error("Where is my file !!!");(b=c.exec(C))?e.oldMode=b[1]:(b=m.exec(C))?e.newMode=b[1]:(b=p.exec(C))?(e.deletedFileMode=b[1],e.isDeleted=true):(b=w.exec(C))?(e.newFileMode=b[1],e.isNew=true):(b=P.exec(C))?(ne&&(e.oldName=b[1]),e.isCopy=true):(b=x.exec(C))?(ne&&(e.newName=b[1]),e.isCopy=true):(b=N.exec(C))?(ne&&(e.oldName=b[1]),e.isRename=true):(b=T.exec(C))?(ne&&(e.newName=b[1]),e.isRename=true):(b=h.exec(C))?(e.isBinary=true,e.oldName=V(b[1],void 0,n.srcPrefix),e.newName=V(b[2],void 0,n.dstPrefix),I("Binary file")):g.test(C)?(e.isBinary=true,I(C)):(b=D.exec(C))?e.unchangedPercentage=parseInt(b[1],10):(b=G.exec(C))?e.changedPercentage=parseInt(b[1],10):(b=l.exec(C))?(e.checksumBefore=b[1],e.checksumAfter=b[2],b[3]&&(e.mode=b[3])):(b=S.exec(C))?(e.checksumBefore=[b[2],b[3]],e.checksumAfter=b[1]):(b=U.exec(C))?(e.oldMode=[b[2],b[3]],e.newMode=b[1]):(b=R.exec(C))?(e.newFileMode=b[1],e.isNew=true):(b=q.exec(C))&&(e.deletedFileMode=b[1],e.isDeleted=true);}),$(),ee(),t}var Y=class{diff(n,t,e={}){let r;typeof e=="function"?(r=e,e={}):"callback"in e&&(r=e.callback);let a=this.castInput(n,e),s=this.castInput(t,e),u=this.removeEmpty(this.tokenize(a,e)),d=this.removeEmpty(this.tokenize(s,e));return this.diffWithOptionsObj(u,d,e,r)}diffWithOptionsObj(n,t,e,r){var a;let s=x=>{if(x=this.postProcess(x,e),r){setTimeout(function(){r(x);},0);return}else return x},u=t.length,d=n.length,f=1,v=u+d;e.maxEditLength!=null&&(v=Math.min(v,e.maxEditLength));let y=(a=e.timeout)!==null&&a!==void 0?a:1/0,o=Date.now()+y,c=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(c[0],t,n,0,e);if(c[0].oldPos+1>=d&&m+1>=u)return s(this.buildValues(c[0].lastComponent,t,n));let p=-1/0,w=1/0,P=()=>{for(let x=Math.max(p,-f);x<=Math.min(w,f);x+=2){let N,T=c[x-1],D=c[x+1];T&&(c[x-1]=void 0);let G=false;if(D){let h=D.oldPos-x;G=D&&0<=h&&h<u;}let l=T&&T.oldPos+1<d;if(!G&&!l){c[x]=void 0;continue}if(!l||G&&T.oldPos<D.oldPos?N=this.addToPath(D,true,false,0,e):N=this.addToPath(T,false,true,1,e),m=this.extractCommon(N,t,n,x,e),N.oldPos+1>=d&&m+1>=u)return s(this.buildValues(N.lastComponent,t,n))||true;c[x]=N,N.oldPos+1>=d&&(w=Math.min(w,x-1)),m+1>=u&&(p=Math.max(p,x+1));}f++;};if(r)(function x(){setTimeout(function(){if(f>v||Date.now()>o)return r(void 0);P()||x();},0);})();else for(;f<=v&&Date.now()<=o;){let x=P();if(x)return x}}addToPath(n,t,e,r,a){let s=n.lastComponent;return s&&!a.oneChangePerToken&&s.added===t&&s.removed===e?{oldPos:n.oldPos+r,lastComponent:{count:s.count+1,added:t,removed:e,previousComponent:s.previousComponent}}:{oldPos:n.oldPos+r,lastComponent:{count:1,added:t,removed:e,previousComponent:s}}}extractCommon(n,t,e,r,a){let s=t.length,u=e.length,d=n.oldPos,f=d-r,v=0;for(;f+1<s&&d+1<u&&this.equals(e[d+1],t[f+1],a);)f++,d++,v++,a.oneChangePerToken&&(n.lastComponent={count:1,previousComponent:n.lastComponent,added:false,removed:false});return v&&!a.oneChangePerToken&&(n.lastComponent={count:v,previousComponent:n.lastComponent,added:false,removed:false}),n.oldPos=d,f}equals(n,t,e){return e.comparator?e.comparator(n,t):n===t||!!e.ignoreCase&&n.toLowerCase()===t.toLowerCase()}removeEmpty(n){let t=[];for(let e=0;e<n.length;e++)n[e]&&t.push(n[e]);return t}castInput(n,t){return n}tokenize(n,t){return Array.from(n)}join(n){return n.join("")}postProcess(n,t){return n}get useLongestToken(){return false}buildValues(n,t,e){let r=[],a;for(;n;)r.push(n),a=n.previousComponent,delete n.previousComponent,n=a;r.reverse();let s=r.length,u=0,d=0,f=0;for(;u<s;u++){let v=r[u];if(v.removed)v.value=this.join(e.slice(f,f+v.count)),f+=v.count;else {if(!v.added&&this.useLongestToken){let y=t.slice(d,d+v.count);y=y.map(function(o,c){let m=e[f+c];return m.length>o.length?m:o}),v.value=this.join(y);}else v.value=this.join(t.slice(d,d+v.count));d+=v.count,v.added||(f+=v.count);}}return r}};var We=class extends Y{},at=new We;function Fe(i,n,t){return at.diff(i,n,t)}var ye="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}";var Be=class extends Y{tokenize(n){let t=new RegExp(`(\\r?\\n)|[${ye}]+|[^\\S\\n\\r]+|[^${ye}]`,"ug");return n.match(t)||[]}},ot=new Be;function ke(i,n,t){return ot.diff(i,n,t)}function Nt(i,n){if(i.length===0)return n.length;if(n.length===0)return i.length;let t=[],e;for(e=0;e<=n.length;e++)t[e]=[e];let r;for(r=0;r<=i.length;r++)t[0][r]=r;for(e=1;e<=n.length;e++)for(r=1;r<=i.length;r++)n.charAt(e-1)===i.charAt(r-1)?t[e][r]=t[e-1][r-1]:t[e][r]=Math.min(t[e-1][r-1]+1,Math.min(t[e][r-1]+1,t[e-1][r]+1));return t[n.length][i.length]}function le(i){return (n,t)=>{let e=i(n).trim(),r=i(t).trim();return Nt(e,r)/(e.length+r.length)}}function oe(i){function n(e,r,a=new Map){let s=1/0,u;for(let d=0;d<e.length;++d)for(let f=0;f<r.length;++f){let v=JSON.stringify([e[d],r[f]]),y;a.has(v)&&(y=a.get(v))||(y=i(e[d],r[f]),a.set(v,y)),y<s&&(s=y,u={indexA:d,indexB:f,score:s});}return u}function t(e,r,a=0,s=new Map){let u=n(e,r,s);if(!u||e.length+r.length<3)return [[e,r]];let d=e.slice(0,u.indexA),f=r.slice(0,u.indexB),v=[e[u.indexA]],y=[r[u.indexB]],o=u.indexA+1,c=u.indexB+1,m=e.slice(o),p=r.slice(c),w=t(d,f,a+1,s),P=t(v,y,a+1,s),x=t(m,p,a+1,s),N=P;return (u.indexA>0||u.indexB>0)&&(N=w.concat(N)),(e.length>o||r.length>c)&&(N=N.concat(x)),N}return t}var M={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},Z={matching:Ke.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:et.WORD,colorScheme:re.LIGHT},z="/",ft=le(i=>i.value),Et=oe(ft);function $e(i){return i.indexOf("dev/null")!==-1}function Lt(i){return i.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,"")}function Pt(i){return i.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function fe(i){switch(i){case H.CONTEXT:return M.CONTEXT;case H.INSERT:return M.INSERTS;case H.DELETE:return M.DELETES}}function ce(i){switch(i){case re.DARK:return "d2h-dark-color-scheme";case re.AUTO:return "d2h-auto-color-scheme";case re.LIGHT:default:return "d2h-light-color-scheme"}}function Dt(i){return i?2:1}function X(i){return i.slice(0).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function j(i,n,t=true){let e=Dt(n);return {prefix:i.substring(0,e),content:t?X(i.substring(e)):i.substring(e)}}function K(i){let n=Ie(i.oldName),t=Ie(i.newName);if(n!==t&&!$e(n)&&!$e(t)){let e=[],r=[],a=n.split(z),s=t.split(z),u=a.length,d=s.length,f=0,v=u-1,y=d-1;for(;f<v&&f<y&&a[f]===s[f];)e.push(s[f]),f+=1;for(;v>f&&y>f&&a[v]===s[y];)r.unshift(s[y]),v-=1,y-=1;let o=e.join(z),c=r.join(z),m=a.slice(f,v+1).join(z),p=s.slice(f,y+1).join(z);return o.length&&c.length?o+z+"{"+m+" \u2192 "+p+"}"+z+c:o.length?o+z+"{"+m+" \u2192 "+p+"}":c.length?"{"+m+" \u2192 "+p+"}"+z+c:n+" \u2192 "+t}else return $e(t)?n:t}function de(i){return `d2h-${nt(K(i)).toString().slice(-6)}`}function ue(i){let n="file-changed";return i.isRename||i.isCopy?n="file-renamed":i.isNew?n="file-added":i.isDeleted?n="file-deleted":i.newName!==i.oldName&&(n="file-renamed"),n}function Se(i,n,t,e={}){let{matching:r,maxLineLengthHighlight:a,matchWordsThreshold:s,diffStyle:u}=Object.assign(Object.assign({},Z),e),d=j(i,t,false),f=j(n,t,false);if(d.content.length>a||f.content.length>a)return {oldLine:{prefix:d.prefix,content:X(d.content)},newLine:{prefix:f.prefix,content:X(f.content)}};let v=u==="char"?Fe(d.content,f.content):ke(d.content,f.content),y=[];if(u==="word"&&r==="words"){let c=v.filter(w=>w.removed),m=v.filter(w=>w.added);Et(m,c).forEach(w=>{w[0].length===1&&w[1].length===1&&ft(w[0][0],w[1][0])<s&&(y.push(w[0][0]),y.push(w[1][0]));});}let o=v.reduce((c,m)=>{let p=m.added?"ins":m.removed?"del":null,w=y.indexOf(m)>-1?' class="d2h-change"':"",P=X(m.value);return p!==null?`${c}<${p}${w}>${P}</${p}>`:`${c}${P}`},"");return {oldLine:{prefix:d.prefix,content:Lt(o)},newLine:{prefix:f.prefix,content:Pt(o)}}}var ct="file-summary",Ht="icon",It={colorScheme:Z.colorScheme},Te=class{constructor(n,t={}){this.hoganUtils=n,this.config=Object.assign(Object.assign({},It),t);}render(n){let t=n.map(e=>this.hoganUtils.render(ct,"line",{fileHtmlId:de(e),oldName:e.oldName,newName:e.newName,fileName:K(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:this.hoganUtils.template(Ht,ue(e))})).join(`
|
|
8
|
+
`);return this.hoganUtils.render(ct,"wrapper",{colorScheme:ce(this.config.colorScheme),filesNumber:n.length,files:t})}};var Ge=Object.assign(Object.assign({},Z),{renderNothingWhenEmpty:false,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),pe="generic",dt="line-by-line",Ot="icon",Wt="tag",Ne=class{constructor(n,t={}){this.hoganUtils=n,this.config=Object.assign(Object.assign({},Ge),t);}render(n){let t=n.map(e=>{let r;return e.blocks.length?r=this.generateFileHtml(e):r=this.generateEmptyDiff(),this.makeFileDiffHtml(e,r)}).join(`
|
|
9
|
+
`);return this.hoganUtils.render(pe,"wrapper",{colorScheme:ce(this.config.colorScheme),content:t})}makeFileDiffHtml(n,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(n.blocks)&&n.blocks.length===0)return "";let e=this.hoganUtils.template(dt,"file-diff"),r=this.hoganUtils.template(pe,"file-path"),a=this.hoganUtils.template(Ot,"file"),s=this.hoganUtils.template(Wt,ue(n));return e.render({file:n,fileHtmlId:de(n),diffs:t,filePath:r.render({fileDiffName:K(n)},{fileIcon:a,fileTag:s})})}generateEmptyDiff(){return this.hoganUtils.render(pe,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:M})}generateFileHtml(n){let t=oe(le(e=>j(e.content,n.isCombined).content));return n.blocks.map(e=>{let r=this.hoganUtils.render(pe,"block-header",{CSSLineClass:M,blockHeader:n.isTooBig?e.header:X(e.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(e).forEach(([a,s,u])=>{if(s.length&&u.length&&!a.length)this.applyRematchMatching(s,u,t).map(([d,f])=>{let{left:v,right:y}=this.processChangedLines(n,n.isCombined,d,f);r+=v,r+=y;});else if(a.length)a.forEach(d=>{let{prefix:f,content:v}=j(d.content,n.isCombined);r+=this.generateSingleLineHtml(n,{type:M.CONTEXT,prefix:f,content:v,oldNumber:d.oldNumber,newNumber:d.newNumber});});else if(s.length||u.length){let{left:d,right:f}=this.processChangedLines(n,n.isCombined,s,u);r+=d,r+=f;}else console.error("Unknown state reached while processing groups of lines",a,s,u);}),r}).join(`
|
|
10
|
+
`)}applyLineGroupping(n){let t=[],e=[],r=[];for(let a=0;a<n.lines.length;a++){let s=n.lines[a];(s.type!==H.INSERT&&r.length||s.type===H.CONTEXT&&e.length>0)&&(t.push([[],e,r]),e=[],r=[]),s.type===H.CONTEXT?t.push([[s],[],[]]):s.type===H.INSERT&&e.length===0?t.push([[],[],[s]]):s.type===H.INSERT&&e.length>0?r.push(s):s.type===H.DELETE&&e.push(s);}return (e.length||r.length)&&(t.push([[],e,r]),e=[],r=[]),t}applyRematchMatching(n,t,e){let r=n.length*t.length,a=ve(n.concat(t).map(u=>u.content.length));return r<this.config.matchingMaxComparisons&&a<this.config.maxLineSizeInBlockForComparison&&(this.config.matching==="lines"||this.config.matching==="words")?e(n,t):[[n,t]]}processChangedLines(n,t,e,r){let a={right:"",left:""},s=Math.max(e.length,r.length);for(let u=0;u<s;u++){let d=e[u],f=r[u],v=d!==void 0&&f!==void 0?Se(d.content,f.content,t,this.config):void 0,y=d!==void 0&&d.oldNumber!==void 0?Object.assign(Object.assign({},v!==void 0?{prefix:v.oldLine.prefix,content:v.oldLine.content,type:M.DELETE_CHANGES}:Object.assign(Object.assign({},j(d.content,t)),{type:fe(d.type)})),{oldNumber:d.oldNumber,newNumber:d.newNumber}):void 0,o=f!==void 0&&f.newNumber!==void 0?Object.assign(Object.assign({},v!==void 0?{prefix:v.newLine.prefix,content:v.newLine.content,type:M.INSERT_CHANGES}:Object.assign(Object.assign({},j(f.content,t)),{type:fe(f.type)})),{oldNumber:f.oldNumber,newNumber:f.newNumber}):void 0,{left:c,right:m}=this.generateLineHtml(n,y,o);a.left+=c,a.right+=m;}return a}generateLineHtml(n,t,e){return {left:this.generateSingleLineHtml(n,t),right:this.generateSingleLineHtml(n,e)}}generateSingleLineHtml(n,t){if(t===void 0)return "";let e=this.hoganUtils.render(dt,"numbers",{oldNumber:t.oldNumber||"",newNumber:t.newNumber||""});return this.hoganUtils.render(pe,"line",{type:t.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:t.prefix===" "?" ":t.prefix,content:t.content,lineNumber:e,line:t,file:n})}};var Ve=Object.assign(Object.assign({},Z),{renderNothingWhenEmpty:false,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),me="generic",Ft="side-by-side",Ut="icon",Mt="tag",Ee=class{constructor(n,t={}){this.hoganUtils=n,this.config=Object.assign(Object.assign({},Ve),t);}render(n){let t=n.map(e=>{let r;return e.blocks.length?r=this.generateFileHtml(e):r=this.generateEmptyDiff(),this.makeFileDiffHtml(e,r)}).join(`
|
|
11
|
+
`);return this.hoganUtils.render(me,"wrapper",{colorScheme:ce(this.config.colorScheme),content:t})}makeFileDiffHtml(n,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(n.blocks)&&n.blocks.length===0)return "";let e=this.hoganUtils.template(Ft,"file-diff"),r=this.hoganUtils.template(me,"file-path"),a=this.hoganUtils.template(Ut,"file"),s=this.hoganUtils.template(Mt,ue(n));return e.render({file:n,fileHtmlId:de(n),diffs:t,filePath:r.render({fileDiffName:K(n)},{fileIcon:a,fileTag:s})})}generateEmptyDiff(){return {right:"",left:this.hoganUtils.render(me,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:M})}}generateFileHtml(n){let t=oe(le(e=>j(e.content,n.isCombined).content));return n.blocks.map(e=>{let r={left:this.makeHeaderHtml(e.header,n),right:this.makeHeaderHtml("")};return this.applyLineGroupping(e).forEach(([a,s,u])=>{if(s.length&&u.length&&!a.length)this.applyRematchMatching(s,u,t).map(([d,f])=>{let{left:v,right:y}=this.processChangedLines(n.isCombined,d,f);r.left+=v,r.right+=y;});else if(a.length)a.forEach(d=>{let{prefix:f,content:v}=j(d.content,n.isCombined),{left:y,right:o}=this.generateLineHtml({type:M.CONTEXT,prefix:f,content:v,number:d.oldNumber},{type:M.CONTEXT,prefix:f,content:v,number:d.newNumber});r.left+=y,r.right+=o;});else if(s.length||u.length){let{left:d,right:f}=this.processChangedLines(n.isCombined,s,u);r.left+=d,r.right+=f;}else console.error("Unknown state reached while processing groups of lines",a,s,u);}),r}).reduce((e,r)=>({left:e.left+r.left,right:e.right+r.right}),{left:"",right:""})}applyLineGroupping(n){let t=[],e=[],r=[];for(let a=0;a<n.lines.length;a++){let s=n.lines[a];(s.type!==H.INSERT&&r.length||s.type===H.CONTEXT&&e.length>0)&&(t.push([[],e,r]),e=[],r=[]),s.type===H.CONTEXT?t.push([[s],[],[]]):s.type===H.INSERT&&e.length===0?t.push([[],[],[s]]):s.type===H.INSERT&&e.length>0?r.push(s):s.type===H.DELETE&&e.push(s);}return (e.length||r.length)&&(t.push([[],e,r]),e=[],r=[]),t}applyRematchMatching(n,t,e){let r=n.length*t.length,a=ve(n.concat(t).map(u=>u.content.length));return r<this.config.matchingMaxComparisons&&a<this.config.maxLineSizeInBlockForComparison&&(this.config.matching==="lines"||this.config.matching==="words")?e(n,t):[[n,t]]}makeHeaderHtml(n,t){return this.hoganUtils.render(me,"block-header",{CSSLineClass:M,blockHeader:t?.isTooBig?n:X(n),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})}processChangedLines(n,t,e){let r={right:"",left:""},a=Math.max(t.length,e.length);for(let s=0;s<a;s++){let u=t[s],d=e[s],f=u!==void 0&&d!==void 0?Se(u.content,d.content,n,this.config):void 0,v=u!==void 0&&u.oldNumber!==void 0?Object.assign(Object.assign({},f!==void 0?{prefix:f.oldLine.prefix,content:f.oldLine.content,type:M.DELETE_CHANGES}:Object.assign(Object.assign({},j(u.content,n)),{type:fe(u.type)})),{number:u.oldNumber}):void 0,y=d!==void 0&&d.newNumber!==void 0?Object.assign(Object.assign({},f!==void 0?{prefix:f.newLine.prefix,content:f.newLine.content,type:M.INSERT_CHANGES}:Object.assign(Object.assign({},j(d.content,n)),{type:fe(d.type)})),{number:d.newNumber}):void 0,{left:o,right:c}=this.generateLineHtml(v,y);r.left+=o,r.right+=c;}return r}generateLineHtml(n,t){return {left:this.generateSingleHtml(n),right:this.generateSingleHtml(t)}}generateSingleHtml(n){let t="d2h-code-side-linenumber",e="d2h-code-side-line";return this.hoganUtils.render(me,"line",{type:n?.type||`${M.CONTEXT} d2h-emptyplaceholder`,lineClass:n!==void 0?t:`${t} d2h-code-side-emptyplaceholder`,contentClass:n!==void 0?e:`${e} d2h-code-side-emptyplaceholder`,prefix:n?.prefix===" "?" ":n?.prefix,content:n?.content,lineNumber:n?.number})}};var Ye=A(Je());var F=A(Je()),W={};W["file-summary-line"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<li class="d2h-file-list-line">'),e.b(`
|
|
12
|
+
`+t),e.b(' <span class="d2h-file-name-wrapper">'),e.b(`
|
|
13
|
+
`+t),e.b(e.rp("<fileIcon0",i,n," ")),e.b(' <a href="#'),e.b(e.v(e.f("fileHtmlId",i,n,0))),e.b('" class="d2h-file-name">'),e.b(e.v(e.f("fileName",i,n,0))),e.b("</a>"),e.b(`
|
|
14
|
+
`+t),e.b(' <span class="d2h-file-stats">'),e.b(`
|
|
15
|
+
`+t),e.b(' <span class="d2h-lines-added">'),e.b(e.v(e.f("addedLines",i,n,0))),e.b("</span>"),e.b(`
|
|
16
|
+
`+t),e.b(' <span class="d2h-lines-deleted">'),e.b(e.v(e.f("deletedLines",i,n,0))),e.b("</span>"),e.b(`
|
|
17
|
+
`+t),e.b(" </span>"),e.b(`
|
|
18
|
+
`+t),e.b(" </span>"),e.b(`
|
|
19
|
+
`+t),e.b("</li>"),e.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}});W["file-summary-wrapper"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<div class="d2h-file-list-wrapper '),e.b(e.v(e.f("colorScheme",i,n,0))),e.b('">'),e.b(`
|
|
20
|
+
`+t),e.b(' <div class="d2h-file-list-header">'),e.b(`
|
|
21
|
+
`+t),e.b(' <span class="d2h-file-list-title">Files changed ('),e.b(e.v(e.f("filesNumber",i,n,0))),e.b(")</span>"),e.b(`
|
|
22
|
+
`+t),e.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),e.b(`
|
|
23
|
+
`+t),e.b(' <a class="d2h-file-switch d2h-show">show</a>'),e.b(`
|
|
24
|
+
`+t),e.b(" </div>"),e.b(`
|
|
25
|
+
`+t),e.b(' <ol class="d2h-file-list">'),e.b(`
|
|
26
|
+
`+t),e.b(" "),e.b(e.t(e.f("files",i,n,0))),e.b(`
|
|
27
|
+
`+t),e.b(" </ol>"),e.b(`
|
|
28
|
+
`+t),e.b("</div>"),e.fl()},partials:{},subs:{}});W["generic-block-header"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b("<tr>"),e.b(`
|
|
29
|
+
`+t),e.b(' <td class="'),e.b(e.v(e.f("lineClass",i,n,0))),e.b(" "),e.b(e.v(e.d("CSSLineClass.INFO",i,n,0))),e.b('"></td>'),e.b(`
|
|
30
|
+
`+t),e.b(' <td class="'),e.b(e.v(e.d("CSSLineClass.INFO",i,n,0))),e.b('">'),e.b(`
|
|
31
|
+
`+t),e.b(' <div class="'),e.b(e.v(e.f("contentClass",i,n,0))),e.b('">'),e.s(e.f("blockHeader",i,n,1),i,n,0,156,173,"{{ }}")&&(e.rs(i,n,function(r,a,s){s.b(s.t(s.f("blockHeader",r,a,0)));}),i.pop()),e.s(e.f("blockHeader",i,n,1),i,n,1,0,0,"")||e.b(" "),e.b("</div>"),e.b(`
|
|
32
|
+
`+t),e.b(" </td>"),e.b(`
|
|
33
|
+
`+t),e.b("</tr>"),e.fl()},partials:{},subs:{}});W["generic-empty-diff"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b("<tr>"),e.b(`
|
|
34
|
+
`+t),e.b(' <td class="'),e.b(e.v(e.d("CSSLineClass.INFO",i,n,0))),e.b('">'),e.b(`
|
|
35
|
+
`+t),e.b(' <div class="'),e.b(e.v(e.f("contentClass",i,n,0))),e.b('">'),e.b(`
|
|
36
|
+
`+t),e.b(" File without changes"),e.b(`
|
|
37
|
+
`+t),e.b(" </div>"),e.b(`
|
|
38
|
+
`+t),e.b(" </td>"),e.b(`
|
|
39
|
+
`+t),e.b("</tr>"),e.fl()},partials:{},subs:{}});W["generic-file-path"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<span class="d2h-file-name-wrapper">'),e.b(`
|
|
40
|
+
`+t),e.b(e.rp("<fileIcon0",i,n," ")),e.b(' <span class="d2h-file-name">'),e.b(e.v(e.f("fileDiffName",i,n,0))),e.b("</span>"),e.b(`
|
|
41
|
+
`+t),e.b(e.rp("<fileTag1",i,n," ")),e.b("</span>"),e.b(`
|
|
42
|
+
`+t),e.b('<label class="d2h-file-collapse">'),e.b(`
|
|
43
|
+
`+t),e.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),e.b(`
|
|
44
|
+
`+t),e.b(" Viewed"),e.b(`
|
|
45
|
+
`+t),e.b("</label>"),e.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}});W["generic-line"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b("<tr>"),e.b(`
|
|
46
|
+
`+t),e.b(' <td class="'),e.b(e.v(e.f("lineClass",i,n,0))),e.b(" "),e.b(e.v(e.f("type",i,n,0))),e.b('">'),e.b(`
|
|
47
|
+
`+t),e.b(" "),e.b(e.t(e.f("lineNumber",i,n,0))),e.b(`
|
|
48
|
+
`+t),e.b(" </td>"),e.b(`
|
|
49
|
+
`+t),e.b(' <td class="'),e.b(e.v(e.f("type",i,n,0))),e.b('">'),e.b(`
|
|
50
|
+
`+t),e.b(' <div class="'),e.b(e.v(e.f("contentClass",i,n,0))),e.b('">'),e.b(`
|
|
51
|
+
`+t),e.s(e.f("prefix",i,n,1),i,n,0,162,238,"{{ }}")&&(e.rs(i,n,function(r,a,s){s.b(' <span class="d2h-code-line-prefix">'),s.b(s.t(s.f("prefix",r,a,0))),s.b("</span>"),s.b(`
|
|
52
|
+
`+t);}),i.pop()),e.s(e.f("prefix",i,n,1),i,n,1,0,0,"")||(e.b(' <span class="d2h-code-line-prefix"> </span>'),e.b(`
|
|
53
|
+
`+t)),e.s(e.f("content",i,n,1),i,n,0,371,445,"{{ }}")&&(e.rs(i,n,function(r,a,s){s.b(' <span class="d2h-code-line-ctn">'),s.b(s.t(s.f("content",r,a,0))),s.b("</span>"),s.b(`
|
|
54
|
+
`+t);}),i.pop()),e.s(e.f("content",i,n,1),i,n,1,0,0,"")||(e.b(' <span class="d2h-code-line-ctn"><br></span>'),e.b(`
|
|
55
|
+
`+t)),e.b(" </div>"),e.b(`
|
|
56
|
+
`+t),e.b(" </td>"),e.b(`
|
|
57
|
+
`+t),e.b("</tr>"),e.fl()},partials:{},subs:{}});W["generic-wrapper"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<div class="d2h-wrapper '),e.b(e.v(e.f("colorScheme",i,n,0))),e.b('">'),e.b(`
|
|
58
|
+
`+t),e.b(" "),e.b(e.t(e.f("content",i,n,0))),e.b(`
|
|
59
|
+
`+t),e.b("</div>"),e.fl()},partials:{},subs:{}});W["icon-file-added"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),e.b(`
|
|
60
|
+
`+t),e.b(' width="14">'),e.b(`
|
|
61
|
+
`+t),e.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),e.b(`
|
|
62
|
+
`+t),e.b("</svg>"),e.fl()},partials:{},subs:{}});W["icon-file-changed"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),e.b(`
|
|
63
|
+
`+t),e.b(' viewBox="0 0 14 16" width="14">'),e.b(`
|
|
64
|
+
`+t),e.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),e.b(`
|
|
65
|
+
`+t),e.b("</svg>"),e.fl()},partials:{},subs:{}});W["icon-file-deleted"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),e.b(`
|
|
66
|
+
`+t),e.b(' viewBox="0 0 14 16" width="14">'),e.b(`
|
|
67
|
+
`+t),e.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),e.b(`
|
|
68
|
+
`+t),e.b("</svg>"),e.fl()},partials:{},subs:{}});W["icon-file-renamed"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),e.b(`
|
|
69
|
+
`+t),e.b(' viewBox="0 0 14 16" width="14">'),e.b(`
|
|
70
|
+
`+t),e.b(' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),e.b(`
|
|
71
|
+
`+t),e.b("</svg>"),e.fl()},partials:{},subs:{}});W["icon-file"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),e.b(`
|
|
72
|
+
`+t),e.b(' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),e.b(`
|
|
73
|
+
`+t),e.b("</svg>"),e.fl()},partials:{},subs:{}});W["line-by-line-file-diff"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<div id="'),e.b(e.v(e.f("fileHtmlId",i,n,0))),e.b('" class="d2h-file-wrapper" data-lang="'),e.b(e.v(e.d("file.language",i,n,0))),e.b('">'),e.b(`
|
|
74
|
+
`+t),e.b(' <div class="d2h-file-header">'),e.b(`
|
|
75
|
+
`+t),e.b(" "),e.b(e.t(e.f("filePath",i,n,0))),e.b(`
|
|
76
|
+
`+t),e.b(" </div>"),e.b(`
|
|
77
|
+
`+t),e.b(' <div class="d2h-file-diff">'),e.b(`
|
|
78
|
+
`+t),e.b(' <div class="d2h-code-wrapper">'),e.b(`
|
|
79
|
+
`+t),e.b(' <table class="d2h-diff-table">'),e.b(`
|
|
80
|
+
`+t),e.b(' <tbody class="d2h-diff-tbody">'),e.b(`
|
|
81
|
+
`+t),e.b(" "),e.b(e.t(e.f("diffs",i,n,0))),e.b(`
|
|
82
|
+
`+t),e.b(" </tbody>"),e.b(`
|
|
83
|
+
`+t),e.b(" </table>"),e.b(`
|
|
84
|
+
`+t),e.b(" </div>"),e.b(`
|
|
85
|
+
`+t),e.b(" </div>"),e.b(`
|
|
86
|
+
`+t),e.b("</div>"),e.fl()},partials:{},subs:{}});W["line-by-line-numbers"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<div class="line-num1">'),e.b(e.v(e.f("oldNumber",i,n,0))),e.b("</div>"),e.b(`
|
|
87
|
+
`+t),e.b('<div class="line-num2">'),e.b(e.v(e.f("newNumber",i,n,0))),e.b("</div>"),e.fl()},partials:{},subs:{}});W["side-by-side-file-diff"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<div id="'),e.b(e.v(e.f("fileHtmlId",i,n,0))),e.b('" class="d2h-file-wrapper" data-lang="'),e.b(e.v(e.d("file.language",i,n,0))),e.b('">'),e.b(`
|
|
88
|
+
`+t),e.b(' <div class="d2h-file-header">'),e.b(`
|
|
89
|
+
`+t),e.b(" "),e.b(e.t(e.f("filePath",i,n,0))),e.b(`
|
|
90
|
+
`+t),e.b(" </div>"),e.b(`
|
|
91
|
+
`+t),e.b(' <div class="d2h-files-diff">'),e.b(`
|
|
92
|
+
`+t),e.b(' <div class="d2h-file-side-diff">'),e.b(`
|
|
93
|
+
`+t),e.b(' <div class="d2h-code-wrapper">'),e.b(`
|
|
94
|
+
`+t),e.b(' <table class="d2h-diff-table">'),e.b(`
|
|
95
|
+
`+t),e.b(' <tbody class="d2h-diff-tbody">'),e.b(`
|
|
96
|
+
`+t),e.b(" "),e.b(e.t(e.d("diffs.left",i,n,0))),e.b(`
|
|
97
|
+
`+t),e.b(" </tbody>"),e.b(`
|
|
98
|
+
`+t),e.b(" </table>"),e.b(`
|
|
99
|
+
`+t),e.b(" </div>"),e.b(`
|
|
100
|
+
`+t),e.b(" </div>"),e.b(`
|
|
101
|
+
`+t),e.b(' <div class="d2h-file-side-diff">'),e.b(`
|
|
102
|
+
`+t),e.b(' <div class="d2h-code-wrapper">'),e.b(`
|
|
103
|
+
`+t),e.b(' <table class="d2h-diff-table">'),e.b(`
|
|
104
|
+
`+t),e.b(' <tbody class="d2h-diff-tbody">'),e.b(`
|
|
105
|
+
`+t),e.b(" "),e.b(e.t(e.d("diffs.right",i,n,0))),e.b(`
|
|
106
|
+
`+t),e.b(" </tbody>"),e.b(`
|
|
107
|
+
`+t),e.b(" </table>"),e.b(`
|
|
108
|
+
`+t),e.b(" </div>"),e.b(`
|
|
109
|
+
`+t),e.b(" </div>"),e.b(`
|
|
110
|
+
`+t),e.b(" </div>"),e.b(`
|
|
111
|
+
`+t),e.b("</div>"),e.fl()},partials:{},subs:{}});W["tag-file-added"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),e.fl()},partials:{},subs:{}});W["tag-file-changed"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),e.fl()},partials:{},subs:{}});W["tag-file-deleted"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),e.fl()},partials:{},subs:{}});W["tag-file-renamed"]=new F.Template({code:function(i,n,t){var e=this;return e.b(t=t||""),e.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),e.fl()},partials:{},subs:{}});var Pe=class{constructor({compiledTemplates:n={},rawTemplates:t={}}){let e=Object.entries(t).reduce((r,[a,s])=>{let u=Ye.compile(s,{asString:false});return Object.assign(Object.assign({},r),{[a]:u})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},W),n),e);}static compile(n){return Ye.compile(n,{asString:false})}render(n,t,e,r,a){let s=this.templateKey(n,t);try{return this.preCompiledTemplates[s].render(e,r,a)}catch(u){throw new Error(`Could not find template to render '${s}'`)}}template(n,t){return this.preCompiledTemplates[this.templateKey(n,t)]}templateKey(n,t){return `${n}-${t}`}};var mt=Object.assign(Object.assign(Object.assign({},Ge),Ve),{outputFormat:Ze.LINE_BY_LINE,drawFileList:true});function wn(i,n={}){return Oe(i,Object.assign(Object.assign({},mt),n))}function xn(i,n={}){let t=Object.assign(Object.assign({},mt),n),e=typeof i=="string"?Oe(i,t):i,r=new Pe(t),{colorScheme:a}=t,s={colorScheme:a},u=t.drawFileList?new Te(r,s).render(e):"",d=t.outputFormat==="side-by-side"?new Ee(r,t).render(e):new Ne(r,t).render(e);return u+d}export{mt as defaultDiff2HtmlConfig,xn as html,wn as parse};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import {Z as Ze,Y as Ye$1,E as Et$1,y as yt$2}from'./chunk-CE5rgBGE.js';import {an as ue,al as vt,g,O as Ot$1,F,r as re,a as Gi,m as mT,R as Re,P,K as c,G,L,U,ap as wd,e as xw,h as hr,j as Gn,bA as yC,J as Jw,k as ws,q as Rg,n as GC,o as pl,bB as vC,S as Sg,y as eC,X as XE,A as Ug,v as bg,T as Tg,bk as yh,a8 as Yg,D as Pg,E as EC,I as IC,aL as wo,aM as Zn$1,aO as wt$1,cb as ZB,N,p as pe,C as Ce,cd as Hf,x,w,b as U$1,ce as _b,Q as jy,t as rC,z as oC,aw as hl,bo as tC,ax as gl,b6 as _g,c0 as xg,ad as Hg,a9 as lC,aa as If,ac as gC,ab as wf,ai as tm,aj as KC,a3 as VI,ak as em,a6 as UI,af as Eg,ag as fT,a5 as vl,aG as fe,ae as kt$1,cf as _,Y as x$1,u as CC,cg as iT,ch as Ng,b4 as oT}from'./main-2GG5NZ4C.js';import {W}from'./chunk-BvO---8Y.js';import {T as Tn$1,c as ce}from'./chunk-RUBMO7Yb.js';import {u as ui,a as me,f as fi,Y as Yt$1,H as He,V as Ve,n as ne}from'./chunk-Bbb2Oy9I.js';import {t as ti,Y as Ye,Z as Zn,c as cn$1,y as yt$1,w as wt,X as Xt$1}from'./chunk-D_aTK145.js';var bt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=wo({type:n});static \u0275inj=Zn$1({imports:[wt$1]})}return n})();var Tt=(n,t)=>({subThreads:n,depth:t}),Ot=n=>({subThreads:n,depth:1}),xt=(n,t)=>t.id,kt=(n,t)=>t.label;function Et(n,t){if(n&1){let e=lC();ws(0,"mat-icon",10),Rg("click",function(o){If(e);let s=gC().$implicit,f=gC(3);return wf(f.toggleSubThreads(o,s.id))}),GC(1),pl();}if(n&2){let e=gC().$implicit,i=gC(3);XE(),Yg(i.isParentExpanded(e.id)?"expand_more":"chevron_right");}}function Dt(n,t){n&1&&Ng(0);}function Nt(n,t){if(n&1&&Eg(0,Dt,1,0,"ng-container",11),n&2){let e=gC().$implicit,i=gC().depth;gC();let o=CC(1);bg("ngTemplateOutlet",o)("ngTemplateOutletContext",iT(2,Tt,e.subThreads,i+1));}}function jt(n,t){if(n&1){let e=lC();ws(0,"div",5)(1,"a",6),Rg("click",function(o){let s=If(e).$implicit;return gC(3).selectThread(s.id),wf(o.preventDefault())})("keydown.enter",function(o){let s=If(e).$implicit;return gC(3).selectThread(s.id),wf(o.preventDefault())})("keydown.space",function(o){let s=If(e).$implicit;return gC(3).selectThread(s.id),wf(o.preventDefault())}),Jw(2,Et,2,1,"mat-icon",7),ws(3,"span",8),GC(4),pl(),ws(5,"span",9),GC(6),pl()()(),Jw(7,Nt,1,5,"ng-container");}if(n&2){let e=t.$implicit,i=gC().depth,o=gC(2);Hg("--sub-depth",i),Ug("current",e.id===o.currentThread()?.id),XE(2),eC(e.subThreads?.length?2:-1),XE(2),Yg(e.delegatedAgentName||"Agent"),XE(2),Yg(e.delegatedTask||e.name),XE(),eC(o.isParentExpanded(e.id)&&e.subThreads?.length?7:-1);}}function Vt(n,t){if(n&1&&rC(0,jt,8,8,null,null,xt),n&2){let e=t.subThreads;oC(e);}}function Ft(n,t){n&1&&(ws(0,"div",4),Sg(1,"span",12),ws(2,"span",13),GC(3,"Loading threads..."),pl()());}function It(n,t){if(n&1&&(ws(0,"div",27),GC(1),pl()),n&2){let e=gC(6);XE(),Yg(e.renameErrorMessage);}}function zt(n,t){if(n&1){let e=lC();ws(0,"div",18)(1,"input",26),tm("ngModelChange",function(o){If(e);let s=gC(5);return KC(s.editingThreadName,o)||(s.editingThreadName=o),wf(o)}),Rg("keydown",function(o){If(e);let s=gC(5);return wf(s.onEditKeydown(o))})("blur",function(){If(e);let o=gC(5);return wf(o.onEditBlur())})("click",function(o){return o.stopPropagation()}),pl(),VI(),Jw(2,It,2,1,"div",27),pl();}if(n&2){let e=gC(5);XE(),em("ngModel",e.editingThreadName),bg("disabled",e.isRenamingThread),UI(),XE(),eC(e.renameErrorMessage?2:-1);}}function At(n,t){if(n&1){let e=lC();ws(0,"mat-icon",10),Rg("click",function(o){If(e);let s=gC(2).$implicit,f=gC(4);return wf(f.toggleSubThreads(o,s.id))}),GC(1),pl();}if(n&2){let e=gC(2).$implicit,i=gC(4);XE(),Yg(i.isParentExpanded(e.id)?"expand_more":"chevron_right");}}function Lt(n,t){if(n&1&&(ws(0,"span",29),GC(1),pl()),n&2){let e=gC(2).$implicit;XE(),Yg(e.name);}}function Rt(n,t){n&1&&(Sg(0,"mat-spinner",31),ws(1,"span",32),GC(2,"Generating name..."),pl()),n&2&&bg("diameter",16);}function $t(n,t){n&1&&(ws(0,"mat-icon",30),GC(1,"group"),pl());}function Bt(n,t){if(n&1){let e=lC();ws(0,"a",28),Rg("click",function(o){If(e);let s=gC().$implicit;return gC(4).selectThread(s.id),wf(o.preventDefault())})("keydown.enter",function(o){If(e);let s=gC().$implicit;return gC(4).selectThread(s.id),wf(o.preventDefault())})("keydown.space",function(o){If(e);let s=gC().$implicit;return gC(4).selectThread(s.id),wf(o.preventDefault())}),Jw(1,At,2,1,"mat-icon",7),Jw(2,Lt,2,1,"span",29)(3,Rt,3,1),Jw(4,$t,2,0,"mat-icon",30),pl();}if(n&2){let e=gC().$implicit,i=gC(4);bg("matTooltip",e.name?e.name+`
|
|
2
|
+
|
|
3
|
+
`+(e.summary||""):e.summary||"")("matTooltipDisabled",!e.summary),XE(),eC(e.subThreads?.length?1:-1),XE(),eC(e.name?2:3),XE(2),eC(i.isSharedThread(e)?4:-1);}}function Ut(n,t){if(n&1){let e=lC();ws(0,"button",33),Rg("click",function(o){If(e);let s=gC().$implicit,f=gC(4);return wf(f.startEditingThreadName(o,s))}),ws(1,"mat-icon"),GC(2,"edit"),pl()();}}function Xt(n,t){if(n&1){let e=lC();ws(0,"button",34),Rg("click",function(o){If(e);let s=gC().$implicit,f=gC(4);return wf(f.markActive(o,s))}),ws(1,"mat-icon"),GC(2,"replay"),pl()();}}function Qt(n,t){if(n&1){let e=lC();ws(0,"button",35),Rg("click",function(o){If(e);let s=gC().$implicit,f=gC(4);return wf(f.markDone(o,s))}),ws(1,"mat-icon"),GC(2,"check_circle_outline"),pl()();}}function Gt(n,t){n&1&&Ng(0);}function Ht(n,t){if(n&1&&Eg(0,Gt,1,0,"ng-container",11),n&2){let e=gC().$implicit;gC(3);let i=CC(1);bg("ngTemplateOutlet",i)("ngTemplateOutletContext",oT(2,Ot,e.subThreads));}}function qt(n,t){if(n&1){let e=lC();ws(0,"div",17),Jw(1,zt,3,3,"div",18)(2,Bt,5,5,"a",19),ws(3,"div",20),Jw(4,Ut,3,0,"button",21),Jw(5,Xt,3,0,"button",22)(6,Qt,3,0,"button",23),ws(7,"button",24),Rg("click",function(o){let s=If(e).$implicit,f=gC(4);return wf(f.toggleStar(o,s))}),ws(8,"mat-icon"),GC(9),pl()(),ws(10,"button",25),Rg("click",function(o){let s=If(e).$implicit,f=gC(4);return wf(f.deleteThread(o,s))}),ws(11,"mat-icon"),GC(12,"delete"),pl()()()(),Jw(13,Ht,1,4,"ng-container");}if(n&2){let e=t.$implicit,i=gC(4);Ug("current",e.id===i.currentThread()?.id),XE(),eC(i.editingThreadId===e.id?1:2),XE(3),eC(i.editingThreadId!==e.id&&e.name?4:-1),XE(),eC(e.closedByUser?5:6),XE(2),Ug("starred",i.isStarred(e)),bg("title",i.isStarred(e)?"Unstar thread":"Star thread"),XE(2),Yg(i.isStarred(e)?"star":"star_outline"),XE(4),eC(i.isParentExpanded(e.id)&&e.subThreads?.length?13:-1);}}function Wt(n,t){if(n&1&&(ws(0,"div",14)(1,"div",16),GC(2),pl(),rC(3,qt,14,10,null,null,xt),pl()),n&2){let e=t.$implicit;XE(2),Yg(e.label),XE(),oC(e.threads);}}function Jt(n,t){n&1&&(ws(0,"div",15),GC(1,"No existing threads"),pl());}function Yt(n,t){if(n&1&&(ws(0,"div",15),GC(1),pl()),n&2){let e=gC(3);XE(),vl('No threads matching "',e.searchQuery(),'"');}}function Zt(n,t){if(n&1&&(rC(0,Wt,5,1,"div",14,kt),Jw(2,Jt,2,0,"div",15)(3,Yt,2,1,"div",15)),n&2){let e=gC(2);oC(e.getGroupedThreads()),XE(2),eC(!e.threads()?.length&&!e.searchQuery()?2:e.searchQuery()&&e.getGroupedThreads().length===0?3:-1);}}function Kt(n,t){if(n&1&&(Eg(0,Vt,2,0,"ng-template",null,0,fT),ws(2,"div",3),Jw(3,Ft,4,0,"div",4)(4,Zt,4,1),pl()),n&2){let e=gC();XE(3),eC(e.isLoadingThreadList()?3:4);}}function en(n,t){n&1&&(ws(0,"span",36),GC(1,"No project selected"),pl());}function tn(n,t){n&1&&(ws(0,"span",36),GC(1,"Loading..."),pl());}function nn(n,t){if(n&1&&(ws(0,"div",2),Jw(1,en,2,0,"span",36)(2,tn,2,0,"span",36),pl()),n&2){let e=gC();XE(),eC(e.currentProject()?.name?2:1);}}var we=class n{projects=null;searchMode=false;searchQuery=ZB("");searchModeChange=new vt;threadSelected=new vt;projectStateService=g(P);threadStateService=g(U);threadApiService=g(N);userService=g(pe);router=g(G);destroyRef=g(Ce);currentThread=F(this.threadStateService.selectedThread$);currentProject=F(this.projectStateService.selectedProject$);threads=F(this.threadStateService.threadList$);isLoadingThreadList=F(this.threadStateService.isLoadingThreadList$);username=F(this.userService.username$);isTouchDevice="ontouchstart"in window||navigator.maxTouchPoints>0;editingThreadId=null;editingThreadName="";isRenamingThread=false;renameErrorMessage="";expandedParents=new Set;constructor(){Hf(()=>{let t=this.currentThread()?.id,e=this.threads();if(!t||!e?.length)return;let i=new Map;for(let s of e)s.parentThreadId&&i.set(s.id,s.parentThreadId);let o=t;for(;o;){let s=i.get(o);s&&this.expandedParents.add(s),o=s;}});}ngOnInit(){this.userService.fetchCurrentUser().subscribe({error:t=>{console.error("[THREAD-SELECTOR] Failed to load current user:",t);}});}selectThread(t){this.threadStateService.selectThread(t),this.threadSelected.emit(),this.router.navigate(["project",this.currentProject()?.name,"thread",t]);}getGroupedThreads(){let t=this.threads();if(!t?.length)return [];let e=new Set(t.map(h=>h.id)),i=t.filter(h=>!h.parentThreadId),o=t.filter(h=>!!h.parentThreadId),s=o.filter(h=>!e.has(h.parentThreadId)),f=o.filter(h=>e.has(h.parentThreadId)),A=new Map;for(let h of f){let O=h.parentThreadId;A.has(O)||A.set(O,[]),A.get(O).push(h);}let J=h=>(A.get(h)||[]).sort((j,I)=>j.modifiedDate>I.modifiedDate?-1:1).map(j=>x(w({},j),{subThreads:J(j.id)})),L=[...i,...s];if(this.searchQuery()&&this.searchQuery().trim()){let h=this.searchQuery().toLowerCase().trim();L=L.filter(O=>O.name.toLowerCase().includes(h)||O.summary&&O.summary.toLowerCase().includes(h));}if(!L.length)return [];let R=this.username();if(!R)return [];let Ie=L.map(h=>x(w({},h),{subThreads:J(h.id)})),ze=Ie.filter(h=>h.starring&&h.starring.includes(R)),Mt=Ie.filter(h=>!h.starring||!h.starring.includes(R)),Y=new Map,Ae=new Date;Ae.setHours(0,0,0,0);for(let h of Mt){let O=new Date(h.modifiedDate);O.setHours(0,0,0,0);let j=Ae.getTime()-O.getTime(),I=Math.floor(j/(1e3*60*60*24)),D;I===0?D="Today":I===1?D="Yesterday":I<7?D="This Week":I<30?D="This Month":I<90?D="Last 3 Months":D="Older",Y.has(D)||Y.set(D,[]),Y.get(D).push(h);}let Ee=[];if(ze.length>0){let h=[...ze].sort((O,j)=>O.modifiedDate>j.modifiedDate?-1:1);Ee.push({label:"Starred",threads:h});}return ["Today","Yesterday","This Week","This Month","Last 3 Months","Older"].filter(h=>Y.has(h)).forEach(h=>{Ee.push({label:h,threads:Y.get(h)});}),Ee}isParentExpanded(t){return this.expandedParents.has(t)}toggleSubThreads(t,e){t.stopPropagation(),this.expandedParents.has(e)?this.expandedParents.delete(e):this.expandedParents.add(e);}isSubThread(t){return !!t.parentThreadId}isSharedThread(t){return t.users&&t.users.length>1}isStarred(t){let e=this.username();return !!e&&t.starring&&t.starring.includes(e)}toggleStar(t,e){t.stopPropagation();let i=this.username();if(!i)return;let o=e.starring&&e.starring.includes(i),s=o?this.threadApiService.unstarThread(e.id):this.threadApiService.starThread(e.id);this.threadStateService.updateStarLocal(e.id,!o,i),s.pipe(U$1(this.destroyRef)).subscribe({next:()=>{},error:f=>{console.error("Error toggling star:",f),this.threadStateService.refreshThreadList();}});}markDone(t,e){t.stopPropagation(),this.threadStateService.markDone(e.id);}markActive(t,e){t.stopPropagation(),this.threadStateService.markActive(e.id);}deleteThread(t,e){t.stopPropagation();let i=this.currentProject()?.name;!i||!confirm(`Are you sure you want to delete the thread "${e.name}"?`)||this.threadApiService.deleteThread(e.id).subscribe({next:()=>{this.currentThread()?.id===e.id&&(this.threadStateService.clearSelection(),this.router.navigate(["project",i])),this.threadStateService.refreshThreadList();},error:s=>{console.error("Error deleting thread:",s),alert("Failed to delete thread. Please try again.");}});}formatDate(t){try{let e=new Date(t),o=new Date().getTime()-e.getTime(),s=Math.floor(o/(1e3*60*60*24));return s===0?"Today":s===1?"Yesterday":s<7?`${s} days ago`:e.toLocaleDateString("en-EN",{day:"numeric",month:"short"})}catch(e){return "No date"}}startEditingThreadName(t,e){t.stopPropagation(),this.editingThreadId=e.id,this.editingThreadName=e.name||"",this.renameErrorMessage="",setTimeout(()=>{let i=document.querySelector(".thread-name-input");i&&(i.focus(),i.select());},0);}cancelEditingThreadName(){this.editingThreadId=null,this.editingThreadName="",this.renameErrorMessage="";}saveThreadName(t){if(t&&t.stopPropagation(),!this.editingThreadId)return;let e=this.editingThreadName.trim();if(!e){this.renameErrorMessage="Thread name cannot be empty";return}if(e.length>200){this.renameErrorMessage="Thread name is too long (max 200 characters)";return}let i=this.editingThreadId;this.isRenamingThread=true,this.renameErrorMessage="",this.threadStateService.renameThread(i,e).subscribe({next:()=>{console.log("[THREAD-SELECTOR] Thread renamed successfully"),this.cancelEditingThreadName(),this.isRenamingThread=false;},error:o=>{console.error("[THREAD-SELECTOR] Error renaming thread:",o),this.renameErrorMessage=o.message||"Failed to rename thread",this.isRenamingThread=false;}});}onEditKeydown(t){t.key==="Enter"?(t.preventDefault(),t.stopPropagation(),this.saveThreadName()):t.key==="Escape"&&(t.preventDefault(),t.stopPropagation(),this.cancelEditingThreadName());}onEditBlur(){setTimeout(()=>{this.editingThreadId&&!this.isRenamingThread&&this.saveThreadName();},200);}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=xw({type:n,selectors:[["app-thread-selector"]],inputs:{searchMode:"searchMode",searchQuery:[1,"searchQuery"]},outputs:{searchModeChange:"searchModeChange",threadSelected:"threadSelected"},decls:3,vars:1,consts:[["subThreadTemplate",""],["tabindex","0","role","application","aria-label","Thread selector",1,"thread-selector",3,"click","keydown"],[1,"thread-disabled"],["role","menu","aria-label","Thread selection",1,"thread-list"],[1,"thread-loading"],[1,"thread-item-wrapper","sub-thread"],["role","menuitem","tabindex","0",1,"thread-item","sub-thread-item",3,"click","keydown.enter","keydown.space"],[1,"sub-thread-toggle"],[1,"sub-thread-agent"],[1,"sub-thread-task"],[1,"sub-thread-toggle",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"loading-spinner"],[1,"loading-text"],[1,"thread-group"],[1,"thread-empty"],[1,"thread-group-header"],[1,"thread-item-wrapper"],[1,"thread-name-edit-wrapper"],["matTooltipShowDelay","1000","role","menuitem","tabindex","0",1,"thread-item",3,"matTooltip","matTooltipDisabled"],[1,"action-buttons"],["mat-icon-button","","title","Rename thread","type","button",1,"action-button","edit-button"],["mat-icon-button","","title","Mark as active","type","button",1,"action-button","mark-active-button"],["mat-icon-button","","title","Mark as done","type","button",1,"action-button","mark-done-button"],["mat-icon-button","","type","button",1,"action-button","star-button",3,"click","title"],["mat-icon-button","","title","Delete thread","type","button",1,"action-button","delete-button",3,"click"],["type","text","maxlength","200",1,"thread-name-input",3,"ngModelChange","keydown","blur","click","ngModel","disabled"],[1,"rename-error"],["matTooltipShowDelay","1000","role","menuitem","tabindex","0",1,"thread-item",3,"click","keydown.enter","keydown.space","matTooltip","matTooltipDisabled"],[1,"thread-name"],["matTooltip","Shared thread",1,"shared-indicator"],[1,"thread-name-spinner",3,"diameter"],[1,"thread-name","thread-name-generating"],["mat-icon-button","","title","Rename thread","type","button",1,"action-button","edit-button",3,"click"],["mat-icon-button","","title","Mark as active","type","button",1,"action-button","mark-active-button",3,"click"],["mat-icon-button","","title","Mark as done","type","button",1,"action-button","mark-done-button",3,"click"],[1,"disabled-text"]],template:function(e,i){e&1&&(ws(0,"div",1),Rg("click",function(s){return s.stopPropagation()})("keydown",function(s){return s.stopPropagation()}),Jw(1,Kt,5,1)(2,nn,3,1,"div",2),pl()),e&2&&(XE(),eC(i.currentProject()?.name?1:2));},dependencies:[_b,ti,Ye,Zn,Xt$1,cn$1,yt$1,wt,hr,Gn,Tn$1,ce,Et$1,yt$2,Ve,ne],styles:[".thread-selector[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.thread-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0;max-height:none;overflow:visible}.thread-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-bottom:.5rem}.thread-group[_ngcontent-%COMP%]:last-child{margin-bottom:0}.thread-group-header[_ngcontent-%COMP%]{padding:.5rem 1rem .25rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);z-index:1}.thread-item-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;position:relative;width:100%;border-radius:0;min-width:0;gap:.25rem}.thread-item-wrapper[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.thread-item-wrapper[_ngcontent-%COMP%]:hover .action-buttons[_ngcontent-%COMP%]{display:flex}.thread-item-wrapper.current[_ngcontent-%COMP%]{background:var(--color-primary-light)}.thread-item-wrapper.current[_ngcontent-%COMP%] .thread-item[_ngcontent-%COMP%]{color:var(--color-primary-text);font-weight:600}.thread-item[_ngcontent-%COMP%]{display:flex;align-items:center;flex:1;min-width:0;padding:.75rem 1rem;text-decoration:none;cursor:pointer;transition:all .2s ease;background:transparent;border:none;border-radius:0;color:var(--color-text);text-align:left;justify-content:flex-start}.thread-item.new-thread-item[_ngcontent-%COMP%]{margin-bottom:.25rem}.thread-item[_ngcontent-%COMP%]:hover{color:var(--color-primary)}.thread-item[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.action-buttons[_ngcontent-%COMP%]{display:none;align-items:center;gap:.25rem;flex-shrink:0;margin-right:.5rem}.thread-item-wrapper[_ngcontent-%COMP%]:hover .action-buttons[_ngcontent-%COMP%], .thread-item-wrapper.current[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{display:flex}.action-button[_ngcontent-%COMP%]{flex-shrink:0;border-radius:4px!important;width:28px!important;height:28px!important;padding:0!important}.action-button[_ngcontent-%COMP%] .mat-mdc-button-persistent-ripple{border-radius:4px!important}.action-button[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)!important}.action-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.action-button.edit-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.action-button.edit-button[_ngcontent-%COMP%]:hover{background-color:var(--color-primary-hover)!important}.action-button.edit-button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.action-button.star-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:color .2s ease}.action-button.star-button.starred[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fbbf24}.action-button.star-button[_ngcontent-%COMP%]:not(.starred):hover mat-icon[_ngcontent-%COMP%]{color:#fbbf24}.action-button.delete-button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:#ef4444}.action-button.mark-done-button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:#22c55e}.action-button.mark-active-button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.thread-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;background:transparent;border:none;text-decoration:none;cursor:pointer;transition:all .2s ease;gap:.5rem;font-size:.875rem;font-weight:400;padding:0 1rem;min-width:0}.thread-link[_ngcontent-%COMP%]:hover:not(.new-thread-link){color:var(--color-primary-hover, var(--color-primary));text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.thread-link[_ngcontent-%COMP%]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.thread-link.new-thread-link[_ngcontent-%COMP%]{margin-bottom:.5rem;font-weight:600;font-size:.95rem}.thread-link.new-thread-link[_ngcontent-%COMP%] .thread-name[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--color-primary, #3b82f6) 0%,var(--color-accent, #8b5cf6) 50%,var(--color-primary, #3b82f6) 100%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:_ngcontent-%COMP%_gradientShift 3s ease-in-out infinite}.thread-link.new-thread-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary);animation:_ngcontent-%COMP%_iconPulse 3s ease-in-out infinite}.thread-link.new-thread-link[_ngcontent-%COMP%]:hover{transform:translate(4px)}.thread-link.new-thread-link[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_iconPulse 1.5s ease-in-out infinite}.thread-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}@keyframes _ngcontent-%COMP%_gradientShift{0%{background-position:0 center}50%{background-position:100% center}to{background-position:0 center}}@keyframes _ngcontent-%COMP%_iconPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.thread-name[_ngcontent-%COMP%]{flex:1;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.thread-name.thread-name-generating[_ngcontent-%COMP%]{color:var(--color-text-muted);font-style:italic}.thread-name-edit-wrapper[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;padding:0 .5rem}.thread-name-input[_ngcontent-%COMP%]{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.9rem;font-family:inherit}.thread-name-input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f61a}.thread-name-input[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.rename-error[_ngcontent-%COMP%]{color:var(--color-error);font-size:.75rem;margin-top:.25rem;padding-left:.5rem}.thread-name-spinner[_ngcontent-%COMP%]{flex-shrink:0;margin-right:.5rem}.thread-name-spinner[_ngcontent-%COMP%] .mat-mdc-progress-spinner circle{stroke:var(--color-primary)!important}.current-indicator[_ngcontent-%COMP%]{color:var(--color-success);font-weight:700;flex-shrink:0;font-size:1rem}.thread-separator[_ngcontent-%COMP%]{height:1px;background:var(--color-border);margin:.25rem 0}.thread-empty[_ngcontent-%COMP%]{padding:1.5rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.8rem;font-style:italic}.thread-loading[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;gap:.75rem}.thread-loading[_ngcontent-%COMP%] .loading-spinner[_ngcontent-%COMP%]{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:_ngcontent-%COMP%_spin .8s linear infinite}.thread-loading[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%]{color:var(--color-text-muted);font-size:.8rem}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.thread-disabled[_ngcontent-%COMP%]{padding:1.5rem 1rem}.thread-disabled[_ngcontent-%COMP%] .disabled-text[_ngcontent-%COMP%]{display:block;color:var(--color-text-muted);font-size:.85rem;font-style:italic;text-align:center}.thread-item-wrapper.sub-thread[_ngcontent-%COMP%]{padding-left:calc(.2rem + var(--sub-depth, 1) * 1.5rem);border-left:2px solid var(--color-primary, #3b82f6);margin-left:.75rem}.thread-item-wrapper.sub-thread[_ngcontent-%COMP%] .sub-thread-item[_ngcontent-%COMP%]{padding:.35rem .5rem .35rem 0;gap:.2rem;font-size:.8rem;color:var(--color-text-secondary)}.thread-item-wrapper.sub-thread[_ngcontent-%COMP%] .sub-thread-item[_ngcontent-%COMP%]:hover{color:var(--color-primary)}.thread-item-wrapper.sub-thread[_ngcontent-%COMP%] .sub-thread-agent[_ngcontent-%COMP%]{font-weight:600;color:var(--color-primary);white-space:nowrap;flex-shrink:0;font-size:.8rem}.thread-item-wrapper.sub-thread[_ngcontent-%COMP%] .sub-thread-task[_ngcontent-%COMP%]{color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem}.sub-thread-toggle[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;flex-shrink:0;cursor:pointer;color:var(--color-text-secondary);margin-right:.25rem}.sub-thread-toggle[_ngcontent-%COMP%]:hover{color:var(--color-primary)}.shared-indicator[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;color:var(--color-text-secondary);flex-shrink:0;margin-left:.25rem}@media(max-width:768px){.thread-item[_ngcontent-%COMP%]{padding:.6rem .8rem}.thread-name[_ngcontent-%COMP%]{font-size:.8rem}}"],changeDetection:1})};var on=["logsContent"],rn=(n,t)=>t.name;function an(n,t){if(n&1){let e=lC();ws(0,"button",12),Rg("click",function(){If(e);let o=gC().$implicit,s=gC();return wf(s.start(o.name))}),ws(1,"mat-icon"),GC(2,"play_arrow"),pl()();}if(n&2){let e=gC().$implicit;bg("disabled",e.isLoading);}}function sn(n,t){if(n&1){let e=lC();ws(0,"button",13),Rg("click",function(){If(e);let o=gC().$implicit,s=gC();return wf(s.stop(o.name))}),ws(1,"mat-icon"),GC(2,"stop"),pl()();}if(n&2){let e=gC().$implicit;bg("disabled",e.isLoading);}}function cn(n,t){if(n&1&&(ws(0,"a",8)(1,"mat-icon",14),GC(2,"open_in_new"),pl()()),n&2){let e=gC().$implicit;bg("href",e.url,yh)("title",e.url);}}function ln(n,t){if(n&1&&(ws(0,"div",15),GC(1),pl()),n&2){let e=gC(),i=e.$implicit,o=e.$index;Hg("order",o*2),XE(),Yg(i.errorMessage);}}function dn(n,t){if(n&1){let e=lC();ws(0,"button",21),Rg("click",function(){If(e);let o=gC(3);return wf(o.onManualRefresh())}),ws(1,"mat-icon"),GC(2,"refresh"),pl()();}}function mn(n,t){if(n&1&&(ws(0,"div",16)(1,"div",17)(2,"span",18),GC(3),pl(),Jw(4,dn,3,0,"button",19),pl(),ws(5,"pre",20,0),GC(7),pl()()),n&2){let e=gC(),i=e.$implicit,o=e.$index,s=gC();Hg("order",o*2+1),XE(3),vl("",i.name," logs"),XE(),eC(i.status==="running"?4:-1),XE(3),Yg(s.logs()||"(empty)");}}function pn(n,t){if(n&1){let e=lC();ws(0,"div",2)(1,"span",3),GC(2),pl(),ws(3,"div",4),Jw(4,an,3,1,"button",5)(5,sn,3,1,"button",6),ws(6,"span",7),GC(7),pl(),Jw(8,cn,3,2,"a",8),ws(9,"button",9),Rg("click",function(){let o=If(e).$implicit,s=gC();return wf(s.toggleLogs(o.name))}),ws(10,"mat-icon"),GC(11),pl()()()(),Jw(12,ln,2,3,"div",10),Jw(13,mn,8,5,"div",11);}if(n&2){let e=t.$implicit,i=t.$index,o=gC();Hg("order",i*2),XE(2),Yg(e.name),XE(2),eC(e.status==="stopped"?4:5),XE(2),Ug("running",e.status==="running"),XE(),vl(" ",e.status==="running"?"Running":"Stopped"," "),XE(),eC(e.url?8:-1),XE(),bg("title",o.logsOpenFor()===e.name?"Hide logs":"Show logs"),XE(2),Yg(o.logsOpenFor()===e.name?"expand_less":"terminal"),XE(),eC(e.errorMessage?12:-1),XE(),eC(o.logsOpenFor()===e.name?13:-1);}}var Te=class n{destroyRef=g(Ce);projectApi=g(c);projectName=ZB.required();entryStates=Gi([]);hasPreview=mT(()=>this.entryStates().length>0);logsOpenFor=Gi(null);logs=Gi("");logsContent;logsPollTimer=null;logsTimeoutTimer=null;static LOGS_POLL_MS=5e3;static LOGS_TIMEOUT_MS=1200*1e3;constructor(){Hf(()=>{let t=this.projectName();t&&this.onProjectChanged(t);},{}),Hf(()=>{console.log("entry states",this.entryStates());});}ngOnDestroy(){this.stopLogPolling();}onProjectChanged(t){this.stopLogPolling(),this.entryStates.set([]),this.logsOpenFor.set(null),this.logs.set(""),this.projectApi.getPreviewEntries(t).pipe(U$1(this.destroyRef)).subscribe({next:e=>{let i=e.entries;if(i.length===0)return;let o=i.map(f=>({name:f.name,command:f.command,url:f.url,status:"stopped",isLoading:false,errorMessage:""}));this.entryStates.set(o);let s=i.map(f=>this.projectApi.getPreviewStatus(t,f.name));jy(s).pipe(U$1(this.destroyRef)).subscribe({next:f=>{this.entryStates.update(A=>A.map((J,L)=>{let R=f[L];return R?x(w({},J),{status:R.status}):J}));},error:()=>{}});},error:()=>{}});}start(t){this.updateEntry(t,{isLoading:true,errorMessage:""}),this.projectApi.startPreview(this.projectName(),t).pipe(U$1(this.destroyRef)).subscribe({next:e=>{this.updateEntry(t,{status:e.status,isLoading:false});},error:e=>{this.updateEntry(t,{errorMessage:e?.error?.error??"Failed to start preview",isLoading:false});}});}stop(t){this.updateEntry(t,{isLoading:true,errorMessage:""}),this.projectApi.stopPreview(this.projectName(),t).pipe(U$1(this.destroyRef)).subscribe({next:()=>{this.updateEntry(t,{status:"stopped",isLoading:false}),this.logsOpenFor()===t&&this.stopLogPolling();},error:e=>{this.updateEntry(t,{errorMessage:e?.error?.error??"Failed to stop preview",isLoading:false});}});}toggleLogs(t){this.logsOpenFor()===t?(this.logsOpenFor.set(null),this.logs.set(""),this.stopLogPolling()):(this.logsOpenFor.set(t),this.refreshLogs(),this.startLogPolling());}onManualRefresh(){this.refreshLogs(),this.logsPollTimer&&this.resetLogsTimeout();}refreshLogs(){let t=this.logsOpenFor();t&&this.projectApi.getPreviewLogs(this.projectName(),t).pipe(U$1(this.destroyRef)).subscribe({next:e=>{this.logs.set(e.logs),this.scrollLogsToBottom();},error:()=>this.logs.set("(failed to load logs)")});}updateEntry(t,e){this.entryStates.update(i=>i.map(o=>o.name===t?w(w({},o),e):o));}startLogPolling(){this.stopLogPolling(),this.logsPollTimer=setInterval(()=>{this.logsOpenFor()?this.refreshLogs():this.stopLogPolling();},n.LOGS_POLL_MS),this.resetLogsTimeout();}stopLogPolling(){this.logsPollTimer&&(clearInterval(this.logsPollTimer),this.logsPollTimer=null),this.logsTimeoutTimer&&(clearTimeout(this.logsTimeoutTimer),this.logsTimeoutTimer=null);}resetLogsTimeout(){this.logsTimeoutTimer&&clearTimeout(this.logsTimeoutTimer),this.logsTimeoutTimer=setTimeout(()=>{this.stopLogPolling();},n.LOGS_TIMEOUT_MS);}scrollLogsToBottom(){setTimeout(()=>{let t=this.logsContent?.nativeElement;t&&(t.scrollTop=t.scrollHeight);});}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=xw({type:n,selectors:[["app-preview-panel"]],viewQuery:function(e,i){if(e&1&&Pg(on,5),e&2){let o;EC(o=IC())&&(i.logsContent=o.first);}},inputs:{projectName:[1,"projectName"]},decls:3,vars:0,consts:[["logsContent",""],[1,"preview-panel"],[1,"entry-row"],[1,"entry-name"],[1,"entry-actions"],["mat-icon-button","","title","Start","type","button",1,"entry-btn","start",3,"disabled"],["mat-icon-button","","title","Stop","type","button",1,"entry-btn","stop",3,"disabled"],[1,"status-pill"],["target","_blank","rel","noopener noreferrer",1,"preview-url",3,"href","title"],["mat-icon-button","","type","button",1,"entry-btn","logs",3,"click","title"],[1,"preview-error",3,"order"],[1,"logs-container",3,"order"],["mat-icon-button","","title","Start","type","button",1,"entry-btn","start",3,"click","disabled"],["mat-icon-button","","title","Stop","type","button",1,"entry-btn","stop",3,"click","disabled"],[1,"link-icon"],[1,"preview-error"],[1,"logs-container"],[1,"logs-header"],[1,"logs-title"],["mat-icon-button","","title","Refresh logs","type","button",1,"entry-btn"],[1,"logs-content"],["mat-icon-button","","title","Refresh logs","type","button",1,"entry-btn",3,"click"]],template:function(e,i){e&1&&(ws(0,"div",1),rC(1,pn,14,12,null,null,rn),pl()),e&2&&(XE(),oC(i.entryStates()));},dependencies:[hr,Gn,yt$1,wt],styles:["[_nghost-%COMP%]{display:block}.preview-panel[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:.25rem 0}.entry-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;padding:.125rem .5rem;min-height:36px}.entry-name[_ngcontent-%COMP%]{font-size:.82rem;font-weight:500;color:var(--on-surface, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.entry-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.entry-btn[_ngcontent-%COMP%]{width:28px!important;height:28px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0}.entry-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;line-height:18px}.entry-btn.start[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.entry-btn.stop[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#e53935}.entry-btn.logs[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;line-height:16px;color:var(--color-text-secondary)}.entry-btn[disabled][_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.status-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border-radius:12px;font-size:.68rem;font-weight:600;letter-spacing:.02em;flex-shrink:0;min-width:52px;text-align:center;background:var(--color-bg-hover);color:var(--color-text-secondary);border:1px solid var(--color-border)}.status-pill.running[_ngcontent-%COMP%]{background:#22c55e26;color:#16a34a;border-color:#22c55e66}.preview-url[_ngcontent-%COMP%]{display:inline-flex;align-items:center;text-decoration:none;color:var(--color-primary);flex-shrink:0}.preview-url[_ngcontent-%COMP%]:hover{text-decoration:underline}.preview-url[_ngcontent-%COMP%] .link-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}.preview-error[_ngcontent-%COMP%]{font-size:.75rem;color:#c00;padding:0 .75rem}.logs-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:.125rem .5rem .25rem;background:var(--color-bg-hover);border-radius:8px;overflow:hidden;border:1px solid var(--color-border)}.logs-header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:.25rem .75rem;border-bottom:1px solid var(--color-border)}.logs-header[_ngcontent-%COMP%] .logs-title[_ngcontent-%COMP%]{flex:1;font-size:.72rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.logs-content[_ngcontent-%COMP%]{margin:0;padding:.5rem .75rem;font-family:Courier New,Courier,monospace;font-size:.72rem;line-height:1.5;color:var(--color-text);white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.logs-content[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.logs-content[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:transparent}.logs-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:3px}"],changeDetection:1})};var Oe=class n{eventStream=g(fe);threadState=g(U);ratio=Gi(0);inputTokens=Gi(0);contextWindow=Gi(0);price=Gi(0);iterations=Gi(0);cacheReadTokens=Gi(0);visible=Gi(false);level=mT(()=>{let t=this.ratio();return t<.6?"ok":t<.85?"warning":"danger"});constructor(){this.eventStream.events$.pipe(kt$1(t=>t instanceof _),kt$1(t=>!t.threadId||t.threadId===this.threadState.getSelectedThreadId())).subscribe(t=>{this.inputTokens.set(t.inputTokens),this.contextWindow.set(t.contextWindow),this.price.set(t.price),this.iterations.set(t.iterations),this.cacheReadTokens.set(t.cacheReadTokens),this.ratio.set(t.contextWindow>0?t.inputTokens/t.contextWindow:0),this.visible.set(true);}),this.eventStream.connectionStatus$.pipe(kt$1(t=>!t.connected)).subscribe(()=>{this.visible.set(false),this.ratio.set(0),this.inputTokens.set(0),this.contextWindow.set(0),this.price.set(0),this.iterations.set(0),this.cacheReadTokens.set(0);});}static \u0275fac=function(e){return new(e||n)};static \u0275prov=x$1({token:n,factory:n.\u0275fac,providedIn:"root"})};function gn(n,t){if(n&1&&_g(0,"div",12),n&2){let e=t.$implicit,i=t.$index,o=gC();Hg("--delay",e.delay+"s")("--left",e.left+"%")("--dur",e.dur+"s")("--size",e.size+"px")("--rise",e.rise+"px"),Ug("invisible",i>=o.aboveBubbleCount());}}function _n(n,t){if(n&1&&_g(0,"div",13),n&2){let e=t.$implicit;Hg("--delay",e.delay+"s")("--size",e.size+"px")("--left",e.left+"%")("--dur",e.dur+"s")("--top",e.top+"px");}}function un(n,t){if(n&1&&_g(0,"div",14),n&2){let e=t.$implicit,i=t.$index,o=gC();Hg("--delay",e.delay+"s")("--left",e.left+"%")("--dur",e.dur+"s")("--size",e.size+"px"),Ug("invisible",i>=o.insideBubbleCount());}}var yt=30,Pt=27,hn=40;function T(n,t,e,i=0){return i+(n*137+t*31)%e}var ke=class n{gaugeState=g(Oe);sidenavOpen=ZB(false);aboveBubbles=Array.from({length:yt},(t,e)=>({delay:T(e,1,30)/10,left:T(e,2,82,5),dur:2.5+T(e,3,20)/10,size:1.5+T(e,4,40)/10,rise:150+T(e,5,150)}));insideBubbles=Array.from({length:Pt},(t,e)=>({delay:T(e,6,20)/10,left:T(e,7,80,5),dur:1.2+T(e,8,15)/10,size:2+T(e,9,35)/10}));foamBubbles=Array.from({length:hn},(t,e)=>({delay:T(e,10,25)/10,left:T(e,11,85,3),dur:1.5+T(e,12,10)/10,size:(3+T(e,13,80)/10)*.75,top:T(e,14,4)+8}));displayRatio=mT(()=>Math.min(100,this.gaugeState.ratio()*100));liquidColor=mT(()=>{let t=this.gaugeState.ratio();return t<=.5?`rgb(${Math.round(t*2*255)}, 255, 0)`:`rgb(255, ${Math.round((1-(t-.5)*2)*255)}, 0)`});aboveBubbleCount=mT(()=>Math.round(this.gaugeState.ratio()*yt));insideBubbleCount=mT(()=>{let t=this.gaugeState.ratio();return t<.5?0:t<.65?5:t<.8?13:t<.9?20:Pt});foamActive=mT(()=>this.gaugeState.ratio()>=.5);overflowing=mT(()=>this.gaugeState.ratio()>=.9);tooltipText=mT(()=>{let t=Math.round(this.gaugeState.ratio()*100),e=this.gaugeState.price().toFixed(4);return [`${this.gaugeState.inputTokens().toLocaleString()} / ${this.gaugeState.contextWindow().toLocaleString()} tokens (${t}%)`,`Cost: $${e}`,`Iterations: ${this.gaugeState.iterations()}`,`Cache read: ${this.gaugeState.cacheReadTokens().toLocaleString()}`].join(`
|
|
4
|
+
`)});static \u0275fac=function(e){return new(e||n)};static \u0275cmp=xw({type:n,selectors:[["app-context-gauge"]],inputs:{sidenavOpen:[1,"sidenavOpen"]},decls:15,vars:11,consts:[[1,"tube-host",3,"title"],[1,"tube"],[1,"bubbles-above"],[1,"bubble-color",3,"invisible","--delay","--left","--dur","--size","--rise"],[1,"foam"],[1,"foam-bubble",3,"--delay","--size","--left","--dur","--top"],[1,"body"],[1,"shine"],[1,"liquid"],[1,"percentage"],[1,"bubbles-inside"],[1,"bubble-dark",3,"invisible","--delay","--left","--dur","--size"],[1,"bubble-color"],[1,"foam-bubble"],[1,"bubble-dark"]],template:function(e,i){e&1&&(hl(0,"div",0)(1,"div",1)(2,"div",2),rC(3,gn,1,12,"div",3,tC),gl(),hl(5,"div",4),rC(6,_n,1,10,"div",5,tC),gl(),hl(8,"div",6),_g(9,"div",7),hl(10,"div",8)(11,"div",9)(12,"div",10),rC(13,un,1,10,"div",11,tC),gl()()()()()()),e&2&&(Ug("hidden",i.sidenavOpen()),xg("title",i.tooltipText()),XE(),Hg("--tube-color",i.liquidColor()),XE(2),oC(i.aboveBubbles),XE(2),Hg("bottom",i.displayRatio()+"%"),Ug("active",i.foamActive()),XE(),oC(i.foamBubbles),XE(5),Hg("height",i.displayRatio(),"%"),XE(2),oC(i.insideBubbles));},styles:['[_nghost-%COMP%]{position:fixed;left:calc(1rem + 10px);z-index:1500;display:block;top:calc(3.5rem + 80px);--gauge-glass: #dddddd}[data-theme$=dark][_nghost-%COMP%], [data-theme$=dark] [_nghost-%COMP%]{--gauge-glass: #333333}.tube-host[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center}.tube-host.hidden[_ngcontent-%COMP%]{visibility:hidden}.tube[_ngcontent-%COMP%]{position:relative;height:100px;width:24px;border:none;border-radius:0 0 50rem 50rem;background-color:var(--gauge-glass, #333333);cursor:default;overflow:visible}.tube[_ngcontent-%COMP%]:after{content:"";position:absolute;left:-3px;top:0;width:calc(100% + 6px);height:4px;border-radius:50rem;background:var(--gauge-glass, #333333)}.body[_ngcontent-%COMP%]{position:absolute;border-radius:inherit;height:100%;width:100%;bottom:0;overflow:hidden;z-index:5}.shine[_ngcontent-%COMP%]{position:absolute;left:20%;top:0;width:10%;height:100%;z-index:90;opacity:.2;pointer-events:none}.shine[_ngcontent-%COMP%]:before, .shine[_ngcontent-%COMP%]:after{content:"";position:absolute;background-color:#fff;border-radius:50rem;top:10%;height:40%;width:100%}.shine[_ngcontent-%COMP%]:after{height:15%;top:60%}@keyframes _ngcontent-%COMP%_liquid-spin{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}.liquid[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;bottom:0}.percentage[_ngcontent-%COMP%]{position:absolute;height:0%;width:100%;bottom:0;left:0;z-index:80;transition:height .9s cubic-bezier(.4,0,.2,1);overflow:visible}.percentage[_ngcontent-%COMP%]:before, .percentage[_ngcontent-%COMP%]:after{position:absolute;content:"";width:100px;height:100px;border-radius:40px;animation:_ngcontent-%COMP%_liquid-spin 4s infinite linear;transform:translate(-50%);left:50%;top:0;background:var(--tube-color, #34c759);transition:background .5s ease}.percentage[_ngcontent-%COMP%]:after{opacity:.4;animation-direction:reverse;border-radius:30px}@keyframes _ngcontent-%COMP%_bubble-rise-inside{0%{bottom:2%;opacity:0;transform:scale(.5)}15%{opacity:.7}85%{opacity:.4}to{bottom:96%;opacity:0;transform:scale(1.1)}}.bubbles-inside[_ngcontent-%COMP%]{position:absolute;left:0;bottom:0;width:100%;height:100%;z-index:10;pointer-events:none}.bubbles-inside[_ngcontent-%COMP%] .bubble-dark[_ngcontent-%COMP%]{position:absolute;border-radius:50%;background:var(--color-bg, rgba(20, 20, 20, .55));width:var(--size, 3px);height:var(--size, 3px);opacity:0;bottom:2%;left:var(--left, 30%);animation:_ngcontent-%COMP%_bubble-rise-inside var(--dur, 1.5s) infinite ease-in;animation-delay:var(--delay, 0s)}.bubbles-inside[_ngcontent-%COMP%] .bubble-dark.invisible[_ngcontent-%COMP%]{animation:none;opacity:0}@keyframes _ngcontent-%COMP%_bubble-rise-above{0%{bottom:0;opacity:0;transform:scale(.4)}10%{opacity:.9}70%{opacity:.8}90%{opacity:.3}to{bottom:var(--rise, 80px);opacity:0;transform:scale(1.2)}}.bubbles-above[_ngcontent-%COMP%]{position:absolute;left:0;bottom:0;width:100%;height:100%;z-index:20;pointer-events:none;overflow:visible}.bubbles-above[_ngcontent-%COMP%] .bubble-color[_ngcontent-%COMP%]{position:absolute;border-radius:50%;background:var(--tube-color, #34c759);opacity:0;bottom:0;left:var(--left, 30%);width:var(--size, 3px);height:var(--size, 3px);animation:_ngcontent-%COMP%_bubble-rise-above var(--dur, 1.5s) infinite ease-in;animation-delay:var(--delay, 0s)}.bubbles-above[_ngcontent-%COMP%] .bubble-color.invisible[_ngcontent-%COMP%]{animation:none;opacity:0}.foam[_ngcontent-%COMP%]{position:absolute;bottom:0;left:-1px;width:100%;height:14px;z-index:100;pointer-events:none;overflow:visible;transition:bottom .9s cubic-bezier(.4,0,.2,1)}.foam[_ngcontent-%COMP%] .foam-bubble[_ngcontent-%COMP%]{position:absolute;top:var(--top, 0px);left:var(--left, 50%);width:var(--size, 4px);height:var(--size, 4px);border-radius:50%;background:#fff0;animation:none}.foam.active[_ngcontent-%COMP%] .foam-bubble[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_foam-pulse var(--dur, 1.5s) ease-in-out infinite;animation-delay:var(--delay, 0s)}@keyframes _ngcontent-%COMP%_foam-pulse{0%{background:#fff0;transform:scale(.5)}30%{background:#ffffff73;transform:scale(1)}60%{background:#ffffff40;transform:scale(1.1)}to{background:#fff0;transform:scale(.6)}}@media(max-width:768px){[_nghost-%COMP%]{top:calc(3.25rem + 80px);left:calc(.75rem + 10px)}.tube[_ngcontent-%COMP%]{height:75px;width:20px}}']})};var fn=["threadSearchInput"],bn=["*"];function vn(n,t){if(n&1){let e=lC();ws(0,"button",28),Rg("click",function(){If(e);let o=gC();return wf(o.toggle())}),ws(1,"mat-icon"),GC(2,"menu"),pl()(),ws(3,"button",29),Rg("click",function(){If(e);let o=gC();return wf(o.createNewThread())}),ws(4,"mat-icon",10),GC(5,"play_circle"),pl()();}if(n&2){let e=gC();XE(3),bg("disabled",!e.selectedProjectName());}}function Cn(n,t){if(n&1){let e=lC();ws(0,"div",12)(1,"a",30),Rg("click",function(o){return If(e),gC().openMissionControl(),wf(o.preventDefault())}),ws(2,"mat-icon"),GC(3,"rocket_launch"),pl(),ws(4,"span",31),GC(5,"Task Control"),pl()()();}}function xn(n,t){if(n&1){let e=lC();ws(0,"div",15)(1,"mat-icon",32),GC(2,"search"),pl(),ws(3,"input",33,0),tm("ngModelChange",function(o){If(e);let s=gC();return KC(s.threadSearchQuery,o)||(s.threadSearchQuery=o),wf(o)}),Rg("input",function(){If(e);let o=gC();return wf(o.onThreadSearchInput())}),pl(),VI(),ws(5,"button",34),Rg("click",function(){If(e);let o=gC();return wf(o.closeThreadSearch())}),ws(6,"mat-icon"),GC(7,"close"),pl()()();}if(n&2){let e=gC();XE(3),em("ngModel",e.threadSearchQuery),UI();}}function yn(n,t){if(n&1){let e=lC();ws(0,"div",16)(1,"mat-icon",23),GC(2,"forum"),pl(),ws(3,"span",24),GC(4,"Threads"),pl(),ws(5,"button",35),Rg("click",function(o){If(e);let s=gC();return wf(s.toggleThreadSearch(o))}),ws(6,"mat-icon"),GC(7,"search"),pl()()();}}function Pn(n,t){n&1&&(ws(0,"mat-icon",22),GC(1,"keyboard_arrow_up"),pl());}function Sn(n,t){n&1&&(ws(0,"mat-icon",23),GC(1,"hub"),pl());}function Mn(n,t){n&1&&(ws(0,"mat-icon",22),GC(1,"keyboard_arrow_up"),pl());}function wn(n,t){n&1&&(ws(0,"mat-icon",23),GC(1,"tune"),pl());}function Tn(n,t){n&1&&(ws(0,"div",37)(1,"div",41),Sg(2,"app-options-panel",42),pl()());}function On(n,t){if(n&1){let e=lC();ws(0,"div",36)(1,"a",21),Rg("click",function(o){return If(e),gC(3).openProjectConfig(),o.preventDefault(),wf(o.stopPropagation())}),ws(2,"mat-icon",23),GC(3,"settings_applications"),pl(),ws(4,"span",24),GC(5,"Project Configuration"),pl()()();}}function kn(n,t){n&1&&(ws(0,"div",36)(1,"a",43)(2,"mat-icon",23),GC(3,"settings_applications"),pl(),ws(4,"span",24),GC(5,"Project config (No project)"),pl()()());}function En(n,t){if(n&1&&Jw(0,On,6,0,"div",36)(1,kn,6,0,"div",36),n&2){let e=gC(2);eC(e.selectedProjectName()?0:1);}}function Dn(n,t){if(n&1){let e=lC();ws(0,"div",36)(1,"a",21),Rg("click",function(o){return If(e),gC(2).openAgents(),o.preventDefault(),wf(o.stopPropagation())}),ws(2,"mat-icon",23),GC(3,"smart_toy"),pl(),ws(4,"span",24),GC(5,"Agents"),pl()()();}}function Nn(n,t){n&1&&(ws(0,"div",36)(1,"a",43)(2,"mat-icon",23),GC(3,"smart_toy"),pl(),ws(4,"span",24),GC(5,"Agents (No project)"),pl()()());}function jn(n,t){if(n&1){let e=lC();ws(0,"div",36)(1,"a",21),Rg("click",function(o){return If(e),gC(2).openPrompts(),o.preventDefault(),wf(o.stopPropagation())}),ws(2,"mat-icon",23),GC(3,"description"),pl(),ws(4,"span",24),GC(5,"Prompts"),pl()()();}}function Vn(n,t){n&1&&(ws(0,"div",36)(1,"a",43)(2,"mat-icon",23),GC(3,"description"),pl(),ws(4,"span",24),GC(5,"Prompts (No project)"),pl()()());}function Fn(n,t){if(n&1){let e=lC();ws(0,"div",36)(1,"a",21),Rg("click",function(o){return If(e),gC(2).openSchedulers(),o.preventDefault(),wf(o.stopPropagation())}),ws(2,"mat-icon",23),GC(3,"schedule"),pl(),ws(4,"span",24),GC(5,"Schedulers"),pl()()();}}function In(n,t){n&1&&(ws(0,"div",36)(1,"a",43)(2,"mat-icon",23),GC(3,"schedule"),pl(),ws(4,"span",24),GC(5,"Schedulers (No project)"),pl()()());}function zn(n,t){n&1&&(ws(0,"mat-icon",22),GC(1,"keyboard_arrow_up"),pl());}function An(n,t){n&1&&(ws(0,"mat-icon",23),GC(1,"rocket_launch"),pl());}function Ln(n,t){if(n&1&&(ws(0,"div",37),Sg(1,"app-preview-panel",44),pl()),n&2){let e=gC(3);XE(),bg("projectName",e.selectedProjectName());}}function Rn(n,t){if(n&1){let e=lC();ws(0,"div",36)(1,"a",21),Rg("click",function(o){return If(e),gC(2).toggleSection("preview"),o.preventDefault(),wf(o.stopPropagation())}),Jw(2,zn,2,0,"mat-icon",22)(3,An,2,0,"mat-icon",23),ws(4,"span",24),GC(5,"Preview Server"),pl()(),Jw(6,Ln,2,1,"div",37),pl();}if(n&2){let e=gC(2);Ug("expanded",e.expandedSections.preview),XE(),Ug("active",e.expandedSections.preview),XE(),eC(e.expandedSections.preview?2:3),XE(4),eC(e.expandedSections.preview?6:-1);}}function $n(n,t){if(n&1){let e=lC();ws(0,"div",25)(1,"div",36)(2,"a",21),Rg("click",function(o){return If(e),gC().toggleSection("config"),wf(o.preventDefault())}),Jw(3,Mn,2,0,"mat-icon",22)(4,wn,2,0,"mat-icon",23),ws(5,"span",24),GC(6,"Preferences"),pl()(),Jw(7,Tn,3,0,"div",37),pl(),ws(8,"div",36)(9,"a",21),Rg("click",function(o){return If(e),gC().openTokenUsage(),o.preventDefault(),wf(o.stopPropagation())}),ws(10,"mat-icon",23),GC(11,"data_usage"),pl(),ws(12,"span",24),GC(13,"Token Usage"),pl()()(),ws(14,"div",36)(15,"a",21),Rg("click",function(o){return If(e),gC().openUserConfig(),o.preventDefault(),wf(o.stopPropagation())}),ws(16,"mat-icon",23),GC(17,"manage_accounts"),pl(),ws(18,"span",24),GC(19,"User Configuration"),pl()()(),Jw(20,En,2,1),Jw(21,Dn,6,0,"div",36)(22,Nn,6,0,"div",36),Jw(23,jn,6,0,"div",36)(24,Vn,6,0,"div",36),Jw(25,Fn,6,0,"div",36)(26,In,6,0,"div",36),Jw(27,Rn,7,6,"div",38),ws(28,"div",36)(29,"a",39),Sg(30,"img",40),ws(31,"span",24),GC(32,"Contribute on GitHub"),pl()()()();}if(n&2){let e=gC();XE(),Ug("expanded",e.expandedSections.config),XE(),Ug("active",e.expandedSections.config),XE(),eC(e.expandedSections.config?3:4),XE(4),eC(e.expandedSections.config?7:-1),XE(13),eC(e.isAdmin?20:-1),XE(),eC(e.selectedProjectName()?21:22),XE(2),eC(e.selectedProjectName()?23:24),XE(2),eC(e.selectedProjectName()?25:26),XE(2),eC(e.hasPreviewConfig()?27:-1),XE(3),Tg("src","CODAY-Logo.png",yh);}}function Bn(n,t){if(n&1){let e=lC();ws(0,"div",27)(1,"mat-icon",45),GC(2,"warning"),pl(),ws(3,"span",46),GC(4),pl(),ws(5,"button",47),Rg("click",function(){If(e);let o=gC();return wf(o.configErrorMessage="")}),ws(6,"mat-icon"),GC(7,"close"),pl()()();}if(n&2){let e=gC();XE(4),Yg(e.configErrorMessage);}}var St=class n{destroy$=new ue;sidenavStateChange=new vt;drawerOpen=false;breakpointObserver=g(Ot$1);isDesktop=F(this.breakpointObserver.observe("(min-width: 1400px)").pipe(re(t=>t.matches)),{initialValue:false});userOpenPreference=Gi(true);isOpen=mT(()=>this.userOpenPreference());isAdmin=false;configErrorMessage="";expandedSections={config:false,preview:false,settings:false};isThreadSearchActive=false;threadSearchQuery="";threadSearchInput;dialog=g(Re);configApi=g(W);projectStateService=g(P);projectApi=g(c);router=g(G);preferences=g(L);threadStateService=g(U);projects=F(this.projectStateService.projectList$);selectedProject=F(this.projectStateService.selectedProject$);selectedProjectName=F(this.projectStateService.selectedProject$.pipe(re(t=>t?.name)));isProjectVolatile=F(this.projectStateService.selectedProject$.pipe(re(t=>t?.config?.volatile||false)));forcedProject=F(this.projectStateService.forcedProject$);hasPreviewConfig=F(this.projectStateService.selectedProject$.pipe(re(t=>{let e=t?.config?.preview;return Array.isArray(e)&&!!e.length})),{initialValue:false});ngOnInit(){let t=window.innerWidth>=1024,e=this.preferences.getPreference("sidenavOpen",t);this.userOpenPreference.set(e??t),this.configApi.getUserConfig().pipe(wd(this.destroy$)).subscribe({next:i=>{this.isAdmin=i.groups?.includes("CODAY_ADMIN")??false,console.log("[SIDENAV] User admin status:",this.isAdmin);},error:i=>{console.error("[SIDENAV] Error loading user config for roles:",i),this.isAdmin=false;}});}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete();}toggle(){let t=!this.userOpenPreference();this.userOpenPreference.set(t),this.saveSidenavState(t),this.sidenavStateChange.emit(t);}close(){this.userOpenPreference()&&(this.userOpenPreference.set(false),this.saveSidenavState(false),this.sidenavStateChange.emit(false));}saveSidenavState(t){this.preferences.setPreference("sidenavOpen",t);}openTokenUsage(){this.configErrorMessage="",this.router.navigate(["/token-usage"]);}openUserConfig(){console.log("[SIDENAV] openUserConfig called"),this.configErrorMessage="",this.configApi.getUserConfig().pipe(wd(this.destroy$)).subscribe({next:t=>{console.log("[SIDENAV] User config loaded, opening dialog"),this.dialog.open(Ze,{data:{configType:"user",initialContent:JSON.stringify(t,null,2)}}).afterClosed().subscribe(i=>{i&&this.saveUserConfig(i);});},error:t=>{console.error("[SIDENAV] Error loading user config:",t),this.configErrorMessage=t?.error?.error||"Failed to load user configuration";}});}saveUserConfig(t){this.configApi.updateUserConfig(t).pipe(wd(this.destroy$)).subscribe({next:e=>{console.log("[SIDENAV] User config saved successfully");},error:e=>{console.error("[SIDENAV] Error saving user config:",e),this.configErrorMessage=e?.error?.error||"Failed to save user configuration";}});}openProjectConfig(){let t=this.selectedProjectName();if(!t){console.error("[SIDENAV] No project selected"),this.configErrorMessage="No project selected. Please select a project first.";return}this.configErrorMessage="",this.projectApi.getProjectConfig(t).pipe(wd(this.destroy$)).subscribe({next:e=>{console.log("[SIDENAV] Project config loaded, opening dialog"),this.dialog.open(Ze,{data:{configType:"project",projectName:t,initialContent:JSON.stringify(e,null,2)}}).afterClosed().subscribe(o=>{o&&this.saveProjectConfig(t,o);});},error:e=>{console.error("[SIDENAV] Error loading project config:",e),this.configErrorMessage=e?.error?.error||"Failed to load project configuration";}});}saveProjectConfig(t,e){this.projectApi.updateProjectConfig(t,e).pipe(wd(this.destroy$)).subscribe({next:i=>{console.log("[SIDENAV] Project config saved successfully");},error:i=>{console.error("[SIDENAV] Error saving project config:",i),this.configErrorMessage=i?.error?.error||"Failed to save project configuration";}});}requireProjectSelection(t){return this.selectedProjectName()?true:(console.error(`[SIDENAV] No project selected, cannot ${t}`),this.configErrorMessage="Please select a project first",false)}openAgents(){if(!this.requireProjectSelection("open agents"))return;let t=this.selectedProjectName();this.router.navigate(["project",t,"agents"]);}openPrompts(){if(!this.requireProjectSelection("open prompts"))return;let t=this.selectedProjectName();this.router.navigate(["project",t,"prompts"]);}openSchedulers(){if(!this.requireProjectSelection("open schedulers"))return;let t=this.selectedProjectName();this.router.navigate(["project",t,"schedulers"]);}toggleSection(t){let e=this.expandedSections[t];t==="settings"?this.expandedSections[t]=!e:(["config","preview"].forEach(o=>{this.expandedSections[o]=false;}),this.expandedSections[t]=!e);}navigateToHome(){console.log("[SIDENAV] Navigating to home (project selection)"),this.projectStateService.clearSelection(),this.router.navigate(["/"]);}openMissionControl(){let t=this.selectedProjectName();t&&(this.router.navigate(["project",t,"tasks"]),this.close());}createNewThread(){let t=this.selectedProjectName();if(!t){console.error("[SIDENAV] No project selected, cannot create new thread"),this.configErrorMessage="Please select a project first";return}console.log("[SIDENAV] Navigating to welcome view for new thread"),this.threadStateService.clearSelection(),this.router.navigate(["project",t]);}onThreadSelectedOnMobile(){this.isDesktop()||this.close();}toggleThreadSearch(t){t.stopPropagation(),this.isThreadSearchActive=true,this.threadSearchQuery="",setTimeout(()=>{this.threadSearchInput?.nativeElement.focus();},0);}closeThreadSearch(){this.isThreadSearchActive=false,this.threadSearchQuery="";}onThreadSearchInput(){}onThreadSearchModeChange(t){t||this.closeThreadSearch();}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=xw({type:n,selectors:[["app-sidenav"]],viewQuery:function(e,i){if(e&1&&Pg(fn,5),e&2){let o;EC(o=IC())&&(i.threadSearchInput=o.first);}},inputs:{drawerOpen:"drawerOpen"},outputs:{sidenavStateChange:"sidenavStateChange"},ngContentSelectors:bn,decls:36,vars:24,consts:[["threadSearchInput",""],[1,"sidenav-container",3,"hasBackdrop"],["mode","push","position","start",1,"app-sidenav",3,"closed","opened","disableClose"],[1,"sidenav-header"],["mat-icon-button","","title","Close menu",3,"click"],["alt","coday","title","Go to project selection","role","button","tabindex","0",1,"sidenav-logo","clickable",3,"click","keydown.enter","keydown.space"],[1,"header-title-section"],[1,"sidenav-title"],[1,"new-thread-section"],["role","button","tabindex","0",1,"new-thread-link",3,"click"],["fontSet","material-icons-outlined"],[1,"new-thread-text"],[1,"mission-control-section"],[1,"sidenav-sections"],[1,"section-container","expanded"],[1,"search-header"],[1,"section-toggle","active","threads-header"],[1,"section-content","threads"],[1,"sidenav-thread-selector",3,"searchModeChange","threadSelected","searchMode","searchQuery"],[1,"sidenav-nav"],[1,"section-container","settings-group"],["role","button","tabindex","0",1,"section-toggle",3,"click"],[1,"arrow-icon","expanded"],[1,"section-icon"],[1,"section-label"],[1,"section-content","settings-content"],[3,"sidenavOpen"],["role","alert",1,"error-notification"],["mat-icon-button","","title","Menu","type","button",1,"sidenav-toggle-btn",3,"click"],["mat-icon-button","","title","Start a new thread","type","button",1,"sidenav-new-thread-btn",3,"click","disabled"],["role","button","tabindex","0",1,"mission-control-link",3,"click"],[1,"mission-control-text"],[1,"search-icon"],["type","text","placeholder","Search threads...",1,"search-input",3,"ngModelChange","input","ngModel"],["mat-icon-button","","title","Close search","type","button",1,"close-search-btn",3,"click"],["mat-icon-button","","title","Search threads","type","button",1,"search-button",3,"click"],[1,"section-container"],[1,"section-content"],[1,"section-container",3,"expanded"],["href","https://github.com/whoz-oss/coday","target","_blank","rel","noopener noreferrer","title","Contribute on GitHub",1,"section-toggle","contribute-btn"],["alt","Coday",1,"contribute-logo"],[1,"preference-item"],[1,"inline-panel"],["role","button","tabindex","-1","aria-disabled","true",1,"section-toggle","disabled"],[3,"projectName"],[1,"error-icon"],[1,"error-text"],["mat-icon-button","","aria-label","Close error message",1,"error-close",3,"click"]],template:function(e,i){e&1&&(yC(),Jw(0,vn,6,1),ws(1,"mat-sidenav-container",1)(2,"mat-sidenav",2),Rg("closed",function(){return i.close()}),ws(3,"div",3)(4,"button",4),Rg("click",function(){return i.close()}),ws(5,"mat-icon"),GC(6,"chevron_left"),pl()(),ws(7,"img",5),Rg("click",function(s){return i.navigateToHome(),s.stopPropagation()})("keydown.enter",function(s){return i.navigateToHome(),s.preventDefault(),s.stopPropagation()})("keydown.space",function(s){return i.navigateToHome(),s.preventDefault(),s.stopPropagation()}),pl(),ws(8,"div",6)(9,"h2",7),GC(10),pl()()(),ws(11,"div",8)(12,"a",9),Rg("click",function(s){return i.createNewThread(),s.preventDefault()}),ws(13,"mat-icon",10),GC(14,"play_circle"),pl(),ws(15,"span",11),GC(16,"Start a new thread"),pl()()(),Jw(17,Cn,6,0,"div",12),ws(18,"div",13)(19,"div",14),Jw(20,xn,8,1,"div",15)(21,yn,8,0,"div",16),ws(22,"div",17)(23,"app-thread-selector",18),Rg("searchModeChange",function(s){return i.onThreadSearchModeChange(s)})("threadSelected",function(){return i.onThreadSelectedOnMobile()}),pl()()()(),ws(24,"div",19)(25,"div",20)(26,"a",21),Rg("click",function(s){return i.toggleSection("settings"),s.preventDefault()}),Jw(27,Pn,2,0,"mat-icon",22)(28,Sn,2,0,"mat-icon",23),ws(29,"span",24),GC(30,"Control Center"),pl()(),Jw(31,$n,33,12,"div",25),pl()()(),ws(32,"mat-sidenav-content"),vC(33),pl()(),Sg(34,"app-context-gauge",26),Jw(35,Bn,8,1,"div",27)),e&2&&(eC(!i.isOpen()&&!i.drawerOpen?0:-1),XE(),Ug("sidenav-open",i.isOpen()),bg("hasBackdrop",false),XE(),bg("opened",i.isOpen())("disableClose",true),XE(5),Tg("src","CODAY-Logo.png",yh),XE(3),Yg(i.selectedProjectName()),XE(7),eC(i.selectedProjectName()?17:-1),XE(3),eC(i.isThreadSearchActive?20:21),XE(3),bg("searchMode",i.isThreadSearchActive)("searchQuery",i.threadSearchQuery),XE(),Ug("is-admin",i.isAdmin),XE(),Ug("expanded",i.expandedSections.settings),XE(),Ug("active",i.expandedSections.settings),XE(),eC(i.expandedSections.settings?27:28),XE(4),eC(i.expandedSections.settings?31:-1),XE(),Ug("sidenav-closed-offset",!i.isOpen()),XE(2),bg("sidenavOpen",i.isOpen()),XE(),eC(i.configErrorMessage?35:-1));},dependencies:[ti,Ye,Zn,cn$1,ui,me,fi,Yt$1,yt$1,wt,hr,Gn,He,bt,Ye$1,we,Te,ke],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%;position:relative}.sidenav-container[_ngcontent-%COMP%]{position:fixed;top:0;left:0;right:0;height:100dvh;z-index:1400;transition:width;display:flex}.sidenav-container[_ngcontent-%COMP%] mat-sidenav[_ngcontent-%COMP%]{position:relative!important;transition:width;width:25%;min-width:320px;height:100dvh!important;flex-shrink:0}.sidenav-container[_ngcontent-%COMP%] mat-sidenav[_ngcontent-%COMP%]:not(.mat-drawer-opened){width:0!important;min-width:0;overflow:hidden!important;visibility:hidden!important}.sidenav-container[_ngcontent-%COMP%] mat-sidenav-content[_ngcontent-%COMP%]{width:100%;margin:0!important}@media(min-width:1024px){.sidenav-container[_ngcontent-%COMP%] mat-sidenav-content[_ngcontent-%COMP%]{min-width:0}}[_nghost-%COMP%] .mat-drawer-backdrop{pointer-events:auto}[_nghost-%COMP%] .mat-drawer-content{pointer-events:auto!important;background:transparent!important;overflow:visible!important}[_nghost-%COMP%] .mat-drawer-inner-container{overflow:hidden!important;height:100dvh!important;display:flex!important;flex-direction:column!important}.sidenav-new-thread-btn[_ngcontent-%COMP%], .sidenav-toggle-btn[_ngcontent-%COMP%]{position:fixed!important;z-index:1500!important;width:40px!important;height:40px!important;border-radius:50%!important;background:var(--glass-bg)!important;backdrop-filter:var(--glass-backdrop-blur)!important;-webkit-backdrop-filter:var(--glass-backdrop-blur)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow)!important}.sidenav-toggle-btn[_ngcontent-%COMP%]{top:1rem!important;left:1rem!important}.sidenav-new-thread-btn[_ngcontent-%COMP%]{top:calc(1.5rem + 40px)!important;left:1rem!important}.sidenav-new-thread-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)!important}.sidenav-new-thread-btn[_ngcontent-%COMP%]:disabled{opacity:.5!important}.sidenav-logo-btn[_ngcontent-%COMP%]{position:fixed!important;bottom:1rem!important;left:1rem!important;z-index:1500!important;width:56px!important;height:56px!important;border-radius:50%!important;border:1px solid var(--glass-border)!important;padding:4px!important;background:var(--glass-bg)!important;backdrop-filter:var(--glass-backdrop-blur)!important;-webkit-backdrop-filter:var(--glass-backdrop-blur)!important;box-shadow:var(--glass-shadow)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;cursor:pointer!important;pointer-events:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;text-decoration:none!important}.sidenav-logo-btn[_ngcontent-%COMP%]:hover{transform:scale(1.08) translateY(-2px)!important;box-shadow:0 16px 48px #0003!important;border-color:var(--color-primary)!important}.sidenav-logo-btn[_ngcontent-%COMP%]:active{transform:scale(.96)!important}.sidenav-logo-btn[_ngcontent-%COMP%] .logo[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:2px}.app-sidenav[_ngcontent-%COMP%]{width:480px;height:100dvh!important;min-height:0!important;position:relative;background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);overflow:hidden!important;display:flex;flex-direction:column}.sidenav-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1.5rem 1rem .5rem;flex-shrink:0}.sidenav-header[_ngcontent-%COMP%] .sidenav-logo[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:4px;flex-shrink:0;transition:all .2s ease}.sidenav-header[_ngcontent-%COMP%] .sidenav-logo.clickable[_ngcontent-%COMP%]{cursor:pointer}.sidenav-header[_ngcontent-%COMP%] .sidenav-logo.clickable[_ngcontent-%COMP%]:hover{transform:scale(1.1);filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.sidenav-header[_ngcontent-%COMP%] .sidenav-logo.clickable[_ngcontent-%COMP%]:active{transform:scale(.95)}.sidenav-header[_ngcontent-%COMP%] .sidenav-logo.clickable[_ngcontent-%COMP%]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.sidenav-header[_ngcontent-%COMP%] .header-title-section[_ngcontent-%COMP%]{flex:1;display:flex;align-items:center;min-width:0}.sidenav-header[_ngcontent-%COMP%] .header-title-section[_ngcontent-%COMP%] .sidenav-title[_ngcontent-%COMP%]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-control-section[_ngcontent-%COMP%]{padding:.25rem 1rem .5rem;flex-shrink:0}.mission-control-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:none;text-decoration:none;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);padding:0}.mission-control-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;color:var(--color-text-secondary);transition:color .2s ease}.mission-control-link[_ngcontent-%COMP%]:hover{color:var(--color-primary);transform:translate(3px)}.mission-control-link[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.mission-control-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.new-thread-section[_ngcontent-%COMP%]{padding:1rem 1rem .5rem;flex-shrink:0}.new-thread-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;background:transparent;border:none;text-decoration:none;cursor:pointer;transition:all .2s ease;gap:.5rem;font-size:.95rem;font-weight:600;padding:0}.new-thread-link[_ngcontent-%COMP%] .new-thread-text[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--color-primary, #3b82f6) 0%,var(--color-accent, #8b5cf6) 50%,var(--color-primary, #3b82f6) 100%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:_ngcontent-%COMP%_gradientShift 3s ease-in-out infinite}.new-thread-link[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:var(--color-primary);animation:_ngcontent-%COMP%_iconPulse 3s ease-in-out infinite}.new-thread-link[_ngcontent-%COMP%]:hover{transform:translate(4px)}.new-thread-link[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_iconPulse 1.5s ease-in-out infinite}.new-thread-link[_ngcontent-%COMP%]:focus{transform:scale(1.1)}@keyframes _ngcontent-%COMP%_gradientShift{0%{background-position:0% center}50%{background-position:100% center}to{background-position:0% center}}@keyframes _ngcontent-%COMP%_iconPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.sidenav-sections[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:100px;overflow:hidden}.sidenav-sections[_ngcontent-%COMP%] > .section-container[_ngcontent-%COMP%], .sidenav-sections[_ngcontent-%COMP%] > .section-container.expanded[_ngcontent-%COMP%], .sidenav-sections[_ngcontent-%COMP%] > .section-container[_ngcontent-%COMP%] > .section-content.threads[_ngcontent-%COMP%], .sidenav-sections[_ngcontent-%COMP%] > .section-container[_ngcontent-%COMP%] > .section-content.threads[_ngcontent-%COMP%] > app-thread-selector[_ngcontent-%COMP%]{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;overflow:hidden!important}.sidenav-nav[_ngcontent-%COMP%]{flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;max-height:70%;border-top:1px solid var(--color-border)}.sidenav-nav[_ngcontent-%COMP%] > .settings-group[_ngcontent-%COMP%] > .section-toggle.active[_ngcontent-%COMP%]{border-top:none}.sidenav-nav[_ngcontent-%COMP%] .settings-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sidenav-nav[_ngcontent-%COMP%] .settings-group[_ngcontent-%COMP%] > .section-toggle[_ngcontent-%COMP%]{flex-shrink:0}.sidenav-nav[_ngcontent-%COMP%] .settings-group[_ngcontent-%COMP%] > .section-content.settings-content[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.settings-group[_ngcontent-%COMP%] > .section-content.settings-content[_ngcontent-%COMP%]{padding:0;border-bottom:1px solid var(--color-border);overflow:visible}.settings-group[_ngcontent-%COMP%] > .section-content.settings-content[_ngcontent-%COMP%] .section-container.expanded[_ngcontent-%COMP%] .section-content[_ngcontent-%COMP%]{max-height:40vh;overflow-y:auto;overflow-x:hidden}.contribute-btn[_ngcontent-%COMP%] .contribute-logo[_ngcontent-%COMP%]{width:20px;height:20px;border-radius:2px;flex-shrink:0}.section-container[_ngcontent-%COMP%]{flex-shrink:0;display:flex;flex-direction:column}.section-container.expanded[_ngcontent-%COMP%] .section-content[_ngcontent-%COMP%]{border-bottom:none}.section-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem 1rem;height:50px;text-decoration:none;cursor:pointer;transition:all .2s ease;background:transparent;border:none;border-radius:0;color:var(--color-text);flex-shrink:0}.section-toggle.active[_ngcontent-%COMP%]{border-top:1px solid var(--color-border)}.section-toggle.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed;pointer-events:none}.section-toggle[_ngcontent-%COMP%] .arrow-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:var(--color-text-secondary);transition:transform .2s ease;flex-shrink:0}.section-toggle[_ngcontent-%COMP%] .section-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:var(--color-text-secondary);flex-shrink:0}.section-toggle[_ngcontent-%COMP%] .section-label[_ngcontent-%COMP%]{flex:1;font-size:.9rem;color:var(--color-text);text-align:left}.section-toggle[_ngcontent-%COMP%] .search-button[_ngcontent-%COMP%]{margin-left:auto;flex-shrink:0}.section-toggle[_ngcontent-%COMP%] .search-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.section-toggle[_ngcontent-%COMP%]:hover:not(.disabled){background:var(--color-bg-hover)}.section-toggle[_ngcontent-%COMP%]:active:not(.disabled){transform:scale(.98)}.section-toggle[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.search-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;height:50px;background:var(--color-bg-hover);border-top:1px solid var(--color-border);transition:all .2s ease}.search-header[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:var(--color-text-secondary);flex-shrink:0}.search-header[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]{flex:1;border:none;outline:none;background:transparent;color:var(--color-text);font-size:.9rem;padding:0;min-width:0}.search-header[_ngcontent-%COMP%] .search-input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-muted)}.search-header[_ngcontent-%COMP%] .close-search-btn[_ngcontent-%COMP%]{flex-shrink:0}.search-header[_ngcontent-%COMP%] .close-search-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.section-content[_ngcontent-%COMP%]{padding:.5rem 0 0;animation:_ngcontent-%COMP%_slideDown .2s ease;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column}.section-content.threads[_ngcontent-%COMP%]{padding:0;border-bottom:none;flex:1!important;min-height:0!important;overflow:hidden!important}.section-content.threads[_ngcontent-%COMP%] app-thread-selector[_ngcontent-%COMP%]{flex:1!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.preference-item[_ngcontent-%COMP%]{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.preference-item[_ngcontent-%COMP%]:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.preference-item[_ngcontent-%COMP%] .preference-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:0 1rem}.preference-item[_ngcontent-%COMP%] .preference-header[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.preference-item[_ngcontent-%COMP%] .preference-header[_ngcontent-%COMP%] .item-text[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.preference-item[_ngcontent-%COMP%] .preference-content[_ngcontent-%COMP%]{padding:0 1rem}.error-notification[_ngcontent-%COMP%]{position:fixed;top:5rem;left:50%;transform:translate(-50%);z-index:2000;display:flex;align-items:center;gap:.75rem;background:#ff3b3026;backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid rgba(255,59,48,.3);border-radius:16px;padding:1rem 1.5rem;box-shadow:var(--glass-shadow);animation:_ngcontent-%COMP%_errorSlideDown .3s cubic-bezier(.4,0,.2,1)}.error-notification[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:1.2rem;flex-shrink:0;color:#c00}.error-notification[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%]{flex:1;color:#c00;font-size:.9rem;font-weight:500}@keyframes _ngcontent-%COMP%_errorSlideDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:480px){.app-sidenav[_ngcontent-%COMP%]{width:320px}.sidenav-toggle-btn[_ngcontent-%COMP%]{top:.75rem!important;left:.75rem!important}.sidenav-new-thread-btn[_ngcontent-%COMP%]{top:calc(1.25rem + 40px)!important;left:.75rem!important}.error-notification[_ngcontent-%COMP%]{left:1rem;right:1rem;transform:none;max-width:calc(100vw - 2rem)}}body.dark[_nghost-%COMP%] .app-sidenav[_ngcontent-%COMP%], body.dark [_nghost-%COMP%] .app-sidenav[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root[data-theme=dark] .app-sidenav[_ngcontent-%COMP%]{background:#242830f2;border-right-color:#b4c8ff17}body.dark[_nghost-%COMP%] .sidenav-header[_ngcontent-%COMP%], body.dark [_nghost-%COMP%] .sidenav-header[_ngcontent-%COMP%], [_ngcontent-%COMP%]:root[data-theme=dark] .sidenav-header[_ngcontent-%COMP%]{background:#242830b3}"],changeDetection:1})};
|
|
5
|
+
export{St as S};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {v}from'./chunk-C6x9SBjG.js';import {R}from'./chunk-CCQAu0MS.js';import {N as N$1}from'./chunk-Dz1wgxrF.js';import {g,ao as V,G,C as Ce,d8 as F,F as F$1,W as br,a as Gi,m as mT,cd as Hf,b as U,e as xw,k as ws,q as Rg,n as GC,o as pl,J as Jw,X as XE,a8 as Yg,y as eC,a9 as lC,t as rC,cH as Kw,a3 as VI,S as Sg,a4 as nC,ac as gC,v as bg,z as oC,a6 as UI,a5 as vl,aa as If,ab as wf}from'./main-2GG5NZ4C.js';import'./chunk-C-VoWDOg.js';import {n as nt}from'./chunk-BjBW1d-u.js';import'./chunk-Bbb2Oy9I.js';import {o as z,k as _t,b as _e,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,m as mn,Z as Zn,l as Xn,C as Cn,E as En}from'./chunk-D_aTK145.js';import'./chunk-C0DMx9CU.js';import'./chunk-G_l8BMaJ.js';function ae(r,t){r&1&&(ws(0,"p",5),GC(1,"Loading\u2026"),pl());}function le(r,t){if(r&1&&(ws(0,"label",10),Sg(1,"input",29),VI(),ws(2,"span"),GC(3),pl()()),r&2){let e=t.$implicit,n=gC(2);XE(),bg("value",e.value)("formControl",n.scopeControl)("disabled",e.value==="namespace"&&!n.isAdmin()),UI(),XE(2),Yg(e.label);}}function se(r,t){if(r&1&&(ws(0,"option",16),GC(1),pl()),r&2){let e=t.$implicit;bg("value",e.type),XE(),Yg(e.displayName);}}function ce(r,t){if(r&1&&(ws(0,"option",16),GC(1),pl()),r&2){let e=t.$implicit;bg("value",e),XE(),Yg(e);}}function me(r,t){if(r&1){let e=lC();ws(0,"div",24)(1,"ds-json-schema-form",30),Rg("valueChange",function(s){If(e);let m=gC(2);return wf(m.onParamsChange(s))}),pl()();}if(r&2){let e=gC(2);XE(),bg("schema",t)("value",e.initialParams());}}function de(r,t){if(r&1){let e=lC();ws(0,"button",31),Rg("click",function(){If(e);let s=gC(2);return wf(s.exportYaml())}),GC(1),pl();}if(r&2){let e=gC(2);bg("disabled",e.isExporting()),XE(),vl(" ",e.isExporting()?"Exporting\u2026":"Export as YAML"," ");}}function pe(r,t){if(r&1){let e=lC();ws(0,"form",7),Rg("ngSubmit",function(){If(e);let s=gC();return wf(s.submit())}),ws(1,"fieldset",8)(2,"legend",9),GC(3,"Scope"),pl(),rC(4,le,4,4,"label",10,Kw().trackByScope,true),pl(),ws(6,"div",11)(7,"label",12),GC(8,"Type "),ws(9,"span",13),GC(10,"*"),pl()(),ws(11,"select",14)(12,"option",15),GC(13,"Select type"),pl(),rC(14,se,2,2,"option",16,Kw().trackByType,true),pl(),VI(),pl(),ws(16,"div",11)(17,"label",17),GC(18,"Name "),ws(19,"span",13),GC(20,"*"),pl()(),Sg(21,"input",18),VI(),pl(),ws(22,"div",11)(23,"label",19),GC(24,"Description"),pl(),Sg(25,"textarea",20),VI(),pl(),ws(26,"div",11)(27,"label",21),GC(28,"Auth Setting"),pl(),ws(29,"select",22)(30,"option",23),GC(31,"None"),pl(),rC(32,ce,2,2,"option",16,nC),pl(),VI(),pl(),Jw(34,me,2,2,"div",24),ws(35,"div",25)(36,"button",26),GC(37),pl(),Jw(38,de,2,2,"button",27),ws(39,"button",28),Rg("click",function(){If(e);let s=gC();return wf(s.cancel())}),GC(40,"Cancel"),pl()()();}if(r&2){let e,n=gC();bg("formGroup",n.form),XE(),bg("disabled",n.isEditMode()),XE(3),oC(n.scopeOptions),XE(7),bg("formControl",n.typeControl),UI(),XE(3),oC(n.integrationTypes()),XE(7),bg("formControl",n.nameControl),UI(),XE(4),bg("formControl",n.descriptionControl),UI(),XE(4),bg("formControl",n.authSettingNameControl),UI(),XE(),bg("ngValue",null),XE(2),oC(n.availableAuthSettings()),XE(2),eC((e=n.schema())?34:-1,e),XE(2),bg("disabled",n.nameControl.invalid||n.typeControl.invalid||n.isSubmitting()),XE(),vl(" ",n.isEditMode()?"Save changes":"Create"," "),XE(),eC(n.isEditMode()?38:-1);}}var ge=new Set(["platform","namespace","userOnNs","userGlobal"]),N=Object.freeze({platform:"Configuration plateforme",namespace:"Configuration du namespace",userOnNs:"Pour moi sur ce namespace",userGlobal:"Pour moi globalement"}),ie=class r{route=g(V);router=g(G);destroyRef=g(Ce);state=g(N$1);integrationTypeController=g(F);authSettingState=g(R);namespaceRole=g(v);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=!this.namespaceId;isAdmin=F$1(this.isPlatformMode?br(true):this.namespaceRole.isAdminOfNamespace$(this.namespaceId),{initialValue:this.isPlatformMode});form=new z({name:new _t("",{nonNullable:true,validators:[_e.required,_e.minLength(1)]}),description:new _t(null),type:new _t("",{nonNullable:true,validators:[_e.required]}),scope:new _t("namespace",{nonNullable:true})});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get typeControl(){return this.form.controls.type}get scopeControl(){return this.form.controls.scope}isEditMode=Gi(false);isSubmitting=Gi(false);isLoading=Gi(false);isExporting=Gi(false);scopeOptions=[{value:"platform",label:N.platform},{value:"namespace",label:N.namespace},{value:"userOnNs",label:N.userOnNs},{value:"userGlobal",label:N.userGlobal}];authSettingNameControl=new _t(null);availableAuthSettings=Gi([]);paramsValue=Gi(null);initialParams=Gi(null);integrationTypes=F$1(this.integrationTypeController.listTypesIntegrationType(),{initialValue:[]});selectedType=F$1(this.form.controls.type.valueChanges,{initialValue:this.form.controls.type.value});schema=mT(()=>{let t=this.selectedType();return t?this.integrationTypes().find(n=>n.type===t)?.configSchema??null:null});existingConfig=null;constructor(){Hf(()=>{if(this.isAdmin()||this.isEditMode())return;["platform","namespace"].includes(this.scopeControl.value)&&this.scopeControl.setValue("userOnNs");});}ngOnInit(){this.namespaceId&&this.state.setNamespace(this.namespaceId);let t=this.route.snapshot.paramMap,e=this.route.snapshot.queryParamMap,n=t.get("integrationId");if(n){this.isEditMode.set(true),this.scopeControl.disable(),this.loadConfig(n);return}if(this.isPlatformMode){this.scopeControl.setValue("platform"),this.scopeControl.disable(),this.loadAuthSettingsForScope("platform");return}let s=this.parseScope(e.get("scope"));this.scopeControl.setValue(s),this.loadAuthSettingsForScope(s),this.scopeControl.valueChanges.pipe(U(this.destroyRef)).subscribe(re=>{this.loadAuthSettingsForScope(re);});let m=e.get("template");m&&this.hydrateFromTemplate(m);}parseScope(t){return t&&ge.has(t)?t:"namespace"}deriveScopeFromConfig(t){return !t.userId&&!t.namespaceId?"platform":t.userId?t.namespaceId?"userOnNs":"userGlobal":"namespace"}loadConfig(t){this.isLoading.set(true),this.state.getById(t).pipe(U(this.destroyRef)).subscribe({next:e=>{this.existingConfig=e;let n=this.deriveScopeFromConfig(e);this.scopeControl.setValue(n),this.applyConfigToForm(e),this.loadAuthSettingsForScope(n),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),console.warn(`[IntegrationForm] Could not load config '${t}' \u2014 navigating back`),this.navigateBack();}});}hydrateFromTemplate(t){this.isLoading.set(true),this.state.getById(t).pipe(U(this.destroyRef)).subscribe({next:e=>{this.applyConfigToForm(e),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});},error:e=>{console.warn(`[IntegrationForm] Could not hydrate from template ${t}:`,e),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});}});}applyConfigToForm(t){this.nameControl.setValue(t.name),this.descriptionControl.setValue(t.description??null),this.typeControl.setValue(t.integrationType),this.initialParams.set(t.parameters),this.paramsValue.set(t.parameters),this.authSettingNameControl.setValue(t.authSettingName??null);}loadAuthSettingsForScope(t){let e;switch(t){case "platform":e=this.authSettingState.loadPlatformSettings();break;case "namespace":e=this.authSettingState.loadNamespaceSettings(this.namespaceId);break;case "userOnNs":e=this.authSettingState.loadUserSettings(this.namespaceId);break;case "userGlobal":e=this.authSettingState.loadUserSettings("global");break}e.pipe(U(this.destroyRef)).subscribe({next:n=>{let s=n.map(m=>m.name).filter(Boolean);this.availableAuthSettings.set([...new Set(s)]);},error:()=>this.availableAuthSettings.set([])});}onParamsChange(t){this.paramsValue.set(t);}submit(){if(this.nameControl.invalid||this.typeControl.invalid||this.isSubmitting())return;if(this.isEditMode()&&!this.existingConfig?.id){this.navigateBack();return}this.isSubmitting.set(true);let t=this.descriptionControl.value?.trim(),e={name:this.nameControl.value.trim(),description:t||null,integrationType:this.typeControl.value,parameters:this.paramsValue(),authSettingName:this.authSettingNameControl.value||null},n=this.form.getRawValue().scope;(this.isEditMode()&&this.existingConfig?.id?this.state.update(this.existingConfig.id,e,n,this.existingConfig):this.state.create(e,n,this.namespaceId??null)).pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(false)});}exportYaml(){let t=this.existingConfig?.id;!t||this.isExporting()||(this.isExporting.set(true),this.state.exportAsYaml(t).pipe(U(this.destroyRef)).subscribe({next:e=>{let n=new Blob([e],{type:"application/yaml"}),s=URL.createObjectURL(n),m=document.createElement("a");m.href=s,m.download=`${this.existingConfig?.name??"integration"}.yaml`,m.click(),URL.revokeObjectURL(s),this.isExporting.set(false);},error:()=>this.isExporting.set(false)}));}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","integration-configs"]):this.router.navigate(["/agentos",this.namespaceId,"integrations"]);}trackByType(t,e){return e.type}trackByScope(t,e){return e.value}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=xw({type:r,selectors:[["agentos-integration-form"]],decls:10,vars:2,consts:[[1,"integration-form"],[1,"integration-form__header"],["type","button","title","Back to integrations",1,"integration-form__back",3,"click"],[1,"integration-form__back-icon"],[1,"integration-form__title"],[1,"integration-form__loading"],[1,"integration-form__form",3,"formGroup"],[1,"integration-form__form",3,"ngSubmit","formGroup"],[1,"integration-form__field","integration-form__scope",3,"disabled"],[1,"integration-form__label"],[1,"integration-form__scope-option"],[1,"integration-form__field"],["for","integration-type",1,"integration-form__label"],["aria-hidden","true"],["id","integration-type",1,"integration-form__select",3,"formControl"],["value","","disabled",""],[3,"value"],["for","integration-name",1,"integration-form__label"],["id","integration-name","type","text","placeholder","Integration name","autocomplete","off",1,"integration-form__input",3,"formControl"],["for","integration-description",1,"integration-form__label"],["id","integration-description","placeholder","Optional description","rows","3",1,"integration-form__textarea",3,"formControl"],["for","integration-auth-setting",1,"integration-form__label"],["id","integration-auth-setting",1,"integration-form__select",3,"formControl"],[3,"ngValue"],[1,"integration-form__schema-form"],[1,"integration-form__actions"],["type","submit",1,"integration-form__btn","integration-form__btn--primary",3,"disabled"],["type","button",1,"integration-form__btn","integration-form__btn--export",3,"disabled"],["type","button",1,"integration-form__btn",3,"click"],["type","radio",3,"value","formControl","disabled"],[3,"valueChange","schema","value"],["type","button",1,"integration-form__btn","integration-form__btn--export",3,"click","disabled"]],template:function(e,n){e&1&&(ws(0,"div",0)(1,"header",1)(2,"button",2),Rg("click",function(){return n.cancel()}),ws(3,"span",3),GC(4,"\u2190"),pl(),GC(5," Integrations "),pl(),ws(6,"h1",4),GC(7),pl()(),Jw(8,ae,2,0,"p",5)(9,pe,41,11,"form",6),pl()),e&2&&(XE(7),Yg(n.isEditMode()?"Edit integration":"New integration"),XE(),eC(n.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,At,mn,Zn,Xn,Cn,En,nt],styles:[".integration-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.integration-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.integration-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.integration-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.integration-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.integration-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.integration-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.integration-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.integration-form__scope[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--color-divider);border-radius:0;padding:.75rem 1rem;background:transparent;margin:0}.integration-form__scope[disabled][_ngcontent-%COMP%]{opacity:.6}.integration-form__scope-option[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text);cursor:pointer}.integration-form__scope-option[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{margin:0}.integration-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.integration-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.integration-form__input[_ngcontent-%COMP%], .integration-form__textarea[_ngcontent-%COMP%], .integration-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.integration-form__input[_ngcontent-%COMP%]:focus, .integration-form__textarea[_ngcontent-%COMP%]:focus, .integration-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.integration-form__input[_ngcontent-%COMP%]::placeholder, .integration-form__textarea[_ngcontent-%COMP%]::placeholder, .integration-form__select[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.integration-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:4.5rem;line-height:1.5}.integration-form__select[_ngcontent-%COMP%]{cursor:pointer}.integration-form__select[_ngcontent-%COMP%] option[disabled][_ngcontent-%COMP%]{color:var(--color-text-secondary)}.integration-form__schema-form[_ngcontent-%COMP%]{padding:1rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface)}.integration-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.integration-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.integration-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.integration-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.integration-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.integration-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.integration-form__btn--export[_ngcontent-%COMP%]{border-color:var(--color-divider);color:var(--color-text-secondary)}.integration-form__btn--export[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}"]})};export{ie as IntegrationFormComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n(e){return e?"namespace":"userOnNs"}export{n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {K as Kn,S as Se}from'./chunk-BjBW1d-u.js';import {cb as ZB,cc as qB,a as Gi,m as mT,e as xw,k as ws,n as GC,o as pl,J as Jw,X as XE,a8 as Yg,T as Tg,a5 as vl,y as eC,a9 as lC,q as Rg,ac as gC,aa as If,ab as wf}from'./main-2GG5NZ4C.js';function M(o,m){if(o&1){let e=lC();ws(0,"span",7),GC(1,"Delete?"),pl(),ws(2,"ds-icon-button",8),Rg("action",function(){If(e);let a=gC();return wf(a.onDeleteConfirmed())}),pl(),ws(3,"ds-icon-button",9),Rg("action",function(){If(e);let a=gC();return wf(a.onDeleteCancelled())}),pl();}}function S(o,m){if(o&1){let e=lC();ws(0,"ds-icon-button",11),Rg("action",function(){If(e);let a=gC(2);return wf(a.onEdit())}),pl(),ws(1,"ds-icon-button",12),Rg("action",function(){If(e);let a=gC(2);return wf(a.onDeleteArmed())}),pl();}}function P(o,m){if(o&1){let e=lC();ws(0,"ds-icon-button",10),Rg("action",function(){If(e);let a=gC();return wf(a.onDuplicate())}),pl(),Jw(1,S,2,0);}if(o&2){let e=gC();XE(),eC(e.readOnly()?-1:1);}}var E=Object.freeze({platform:{label:"PLATFORM",ariaLabel:"Configuration partag\xE9e plateforme",variant:"neutral"},namespace:{label:"NS",ariaLabel:"Configuration partag\xE9e du namespace",variant:"neutral"},userOnNs:{label:"USER \xD7 NS",ariaLabel:"Configuration utilisateur sur ce namespace",variant:"info"},userGlobal:{label:"USER GLOBAL",ariaLabel:"Configuration utilisateur globale",variant:"warning"}}),O=class o{config=ZB.required();scope=ZB.required();readOnly=ZB(false);editRequested=qB();deleteRequested=qB();duplicateRequested=qB();pendingDelete=Gi(false);badge=mT(()=>E[this.scope()]);onEdit(){this.editRequested.emit(this.config());}onDuplicate(){this.duplicateRequested.emit(this.config());}onDeleteArmed(){this.pendingDelete.set(true);}onDeleteConfirmed(){this.pendingDelete.set(false),this.deleteRequested.emit(this.config());}onDeleteCancelled(){this.pendingDelete.set(false);}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=xw({type:o,selectors:[["agentos-integration-config-item"]],inputs:{config:[1,"config"],scope:[1,"scope"],readOnly:[1,"readOnly"]},outputs:{editRequested:"editRequested",deleteRequested:"deleteRequested",duplicateRequested:"duplicateRequested"},decls:12,vars:6,consts:[["role","listitem","dsBlueprint","",1,"integration-config-item"],[1,"integration-config-item__body"],[1,"integration-config-item__heading"],[1,"integration-config-item__name"],[1,"integration-config-item__badge"],[1,"integration-config-item__type"],[1,"integration-config-item__actions"],[1,"integration-config-item__confirm-label"],["icon","check","variant","danger","title","Confirm deletion",3,"action"],["icon","close","title","Cancel deletion",3,"action"],["icon","content_copy","title","Duplicate this configuration",3,"action"],["icon","edit","title","Edit integration",3,"action"],["icon","delete","variant","danger","title","Delete integration",3,"action"]],template:function(e,t){e&1&&(ws(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),GC(4),pl(),ws(5,"span",4),GC(6),pl()(),ws(7,"span",5),GC(8),pl()(),ws(9,"div",6),Jw(10,M,4,0)(11,P,2,1),pl()()),e&2&&(XE(4),Yg(t.config().name),XE(),Tg("data-variant",t.badge().variant)("aria-label",t.badge().ariaLabel),XE(),vl(" ",t.badge().label," "),XE(2),Yg(t.config().integrationType),XE(2),eC(t.pendingDelete()?10:11));},dependencies:[Kn,Se],styles:[".integration-config-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:14px 16px;position:relative;border-radius:0;border:1px solid var(--color-divider);background:var(--color-bg);box-shadow:var(--shadow-sm);overflow:visible;transition:border-color .15s ease}.integration-config-item[_ngcontent-%COMP%]:hover{border-color:var(--color-accent)}.integration-config-item__body[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.integration-config-item__heading[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;min-width:0}.integration-config-item__name[_ngcontent-%COMP%]{font-size:15px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.integration-config-item__badge[_ngcontent-%COMP%]{flex-shrink:0;font-family:var(--font-heading);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:0;padding:.15rem .5rem;white-space:nowrap}.integration-config-item__badge[data-variant=neutral][_ngcontent-%COMP%]{border:1px solid var(--color-divider);color:var(--color-neutral-600);background:transparent}.integration-config-item__badge[data-variant=info][_ngcontent-%COMP%]{border:1px solid color-mix(in srgb,var(--color-info) 40%,transparent);color:var(--color-info);background:color-mix(in srgb,var(--color-info) 10%,transparent)}.integration-config-item__badge[data-variant=warning][_ngcontent-%COMP%]{border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 10%,transparent)}.integration-config-item__type[_ngcontent-%COMP%]{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.integration-config-item__actions[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.integration-config-item[_ngcontent-%COMP%]:hover .integration-config-item__actions[_ngcontent-%COMP%], .integration-config-item[_ngcontent-%COMP%]:focus-within .integration-config-item__actions[_ngcontent-%COMP%]{opacity:1}.integration-config-item__confirm-label[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);margin-right:.25rem;white-space:nowrap}"]})};export{O};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {g,ao as V,G,d5 as k,C as Ce,a as Gi,b as U$1,x,w,e as xw,k as ws,q as Rg,n as GC,o as pl,J as Jw,X as XE,a8 as Yg,y as eC,a9 as lC,S as Sg,a3 as VI,ac as gC,v as bg,a6 as UI,a5 as vl,aa as If,ab as wf}from'./main-2GG5NZ4C.js';import {o as z,k as _t,b as _e,n as ni,J as Jn,Y as Ye,f as fn,Z as Zn,l as Xn,$ as $t,C as Cn,E as En}from'./chunk-D_aTK145.js';function U(l,r){l&1&&(ws(0,"p",5),GC(1,"Loading\u2026"),pl());}function H(l,r){if(l&1){let e=lC();ws(0,"form",7),Rg("ngSubmit",function(){If(e);let u=gC();return wf(u.submit())}),ws(1,"div",8)(2,"label",9),GC(3,"Name "),ws(4,"span",10),GC(5,"*"),pl()(),Sg(6,"input",11),VI(),pl(),ws(7,"div",8)(8,"label",12),GC(9,"Description"),pl(),Sg(10,"textarea",13),VI(),pl(),ws(11,"div",8)(12,"label",14),GC(13,"External ID"),pl(),Sg(14,"input",15),VI(),pl(),ws(15,"div",8)(16,"label",16),GC(17,"Default agent"),pl(),Sg(18,"input",17),VI(),pl(),ws(19,"div",8)(20,"label",18),GC(21,"Config path"),pl(),Sg(22,"input",19),VI(),pl(),ws(23,"div",8)(24,"label",20),GC(25,"Run cost threshold"),pl(),Sg(26,"input",21),VI(),ws(27,"span",22),GC(28,"Leave empty to inherit the platform default."),pl()(),ws(29,"div",23)(30,"button",24),GC(31),pl(),ws(32,"button",25),Rg("click",function(){If(e);let u=gC();return wf(u.cancel())}),GC(33,"Cancel"),pl()()();}if(l&2){let e=gC();bg("formGroup",e.form),XE(6),bg("formControl",e.nameControl),UI(),XE(4),bg("formControl",e.descriptionControl),UI(),XE(4),bg("formControl",e.externalIdControl),UI(),XE(4),bg("formControl",e.defaultAgentNameControl),UI(),XE(4),bg("formControl",e.configPathControl),UI(),XE(4),bg("formControl",e.runCostThresholdControl),UI(),XE(4),bg("disabled",e.nameControl.invalid||e.isSubmitting()),XE(),vl(" ",e.isEditMode()?"Save changes":"Create"," ");}}var q=class l{route=g(V);router=g(G);namespaceController=g(k);destroyRef=g(Ce);form=new z({name:new _t("",{nonNullable:true,validators:[_e.required,_e.minLength(1)]}),description:new _t("",{nonNullable:true}),configPath:new _t("",{nonNullable:true}),externalId:new _t("",{nonNullable:true}),defaultAgentName:new _t("",{nonNullable:true}),runCostThreshold:new _t(null)});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get configPathControl(){return this.form.controls.configPath}get externalIdControl(){return this.form.controls.externalId}get defaultAgentNameControl(){return this.form.controls.defaultAgentName}get runCostThresholdControl(){return this.form.controls.runCostThreshold}isEditMode=Gi(false);isSubmitting=Gi(false);isLoading=Gi(false);existingNamespace=null;ngOnInit(){let r=this.route.snapshot.paramMap.get("namespaceId");r&&(this.isEditMode.set(true),this.loadNamespace(r));}loadNamespace(r){this.isLoading.set(true),this.namespaceController.getByIdNamespace(r).pipe(U$1(this.destroyRef)).subscribe({next:e=>{this.existingNamespace=e,this.nameControl.setValue(e.name),this.descriptionControl.setValue(e.description??""),this.configPathControl.setValue(e.configPath??""),this.externalIdControl.setValue(e.externalId??""),this.defaultAgentNameControl.setValue(e.defaultAgentName??""),this.runCostThresholdControl.setValue(e.runCostThreshold??null),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),this.navigateBack();}});}submit(){if(this.nameControl.invalid||this.isSubmitting())return;this.isSubmitting.set(true);let r=x(w({},this.existingNamespace),{name:this.nameControl.value.trim(),description:this.descriptionControl.value.trim()||void 0,configPath:this.configPathControl.value.trim()||void 0,externalId:this.externalIdControl.value.trim()||void 0,defaultAgentName:this.defaultAgentNameControl.value.trim()||void 0,runCostThreshold:this.runCostThresholdControl.value??void 0});(this.isEditMode()?this.namespaceController.updateNamespace(this.existingNamespace.id??"",r):this.namespaceController.createNamespace(r)).pipe(U$1(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(false)});}cancel(){this.navigateBack();}navigateBack(){this.router.navigate(["/agentos/namespaces"]);}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=xw({type:l,selectors:[["agentos-namespace-form"]],decls:10,vars:2,consts:[[1,"namespace-form"],[1,"namespace-form__header"],["type","button","title","Back to namespaces",1,"namespace-form__back",3,"click"],[1,"namespace-form__back-icon"],[1,"namespace-form__title"],[1,"namespace-form__loading"],[1,"namespace-form__form",3,"formGroup"],[1,"namespace-form__form",3,"ngSubmit","formGroup"],[1,"namespace-form__field"],["for","ns-name",1,"namespace-form__label"],["aria-hidden","true"],["id","ns-name","type","text","placeholder","Namespace name","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-description",1,"namespace-form__label"],["id","ns-description","rows","4","placeholder","Optional description",1,"namespace-form__textarea",3,"formControl"],["for","ns-external-id",1,"namespace-form__label"],["id","ns-external-id","type","text","placeholder","Optional federation ID from an external system","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-default-agent",1,"namespace-form__label"],["id","ns-default-agent","type","text","placeholder","Logical name of the default agent (e.g. coday)","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-config-path",1,"namespace-form__label"],["id","ns-config-path","type","text","placeholder","Optional path to base configuration directory","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-run-cost-threshold",1,"namespace-form__label"],["id","ns-run-cost-threshold","type","number","min","0","step","0.01","placeholder","Optional maximum cost per run (e.g. 0.50)",1,"namespace-form__input",3,"formControl"],[1,"namespace-form__hint"],[1,"namespace-form__actions"],["type","submit",1,"namespace-form__btn","namespace-form__btn--primary",3,"disabled"],["type","button",1,"namespace-form__btn",3,"click"]],template:function(e,p){e&1&&(ws(0,"div",0)(1,"header",1)(2,"button",2),Rg("click",function(){return p.cancel()}),ws(3,"span",3),GC(4,"\u2190"),pl(),GC(5," Namespaces "),pl(),ws(6,"h1",4),GC(7),pl()(),Jw(8,U,2,0,"p",5)(9,H,34,9,"form",6),pl()),e&2&&(XE(7),Yg(p.isEditMode()?"Edit namespace":"New namespace"),XE(),eC(p.isLoading()?8:9));},dependencies:[ni,Jn,Ye,fn,Zn,Xn,$t,Cn,En],styles:[".namespace-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:480px;margin:0 auto;padding:2rem 1rem}.namespace-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.namespace-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.namespace-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.namespace-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.namespace-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.namespace-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.namespace-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.namespace-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.namespace-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.namespace-form__input[_ngcontent-%COMP%], .namespace-form__textarea[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.namespace-form__input[_ngcontent-%COMP%]:focus, .namespace-form__textarea[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.namespace-form__input[_ngcontent-%COMP%]::placeholder, .namespace-form__textarea[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.namespace-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:96px;line-height:1.5}.namespace-form__hint[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary)}.namespace-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.namespace-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.namespace-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.namespace-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.namespace-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.namespace-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}"]})};export{q as NamespaceFormComponent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {O}from'./chunk-BSAXfS2x.js';import {R}from'./chunk-CCQAu0MS.js';import {N}from'./chunk-Dz1wgxrF.js';import {g,G,bm as Mm,C as Ce$1,a as Gi,m as mT,F,aD as Py,r as re,b as U,e as xw,k as ws,q as Rg,o as pl,n as GC,J as Jw,X as XE,y as eC,t as rC,ac as gC,z as oC,a9 as lC,A as Ug,T as Tg,a8 as Yg,a5 as vl,S as Sg,a3 as VI,v as bg,a6 as UI,aa as If,ab as wf,cH as Kw}from'./main-2GG5NZ4C.js';import {l,I,f}from'./chunk-C-VoWDOg.js';import {S as Se$1}from'./chunk-BjBW1d-u.js';import'./chunk-Bbb2Oy9I.js';import {o as z,k as _t,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,Z as Zn,l as Xn,E as En,p as An}from'./chunk-D_aTK145.js';import'./chunk-C0DMx9CU.js';import'./chunk-G_l8BMaJ.js';var D=(r,i)=>i.value;function se(r,i){r&1&&(ws(0,"p",4),GC(1,"Loading\u2026"),pl());}function de(r,i){if(r&1){let e=lC();ws(0,"button",18),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setThemeVariant(d.value))}),ws(1,"span",19),GC(2),pl(),ws(3,"span",20),GC(4),pl()();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__theme-variant--active",a.themeVariant()===e.value),Tg("aria-pressed",a.themeVariant()===e.value),XE(2),Yg(e.label),XE(2),Yg(e.description);}}function _e(r,i){if(r&1){let e=lC();ws(0,"button",21),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setTheme(d.value))}),GC(1),pl();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__segmented-option--active",a.themeMode()===e.value),Tg("aria-pressed",a.themeMode()===e.value),XE(),vl(" ",e.label," ");}}function ce(r,i){if(r&1){let e=lC();ws(0,"button",21),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setEnterKeyBehavior(d.value))}),GC(1),pl();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__segmented-option--active",a.enterKeyBehavior()===e.value),Tg("aria-pressed",a.enterKeyBehavior()===e.value),XE(),vl(" ",e.label," ");}}function pe(r,i){if(r&1&&(ws(0,"option",32),GC(1),pl()),r&2){let e=i.$implicit;bg("value",e.value),XE(),Yg(e.label);}}function me(r,i){if(r&1){let e=lC();ws(0,"form",22),Rg("ngSubmit",function(){If(e);let d=gC(2);return wf(d.save())}),ws(1,"div",5)(2,"h2",6),GC(3,"Identity"),pl(),ws(4,"div",7)(5,"span",8),GC(6,"Email"),pl(),ws(7,"span",23),GC(8),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"External ID"),pl(),ws(12,"span",23),GC(13),pl()()(),ws(14,"div",5)(15,"h2",6),GC(16,"Profile"),pl(),ws(17,"div",7)(18,"label",24),GC(19,"First name"),pl(),Sg(20,"input",25),VI(),pl(),ws(21,"div",7)(22,"label",26),GC(23,"Last name"),pl(),Sg(24,"input",27),VI(),pl(),ws(25,"div",7)(26,"label",28),GC(27,"Bio"),pl(),Sg(28,"textarea",29),VI(),pl(),ws(29,"div",7)(30,"label",30),GC(31,"Language"),pl(),ws(32,"select",31),rC(33,pe,2,2,"option",32,D),pl(),VI(),pl()(),ws(35,"div",33)(36,"button",34),GC(37),pl(),ws(38,"button",35),Rg("click",function(){If(e);let d=gC(2);return wf(d.cancelEditing())}),GC(39,"Cancel"),pl()()();}if(r&2){let e=gC(),a=gC();bg("formGroup",a.form),XE(8),Yg(e.email),XE(5),Yg(e.externalId),XE(7),UI(),XE(4),UI(),XE(4),UI(),XE(4),UI(),XE(),oC(a.languageOptions),XE(3),bg("disabled",a.isSaving()),XE(),vl(" ",a.isSaving()?"Saving\u2026":"Save changes"," ");}}function ue(r,i){r&1&&(ws(0,"p",43),GC(1," No global configuration yet. Create one from the Integrations / AI Providers / Auth Settings pages of your namespaces. "),pl());}function fe(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function ge(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function Ce(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,fe,6,0)(6,ge,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function ve(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"Integrations"),pl(),ws(2,"ul",45),rC(3,Ce,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().integrations);}}function xe(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function be(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function ye(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,xe,6,0)(6,be,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function he(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"AI Providers"),pl(),ws(2,"ul",45),rC(3,ye,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().aiProviders);}}function Ee(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function Pe(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function Se(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,Ee,6,0)(6,Pe,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function we(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"My global auth settings"),pl(),ws(2,"ul",45),rC(3,Se,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().authSettings);}}function ke(r,i){if(r&1&&(Jw(0,ve,5,0),Jw(1,he,5,0),Jw(2,we,5,0)),r&2){let e=gC(4);eC(e.recap().integrations.length>0?0:-1),XE(),eC(e.recap().aiProviders.length>0?1:-1),XE(),eC(e.recap().authSettings.length>0?2:-1);}}function Me(r,i){if(r&1&&Jw(0,ue,2,0,"p",43)(1,ke,3,3),r&2){let e=gC(3);eC(e.recap().total===0?0:1);}}function Oe(r,i){if(r&1){let e=lC();ws(0,"div",17)(1,"div",5)(2,"h2",6),GC(3,"Identity"),pl(),ws(4,"div",7)(5,"span",8),GC(6,"Email"),pl(),ws(7,"span",36),GC(8),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"External ID"),pl(),ws(12,"span",36),GC(13),pl()()(),ws(14,"div",5)(15,"h2",6),GC(16,"Profile"),pl(),ws(17,"div",7)(18,"span",8),GC(19,"First name"),pl(),ws(20,"span",36),GC(21),pl()(),ws(22,"div",7)(23,"span",8),GC(24,"Last name"),pl(),ws(25,"span",36),GC(26),pl()(),ws(27,"div",37)(28,"span",8),GC(29,"Bio"),pl(),ws(30,"span",36),GC(31),pl()(),ws(32,"div",7)(33,"span",8),GC(34,"Language"),pl(),ws(35,"span",36),GC(36),pl()()(),ws(37,"div",33)(38,"button",38),Rg("click",function(){If(e);let d=gC(2);return wf(d.startEditing())}),GC(39," Edit profile "),pl()(),ws(40,"div",39)(41,"button",40),Rg("click",function(){If(e);let d=gC(2);return wf(d.toggleOverrides())}),ws(42,"span",41),GC(43,"\u25B6"),pl(),GC(44," My global user configurations "),ws(45,"span",42),GC(46),pl()(),Jw(47,Me,2,1),pl()();}if(r&2){let e=gC(),a=gC();XE(8),Yg(e.email),XE(5),Yg(e.externalId),XE(8),Yg(e.firstname||"\u2014"),XE(5),Yg(e.lastname||"\u2014"),XE(5),Yg(e.bio||"\u2014"),XE(5),Yg(e.preferredLanguage||"\u2014"),XE(5),Tg("aria-expanded",a.isOverridesExpanded()),XE(),Ug("user-profile__overrides-arrow--open",a.isOverridesExpanded()),XE(4),vl("(",a.recap().total,")"),XE(),eC(a.isOverridesExpanded()?47:-1);}}function Ue(r,i){if(r&1&&(ws(0,"div",5)(1,"h2",6),GC(2,"Appearance"),pl(),ws(3,"div",7)(4,"span",8),GC(5,"Skin"),pl(),ws(6,"div",9),rC(7,de,5,5,"button",10,D),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"Mode"),pl(),ws(12,"div",11),rC(13,_e,2,4,"button",12,D),pl()()(),ws(15,"div",5)(16,"h2",6),GC(17,"Composer"),pl(),ws(18,"div",7)(19,"span",8),GC(20,"Enter key"),pl(),ws(21,"div",13)(22,"div",14),rC(23,ce,2,4,"button",12,D),pl(),ws(25,"p",15),GC(26,'In "New line" mode, press Ctrl or Cmd + Enter to send.'),pl()()()(),Jw(27,me,40,5,"form",16)(28,Oe,48,11,"div",17)),r&2){let e=gC();XE(7),oC(e.themeVariantOptions),XE(6),oC(e.themeOptions),XE(10),oC(e.enterKeyOptions),XE(4),eC(e.isEditing()?27:28);}}function Te(r,i){r&1&&(ws(0,"p",4),GC(1,"Unable to load profile."),pl());}var le=class r{userState=g(l);router=g(G);location=g(Mm);destroyRef=g(Ce$1);integrationState=g(N);providerState=g(O);authSettingState=g(R);themePort=g(I);preferencesPort=g(f);isEditing=Gi(false);isLoading=Gi(false);isSaving=Gi(false);isOverridesExpanded=Gi(false);currentUser=this.userState.currentUser;theme=this.themePort.theme;themeMode=mT(()=>this.themePort.theme().mode);themeOptions=[{value:"light",label:"Light"},{value:"dark",label:"Dark"},{value:"system",label:"System"}];themeVariant=mT(()=>this.themePort.theme().variant);themeVariantOptions=[{value:"industry",label:"Industry",description:"Bleu acier, Barlow"},{value:"terminal",label:"Terminal",description:"Ambre CRT, JetBrains Mono"}];enterKeyBehavior=this.preferencesPort.enterKeyBehavior;enterKeyOptions=[{value:"send",label:"Send"},{value:"newline",label:"New line"}];languageOptions=[{value:"",label:"No preference (English fallback)"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"es",label:"Spanish"},{value:"pt",label:"Portuguese"},{value:"it",label:"Italian"},{value:"nl",label:"Dutch"},{value:"pl",label:"Polish"},{value:"ja",label:"Japanese"},{value:"zh",label:"Chinese"}];form=new z({firstname:new _t("",{nonNullable:true}),lastname:new _t("",{nonNullable:true}),bio:new _t("",{nonNullable:true}),preferredLanguage:new _t("",{nonNullable:true})});recap=F(Py([this.integrationState.userGlobal$,this.providerState.userGlobal$,this.authSettingState.userGlobal$]).pipe(re(([i,e,a])=>{let d=i.map(g=>({category:"integration",id:g.id??"",name:g.name,subtitle:g.integrationType})),_=e.map(g=>({category:"aiProvider",id:g.id??"",name:g.name,subtitle:g.apiType})),I=a.map(g=>({category:"authSetting",id:g.id??"",name:g.name,subtitle:g.authType}));return {integrations:d,aiProviders:_,authSettings:I,total:d.length+_.length+I.length}})),{initialValue:{integrations:[],aiProviders:[],authSettings:[],total:0}});ngOnInit(){if(this.currentUser()){this.syncFormFromState();return}this.isLoading.set(true),this.userState.loadMe().pipe(U(this.destroyRef)).subscribe({next:()=>{this.syncFormFromState(),this.isLoading.set(false);},error:()=>this.isLoading.set(false)});}startEditing(){this.syncFormFromState(),this.isEditing.set(true);}cancelEditing(){this.isEditing.set(false);}setTheme(i){this.themePort.setTheme({variant:this.themePort.theme().variant,mode:i});}setThemeVariant(i){this.themePort.setTheme({variant:i,mode:this.themePort.theme().mode});}setEnterKeyBehavior(i){this.preferencesPort.setEnterKeyBehavior(i);}save(){if(this.isSaving())return;this.isSaving.set(true);let i=this.form.controls.preferredLanguage.value.trim();this.userState.updateMe({firstname:this.form.controls.firstname.value.trim()||void 0,lastname:this.form.controls.lastname.value.trim()||void 0,bio:this.form.controls.bio.value.trim()||void 0,preferredLanguage:i||void 0}).pipe(U(this.destroyRef)).subscribe({next:()=>{this.isSaving.set(false),this.isEditing.set(false);},error:()=>this.isSaving.set(false)});}toggleOverrides(){this.isOverridesExpanded.update(i=>!i),this.pendingDeleteKey.set(null);}pendingDeleteKey=Gi(null);isPendingDelete(i){return this.pendingDeleteKey()===this.entryKey(i)}armDelete(i){i.id&&this.pendingDeleteKey.set(this.entryKey(i));}cancelDelete(){this.pendingDeleteKey.set(null);}confirmDelete(i){if(!i.id)return;this.pendingDeleteKey.set(null),(i.category==="integration"?this.integrationState.delete(i.id,"userGlobal"):i.category==="authSetting"?this.authSettingState.delete(i.id,"userGlobal"):this.providerState.delete(i.id,"userGlobal")).pipe(U(this.destroyRef)).subscribe({error:a=>{console.error(`[UserProfile] Delete failed for ${i.category}:${i.id}:`,a);}});}entryKey(i){return `${i.category}:${i.id}`}goBack(){window.history.length>1?this.location.back():this.router.navigate(["/agentos"]);}trackEntry(i,e){return this.entryKey(e)}syncFormFromState(){let i=this.currentUser();i&&this.form.setValue({firstname:i.firstname??"",lastname:i.lastname??"",bio:i.bio??"",preferredLanguage:i.preferredLanguage??""});}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=xw({type:r,selectors:[["agentos-user-profile"]],decls:8,vars:1,consts:[[1,"user-profile"],[1,"user-profile__header"],["icon","arrow_back","title","Back",3,"action"],[1,"user-profile__title"],[1,"user-profile__loading"],[1,"user-profile__section"],[1,"user-profile__section-title"],[1,"user-profile__field"],[1,"user-profile__label"],[1,"user-profile__theme-variants"],["type","button",1,"user-profile__theme-variant",3,"user-profile__theme-variant--active"],["role","group","aria-label","Color mode",1,"user-profile__segmented"],["type","button",1,"user-profile__segmented-option",3,"user-profile__segmented-option--active"],[1,"user-profile__field-control"],["role","group","aria-label","Enter key behavior",1,"user-profile__segmented"],[1,"user-profile__hint"],[1,"user-profile__form",3,"formGroup"],[1,"user-profile__view"],["type","button",1,"user-profile__theme-variant",3,"click"],[1,"user-profile__theme-variant-name"],[1,"user-profile__theme-variant-desc"],["type","button",1,"user-profile__segmented-option",3,"click"],[1,"user-profile__form",3,"ngSubmit","formGroup"],[1,"user-profile__value","user-profile__value--readonly"],["for","up-firstname",1,"user-profile__label"],["id","up-firstname","type","text","placeholder","Your first name","formControlName","firstname","autocomplete","given-name",1,"user-profile__input"],["for","up-lastname",1,"user-profile__label"],["id","up-lastname","type","text","placeholder","Your last name","formControlName","lastname","autocomplete","family-name",1,"user-profile__input"],["for","up-bio",1,"user-profile__label"],["id","up-bio","placeholder","A short description about yourself","formControlName","bio","rows","4",1,"user-profile__input","user-profile__input--textarea"],["for","up-preferredLanguage",1,"user-profile__label"],["id","up-preferredLanguage","formControlName","preferredLanguage",1,"user-profile__input","user-profile__select"],[3,"value"],[1,"user-profile__actions"],["type","submit",1,"user-profile__btn","user-profile__btn--primary",3,"disabled"],["type","button",1,"user-profile__btn",3,"click"],[1,"user-profile__value"],[1,"user-profile__field","user-profile__field--bio"],["type","button",1,"user-profile__btn","user-profile__btn--primary",3,"click"],[1,"user-profile__overrides"],["type","button",1,"user-profile__overrides-toggle",3,"click"],[1,"user-profile__overrides-arrow"],[1,"user-profile__overrides-count"],[1,"user-profile__overrides-empty"],[1,"user-profile__overrides-subtitle"],[1,"user-profile__overrides-list"],[1,"user-profile__overrides-row"],[1,"user-profile__overrides-name"],[1,"user-profile__overrides-subtitle-text"],["type","button",1,"user-profile__overrides-delete"],[1,"user-profile__overrides-confirm-label"],["type","button",1,"user-profile__overrides-delete","user-profile__overrides-delete--confirm",3,"click"],["type","button",1,"user-profile__overrides-delete",3,"click"]],template:function(e,a){if(e&1&&(ws(0,"div",0)(1,"header",1)(2,"ds-icon-button",2),Rg("action",function(){return a.goBack()}),pl(),ws(3,"h1",3),GC(4,"My profile"),pl()(),Jw(5,se,2,0,"p",4)(6,Ue,29,1)(7,Te,2,0,"p",4),pl()),e&2){let d;XE(5),eC(a.isLoading()?5:(d=a.currentUser())?6:7,d);}},dependencies:[ni,Jn,Qn,ei,Ye,At,Zn,Xn,En,An,Se$1],styles:[`.user-profile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.user-profile__header[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:.5rem}.user-profile__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.user-profile__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.user-profile__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.user-profile__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.user-profile__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.user-profile__view[_ngcontent-%COMP%], .user-profile__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem}.user-profile__section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.user-profile__section-title[_ngcontent-%COMP%]{margin:0;font-family:var(--font-heading);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-neutral-500);border-bottom:1px solid var(--color-divider);padding-bottom:.5rem}.user-profile__field[_ngcontent-%COMP%]{display:grid;grid-template-columns:140px 1fr;align-items:baseline;gap:.75rem}.user-profile__field--bio[_ngcontent-%COMP%]{align-items:start}.user-profile__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.user-profile__value[_ngcontent-%COMP%]{font-size:.9375rem;color:var(--color-text);word-break:break-word;white-space:pre-wrap}.user-profile__value--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.875rem}.user-profile__segmented[_ngcontent-%COMP%]{display:inline-flex;justify-self:start;border:1px solid var(--color-divider);overflow:hidden}.user-profile__segmented-option[_ngcontent-%COMP%]{padding:.4rem .85rem;background:transparent;border:none;border-right:1px solid var(--color-divider);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:background .15s ease,color .15s ease}.user-profile__segmented-option[_ngcontent-%COMP%]:last-child{border-right:none}.user-profile__segmented-option[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.user-profile__segmented-option--active[_ngcontent-%COMP%]{background:var(--color-accent);color:#fff}.user-profile__segmented-option--active[_ngcontent-%COMP%]:hover{background:var(--color-accent-700)}.user-profile__field-control[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.user-profile__hint[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.user-profile__select[_ngcontent-%COMP%]{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}.user-profile__input[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;border-radius:0;transition:border-color .15s ease;resize:none}.user-profile__input[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.user-profile__input[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.user-profile__input--textarea[_ngcontent-%COMP%]{line-height:1.5;resize:vertical}.user-profile__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.user-profile__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;border-radius:0;transition:background .15s ease,border-color .15s ease}.user-profile__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.user-profile__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.user-profile__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.user-profile__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.user-profile__theme-variants[_ngcontent-%COMP%]{display:flex;gap:8px;justify-self:start}.user-profile__theme-variant[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 16px;border:1px solid var(--color-divider);background:transparent;cursor:pointer;min-width:120px;transition:background .12s,border-color .12s}.user-profile__theme-variant[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.user-profile__theme-variant--active[_ngcontent-%COMP%]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.user-profile__theme-variant-name[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--color-text)}.user-profile__theme-variant-desc[_ngcontent-%COMP%]{font-size:11px;color:var(--color-text-secondary);font-family:var(--font-body)}.user-profile__overrides[_ngcontent-%COMP%]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-divider)}.user-profile__overrides-toggle[_ngcontent-%COMP%]{background:transparent;border:none;padding:.25rem 0;font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:.4rem}.user-profile__overrides-toggle[_ngcontent-%COMP%]:hover{color:var(--color-text)}.user-profile__overrides-arrow[_ngcontent-%COMP%]{display:inline-block;font-size:.65rem;transition:transform .15s ease}.user-profile__overrides-arrow--open[_ngcontent-%COMP%]{transform:rotate(90deg)}.user-profile__overrides-count[_ngcontent-%COMP%]{color:var(--color-text-tertiary)}.user-profile__overrides-empty[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary);font-style:italic;padding:.5rem 0 0;margin:0}.user-profile__overrides-subtitle[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-neutral-500);margin:.75rem 0 .25rem}.user-profile__overrides-list[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.user-profile__overrides-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;border-radius:0}.user-profile__overrides-row[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.user-profile__overrides-name[_ngcontent-%COMP%]{flex:1;color:var(--color-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile__overrides-subtitle-text[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary);font-family:var(--font-heading)}.user-profile__overrides-confirm-label[_ngcontent-%COMP%]{font-size:11px;font-family:var(--font-heading);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);white-space:nowrap}.user-profile__overrides-delete[_ngcontent-%COMP%]{background:transparent;border:1px solid transparent;font-size:11px;font-family:var(--font-heading);font-weight:600;color:var(--color-neutral-500);cursor:pointer;padding:3px 8px;border-radius:0;transition:color .12s,background .12s,border-color .12s}.user-profile__overrides-delete[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-color:var(--red)}.user-profile__overrides-delete--confirm[_ngcontent-%COMP%]{border-color:var(--red);background:var(--red);color:#fff}.user-profile__overrides-delete--confirm[_ngcontent-%COMP%]:hover{background:var(--red-deep);border-color:var(--red-deep)}`]})};
|
|
2
|
+
export{le as UserProfileComponent};
|