@whoz-oss/coday-client 0.166.9 → 0.167.1

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.
Files changed (41) hide show
  1. package/browser/{chunk-XFM4KVZ6.js → chunk-3H5BULJH.js} +1 -1
  2. package/browser/{chunk-PAW6WFZZ.js → chunk-4L6UNUKM.js} +1 -1
  3. package/browser/chunk-4OIHXCET.js +1 -0
  4. package/browser/{chunk-YODHUBU4.js → chunk-4QJ2AQ2O.js} +1 -1
  5. package/browser/{chunk-DUYUUS2L.js → chunk-5TIYN4H7.js} +1 -1
  6. package/browser/{chunk-6KZHR4Y5.js → chunk-6XJM3434.js} +1 -1
  7. package/browser/{chunk-TDN7XXYJ.js → chunk-7BI72RRD.js} +1 -1
  8. package/browser/chunk-B2KMZGEL.js +1 -0
  9. package/browser/{chunk-QCKUWYNZ.js → chunk-CFTXHCGZ.js} +1 -1
  10. package/browser/{chunk-2VZQFTDA.js → chunk-DIMN5BFM.js} +1 -1
  11. package/browser/chunk-E56RKDSI.js +1 -0
  12. package/browser/{chunk-75VRFLRQ.js → chunk-EG4QF44S.js} +1 -1
  13. package/browser/{chunk-A7XWJPWY.js → chunk-EH6JCC5E.js} +1 -1
  14. package/browser/{chunk-CN53EODB.js → chunk-EPOA3PNE.js} +1 -1
  15. package/browser/{chunk-YNZCLWLZ.js → chunk-GDEZQW3C.js} +1 -1
  16. package/browser/{chunk-OSI53EID.js → chunk-IAAFQXVF.js} +1 -1
  17. package/browser/chunk-IJRPEJ6B.js +1 -0
  18. package/browser/chunk-ITGWFGCG.js +1 -0
  19. package/browser/{chunk-MQ5FOOLD.js → chunk-JYJUTZMA.js} +1 -1
  20. package/browser/{chunk-O6R7UCP5.js → chunk-KSFXR4QE.js} +1 -1
  21. package/browser/{chunk-YW2XIVPR.js → chunk-LL6YFZAM.js} +1 -1
  22. package/browser/{chunk-EJIBPEH4.js → chunk-MNH5XEMZ.js} +1 -1
  23. package/browser/{chunk-53FMBD6R.js → chunk-O6YNK5FR.js} +1 -1
  24. package/browser/{chunk-V6U3QWKO.js → chunk-OIFBHV2U.js} +1 -1
  25. package/browser/{chunk-7Q5TJGZE.js → chunk-PFQSHXFF.js} +1 -1
  26. package/browser/{chunk-OCSO7P4Q.js → chunk-QSPLAQ27.js} +1 -1
  27. package/browser/{chunk-7J3KCU7P.js → chunk-UFIINNBU.js} +1 -1
  28. package/browser/{chunk-4VNHFKSB.js → chunk-V2FRZTTB.js} +1 -1
  29. package/browser/chunk-VY77UVRK.js +1 -0
  30. package/browser/{chunk-BUJEKX2L.js → chunk-WD4ZUXXF.js} +1 -1
  31. package/browser/{chunk-FQTT35CO.js → chunk-WUJJ3ZVR.js} +1 -1
  32. package/browser/{chunk-IBWXN2FR.js → chunk-WYUAW2U7.js} +1 -1
  33. package/browser/{chunk-4KLLJOX7.js → chunk-ZOUZ76UW.js} +1 -1
  34. package/browser/index.html +1 -1
  35. package/browser/{main-XJOMTJCP.js → main-KPIQPT35.js} +1 -1
  36. package/package.json +1 -1
  37. package/browser/chunk-3T2UXJWR.js +0 -1
  38. package/browser/chunk-EYTNFNF3.js +0 -1
  39. package/browser/chunk-ID64B57M.js +0 -1
  40. package/browser/chunk-MY2DGYGP.js +0 -1
  41. package/browser/chunk-YPZHBQKQ.js +0 -1
@@ -1 +1 @@
1
- import{a as j}from"./chunk-A7XWJPWY.js";import{a as q}from"./chunk-EJIBPEH4.js";import"./chunk-T3IUNA6F.js";import{a as Y}from"./chunk-MQ5FOOLD.js";import"./chunk-ID64B57M.js";import{d as F}from"./chunk-4GVABYH4.js";import{a as h,c as B}from"./chunk-V363EHJE.js";import{F as A,c as G,g as z,h as N,i as $,l as y,n as K,v as L,w as R}from"./chunk-HZF57OLY.js";import{Bb as x,Db as c,Dc as V,Fb as s,Ka as d,Rb as T,Tb as n,Ub as p,Vb as k,Wa as D,ca as C,ga as m,ha as u,jb as I,kb as E,lb as f,ma as U,mb as g,pb as P,qb as S,rb as w,sb as i,t as M,ta as v,tb as e,u as O,ub as b}from"./chunk-B4RKRLIY.js";function J(r,o){r&1&&(i(0,"p",5),n(1,"Loading\u2026"),e())}function Q(r,o){if(r&1){let t=x();i(0,"form",8),c("ngSubmit",function(){m(t);let a=s(2);return u(a.save())}),i(1,"div",9)(2,"h2",10),n(3,"Identity"),e(),i(4,"div",11)(5,"span",12),n(6,"Email"),e(),i(7,"span",13),n(8),e()(),i(9,"div",11)(10,"span",12),n(11,"External ID"),e(),i(12,"span",13),n(13),e()()(),i(14,"div",9)(15,"h2",10),n(16,"Profile"),e(),i(17,"div",11)(18,"label",14),n(19,"First name"),e(),b(20,"input",15),e(),i(21,"div",11)(22,"label",16),n(23,"Last name"),e(),b(24,"input",17),e(),i(25,"div",11)(26,"label",18),n(27,"Bio"),e(),b(28,"textarea",19),e()(),i(29,"div",20)(30,"button",21),n(31),e(),i(32,"button",22),c("click",function(){m(t);let a=s(2);return u(a.cancelEditing())}),n(33,"Cancel"),e()()()}if(r&2){let t=s(),l=s();w("formGroup",l.form),d(8),p(t.email),d(5),p(t.externalId),d(17),w("disabled",l.isSaving()),d(),k(" ",l.isSaving()?"Saving\u2026":"Save changes"," ")}}function W(r,o){r&1&&(i(0,"p",30),n(1," Aucune configuration globale. Cr\xE9e-en depuis les pages Integrations / AI Providers / AI Models de tes namespaces. "),e())}function X(r,o){if(r&1){let t=x();i(0,"span",37),n(1,"Delete?"),e(),i(2,"button",38),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.confirmDelete(a))}),n(3," Confirm "),e(),i(4,"button",39),c("click",function(){m(t);let a=s(7);return u(a.cancelDelete())}),n(5," Cancel "),e()}}function Z(r,o){if(r&1){let t=x();i(0,"button",39),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.armDelete(a))}),n(1," Delete "),e()}}function ee(r,o){if(r&1&&(i(0,"li",33)(1,"span",34),n(2),e(),i(3,"span",35),n(4),e(),f(5,X,6,0)(6,Z,2,0,"button",36),e()),r&2){let t=o.$implicit,l=s(6);d(2),p(t.name),d(2),p(t.subtitle),d(),g(l.isPendingDelete(t)?5:6)}}function te(r,o){if(r&1&&(i(0,"h3",31),n(1,"Integrations"),e(),i(2,"ul",32),P(3,ee,7,3,"li",33,E().trackEntry,!0),e()),r&2){let t=s(5);d(3),S(t.recap().integrations)}}function ie(r,o){if(r&1){let t=x();i(0,"span",37),n(1,"Delete?"),e(),i(2,"button",38),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.confirmDelete(a))}),n(3," Confirm "),e(),i(4,"button",39),c("click",function(){m(t);let a=s(7);return u(a.cancelDelete())}),n(5," Cancel "),e()}}function ne(r,o){if(r&1){let t=x();i(0,"button",39),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.armDelete(a))}),n(1," Delete "),e()}}function oe(r,o){if(r&1&&(i(0,"li",33)(1,"span",34),n(2),e(),i(3,"span",35),n(4),e(),f(5,ie,6,0)(6,ne,2,0,"button",36),e()),r&2){let t=o.$implicit,l=s(6);d(2),p(t.name),d(2),p(t.subtitle),d(),g(l.isPendingDelete(t)?5:6)}}function re(r,o){if(r&1&&(i(0,"h3",31),n(1,"AI Providers"),e(),i(2,"ul",32),P(3,oe,7,3,"li",33,E().trackEntry,!0),e()),r&2){let t=s(5);d(3),S(t.recap().aiProviders)}}function le(r,o){if(r&1&&(f(0,te,5,0),f(1,re,5,0)),r&2){let t=s(4);g(t.recap().integrations.length>0?0:-1),d(),g(t.recap().aiProviders.length>0?1:-1)}}function ae(r,o){if(r&1&&f(0,W,2,0,"p",30)(1,le,2,2),r&2){let t=s(3);g(t.recap().total===0?0:1)}}function se(r,o){if(r&1){let t=x();i(0,"div",7)(1,"div",9)(2,"h2",10),n(3,"Identity"),e(),i(4,"div",11)(5,"span",12),n(6,"Email"),e(),i(7,"span",23),n(8),e()(),i(9,"div",11)(10,"span",12),n(11,"External ID"),e(),i(12,"span",23),n(13),e()()(),i(14,"div",9)(15,"h2",10),n(16,"Profile"),e(),i(17,"div",11)(18,"span",12),n(19,"First name"),e(),i(20,"span",23),n(21),e()(),i(22,"div",11)(23,"span",12),n(24,"Last name"),e(),i(25,"span",23),n(26),e()(),i(27,"div",24)(28,"span",12),n(29,"Bio"),e(),i(30,"span",23),n(31),e()()(),i(32,"div",20)(33,"button",25),c("click",function(){m(t);let a=s(2);return u(a.startEditing())}),n(34," Edit profile "),e()(),i(35,"div",26)(36,"button",27),c("click",function(){m(t);let a=s(2);return u(a.toggleOverrides())}),i(37,"span",28),n(38,"\u25B6"),e(),n(39," Mes configurations utilisateur globales "),i(40,"span",29),n(41),e()(),f(42,ae,2,1),e()()}if(r&2){let t=s(),l=s();d(8),p(t.email),d(5),p(t.externalId),d(8),p(t.firstname||"\u2014"),d(5),p(t.lastname||"\u2014"),d(5),p(t.bio||"\u2014"),d(5),I("aria-expanded",l.isOverridesExpanded()),d(),T("user-profile__overrides-arrow--open",l.isOverridesExpanded()),d(4),k("(",l.recap().total,")"),d(),g(l.isOverridesExpanded()?42:-1)}}function de(r,o){if(r&1&&f(0,Q,34,5,"form",6)(1,se,43,10,"div",7),r&2){let t=s();g(t.isEditing()?0:1)}}function _e(r,o){r&1&&(i(0,"p",5),n(1,"Unable to load profile."),e())}var H=class r{userState=C(Y);router=C(F);location=C(V);destroyRef=C(U);integrationState=C(j);providerState=C(q);isEditing=v(!1);isLoading=v(!1);isSaving=v(!1);isOverridesExpanded=v(!1);currentUser=this.userState.currentUser;form=new $({firstname:new y("",{nonNullable:!0}),lastname:new y("",{nonNullable:!0}),bio:new y("",{nonNullable:!0})});recap=B(O([this.integrationState.userGlobal$,this.providerState.userGlobal$]).pipe(M(([o,t])=>{let l=o.map(_=>({category:"integration",id:_.id??"",name:_.name,subtitle:_.integrationType})),a=t.map(_=>({category:"aiProvider",id:_.id??"",name:_.name,subtitle:_.apiType}));return{integrations:l,aiProviders:a,total:l.length+a.length}})),{initialValue:{integrations:[],aiProviders:[],total:0}});ngOnInit(){if(this.currentUser()){this.syncFormFromState();return}this.isLoading.set(!0),this.userState.loadMe().pipe(h(this.destroyRef)).subscribe({next:()=>{this.syncFormFromState(),this.isLoading.set(!1)},error:()=>this.isLoading.set(!1)})}startEditing(){this.syncFormFromState(),this.isEditing.set(!0)}cancelEditing(){this.isEditing.set(!1)}save(){this.isSaving()||(this.isSaving.set(!0),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}).pipe(h(this.destroyRef)).subscribe({next:()=>{this.isSaving.set(!1),this.isEditing.set(!1)},error:()=>this.isSaving.set(!1)}))}toggleOverrides(){this.isOverridesExpanded.update(o=>!o),this.pendingDeleteKey.set(null)}pendingDeleteKey=v(null);isPendingDelete(o){return this.pendingDeleteKey()===this.entryKey(o)}armDelete(o){o.id&&this.pendingDeleteKey.set(this.entryKey(o))}cancelDelete(){this.pendingDeleteKey.set(null)}confirmDelete(o){if(!o.id)return;this.pendingDeleteKey.set(null),(o.category==="integration"?this.integrationState.delete(o.id,"userGlobal"):this.providerState.delete(o.id,"userGlobal")).pipe(h(this.destroyRef)).subscribe({error:l=>{console.error(`[UserProfile] Delete failed for ${o.category}:${o.id}:`,l)}})}entryKey(o){return`${o.category}:${o.id}`}goBack(){window.history.length>1?this.location.back():this.router.navigate(["/agentos"])}trackEntry(o,t){return this.entryKey(t)}syncFormFromState(){let o=this.currentUser();o&&this.form.setValue({firstname:o.firstname??"",lastname:o.lastname??"",bio:o.bio??""})}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=D({type:r,selectors:[["agentos-user-profile"]],decls:11,vars:1,consts:[[1,"user-profile"],[1,"user-profile__header"],["type","button","title","Go back",1,"user-profile__back",3,"click"],[1,"user-profile__back-icon"],[1,"user-profile__title"],[1,"user-profile__loading"],[1,"user-profile__form",3,"formGroup"],[1,"user-profile__view"],[1,"user-profile__form",3,"ngSubmit","formGroup"],[1,"user-profile__section"],[1,"user-profile__section-title"],[1,"user-profile__field"],[1,"user-profile__label"],[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"],[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(t,l){if(t&1&&(i(0,"div",0)(1,"header",1)(2,"button",2),c("click",function(){return l.goBack()}),i(3,"span",3),n(4,"\u2190"),e(),n(5," Back "),e(),i(6,"h1",4),n(7,"My profile"),e()(),f(8,J,2,0,"p",5)(9,de,2,1)(10,_e,2,0,"p",5),e()),t&2){let a;d(8),g(l.isLoading()?8:(a=l.currentUser())?9:10,a)}},dependencies:[A,K,G,z,N,R,L],styles:[".user-profile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.user-profile__overrides[_ngcontent-%COMP%]{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border)}.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-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);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:6px}.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:monospace}.user-profile__overrides-delete[_ngcontent-%COMP%]{background:transparent;border:none;font-size:.75rem;color:var(--color-error);cursor:pointer;padding:.2rem .4rem;border-radius:4px}.user-profile__overrides-delete[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-error) 12%,transparent)}.user-profile__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;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-primary, #007aff);font-family:inherit}.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:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.user-profile__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);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-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #6e6e73);border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06));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, #6e6e73);white-space:nowrap}.user-profile__value[_ngcontent-%COMP%]{font-size:.9375rem;color:var(--color-text, #1d1d1f);word-break:break-word;white-space:pre-wrap}.user-profile__value--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.875rem}.user-profile__input[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease;resize:none}.user-profile__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.user-profile__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.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-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.user-profile__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.user-profile__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.user-profile__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.user-profile__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{H as UserProfileComponent};
1
+ import{a as j}from"./chunk-EH6JCC5E.js";import{a as q}from"./chunk-MNH5XEMZ.js";import"./chunk-T3IUNA6F.js";import{a as Y}from"./chunk-JYJUTZMA.js";import"./chunk-4OIHXCET.js";import{d as F}from"./chunk-4GVABYH4.js";import{a as h,c as B}from"./chunk-V363EHJE.js";import{F as A,c as G,g as z,h as N,i as $,l as y,n as K,v as L,w as R}from"./chunk-HZF57OLY.js";import{Bb as x,Db as c,Dc as V,Fb as s,Ka as d,Rb as T,Tb as n,Ub as p,Vb as k,Wa as D,ca as C,ga as m,ha as u,jb as I,kb as E,lb as f,ma as U,mb as g,pb as P,qb as S,rb as w,sb as i,t as M,ta as v,tb as e,u as O,ub as b}from"./chunk-B4RKRLIY.js";function J(r,o){r&1&&(i(0,"p",5),n(1,"Loading\u2026"),e())}function Q(r,o){if(r&1){let t=x();i(0,"form",8),c("ngSubmit",function(){m(t);let a=s(2);return u(a.save())}),i(1,"div",9)(2,"h2",10),n(3,"Identity"),e(),i(4,"div",11)(5,"span",12),n(6,"Email"),e(),i(7,"span",13),n(8),e()(),i(9,"div",11)(10,"span",12),n(11,"External ID"),e(),i(12,"span",13),n(13),e()()(),i(14,"div",9)(15,"h2",10),n(16,"Profile"),e(),i(17,"div",11)(18,"label",14),n(19,"First name"),e(),b(20,"input",15),e(),i(21,"div",11)(22,"label",16),n(23,"Last name"),e(),b(24,"input",17),e(),i(25,"div",11)(26,"label",18),n(27,"Bio"),e(),b(28,"textarea",19),e()(),i(29,"div",20)(30,"button",21),n(31),e(),i(32,"button",22),c("click",function(){m(t);let a=s(2);return u(a.cancelEditing())}),n(33,"Cancel"),e()()()}if(r&2){let t=s(),l=s();w("formGroup",l.form),d(8),p(t.email),d(5),p(t.externalId),d(17),w("disabled",l.isSaving()),d(),k(" ",l.isSaving()?"Saving\u2026":"Save changes"," ")}}function W(r,o){r&1&&(i(0,"p",30),n(1," Aucune configuration globale. Cr\xE9e-en depuis les pages Integrations / AI Providers / AI Models de tes namespaces. "),e())}function X(r,o){if(r&1){let t=x();i(0,"span",37),n(1,"Delete?"),e(),i(2,"button",38),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.confirmDelete(a))}),n(3," Confirm "),e(),i(4,"button",39),c("click",function(){m(t);let a=s(7);return u(a.cancelDelete())}),n(5," Cancel "),e()}}function Z(r,o){if(r&1){let t=x();i(0,"button",39),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.armDelete(a))}),n(1," Delete "),e()}}function ee(r,o){if(r&1&&(i(0,"li",33)(1,"span",34),n(2),e(),i(3,"span",35),n(4),e(),f(5,X,6,0)(6,Z,2,0,"button",36),e()),r&2){let t=o.$implicit,l=s(6);d(2),p(t.name),d(2),p(t.subtitle),d(),g(l.isPendingDelete(t)?5:6)}}function te(r,o){if(r&1&&(i(0,"h3",31),n(1,"Integrations"),e(),i(2,"ul",32),P(3,ee,7,3,"li",33,E().trackEntry,!0),e()),r&2){let t=s(5);d(3),S(t.recap().integrations)}}function ie(r,o){if(r&1){let t=x();i(0,"span",37),n(1,"Delete?"),e(),i(2,"button",38),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.confirmDelete(a))}),n(3," Confirm "),e(),i(4,"button",39),c("click",function(){m(t);let a=s(7);return u(a.cancelDelete())}),n(5," Cancel "),e()}}function ne(r,o){if(r&1){let t=x();i(0,"button",39),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.armDelete(a))}),n(1," Delete "),e()}}function oe(r,o){if(r&1&&(i(0,"li",33)(1,"span",34),n(2),e(),i(3,"span",35),n(4),e(),f(5,ie,6,0)(6,ne,2,0,"button",36),e()),r&2){let t=o.$implicit,l=s(6);d(2),p(t.name),d(2),p(t.subtitle),d(),g(l.isPendingDelete(t)?5:6)}}function re(r,o){if(r&1&&(i(0,"h3",31),n(1,"AI Providers"),e(),i(2,"ul",32),P(3,oe,7,3,"li",33,E().trackEntry,!0),e()),r&2){let t=s(5);d(3),S(t.recap().aiProviders)}}function le(r,o){if(r&1&&(f(0,te,5,0),f(1,re,5,0)),r&2){let t=s(4);g(t.recap().integrations.length>0?0:-1),d(),g(t.recap().aiProviders.length>0?1:-1)}}function ae(r,o){if(r&1&&f(0,W,2,0,"p",30)(1,le,2,2),r&2){let t=s(3);g(t.recap().total===0?0:1)}}function se(r,o){if(r&1){let t=x();i(0,"div",7)(1,"div",9)(2,"h2",10),n(3,"Identity"),e(),i(4,"div",11)(5,"span",12),n(6,"Email"),e(),i(7,"span",23),n(8),e()(),i(9,"div",11)(10,"span",12),n(11,"External ID"),e(),i(12,"span",23),n(13),e()()(),i(14,"div",9)(15,"h2",10),n(16,"Profile"),e(),i(17,"div",11)(18,"span",12),n(19,"First name"),e(),i(20,"span",23),n(21),e()(),i(22,"div",11)(23,"span",12),n(24,"Last name"),e(),i(25,"span",23),n(26),e()(),i(27,"div",24)(28,"span",12),n(29,"Bio"),e(),i(30,"span",23),n(31),e()()(),i(32,"div",20)(33,"button",25),c("click",function(){m(t);let a=s(2);return u(a.startEditing())}),n(34," Edit profile "),e()(),i(35,"div",26)(36,"button",27),c("click",function(){m(t);let a=s(2);return u(a.toggleOverrides())}),i(37,"span",28),n(38,"\u25B6"),e(),n(39," Mes configurations utilisateur globales "),i(40,"span",29),n(41),e()(),f(42,ae,2,1),e()()}if(r&2){let t=s(),l=s();d(8),p(t.email),d(5),p(t.externalId),d(8),p(t.firstname||"\u2014"),d(5),p(t.lastname||"\u2014"),d(5),p(t.bio||"\u2014"),d(5),I("aria-expanded",l.isOverridesExpanded()),d(),T("user-profile__overrides-arrow--open",l.isOverridesExpanded()),d(4),k("(",l.recap().total,")"),d(),g(l.isOverridesExpanded()?42:-1)}}function de(r,o){if(r&1&&f(0,Q,34,5,"form",6)(1,se,43,10,"div",7),r&2){let t=s();g(t.isEditing()?0:1)}}function _e(r,o){r&1&&(i(0,"p",5),n(1,"Unable to load profile."),e())}var H=class r{userState=C(Y);router=C(F);location=C(V);destroyRef=C(U);integrationState=C(j);providerState=C(q);isEditing=v(!1);isLoading=v(!1);isSaving=v(!1);isOverridesExpanded=v(!1);currentUser=this.userState.currentUser;form=new $({firstname:new y("",{nonNullable:!0}),lastname:new y("",{nonNullable:!0}),bio:new y("",{nonNullable:!0})});recap=B(O([this.integrationState.userGlobal$,this.providerState.userGlobal$]).pipe(M(([o,t])=>{let l=o.map(_=>({category:"integration",id:_.id??"",name:_.name,subtitle:_.integrationType})),a=t.map(_=>({category:"aiProvider",id:_.id??"",name:_.name,subtitle:_.apiType}));return{integrations:l,aiProviders:a,total:l.length+a.length}})),{initialValue:{integrations:[],aiProviders:[],total:0}});ngOnInit(){if(this.currentUser()){this.syncFormFromState();return}this.isLoading.set(!0),this.userState.loadMe().pipe(h(this.destroyRef)).subscribe({next:()=>{this.syncFormFromState(),this.isLoading.set(!1)},error:()=>this.isLoading.set(!1)})}startEditing(){this.syncFormFromState(),this.isEditing.set(!0)}cancelEditing(){this.isEditing.set(!1)}save(){this.isSaving()||(this.isSaving.set(!0),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}).pipe(h(this.destroyRef)).subscribe({next:()=>{this.isSaving.set(!1),this.isEditing.set(!1)},error:()=>this.isSaving.set(!1)}))}toggleOverrides(){this.isOverridesExpanded.update(o=>!o),this.pendingDeleteKey.set(null)}pendingDeleteKey=v(null);isPendingDelete(o){return this.pendingDeleteKey()===this.entryKey(o)}armDelete(o){o.id&&this.pendingDeleteKey.set(this.entryKey(o))}cancelDelete(){this.pendingDeleteKey.set(null)}confirmDelete(o){if(!o.id)return;this.pendingDeleteKey.set(null),(o.category==="integration"?this.integrationState.delete(o.id,"userGlobal"):this.providerState.delete(o.id,"userGlobal")).pipe(h(this.destroyRef)).subscribe({error:l=>{console.error(`[UserProfile] Delete failed for ${o.category}:${o.id}:`,l)}})}entryKey(o){return`${o.category}:${o.id}`}goBack(){window.history.length>1?this.location.back():this.router.navigate(["/agentos"])}trackEntry(o,t){return this.entryKey(t)}syncFormFromState(){let o=this.currentUser();o&&this.form.setValue({firstname:o.firstname??"",lastname:o.lastname??"",bio:o.bio??""})}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=D({type:r,selectors:[["agentos-user-profile"]],decls:11,vars:1,consts:[[1,"user-profile"],[1,"user-profile__header"],["type","button","title","Go back",1,"user-profile__back",3,"click"],[1,"user-profile__back-icon"],[1,"user-profile__title"],[1,"user-profile__loading"],[1,"user-profile__form",3,"formGroup"],[1,"user-profile__view"],[1,"user-profile__form",3,"ngSubmit","formGroup"],[1,"user-profile__section"],[1,"user-profile__section-title"],[1,"user-profile__field"],[1,"user-profile__label"],[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"],[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(t,l){if(t&1&&(i(0,"div",0)(1,"header",1)(2,"button",2),c("click",function(){return l.goBack()}),i(3,"span",3),n(4,"\u2190"),e(),n(5," Back "),e(),i(6,"h1",4),n(7,"My profile"),e()(),f(8,J,2,0,"p",5)(9,de,2,1)(10,_e,2,0,"p",5),e()),t&2){let a;d(8),g(l.isLoading()?8:(a=l.currentUser())?9:10,a)}},dependencies:[A,K,G,z,N,R,L],styles:[".user-profile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.user-profile__overrides[_ngcontent-%COMP%]{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border)}.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-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);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:6px}.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:monospace}.user-profile__overrides-delete[_ngcontent-%COMP%]{background:transparent;border:none;font-size:.75rem;color:var(--color-error);cursor:pointer;padding:.2rem .4rem;border-radius:4px}.user-profile__overrides-delete[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-error) 12%,transparent)}.user-profile__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;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-primary, #007aff);font-family:inherit}.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:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.user-profile__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);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-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #6e6e73);border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06));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, #6e6e73);white-space:nowrap}.user-profile__value[_ngcontent-%COMP%]{font-size:.9375rem;color:var(--color-text, #1d1d1f);word-break:break-word;white-space:pre-wrap}.user-profile__value--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.875rem}.user-profile__input[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease;resize:none}.user-profile__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.user-profile__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.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-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.user-profile__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.user-profile__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.user-profile__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.user-profile__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{H as UserProfileComponent};
@@ -1 +1 @@
1
- import{a as E}from"./chunk-ID64B57M.js";import{b as w,d as M}from"./chunk-4GVABYH4.js";import{p as k}from"./chunk-VDRETD5H.js";import{a as I}from"./chunk-V363EHJE.js";import{Db as d,Jb as y,Ka as m,Kb as v,Lb as C,Ma as _,S as f,Tb as l,Tc as x,Wa as b,ca as n,ma as g,rb as p,sb as a,t as h,ta as c,tb as i}from"./chunk-B4RKRLIY.js";var H=["composerInput"],P=class u{http=n(x);router=n(M);route=n(w);config=n(E);destroyRef=n(g);composerInput;namespaceId=this.route.snapshot.params.namespaceId;inputValue=c("");isCreating=c(!1);constructor(){_(()=>{this.composerInput?.nativeElement.focus()})}get canSend(){return!!this.inputValue().trim()&&!this.isCreating()}onInput(t){this.inputValue.set(t.target.value)}onKeydown(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this.submit())}submit(){if(!this.canSend)return;let t=this.inputValue().trim();this.inputValue.set(""),this.isCreating.set(!0),this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).pipe(f(e=>this.http.post(`${this.config.basePath}/api/cases/${e.id}/messages`,{content:t,userId:"default-user"}).pipe(h(()=>e))),I(this.destroyRef)).subscribe({next:e=>{this.router.navigate([e.id??""],{relativeTo:this.route})},error:e=>{console.error("[CaseHome] Failed to create case or send first message",e),this.isCreating.set(!1),this.inputValue.set(t)}})}static \u0275fac=function(e){return new(e||u)};static \u0275cmp=b({type:u,selectors:[["agentos-case-home"]],viewQuery:function(e,o){if(e&1&&y(H,5),e&2){let r;v(r=C())&&(o.composerInput=r.first)}},decls:11,vars:3,consts:[["composerInput",""],[1,"case-home"],[1,"case-home__hero"],[1,"case-home__headline"],[1,"case-home__composer"],["placeholder","Describe your task or ask a question\u2026","rows","4",1,"case-home__input",3,"input","keydown","value","disabled"],[1,"case-home__composer-footer"],[1,"case-home__hint"],["icon","send","variant","primary","title","Start case (Enter)",3,"action","disabled"]],template:function(e,o){e&1&&(a(0,"div",1)(1,"div",2)(2,"h1",3),l(3,"What can I help you with?"),i(),a(4,"div",4)(5,"textarea",5,0),d("input",function(s){return o.onInput(s)})("keydown",function(s){return o.onKeydown(s)}),i(),a(7,"div",6)(8,"span",7),l(9,"Enter to send\xA0\xA0\xB7\xA0\xA0Shift+Enter for new line"),i(),a(10,"ds-icon-button",8),d("action",function(){return o.submit()}),i()()()()()),e&2&&(m(5),p("value",o.inputValue())("disabled",o.isCreating()),m(5),p("disabled",!o.canSend))},dependencies:[k],styles:[".case-home[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center}.case-home__hero[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 1.5rem 4rem;max-width:680px;width:100%}.case-home__headline[_ngcontent-%COMP%]{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:var(--color-text, #1d1d1f);text-align:center}.case-home__composer[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:16px;box-shadow:0 4px 24px #00000012;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.case-home__composer[_ngcontent-%COMP%]:focus-within{box-shadow:0 4px 32px #007aff26;border-color:var(--color-primary, #007aff)}.case-home__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:1rem 1.25rem .5rem;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:1rem;font-family:inherit;line-height:1.6;outline:none;box-sizing:border-box}.case-home__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-home__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-home__composer-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .5rem .5rem 1.25rem}.case-home__hint[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};export{P as a};
1
+ import{a as E}from"./chunk-4OIHXCET.js";import{b as w,d as M}from"./chunk-4GVABYH4.js";import{p as k}from"./chunk-VDRETD5H.js";import{a as I}from"./chunk-V363EHJE.js";import{Db as d,Jb as y,Ka as m,Kb as v,Lb as C,Ma as _,S as f,Tb as l,Tc as x,Wa as b,ca as n,ma as g,rb as p,sb as a,t as h,ta as c,tb as i}from"./chunk-B4RKRLIY.js";var H=["composerInput"],P=class u{http=n(x);router=n(M);route=n(w);config=n(E);destroyRef=n(g);composerInput;namespaceId=this.route.snapshot.params.namespaceId;inputValue=c("");isCreating=c(!1);constructor(){_(()=>{this.composerInput?.nativeElement.focus()})}get canSend(){return!!this.inputValue().trim()&&!this.isCreating()}onInput(t){this.inputValue.set(t.target.value)}onKeydown(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this.submit())}submit(){if(!this.canSend)return;let t=this.inputValue().trim();this.inputValue.set(""),this.isCreating.set(!0),this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).pipe(f(e=>this.http.post(`${this.config.basePath}/api/cases/${e.id}/messages`,{content:t,userId:"default-user"}).pipe(h(()=>e))),I(this.destroyRef)).subscribe({next:e=>{this.router.navigate([e.id??""],{relativeTo:this.route})},error:e=>{console.error("[CaseHome] Failed to create case or send first message",e),this.isCreating.set(!1),this.inputValue.set(t)}})}static \u0275fac=function(e){return new(e||u)};static \u0275cmp=b({type:u,selectors:[["agentos-case-home"]],viewQuery:function(e,o){if(e&1&&y(H,5),e&2){let r;v(r=C())&&(o.composerInput=r.first)}},decls:11,vars:3,consts:[["composerInput",""],[1,"case-home"],[1,"case-home__hero"],[1,"case-home__headline"],[1,"case-home__composer"],["placeholder","Describe your task or ask a question\u2026","rows","4",1,"case-home__input",3,"input","keydown","value","disabled"],[1,"case-home__composer-footer"],[1,"case-home__hint"],["icon","send","variant","primary","title","Start case (Enter)",3,"action","disabled"]],template:function(e,o){e&1&&(a(0,"div",1)(1,"div",2)(2,"h1",3),l(3,"What can I help you with?"),i(),a(4,"div",4)(5,"textarea",5,0),d("input",function(s){return o.onInput(s)})("keydown",function(s){return o.onKeydown(s)}),i(),a(7,"div",6)(8,"span",7),l(9,"Enter to send\xA0\xA0\xB7\xA0\xA0Shift+Enter for new line"),i(),a(10,"ds-icon-button",8),d("action",function(){return o.submit()}),i()()()()()),e&2&&(m(5),p("value",o.inputValue())("disabled",o.isCreating()),m(5),p("disabled",!o.canSend))},dependencies:[k],styles:[".case-home[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center}.case-home__hero[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem 1.5rem 4rem;max-width:680px;width:100%}.case-home__headline[_ngcontent-%COMP%]{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:var(--color-text, #1d1d1f);text-align:center}.case-home__composer[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column;background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:16px;box-shadow:0 4px 24px #00000012;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.case-home__composer[_ngcontent-%COMP%]:focus-within{box-shadow:0 4px 32px #007aff26;border-color:var(--color-primary, #007aff)}.case-home__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:1rem 1.25rem .5rem;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:1rem;font-family:inherit;line-height:1.6;outline:none;box-sizing:border-box}.case-home__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-home__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-home__composer-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.5rem .5rem .5rem 1.25rem}.case-home__hint[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};export{P as a};
@@ -1 +1 @@
1
- import{a as F}from"./chunk-A7XWJPWY.js";import{a as U}from"./chunk-AIC4U2MU.js";import{a as j}from"./chunk-O6R7UCP5.js";import"./chunk-T3IUNA6F.js";import"./chunk-MQ5FOOLD.js";import"./chunk-ID64B57M.js";import{b as G,d as z}from"./chunk-4GVABYH4.js";import{p as w,u as K}from"./chunk-VDRETD5H.js";import"./chunk-BUA6GPP7.js";import{a as y}from"./chunk-V363EHJE.js";import"./chunk-Z7E7NSDY.js";import"./chunk-ZEMOOOQR.js";import"./chunk-HZF57OLY.js";import"./chunk-EF2BOSEH.js";import{Bb as _,Db as d,Fb as s,Hc as B,Ka as g,Pb as P,S as M,Tb as p,Ub as b,Vb as T,Wa as I,ab as A,ac as N,ca as m,dc as V,ec as k,ga as c,ha as l,hc as L,jb as q,kc as $,lb as u,m as D,ma as E,mb as C,nc as h,oc as x,rb as O,sb as r,t as R,ta as v,tb as a}from"./chunk-B4RKRLIY.js";function Q(o,t){if(o&1){let e=_();r(0,"span",7),p(1,"Delete?"),a(),r(2,"ds-icon-button",8),d("action",function(){c(e);let i=s();return l(i.onDeleteConfirmed())}),a(),r(3,"ds-icon-button",9),d("action",function(){c(e);let i=s();return l(i.onDeleteCancelled())}),a()}}function Z(o,t){if(o&1){let e=_();r(0,"ds-icon-button",11),d("action",function(){c(e);let i=s(2);return l(i.onEdit())}),a(),r(1,"ds-icon-button",12),d("action",function(){c(e);let i=s(2);return l(i.onDeleteArmed())}),a()}}function ee(o,t){if(o&1){let e=_();r(0,"ds-icon-button",10),d("action",function(){c(e);let i=s();return l(i.onDuplicate())}),a(),u(1,Z,2,0)}if(o&2){let e=s();g(),C(e.readOnly()?-1:1)}}var te=Object.freeze({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"}}),S=class o{config=x.required();scope=x.required();readOnly=x(!1);editRequested=h();deleteRequested=h();duplicateRequested=h();pendingDelete=v(!1);badge=$(()=>te[this.scope()]);onEdit(){this.editRequested.emit(this.config())}onDuplicate(){this.duplicateRequested.emit(this.config())}onDeleteArmed(){this.pendingDelete.set(!0)}onDeleteConfirmed(){this.pendingDelete.set(!1),this.deleteRequested.emit(this.config())}onDeleteCancelled(){this.pendingDelete.set(!1)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=I({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",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,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),p(4),a(),r(5,"span",4),p(6),a()(),r(7,"span",5),p(8),a()(),r(9,"div",6),u(10,Q,4,0)(11,ee,2,1),a()()),e&2&&(g(4),b(n.config().name),g(),q("data-variant",n.badge().variant)("aria-label",n.badge().ariaLabel),g(),T(" ",n.badge().label," "),g(2),b(n.config().integrationType),g(2),C(n.pendingDelete()?10:11))},dependencies:[w],styles:[".integration-config-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-backdrop-blur);backdrop-filter:var(--glass-backdrop-blur);transition:background .15s ease,border-color .15s ease}.integration-config-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.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:.95rem;font-weight:500;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-size:.65rem;font-weight:600;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px;border:1px solid transparent;text-transform:uppercase;white-space:nowrap}.integration-config-item__badge[data-variant=neutral][_ngcontent-%COMP%]{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-color:var(--color-border)}.integration-config-item__badge[data-variant=info][_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-info) 12%,transparent);color:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 30%,transparent)}.integration-config-item__badge[data-variant=warning][_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 30%,transparent)}.integration-config-item__type[_ngcontent-%COMP%]{font-size:.78rem;color:var(--color-text-secondary);font-family:monospace;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-size:.8rem;font-weight:500;color:var(--color-error);margin-right:.25rem;white-space:nowrap}"],changeDetection:0})};var ne=()=>[];function ie(o,t){if(o&1&&(r(0,"p",3),p(1),a()),o&2){let e=s().$implicit;g(),b(e.name)}}function oe(o,t){if(o&1){let e=_();r(0,"agentos-integration-config-item",5),d("editRequested",function(){let i=c(e),f=s(2);return l(f.onEdit(i))})("deleteRequested",function(){let i=c(e),f=s(2);return l(f.onDelete(i))})("duplicateRequested",function(){let i=c(e),f=s(2);return l(f.onDuplicate(i))}),a()}if(o&2){let e=t,n=s(2);O("config",e.config)("scope",e.scope)("readOnly",e.scope==="namespace"&&!n.isAdmin())}}function re(o,t){if(o&1&&u(0,ie,2,1,"p",3)(1,oe,1,3,"agentos-integration-config-item",4),o&2){let e,n=t.$implicit,i=s();C(i.isEmptyPlaceholder(n.id)?0:(e=i.resolve(n.id))?1:-1,e)}}var W=Object.freeze({namespace:"Configurations du namespace",userOnNs:"Mes overrides sur ce namespace",userGlobal:"Mes overrides globaux"}),X="__empty__",Y=class o{route=m(G);router=m(z);destroyRef=m(E);state=m(F);namespaceRole=m(j);namespaceId=this.route.snapshot.params.namespaceId;isAdmin=v(!1);listItems$=this.state.vm$.pipe(R(t=>this.toListItems(t)));resolved=new Map;ngOnInit(){this.route.paramMap.pipe(y(this.destroyRef)).subscribe(t=>{let e=t.get("namespaceId")??"";e&&e!==this.namespaceId&&(this.namespaceId=e),this.state.setNamespace(e)}),this.route.paramMap.pipe(R(t=>t.get("namespaceId")??""),M(t=>t?this.namespaceRole.isAdminOfNamespace$(t):D(!1)),y(this.destroyRef)).subscribe(t=>this.isAdmin.set(t)),this.state.vm$.pipe(y(this.destroyRef)).subscribe(t=>{let e=new Map;t.namespace.forEach(n=>{n.id&&e.set(this.itemKey("namespace",n.id),{config:n,scope:"namespace"})}),t.userOnNs.forEach(n=>{n.id&&e.set(this.itemKey("userOnNs",n.id),{config:n,scope:"userOnNs"})}),t.userGlobal.forEach(n=>{n.id&&e.set(this.itemKey("userGlobal",n.id),{config:n,scope:"userGlobal"})}),this.resolved=e})}isEmptyPlaceholder(t){return t.startsWith(X)}resolve(t){return this.resolved.get(t)??null}itemKey(t,e){return`${t}:${e}`}goBack(){this.router.navigate(["/agentos","namespaces"])}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"integrations","new"],{queryParams:{scope:U(this.isAdmin())}})}onEdit(t){let e=t.config.id??"";this.router.navigate(["/agentos",this.namespaceId,"integrations",e,"edit"],{queryParams:{scope:t.scope}})}onDelete(t){let e=t.config.id;e&&this.state.delete(e,t.scope).pipe(y(this.destroyRef)).subscribe({error:n=>{console.error(`[IntegrationsAllScopes] Delete failed for ${t.scope}:${e}:`,n)}})}onDuplicate(t){if(!t.config.id)return;let e=t.scope==="namespace"&&!this.isAdmin()?"userOnNs":t.scope;this.router.navigate(["/agentos",this.namespaceId,"integrations","new"],{queryParams:{scope:e,template:t.config.id,templateScope:t.scope}})}toListItems(t){let e=[];return e.push(...this.sectionItems("namespace",t.namespace)),e.push(...this.sectionItems("userOnNs",t.userOnNs)),e.push(...this.sectionItems("userGlobal",t.userGlobal)),e}sectionItems(t,e){return e.length===0?[{id:`${X}${t}`,name:"Aucune configuration",groupKey:t,groupLabel:W[t]}]:e.filter(n=>!!n.id).map(n=>({id:this.itemKey(t,n.id),name:n.name,description:n.integrationType,groupKey:t,groupLabel:W[t]}))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=I({type:o,selectors:[["agentos-integrations-all-scopes"]],decls:5,vars:6,consts:[["integrationItemTpl",""],["title","Integrations","emptyMessage","No integrations available.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[1,"integrations-all-scopes__empty"],[3,"config","scope","readOnly"],[3,"editRequested","deleteRequested","duplicateRequested","config","scope","readOnly"]],template:function(e,n){if(e&1&&(r(0,"ds-entity-list",1),V(1,"async"),d("createRequested",function(){return n.openCreateForm()}),r(2,"ds-icon-button",2),d("action",function(){return n.goBack()}),a()(),A(3,re,2,1,"ng-template",null,0,L)),e&2){let i=P(4);O("items",k(1,3,n.listItems$)??N(5,ne))("showCreate",!0)("itemTemplate",i)}},dependencies:[K,S,w,B],styles:[".integrations-all-scopes__empty[_ngcontent-%COMP%]{margin:0;padding:.65rem 1rem;font-size:.85rem;font-style:italic;color:var(--color-text-secondary)}"],changeDetection:0})};export{Y as IntegrationsAllScopesComponent};
1
+ import{a as F}from"./chunk-EH6JCC5E.js";import{a as U}from"./chunk-AIC4U2MU.js";import{a as j}from"./chunk-KSFXR4QE.js";import"./chunk-T3IUNA6F.js";import"./chunk-JYJUTZMA.js";import"./chunk-4OIHXCET.js";import{b as G,d as z}from"./chunk-4GVABYH4.js";import{p as w,u as K}from"./chunk-VDRETD5H.js";import"./chunk-BUA6GPP7.js";import{a as y}from"./chunk-V363EHJE.js";import"./chunk-Z7E7NSDY.js";import"./chunk-ZEMOOOQR.js";import"./chunk-HZF57OLY.js";import"./chunk-EF2BOSEH.js";import{Bb as _,Db as d,Fb as s,Hc as B,Ka as g,Pb as P,S as M,Tb as p,Ub as b,Vb as T,Wa as I,ab as A,ac as N,ca as m,dc as V,ec as k,ga as c,ha as l,hc as L,jb as q,kc as $,lb as u,m as D,ma as E,mb as C,nc as h,oc as x,rb as O,sb as r,t as R,ta as v,tb as a}from"./chunk-B4RKRLIY.js";function Q(o,t){if(o&1){let e=_();r(0,"span",7),p(1,"Delete?"),a(),r(2,"ds-icon-button",8),d("action",function(){c(e);let i=s();return l(i.onDeleteConfirmed())}),a(),r(3,"ds-icon-button",9),d("action",function(){c(e);let i=s();return l(i.onDeleteCancelled())}),a()}}function Z(o,t){if(o&1){let e=_();r(0,"ds-icon-button",11),d("action",function(){c(e);let i=s(2);return l(i.onEdit())}),a(),r(1,"ds-icon-button",12),d("action",function(){c(e);let i=s(2);return l(i.onDeleteArmed())}),a()}}function ee(o,t){if(o&1){let e=_();r(0,"ds-icon-button",10),d("action",function(){c(e);let i=s();return l(i.onDuplicate())}),a(),u(1,Z,2,0)}if(o&2){let e=s();g(),C(e.readOnly()?-1:1)}}var te=Object.freeze({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"}}),S=class o{config=x.required();scope=x.required();readOnly=x(!1);editRequested=h();deleteRequested=h();duplicateRequested=h();pendingDelete=v(!1);badge=$(()=>te[this.scope()]);onEdit(){this.editRequested.emit(this.config())}onDuplicate(){this.duplicateRequested.emit(this.config())}onDeleteArmed(){this.pendingDelete.set(!0)}onDeleteConfirmed(){this.pendingDelete.set(!1),this.deleteRequested.emit(this.config())}onDeleteCancelled(){this.pendingDelete.set(!1)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=I({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",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,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),p(4),a(),r(5,"span",4),p(6),a()(),r(7,"span",5),p(8),a()(),r(9,"div",6),u(10,Q,4,0)(11,ee,2,1),a()()),e&2&&(g(4),b(n.config().name),g(),q("data-variant",n.badge().variant)("aria-label",n.badge().ariaLabel),g(),T(" ",n.badge().label," "),g(2),b(n.config().integrationType),g(2),C(n.pendingDelete()?10:11))},dependencies:[w],styles:[".integration-config-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-backdrop-blur);backdrop-filter:var(--glass-backdrop-blur);transition:background .15s ease,border-color .15s ease}.integration-config-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.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:.95rem;font-weight:500;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-size:.65rem;font-weight:600;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px;border:1px solid transparent;text-transform:uppercase;white-space:nowrap}.integration-config-item__badge[data-variant=neutral][_ngcontent-%COMP%]{background:var(--color-bg-secondary);color:var(--color-text-secondary);border-color:var(--color-border)}.integration-config-item__badge[data-variant=info][_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-info) 12%,transparent);color:var(--color-info);border-color:color-mix(in srgb,var(--color-info) 30%,transparent)}.integration-config-item__badge[data-variant=warning][_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 30%,transparent)}.integration-config-item__type[_ngcontent-%COMP%]{font-size:.78rem;color:var(--color-text-secondary);font-family:monospace;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-size:.8rem;font-weight:500;color:var(--color-error);margin-right:.25rem;white-space:nowrap}"],changeDetection:0})};var ne=()=>[];function ie(o,t){if(o&1&&(r(0,"p",3),p(1),a()),o&2){let e=s().$implicit;g(),b(e.name)}}function oe(o,t){if(o&1){let e=_();r(0,"agentos-integration-config-item",5),d("editRequested",function(){let i=c(e),f=s(2);return l(f.onEdit(i))})("deleteRequested",function(){let i=c(e),f=s(2);return l(f.onDelete(i))})("duplicateRequested",function(){let i=c(e),f=s(2);return l(f.onDuplicate(i))}),a()}if(o&2){let e=t,n=s(2);O("config",e.config)("scope",e.scope)("readOnly",e.scope==="namespace"&&!n.isAdmin())}}function re(o,t){if(o&1&&u(0,ie,2,1,"p",3)(1,oe,1,3,"agentos-integration-config-item",4),o&2){let e,n=t.$implicit,i=s();C(i.isEmptyPlaceholder(n.id)?0:(e=i.resolve(n.id))?1:-1,e)}}var W=Object.freeze({namespace:"Configurations du namespace",userOnNs:"Mes overrides sur ce namespace",userGlobal:"Mes overrides globaux"}),X="__empty__",Y=class o{route=m(G);router=m(z);destroyRef=m(E);state=m(F);namespaceRole=m(j);namespaceId=this.route.snapshot.params.namespaceId;isAdmin=v(!1);listItems$=this.state.vm$.pipe(R(t=>this.toListItems(t)));resolved=new Map;ngOnInit(){this.route.paramMap.pipe(y(this.destroyRef)).subscribe(t=>{let e=t.get("namespaceId")??"";e&&e!==this.namespaceId&&(this.namespaceId=e),this.state.setNamespace(e)}),this.route.paramMap.pipe(R(t=>t.get("namespaceId")??""),M(t=>t?this.namespaceRole.isAdminOfNamespace$(t):D(!1)),y(this.destroyRef)).subscribe(t=>this.isAdmin.set(t)),this.state.vm$.pipe(y(this.destroyRef)).subscribe(t=>{let e=new Map;t.namespace.forEach(n=>{n.id&&e.set(this.itemKey("namespace",n.id),{config:n,scope:"namespace"})}),t.userOnNs.forEach(n=>{n.id&&e.set(this.itemKey("userOnNs",n.id),{config:n,scope:"userOnNs"})}),t.userGlobal.forEach(n=>{n.id&&e.set(this.itemKey("userGlobal",n.id),{config:n,scope:"userGlobal"})}),this.resolved=e})}isEmptyPlaceholder(t){return t.startsWith(X)}resolve(t){return this.resolved.get(t)??null}itemKey(t,e){return`${t}:${e}`}goBack(){this.router.navigate(["/agentos","namespaces"])}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"integrations","new"],{queryParams:{scope:U(this.isAdmin())}})}onEdit(t){let e=t.config.id??"";this.router.navigate(["/agentos",this.namespaceId,"integrations",e,"edit"],{queryParams:{scope:t.scope}})}onDelete(t){let e=t.config.id;e&&this.state.delete(e,t.scope).pipe(y(this.destroyRef)).subscribe({error:n=>{console.error(`[IntegrationsAllScopes] Delete failed for ${t.scope}:${e}:`,n)}})}onDuplicate(t){if(!t.config.id)return;let e=t.scope==="namespace"&&!this.isAdmin()?"userOnNs":t.scope;this.router.navigate(["/agentos",this.namespaceId,"integrations","new"],{queryParams:{scope:e,template:t.config.id,templateScope:t.scope}})}toListItems(t){let e=[];return e.push(...this.sectionItems("namespace",t.namespace)),e.push(...this.sectionItems("userOnNs",t.userOnNs)),e.push(...this.sectionItems("userGlobal",t.userGlobal)),e}sectionItems(t,e){return e.length===0?[{id:`${X}${t}`,name:"Aucune configuration",groupKey:t,groupLabel:W[t]}]:e.filter(n=>!!n.id).map(n=>({id:this.itemKey(t,n.id),name:n.name,description:n.integrationType,groupKey:t,groupLabel:W[t]}))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=I({type:o,selectors:[["agentos-integrations-all-scopes"]],decls:5,vars:6,consts:[["integrationItemTpl",""],["title","Integrations","emptyMessage","No integrations available.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[1,"integrations-all-scopes__empty"],[3,"config","scope","readOnly"],[3,"editRequested","deleteRequested","duplicateRequested","config","scope","readOnly"]],template:function(e,n){if(e&1&&(r(0,"ds-entity-list",1),V(1,"async"),d("createRequested",function(){return n.openCreateForm()}),r(2,"ds-icon-button",2),d("action",function(){return n.goBack()}),a()(),A(3,re,2,1,"ng-template",null,0,L)),e&2){let i=P(4);O("items",k(1,3,n.listItems$)??N(5,ne))("showCreate",!0)("itemTemplate",i)}},dependencies:[K,S,w,B],styles:[".integrations-all-scopes__empty[_ngcontent-%COMP%]{margin:0;padding:.65rem 1rem;font-size:.85rem;font-style:italic;color:var(--color-text-secondary)}"],changeDetection:0})};export{Y as IntegrationsAllScopesComponent};
@@ -1 +1 @@
1
- import{c as z,d as B}from"./chunk-ID64B57M.js";import{b as D,d as L}from"./chunk-4GVABYH4.js";import{a as h,c as ee}from"./chunk-V363EHJE.js";import{A as X,B as Y,F as Z,c as R,e as g,g as G,h as $,i as q,l as s,n as j,o as U,s as H,w as J,x as K,y as Q,z as W}from"./chunk-HZF57OLY.js";import{Bb as w,D as k,Db as _,Fb as p,Ka as a,Tb as r,Ub as N,Vb as V,Wa as A,Wb as T,a as x,b as M,ca as c,ga as v,ha as b,kb as E,kc as F,lb as C,m as P,ma as S,mb as y,pb as O,qb as I,rb as l,sb as i,ta as u,tb as o,ub as m}from"./chunk-B4RKRLIY.js";function te(n,t){n&1&&(i(0,"p",5),r(1,"Loading\u2026"),o())}function ie(n,t){if(n&1&&m(0,"input",11),n&2){let e=p(2);l("value",e.selectedProviderLabel())}}function re(n,t){if(n&1&&(i(0,"option",30),r(1),o()),n&2){let e=t.$implicit;l("value",e.id),a(),T("",e.name," (",e.apiType,")")}}function ne(n,t){if(n&1&&(i(0,"select",12)(1,"option",29),r(2,"Select provider"),o(),O(3,re,2,3,"option",30,E().trackByProvider,!0),o()),n&2){let e=p(2);l("formControl",e.aiProviderIdControl),a(3),I(e.providers())}}function ae(n,t){if(n&1){let e=w();i(0,"form",7),_("ngSubmit",function(){v(e);let f=p();return b(f.submit())}),i(1,"div",8)(2,"label",9),r(3," Provider "),i(4,"span",10),r(5,"*"),o()(),C(6,ie,1,1,"input",11)(7,ne,5,1,"select",12),o(),i(8,"div",8)(9,"label",13),r(10," API name "),i(11,"span",10),r(12,"*"),o()(),m(13,"input",14),o(),i(14,"div",8)(15,"label",15),r(16,"Description"),o(),m(17,"input",16),o(),i(18,"div",8)(19,"label",17),r(20,"Alias"),o(),m(21,"input",18),o(),i(22,"div",8)(23,"label",19),r(24,"Priority"),o(),m(25,"input",20),o(),i(26,"div",21)(27,"div",8)(28,"label",22),r(29,"Temperature"),o(),m(30,"input",23),o(),i(31,"div",8)(32,"label",24),r(33,"Max tokens"),o(),m(34,"input",25),o()(),i(35,"div",26)(36,"button",27),r(37),o(),i(38,"button",28),_("click",function(){v(e);let f=p();return b(f.cancel())}),r(39,"Cancel"),o()()()}if(n&2){let e=p();l("formGroup",e.form),a(6),y(e.isEditMode()?6:7),a(7),l("formControl",e.apiModelNameControl),a(4),l("formControl",e.descriptionControl),a(4),l("formControl",e.aliasControl),a(4),l("formControl",e.priorityControl),a(5),l("formControl",e.temperatureControl),a(4),l("formControl",e.maxTokensControl),a(2),l("disabled",e.form.invalid||e.isSubmitting()),a(),V(" ",e.isEditMode()?"Save changes":"Create"," ")}}var oe=class n{route=c(D);router=c(L);destroyRef=c(S);aiModelController=c(z);aiProviderController=c(B);namespaceId=this.route.snapshot.params.namespaceId;providers=ee(this.aiProviderController.listAiProvider(this.namespaceId).pipe(k(()=>P([]))),{initialValue:[]});form=new q({aiProviderId:new s("",{nonNullable:!0,validators:[g.required]}),apiModelName:new s("",{nonNullable:!0,validators:[g.required,g.minLength(1)]}),description:new s(null),alias:new s("",{nonNullable:!0}),priority:new s(0,{nonNullable:!0}),temperature:new s(null),maxTokens:new s(null)});get aiProviderIdControl(){return this.form.controls.aiProviderId}get apiModelNameControl(){return this.form.controls.apiModelName}get descriptionControl(){return this.form.controls.description}get aliasControl(){return this.form.controls.alias}get priorityControl(){return this.form.controls.priority}get temperatureControl(){return this.form.controls.temperature}get maxTokensControl(){return this.form.controls.maxTokens}isEditMode=u(!1);isSubmitting=u(!1);isLoading=u(!1);selectedProviderLabel=F(()=>{let t=this.aiProviderIdControl.value,e=this.providers().find(d=>d.id===t);return e?`${e.name} (${e.apiType})`:t});existingModel=null;ngOnInit(){let t=this.route.snapshot.paramMap.get("modelId");t&&(this.isEditMode.set(!0),this.loadModel(t))}loadModel(t){this.isLoading.set(!0),this.aiModelController.getByIdAiModel(t).pipe(h(this.destroyRef)).subscribe({next:e=>{this.existingModel=e,this.aiProviderIdControl.setValue(e.aiProviderId),this.aiProviderIdControl.disable(),this.apiModelNameControl.setValue(e.apiModelName),this.descriptionControl.setValue(e.description??null),this.aliasControl.setValue(e.alias??""),this.priorityControl.setValue(e.priority??0),this.temperatureControl.setValue(e.temperature??null),this.maxTokensControl.setValue(e.maxTokens??null),this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1),this.navigateBack()}})}submit(){if(this.form.invalid||this.isSubmitting())return;this.isSubmitting.set(!0);let t=this.form.getRawValue(),e=M(x({},this.existingModel??{}),{aiProviderId:t.aiProviderId,apiModelName:t.apiModelName.trim(),description:t.description?.trim()||void 0,alias:t.alias.trim()||void 0,priority:t.priority,temperature:t.temperature??void 0,maxTokens:t.maxTokens??void 0});(this.isEditMode()?this.aiModelController.updateAiModel(this.existingModel.id??"",e):this.aiModelController.createAiModel(e)).pipe(h(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(!1)})}cancel(){this.navigateBack()}navigateBack(){this.router.navigate(["/agentos",this.namespaceId,"ai-models"])}trackByProvider(t,e){return e.id??""}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["agentos-ai-model-form"]],decls:10,vars:2,consts:[[1,"ai-model-form"],[1,"ai-model-form__header"],["type","button","title","Back to AI models",1,"ai-model-form__back",3,"click"],[1,"ai-model-form__back-icon"],[1,"ai-model-form__title"],[1,"ai-model-form__loading"],[1,"ai-model-form__form",3,"formGroup"],[1,"ai-model-form__form",3,"ngSubmit","formGroup"],[1,"ai-model-form__field"],["for","model-provider",1,"ai-model-form__label"],["aria-hidden","true"],["id","model-provider","type","text","readonly","","tabindex","-1",1,"ai-model-form__input","ai-model-form__input--readonly",3,"value"],["id","model-provider",1,"ai-model-form__select",3,"formControl"],["for","model-api-name",1,"ai-model-form__label"],["id","model-api-name","type","text","placeholder","e.g. gpt-4o, claude-3-5-sonnet-20241022","autocomplete","off",1,"ai-model-form__input","ai-model-form__input--mono",3,"formControl"],["for","model-description",1,"ai-model-form__label"],["id","model-description","type","text","placeholder","Optional \u2014 short description of this model config","autocomplete","off",1,"ai-model-form__input",3,"formControl"],["for","model-alias",1,"ai-model-form__label"],["id","model-alias","type","text","placeholder","e.g. fast, smart \u2014 short identifier used internally","autocomplete","off",1,"ai-model-form__input",3,"formControl"],["for","model-priority",1,"ai-model-form__label"],["id","model-priority","type","number","placeholder","0 \u2014 higher wins when multiple configs share the same alias","min","0","step","1",1,"ai-model-form__input",3,"formControl"],[1,"ai-model-form__row"],["for","model-temperature",1,"ai-model-form__label"],["id","model-temperature","type","number","placeholder","0 \u2013 2","min","0","max","2","step","0.1",1,"ai-model-form__input",3,"formControl"],["for","model-max-tokens",1,"ai-model-form__label"],["id","model-max-tokens","type","number","placeholder","e.g. 4096","min","1","step","1",1,"ai-model-form__input",3,"formControl"],[1,"ai-model-form__actions"],["type","submit",1,"ai-model-form__btn","ai-model-form__btn--primary",3,"disabled"],["type","button",1,"ai-model-form__btn",3,"click"],["value","","disabled",""],[3,"value"]],template:function(e,d){e&1&&(i(0,"div",0)(1,"header",1)(2,"button",2),_("click",function(){return d.cancel()}),i(3,"span",3),r(4,"\u2190"),o(),r(5," AI models "),o(),i(6,"h1",4),r(7),o()(),C(8,te,2,0,"p",5)(9,ae,40,10,"form",6),o()),e&2&&(a(7),N(d.isEditMode()?"Edit AI model":"New AI model"),a(),y(d.isLoading()?8:9))},dependencies:[Z,j,Q,W,R,U,K,G,$,Y,X,H,J],styles:[".ai-model-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:480px;margin:0 auto;padding:2rem 1rem}.ai-model-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.ai-model-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-primary, #007aff);font-family:inherit}.ai-model-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.ai-model-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.ai-model-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.ai-model-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.ai-model-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.ai-model-form__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ai-model-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.ai-model-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text, #1d1d1f)}.ai-model-form__input[_ngcontent-%COMP%], .ai-model-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.ai-model-form__input[_ngcontent-%COMP%]:focus, .ai-model-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.ai-model-form__input[_ngcontent-%COMP%]::placeholder, .ai-model-form__select[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.ai-model-form__input--mono[_ngcontent-%COMP%]{font-family:monospace}.ai-model-form__input--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);cursor:default;background:var(--color-surface-muted, rgba(0, 0, 0, .03))}.ai-model-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.ai-model-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ai-model-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.ai-model-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.ai-model-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.ai-model-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{oe as AiModelFormComponent};
1
+ import{c as z,d as B}from"./chunk-4OIHXCET.js";import{b as D,d as L}from"./chunk-4GVABYH4.js";import{a as h,c as ee}from"./chunk-V363EHJE.js";import{A as X,B as Y,F as Z,c as R,e as g,g as G,h as $,i as q,l as s,n as j,o as U,s as H,w as J,x as K,y as Q,z as W}from"./chunk-HZF57OLY.js";import{Bb as w,D as k,Db as _,Fb as p,Ka as a,Tb as r,Ub as N,Vb as V,Wa as A,Wb as T,a as x,b as M,ca as c,ga as v,ha as b,kb as E,kc as F,lb as C,m as P,ma as S,mb as y,pb as O,qb as I,rb as l,sb as i,ta as u,tb as o,ub as m}from"./chunk-B4RKRLIY.js";function te(n,t){n&1&&(i(0,"p",5),r(1,"Loading\u2026"),o())}function ie(n,t){if(n&1&&m(0,"input",11),n&2){let e=p(2);l("value",e.selectedProviderLabel())}}function re(n,t){if(n&1&&(i(0,"option",30),r(1),o()),n&2){let e=t.$implicit;l("value",e.id),a(),T("",e.name," (",e.apiType,")")}}function ne(n,t){if(n&1&&(i(0,"select",12)(1,"option",29),r(2,"Select provider"),o(),O(3,re,2,3,"option",30,E().trackByProvider,!0),o()),n&2){let e=p(2);l("formControl",e.aiProviderIdControl),a(3),I(e.providers())}}function ae(n,t){if(n&1){let e=w();i(0,"form",7),_("ngSubmit",function(){v(e);let f=p();return b(f.submit())}),i(1,"div",8)(2,"label",9),r(3," Provider "),i(4,"span",10),r(5,"*"),o()(),C(6,ie,1,1,"input",11)(7,ne,5,1,"select",12),o(),i(8,"div",8)(9,"label",13),r(10," API name "),i(11,"span",10),r(12,"*"),o()(),m(13,"input",14),o(),i(14,"div",8)(15,"label",15),r(16,"Description"),o(),m(17,"input",16),o(),i(18,"div",8)(19,"label",17),r(20,"Alias"),o(),m(21,"input",18),o(),i(22,"div",8)(23,"label",19),r(24,"Priority"),o(),m(25,"input",20),o(),i(26,"div",21)(27,"div",8)(28,"label",22),r(29,"Temperature"),o(),m(30,"input",23),o(),i(31,"div",8)(32,"label",24),r(33,"Max tokens"),o(),m(34,"input",25),o()(),i(35,"div",26)(36,"button",27),r(37),o(),i(38,"button",28),_("click",function(){v(e);let f=p();return b(f.cancel())}),r(39,"Cancel"),o()()()}if(n&2){let e=p();l("formGroup",e.form),a(6),y(e.isEditMode()?6:7),a(7),l("formControl",e.apiModelNameControl),a(4),l("formControl",e.descriptionControl),a(4),l("formControl",e.aliasControl),a(4),l("formControl",e.priorityControl),a(5),l("formControl",e.temperatureControl),a(4),l("formControl",e.maxTokensControl),a(2),l("disabled",e.form.invalid||e.isSubmitting()),a(),V(" ",e.isEditMode()?"Save changes":"Create"," ")}}var oe=class n{route=c(D);router=c(L);destroyRef=c(S);aiModelController=c(z);aiProviderController=c(B);namespaceId=this.route.snapshot.params.namespaceId;providers=ee(this.aiProviderController.listAiProvider(this.namespaceId).pipe(k(()=>P([]))),{initialValue:[]});form=new q({aiProviderId:new s("",{nonNullable:!0,validators:[g.required]}),apiModelName:new s("",{nonNullable:!0,validators:[g.required,g.minLength(1)]}),description:new s(null),alias:new s("",{nonNullable:!0}),priority:new s(0,{nonNullable:!0}),temperature:new s(null),maxTokens:new s(null)});get aiProviderIdControl(){return this.form.controls.aiProviderId}get apiModelNameControl(){return this.form.controls.apiModelName}get descriptionControl(){return this.form.controls.description}get aliasControl(){return this.form.controls.alias}get priorityControl(){return this.form.controls.priority}get temperatureControl(){return this.form.controls.temperature}get maxTokensControl(){return this.form.controls.maxTokens}isEditMode=u(!1);isSubmitting=u(!1);isLoading=u(!1);selectedProviderLabel=F(()=>{let t=this.aiProviderIdControl.value,e=this.providers().find(d=>d.id===t);return e?`${e.name} (${e.apiType})`:t});existingModel=null;ngOnInit(){let t=this.route.snapshot.paramMap.get("modelId");t&&(this.isEditMode.set(!0),this.loadModel(t))}loadModel(t){this.isLoading.set(!0),this.aiModelController.getByIdAiModel(t).pipe(h(this.destroyRef)).subscribe({next:e=>{this.existingModel=e,this.aiProviderIdControl.setValue(e.aiProviderId),this.aiProviderIdControl.disable(),this.apiModelNameControl.setValue(e.apiModelName),this.descriptionControl.setValue(e.description??null),this.aliasControl.setValue(e.alias??""),this.priorityControl.setValue(e.priority??0),this.temperatureControl.setValue(e.temperature??null),this.maxTokensControl.setValue(e.maxTokens??null),this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1),this.navigateBack()}})}submit(){if(this.form.invalid||this.isSubmitting())return;this.isSubmitting.set(!0);let t=this.form.getRawValue(),e=M(x({},this.existingModel??{}),{aiProviderId:t.aiProviderId,apiModelName:t.apiModelName.trim(),description:t.description?.trim()||void 0,alias:t.alias.trim()||void 0,priority:t.priority,temperature:t.temperature??void 0,maxTokens:t.maxTokens??void 0});(this.isEditMode()?this.aiModelController.updateAiModel(this.existingModel.id??"",e):this.aiModelController.createAiModel(e)).pipe(h(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(!1)})}cancel(){this.navigateBack()}navigateBack(){this.router.navigate(["/agentos",this.namespaceId,"ai-models"])}trackByProvider(t,e){return e.id??""}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["agentos-ai-model-form"]],decls:10,vars:2,consts:[[1,"ai-model-form"],[1,"ai-model-form__header"],["type","button","title","Back to AI models",1,"ai-model-form__back",3,"click"],[1,"ai-model-form__back-icon"],[1,"ai-model-form__title"],[1,"ai-model-form__loading"],[1,"ai-model-form__form",3,"formGroup"],[1,"ai-model-form__form",3,"ngSubmit","formGroup"],[1,"ai-model-form__field"],["for","model-provider",1,"ai-model-form__label"],["aria-hidden","true"],["id","model-provider","type","text","readonly","","tabindex","-1",1,"ai-model-form__input","ai-model-form__input--readonly",3,"value"],["id","model-provider",1,"ai-model-form__select",3,"formControl"],["for","model-api-name",1,"ai-model-form__label"],["id","model-api-name","type","text","placeholder","e.g. gpt-4o, claude-3-5-sonnet-20241022","autocomplete","off",1,"ai-model-form__input","ai-model-form__input--mono",3,"formControl"],["for","model-description",1,"ai-model-form__label"],["id","model-description","type","text","placeholder","Optional \u2014 short description of this model config","autocomplete","off",1,"ai-model-form__input",3,"formControl"],["for","model-alias",1,"ai-model-form__label"],["id","model-alias","type","text","placeholder","e.g. fast, smart \u2014 short identifier used internally","autocomplete","off",1,"ai-model-form__input",3,"formControl"],["for","model-priority",1,"ai-model-form__label"],["id","model-priority","type","number","placeholder","0 \u2014 higher wins when multiple configs share the same alias","min","0","step","1",1,"ai-model-form__input",3,"formControl"],[1,"ai-model-form__row"],["for","model-temperature",1,"ai-model-form__label"],["id","model-temperature","type","number","placeholder","0 \u2013 2","min","0","max","2","step","0.1",1,"ai-model-form__input",3,"formControl"],["for","model-max-tokens",1,"ai-model-form__label"],["id","model-max-tokens","type","number","placeholder","e.g. 4096","min","1","step","1",1,"ai-model-form__input",3,"formControl"],[1,"ai-model-form__actions"],["type","submit",1,"ai-model-form__btn","ai-model-form__btn--primary",3,"disabled"],["type","button",1,"ai-model-form__btn",3,"click"],["value","","disabled",""],[3,"value"]],template:function(e,d){e&1&&(i(0,"div",0)(1,"header",1)(2,"button",2),_("click",function(){return d.cancel()}),i(3,"span",3),r(4,"\u2190"),o(),r(5," AI models "),o(),i(6,"h1",4),r(7),o()(),C(8,te,2,0,"p",5)(9,ae,40,10,"form",6),o()),e&2&&(a(7),N(d.isEditMode()?"Edit AI model":"New AI model"),a(),y(d.isLoading()?8:9))},dependencies:[Z,j,Q,W,R,U,K,G,$,Y,X,H,J],styles:[".ai-model-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:480px;margin:0 auto;padding:2rem 1rem}.ai-model-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.ai-model-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-primary, #007aff);font-family:inherit}.ai-model-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.ai-model-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.ai-model-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.ai-model-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.ai-model-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.ai-model-form__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ai-model-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.ai-model-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text, #1d1d1f)}.ai-model-form__input[_ngcontent-%COMP%], .ai-model-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.ai-model-form__input[_ngcontent-%COMP%]:focus, .ai-model-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.ai-model-form__input[_ngcontent-%COMP%]::placeholder, .ai-model-form__select[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.ai-model-form__input--mono[_ngcontent-%COMP%]{font-family:monospace}.ai-model-form__input--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);cursor:default;background:var(--color-surface-muted, rgba(0, 0, 0, .03))}.ai-model-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.ai-model-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ai-model-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.ai-model-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.ai-model-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.ai-model-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{oe as AiModelFormComponent};
@@ -21,5 +21,5 @@
21
21
  <style>:root{--color-bg:linear-gradient(135deg, #fafbfc 0%, #f5f6f8 100%);--color-bg-solid:#fafbfc;--color-bg-secondary:rgba(255, 255, 255, .7);--color-bg-secondary-rgb:255 255 255;--color-text:#1d1d1f;--color-text-secondary:#6e6e73;--color-text-inverse:#ffffff;--color-primary:#007aff;--color-primary-hover:#0051d5;--color-accent:#8b5cf6;--color-link:#007aff;--color-border:rgba(0, 0, 0, .1);--color-border-light:rgba(40, 40, 40, .08);--color-input-bg:rgba(255, 255, 255, .8);--color-success:#34c759;--color-error:#ff3b30;--color-warning:#ff9500;--color-info:#5ac8fa;--color-message-user:rgba(0, 122, 255, .1);--color-message-ai:rgba(255, 255, 255, .8);--color-code-bg:rgba(142, 142, 147, .12);--color-code-text:#ff375f;--color-bg-hover:rgba(0, 0, 0, .04);--glass-bg:rgba(255, 255, 255, .72);--glass-border:rgba(255, 255, 255, .18);--glass-shadow:0 8px 32px 0 rgba(31, 38, 135, .15);--glass-backdrop-blur:blur(20px);--color-modal-bg:#ffffff;--color-modal-border:rgba(0, 0, 0, .12);--color-modal-shadow:0 8px 40px rgba(0, 0, 0, .18), 0 2px 8px rgba(0, 0, 0, .1);--color-shadow:rgba(0, 0, 0, .08);--color-overlay:rgba(0, 0, 0, .4)}@media print{html,body,app-root{height:auto!important;max-height:none!important;min-height:auto!important;overflow:visible!important;position:static!important}body{background:#fff!important;color:#000!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-size:11pt;line-height:1.6;padding:1rem!important}*{animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important}}*{box-sizing:border-box}html{color-scheme:light}html{--mat-sys-background:light-dark(#faf9fd, #121316);--mat-sys-error:light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container:light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface:light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary:light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface:light-dark(#2f3033, #e3e2e6);--mat-sys-on-background:light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error:light-dark(#ffffff, #690005);--mat-sys-on-error-container:light-dark(#93000a, #ffdad6);--mat-sys-on-primary:light-dark(#ffffff, #002f65);--mat-sys-on-primary-container:light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed:light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant:light-dark(#00458f, #00458f);--mat-sys-on-secondary:light-dark(#ffffff, #283041);--mat-sys-on-secondary-container:light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed:light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant:light-dark(#3e4759, #3e4759);--mat-sys-on-surface:light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant:light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary:light-dark(#ffffff, #002f65);--mat-sys-on-tertiary-container:light-dark(#00458f, #d7e3ff);--mat-sys-on-tertiary-fixed:light-dark(#001b3f, #001b3f);--mat-sys-on-tertiary-fixed-variant:light-dark(#00458f, #00458f);--mat-sys-outline:light-dark(#74777f, #8e9099);--mat-sys-outline-variant:light-dark(#c4c6d0, #44474e);--mat-sys-primary:light-dark(#005cbb, #abc7ff);--mat-sys-primary-container:light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed:light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim:light-dark(#abc7ff, #abc7ff);--mat-sys-scrim:light-dark(#000000, #000000);--mat-sys-secondary:light-dark(#565e71, #bec6dc);--mat-sys-secondary-container:light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed:light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim:light-dark(#bec6dc, #bec6dc);--mat-sys-shadow:light-dark(#000000, #000000);--mat-sys-surface:light-dark(#faf9fd, #121316);--mat-sys-surface-bright:light-dark(#faf9fd, #38393c);--mat-sys-surface-container:light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high:light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest:light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low:light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest:light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim:light-dark(#dbd9dd, #121316);--mat-sys-surface-tint:light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant:light-dark(#e0e2ec, #44474e);--mat-sys-tertiary:light-dark(#005cbb, #abc7ff);--mat-sys-tertiary-container:light-dark(#d7e3ff, #00458f);--mat-sys-tertiary-fixed:light-dark(#d7e3ff, #d7e3ff);--mat-sys-tertiary-fixed-dim:light-dark(#abc7ff, #abc7ff);--mat-sys-neutral-variant20:#2d3038;--mat-sys-neutral10:#1a1b1f;--mat-sys-level0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large:400 1rem / 1.5rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-body-large-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-body-large-line-height:1.5rem;--mat-sys-body-large-size:1rem;--mat-sys-body-large-tracking:.031rem;--mat-sys-body-large-weight:400;--mat-sys-body-medium:400 .875rem / 1.25rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-body-medium-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-body-medium-line-height:1.25rem;--mat-sys-body-medium-size:.875rem;--mat-sys-body-medium-tracking:.016rem;--mat-sys-body-medium-weight:400;--mat-sys-body-small:400 .75rem / 1rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-body-small-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-body-small-line-height:1rem;--mat-sys-body-small-size:.75rem;--mat-sys-body-small-tracking:.025rem;--mat-sys-body-small-weight:400;--mat-sys-display-large:400 3.562rem / 4rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-display-large-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-display-large-line-height:4rem;--mat-sys-display-large-size:3.562rem;--mat-sys-display-large-tracking:-.016rem;--mat-sys-display-large-weight:400;--mat-sys-display-medium:400 2.812rem / 3.25rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-display-medium-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-display-medium-line-height:3.25rem;--mat-sys-display-medium-size:2.812rem;--mat-sys-display-medium-tracking:0;--mat-sys-display-medium-weight:400;--mat-sys-display-small:400 2.25rem / 2.75rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-display-small-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-display-small-line-height:2.75rem;--mat-sys-display-small-size:2.25rem;--mat-sys-display-small-tracking:0;--mat-sys-display-small-weight:400;--mat-sys-headline-large:400 2rem / 2.5rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-headline-large-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-headline-large-line-height:2.5rem;--mat-sys-headline-large-size:2rem;--mat-sys-headline-large-tracking:0;--mat-sys-headline-large-weight:400;--mat-sys-headline-medium:400 1.75rem / 2.25rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-headline-medium-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-headline-medium-line-height:2.25rem;--mat-sys-headline-medium-size:1.75rem;--mat-sys-headline-medium-tracking:0;--mat-sys-headline-medium-weight:400;--mat-sys-headline-small:400 1.5rem / 2rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-headline-small-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-headline-small-line-height:2rem;--mat-sys-headline-small-size:1.5rem;--mat-sys-headline-small-tracking:0;--mat-sys-headline-small-weight:400;--mat-sys-label-large:500 .875rem / 1.25rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-label-large-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-label-large-line-height:1.25rem;--mat-sys-label-large-size:.875rem;--mat-sys-label-large-tracking:.006rem;--mat-sys-label-large-weight:500;--mat-sys-label-large-weight-prominent:700;--mat-sys-label-medium:500 .75rem / 1rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-label-medium-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-label-medium-line-height:1rem;--mat-sys-label-medium-size:.75rem;--mat-sys-label-medium-tracking:.031rem;--mat-sys-label-medium-weight:500;--mat-sys-label-medium-weight-prominent:700;--mat-sys-label-small:500 .688rem / 1rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-label-small-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-label-small-line-height:1rem;--mat-sys-label-small-size:.688rem;--mat-sys-label-small-tracking:.031rem;--mat-sys-label-small-weight:500;--mat-sys-title-large:400 1.375rem / 1.75rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-title-large-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-title-large-line-height:1.75rem;--mat-sys-title-large-size:1.375rem;--mat-sys-title-large-tracking:0;--mat-sys-title-large-weight:400;--mat-sys-title-medium:500 1rem / 1.5rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-title-medium-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-title-medium-line-height:1.5rem;--mat-sys-title-medium-size:1rem;--mat-sys-title-medium-tracking:.009rem;--mat-sys-title-medium-weight:500;--mat-sys-title-small:500 .875rem / 1.25rem -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-title-small-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mat-sys-title-small-line-height:1.25rem;--mat-sys-title-small-size:.875rem;--mat-sys-title-small-tracking:.006rem;--mat-sys-title-small-weight:500;--mat-sys-corner-extra-large:28px;--mat-sys-corner-extra-large-top:28px 28px 0 0;--mat-sys-corner-extra-small:4px;--mat-sys-corner-extra-small-top:4px 4px 0 0;--mat-sys-corner-full:9999px;--mat-sys-corner-large:16px;--mat-sys-corner-large-end:0 16px 16px 0;--mat-sys-corner-large-start:16px 0 0 16px;--mat-sys-corner-large-top:16px 16px 0 0;--mat-sys-corner-medium:12px;--mat-sys-corner-none:0;--mat-sys-corner-small:8px;--mat-sys-dragged-state-layer-opacity:.16;--mat-sys-focus-state-layer-opacity:.12;--mat-sys-hover-state-layer-opacity:.08;--mat-sys-pressed-state-layer-opacity:.12;--mat-snack-bar-container-shape:transparent;--mat-snack-bar-container-color:transparent;--mat-snack-bar-supporting-text-color:var(--color-text)}html,body{margin:0;padding:0;width:100%;height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Helvetica Neue,Arial,sans-serif;transition:background .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:0!important}</style><link rel="stylesheet" href="styles-DXY4Y6E7.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-DXY4Y6E7.css"></noscript></head>
22
22
  <body>
23
23
  <app-root></app-root>
24
- <link rel="modulepreload" href="chunk-ID64B57M.js"><link rel="modulepreload" href="chunk-QVW2GZXC.js"><link rel="modulepreload" href="chunk-CPPSTTTC.js"><link rel="modulepreload" href="chunk-ZZTT5MET.js"><link rel="modulepreload" href="chunk-SLBKHVIO.js"><link rel="modulepreload" href="chunk-4GVABYH4.js"><link rel="modulepreload" href="chunk-CBYR4M6L.js"><link rel="modulepreload" href="chunk-6CNI4FAD.js"><link rel="modulepreload" href="chunk-Z7E7NSDY.js"><link rel="modulepreload" href="chunk-5URVSSXV.js"><script src="polyfills-2FSRUXKO.js" type="module"></script><script src="main-XJOMTJCP.js" type="module"></script></body>
24
+ <link rel="modulepreload" href="chunk-4OIHXCET.js"><link rel="modulepreload" href="chunk-QVW2GZXC.js"><link rel="modulepreload" href="chunk-CPPSTTTC.js"><link rel="modulepreload" href="chunk-ZZTT5MET.js"><link rel="modulepreload" href="chunk-SLBKHVIO.js"><link rel="modulepreload" href="chunk-4GVABYH4.js"><link rel="modulepreload" href="chunk-CBYR4M6L.js"><link rel="modulepreload" href="chunk-6CNI4FAD.js"><link rel="modulepreload" href="chunk-Z7E7NSDY.js"><link rel="modulepreload" href="chunk-5URVSSXV.js"><script src="polyfills-2FSRUXKO.js" type="module"></script><script src="main-KPIQPT35.js" type="module"></script></body>
25
25
  </html>