@whoz-oss/coday-client 0.189.1 → 0.190.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.
- package/browser/{chunk-5762NHNY.js → chunk-26U7XARR.js} +1 -1
- package/browser/{chunk-UDWQTER7.js → chunk-37Z4RQMS.js} +1 -1
- package/browser/{chunk-J2QDMBPK.js → chunk-3IVR2HN6.js} +1 -1
- package/browser/{chunk-I2YRBSYX.js → chunk-3USYL5BG.js} +1 -1
- package/browser/chunk-5BDX24G5.js +1 -0
- package/browser/{chunk-666G3QUH.js → chunk-5DONQZON.js} +1 -1
- package/browser/{chunk-ZJZ2NPOZ.js → chunk-6ID3TABK.js} +1 -1
- package/browser/{chunk-LP4VWELB.js → chunk-7XZSS2EV.js} +1 -1
- package/browser/{chunk-D7BI5FXC.js → chunk-ADN4NBOA.js} +1 -1
- package/browser/{chunk-IMIVNR6U.js → chunk-B3LI4JXF.js} +1 -1
- package/browser/{chunk-UCMTVNTI.js → chunk-BKNW4IOO.js} +1 -1
- package/browser/{chunk-FVO7BWK6.js → chunk-BQMLTABP.js} +1 -1
- package/browser/chunk-EBPDINXG.js +1 -0
- package/browser/{chunk-FSEMXH4A.js → chunk-ECF4ASWE.js} +1 -1
- package/browser/{chunk-IS22BRTO.js → chunk-HIA7DOSV.js} +1 -1
- package/browser/{chunk-OP4PV2GE.js → chunk-IYL3P5IQ.js} +1 -1
- package/browser/{chunk-5ZEFYAQB.js → chunk-KOR36WEI.js} +1 -1
- package/browser/{chunk-HZTY4S7H.js → chunk-NR35GT4F.js} +1 -1
- package/browser/{chunk-Y7SWNFO3.js → chunk-OGI7MX2M.js} +1 -1
- package/browser/{chunk-6YSIHQTV.js → chunk-OSUSTGJD.js} +1 -1
- package/browser/{chunk-NYGA2DDC.js → chunk-OTANLRGJ.js} +1 -1
- package/browser/chunk-QTE5GMOI.js +1 -0
- package/browser/{chunk-LCVFELLT.js → chunk-R3V2KTBP.js} +1 -1
- package/browser/{chunk-4JP5RJ6I.js → chunk-SEVRZF2U.js} +1 -1
- package/browser/{chunk-7YX5U6SF.js → chunk-SFLR6TA7.js} +1 -1
- package/browser/{chunk-EEPCPEUC.js → chunk-SVB2BKSE.js} +1 -1
- package/browser/{chunk-22FO2RIC.js → chunk-TDB2ASJ5.js} +1 -1
- package/browser/chunk-TVJBPYTY.js +1 -0
- package/browser/{chunk-NWUWRXRV.js → chunk-UF5SWABD.js} +1 -1
- package/browser/{chunk-AEZXBHJT.js → chunk-UVOW2VIJ.js} +1 -1
- package/browser/chunk-UXMMRPAW.js +1 -0
- package/browser/chunk-V7RYUISE.js +1 -0
- package/browser/{chunk-6OLP2ALR.js → chunk-YHAKQS2P.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/{main-JAM7ETZT.js → main-IFKRYXRT.js} +1 -1
- package/package.json +1 -1
- package/browser/chunk-5A2232QK.js +0 -1
- package/browser/chunk-6NNLFKXF.js +0 -1
- package/browser/chunk-LWT4QT5S.js +0 -1
- package/browser/chunk-QH5HGKT5.js +0 -1
- package/browser/chunk-VJVLGQZD.js +0 -1
- package/browser/chunk-ZHIEAQUL.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as F}from"./chunk-VJVLGQZD.js";import{a as U}from"./chunk-AIC4U2MU.js";import{a as j}from"./chunk-5762NHNY.js";import"./chunk-T3IUNA6F.js";import"./chunk-NWUWRXRV.js";import"./chunk-LWT4QT5S.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 +0,0 @@
|
|
|
1
|
-
import{a as h}from"./chunk-T3IUNA6F.js";import{a as m}from"./chunk-NWUWRXRV.js";import{f as u}from"./chunk-LWT4QT5S.js";import{D as i,P as C,S as I,V as a,Z as d,ca as c,i as p,m as r,t as f,u as g}from"./chunk-B4RKRLIY.js";var O="none",S="me",b=class l{nsController=c(u);userState=c(m);refresh$=new p(void 0);namespaceId$=new p(null);vm$=g([this.namespaceId$,this.refresh$]).pipe(I(([e])=>e?g([this.loadNamespaceConfigs(e).pipe(i(()=>r([]))),this.loadUserConfigs(e).pipe(i(()=>r([]))),this.loadUserConfigs("global").pipe(i(()=>r([])))]).pipe(f(([n,t,o])=>({namespace:n,userOnNs:t,userGlobal:o}))):g([this.loadNamespaceConfigs("").pipe(i(()=>r([]))),this.loadUserConfigs("global").pipe(i(()=>r([])))]).pipe(f(([n,t])=>({namespace:n,userOnNs:[],userGlobal:t})))),C({bufferSize:1,refCount:!0}));setNamespace(e){this.namespaceId$.value!==e&&this.namespaceId$.next(e)}refresh(){this.refresh$.next()}loadUserConfigs(e){let n=e==="global"?O:e;return this.nsController.listIntegrationConfig(n,S)}userGlobal$=h(this.refresh$,()=>this.loadUserConfigs("global"),[]);loadNamespaceConfigs(e){return e?this.nsController.listIntegrationConfig(e):r([])}getById(e,n){return this.nsController.getByIdIntegrationConfig(e)}create(e,n,t){let s=this.userState.currentUser()?.id;if((n==="userOnNs"||n==="userGlobal")&&!s)throw new Error(`Cannot create ${n} config before UserStateService.loadMe() resolves \u2014 call loadMe() at app init`);if(n==="namespace"){if(!t)throw new Error("Cannot create namespace-scoped config without a namespaceId");let y={name:e.name,integrationType:e.integrationType,description:e.description,namespaceId:t,parameters:e.parameters};return this.nsController.createIntegrationConfig(y).pipe(a(()=>this.refresh()))}if(n==="userOnNs"&&!t)throw new Error("Cannot create userOnNs config without a namespaceId");let v={name:e.name,integrationType:e.integrationType,description:e.description,userId:s,namespaceId:n==="userOnNs"?t:void 0,parameters:e.parameters};return this.nsController.createIntegrationConfig(v).pipe(a(()=>this.refresh()))}update(e,n,t,o){let s={name:n.name,integrationType:n.integrationType,description:n.description,userId:o.userId,namespaceId:o.namespaceId,parameters:n.parameters};return this.nsController.updateIntegrationConfig(e,s).pipe(a(()=>this.refresh()))}delete(e,n){return this.nsController.deleteIntegrationConfig(e).pipe(a(()=>this.refresh()))}static \u0275fac=function(n){return new(n||l)};static \u0275prov=d({token:l,factory:l.\u0275fac,providedIn:"root"})};export{b as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as X}from"./chunk-VJVLGQZD.js";import{a as Y}from"./chunk-5762NHNY.js";import"./chunk-T3IUNA6F.js";import"./chunk-NWUWRXRV.js";import{g as L}from"./chunk-LWT4QT5S.js";import{b as D,d as R}from"./chunk-4GVABYH4.js";import{q as W}from"./chunk-VDRETD5H.js";import"./chunk-BUA6GPP7.js";import{a as v,c as x}from"./chunk-V363EHJE.js";import"./chunk-Z7E7NSDY.js";import"./chunk-ZEMOOOQR.js";import{F as Q,c as B,e as y,g as z,h as A,i as G,l as u,n as q,p as j,s as $,w as U,x as J,y as H,z as K}from"./chunk-HZF57OLY.js";import"./chunk-EF2BOSEH.js";import{Bb as k,Db as g,Fb as p,Ka as a,Tb as l,Ub as h,Vb as N,Wa as w,ca as m,ga as _,ha as C,kb as S,kc as V,lb as I,ma as E,mb as M,pb as O,qb as P,rb as s,sb as i,ta as d,tb as o,ua as F,ub as b}from"./chunk-B4RKRLIY.js";function ee(r,e){r&1&&(i(0,"p",5),l(1,"Loading\u2026"),o())}function te(r,e){if(r&1&&(i(0,"label",10),b(1,"input",25),i(2,"span"),l(3),o()()),r&2){let t=e.$implicit,n=p(2);a(),s("value",t.value)("formControl",n.scopeControl)("disabled",t.value==="namespace"&&!n.isAdmin()),a(2),h(t.label)}}function ne(r,e){if(r&1&&(i(0,"option",16),l(1),o()),r&2){let t=e.$implicit;s("value",t.type),a(),h(t.displayName)}}function oe(r,e){if(r&1){let t=k();i(0,"div",21)(1,"ds-json-schema-form",26),g("valueChange",function(c){_(t);let f=p(2);return C(f.onParamsChange(c))}),o()()}if(r&2){let t=p(2);a(),s("schema",e)("value",t.initialParams())}}function ie(r,e){if(r&1){let t=k();i(0,"form",7),g("ngSubmit",function(){_(t);let c=p();return C(c.submit())}),i(1,"fieldset",8)(2,"legend",9),l(3,"Scope"),o(),O(4,te,4,4,"label",10,S().trackByScope,!0),o(),i(6,"div",11)(7,"label",12),l(8,"Type "),i(9,"span",13),l(10,"*"),o()(),i(11,"select",14)(12,"option",15),l(13,"Select type"),o(),O(14,ne,2,2,"option",16,S().trackByType,!0),o()(),i(16,"div",11)(17,"label",17),l(18,"Name "),i(19,"span",13),l(20,"*"),o()(),b(21,"input",18),o(),i(22,"div",11)(23,"label",19),l(24,"Description"),o(),b(25,"textarea",20),o(),I(26,oe,2,2,"div",21),i(27,"div",22)(28,"button",23),l(29),o(),i(30,"button",24),g("click",function(){_(t);let c=p();return C(c.cancel())}),l(31,"Cancel"),o()()()}if(r&2){let t,n=p();s("formGroup",n.form),a(),s("disabled",n.isEditMode()),a(3),P(n.scopeOptions),a(7),s("formControl",n.typeControl),a(3),P(n.integrationTypes()),a(7),s("formControl",n.nameControl),a(4),s("formControl",n.descriptionControl),a(),M((t=n.schema())?26:-1,t),a(2),s("disabled",n.nameControl.invalid||n.typeControl.invalid||n.isSubmitting()),a(),N(" ",n.isEditMode()?"Save changes":"Create"," ")}}var re=new Set(["namespace","userOnNs","userGlobal"]),T=Object.freeze({namespace:"Configuration du namespace",userOnNs:"Pour moi sur ce namespace",userGlobal:"Pour moi globalement"}),Z=class r{route=m(D);router=m(R);destroyRef=m(E);state=m(X);integrationTypeController=m(L);namespaceRole=m(Y);namespaceId=this.route.snapshot.params.namespaceId;isAdmin=x(this.namespaceRole.isAdminOfNamespace$(this.namespaceId),{initialValue:!1});form=new G({name:new u("",{nonNullable:!0,validators:[y.required,y.minLength(1)]}),description:new u(null),type:new u("",{nonNullable:!0,validators:[y.required]}),scope:new u("namespace",{nonNullable:!0})});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get typeControl(){return this.form.controls.type}get scopeControl(){return this.form.controls.scope}isEditMode=d(!1);isSubmitting=d(!1);isLoading=d(!1);scopeOptions=[{value:"namespace",label:T.namespace},{value:"userOnNs",label:T.userOnNs},{value:"userGlobal",label:T.userGlobal}];paramsValue=d(null);initialParams=d(null);integrationTypes=x(this.integrationTypeController.listTypesIntegrationType(),{initialValue:[]});selectedType=x(this.form.controls.type.valueChanges,{initialValue:this.form.controls.type.value});schema=V(()=>{let e=this.selectedType();return e?this.integrationTypes().find(n=>n.type===e)?.configSchema??null:null});existingConfig=null;constructor(){F(()=>{this.isAdmin()||this.isEditMode()||this.scopeControl.value==="namespace"&&this.scopeControl.setValue("userOnNs")})}ngOnInit(){this.state.setNamespace(this.namespaceId);let e=this.route.snapshot.paramMap,t=this.route.snapshot.queryParamMap,n=e.get("integrationId"),c=this.parseScope(t.get("scope"));if(n){this.isEditMode.set(!0),this.scopeControl.disable(),this.loadConfig(n);return}this.scopeControl.setValue(c);let f=t.get("template");f&&this.hydrateFromTemplate(f)}parseScope(e){return e&&re.has(e)?e:"namespace"}deriveScopeFromConfig(e){return!e.userId?"namespace":e.namespaceId?"userOnNs":"userGlobal"}loadConfig(e){this.isLoading.set(!0),this.state.getById(e).pipe(v(this.destroyRef)).subscribe({next:t=>{this.existingConfig=t,this.scopeControl.setValue(this.deriveScopeFromConfig(t)),this.applyConfigToForm(t),this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1),console.warn(`[IntegrationForm] Could not load config '${e}' \u2014 navigating back`),this.navigateBack()}})}hydrateFromTemplate(e){this.isLoading.set(!0),this.state.getById(e).pipe(v(this.destroyRef)).subscribe({next:t=>{this.applyConfigToForm(t),this.isLoading.set(!1),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:!0})},error:t=>{console.warn(`[IntegrationForm] Could not hydrate from template ${e}:`,t),this.isLoading.set(!1),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:!0})}})}applyConfigToForm(e){this.nameControl.setValue(e.name),this.descriptionControl.setValue(e.description??null),this.typeControl.setValue(e.integrationType),this.initialParams.set(e.parameters),this.paramsValue.set(e.parameters)}onParamsChange(e){this.paramsValue.set(e)}submit(){if(this.nameControl.invalid||this.typeControl.invalid||this.isSubmitting())return;if(this.isEditMode()&&!this.existingConfig?.id){this.navigateBack();return}this.isSubmitting.set(!0);let e=this.descriptionControl.value?.trim(),t={name:this.nameControl.value.trim(),description:e||null,integrationType:this.typeControl.value,parameters:this.paramsValue()},n=this.form.getRawValue().scope;(this.isEditMode()&&this.existingConfig?.id?this.state.update(this.existingConfig.id,t,n,this.existingConfig):this.state.create(t,n,this.namespaceId)).pipe(v(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(!1)})}cancel(){this.navigateBack()}navigateBack(){this.router.navigate(["/agentos",this.namespaceId,"integrations"])}trackByType(e,t){return t.type}trackByScope(e,t){return t.value}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=w({type:r,selectors:[["agentos-integration-form"]],decls:10,vars:2,consts:[[1,"integration-form"],[1,"integration-form__header"],["type","button","title","Back to integrations",1,"integration-form__back",3,"click"],[1,"integration-form__back-icon"],[1,"integration-form__title"],[1,"integration-form__loading"],[1,"integration-form__form",3,"formGroup"],[1,"integration-form__form",3,"ngSubmit","formGroup"],[1,"integration-form__field","integration-form__scope",3,"disabled"],[1,"integration-form__label"],[1,"integration-form__scope-option"],[1,"integration-form__field"],["for","integration-type",1,"integration-form__label"],["aria-hidden","true"],["id","integration-type",1,"integration-form__select",3,"formControl"],["value","","disabled",""],[3,"value"],["for","integration-name",1,"integration-form__label"],["id","integration-name","type","text","placeholder","Integration name","autocomplete","off",1,"integration-form__input",3,"formControl"],["for","integration-description",1,"integration-form__label"],["id","integration-description","placeholder","Optional description","rows","3",1,"integration-form__textarea",3,"formControl"],[1,"integration-form__schema-form"],[1,"integration-form__actions"],["type","submit",1,"integration-form__btn","integration-form__btn--primary",3,"disabled"],["type","button",1,"integration-form__btn",3,"click"],["type","radio",3,"value","formControl","disabled"],[3,"valueChange","schema","value"]],template:function(t,n){t&1&&(i(0,"div",0)(1,"header",1)(2,"button",2),g("click",function(){return n.cancel()}),i(3,"span",3),l(4,"\u2190"),o(),l(5," Integrations "),o(),i(6,"h1",4),l(7),o()(),I(8,ee,2,0,"p",5)(9,ie,32,8,"form",6),o()),t&2&&(a(7),h(n.isEditMode()?"Edit integration":"New integration"),a(),M(n.isLoading()?8:9))},dependencies:[Q,q,H,K,B,J,j,z,A,$,U,W],styles:[".integration-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.integration-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.integration-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.integration-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.integration-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.integration-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.integration-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.integration-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.integration-form__scope[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--color-border-light, rgba(0, 0, 0, .06));border-radius:10px;padding:.75rem 1rem;background:transparent;margin:0}.integration-form__scope[disabled][_ngcontent-%COMP%]{opacity:.6}.integration-form__scope-option[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text, #1d1d1f);cursor:pointer}.integration-form__scope-option[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{margin:0}.integration-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.integration-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text, #1d1d1f)}.integration-form__input[_ngcontent-%COMP%], .integration-form__textarea[_ngcontent-%COMP%], .integration-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}.integration-form__input[_ngcontent-%COMP%]:focus, .integration-form__textarea[_ngcontent-%COMP%]:focus, .integration-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.integration-form__input[_ngcontent-%COMP%]::placeholder, .integration-form__textarea[_ngcontent-%COMP%]::placeholder, .integration-form__select[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.integration-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:4.5rem;line-height:1.5}.integration-form__select[_ngcontent-%COMP%]{cursor:pointer}.integration-form__select[_ngcontent-%COMP%] option[disabled][_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73)}.integration-form__schema-form[_ngcontent-%COMP%]{padding:1rem;border-radius:10px;border:1px solid var(--color-border-light, rgba(0, 0, 0, .06));background:var(--glass-bg, rgba(255, 255, 255, .5));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px))}.integration-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.integration-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}.integration-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.integration-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.integration-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.integration-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{Z as IntegrationFormComponent};
|