@whoz-oss/coday-client 3.33.1 → 3.34.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 (79) hide show
  1. package/browser/{chunk-DmspnNZU.js → chunk-1pMMl5aQ.js} +1 -1
  2. package/browser/{chunk-CCjiYUwJ.js → chunk-24Rqvp-B.js} +1 -1
  3. package/browser/{chunk-DoBiZHJP.js → chunk-3SjkoJQ2.js} +1 -1
  4. package/browser/{chunk-Xqo-i29q.js → chunk-6yN7LoqT.js} +1 -1
  5. package/browser/{chunk-Dq_iutg_.js → chunk-8bJEDZYk.js} +1 -1
  6. package/browser/{chunk-DRINXf1H.js → chunk-9B6pDYGf.js} +1 -1
  7. package/browser/{chunk-DKZE1MMp.js → chunk-9Y4DMIzP.js} +1 -1
  8. package/browser/{chunk-BfgOvSfj.js → chunk-B0wi4IQ8.js} +1 -1
  9. package/browser/{chunk-ZI_RF6mJ.js → chunk-B1h8Rr_L.js} +1 -1
  10. package/browser/{chunk-CgZso3Sn.js → chunk-B400uKLU.js} +1 -1
  11. package/browser/{chunk-BVHP3O1y.js → chunk-B4GIoG1U.js} +1 -1
  12. package/browser/{chunk-DTO-7qsb.js → chunk-BAHGxBjI.js} +1 -1
  13. package/browser/{chunk-Dg2L56ka.js → chunk-BByguAe9.js} +1 -1
  14. package/browser/{chunk-CrDpiJQ_.js → chunk-BECO5DZL.js} +1 -1
  15. package/browser/{chunk-CfLw6giw.js → chunk-BEoycX98.js} +1 -1
  16. package/browser/{chunk-vuYNru7F.js → chunk-BHtGbjK6.js} +1 -1
  17. package/browser/{chunk-WJVIVGQ_.js → chunk-BK-SvUGW.js} +1 -1
  18. package/browser/chunk-BLltB5Fl.js +1 -0
  19. package/browser/{chunk-s2nIreh9.js → chunk-BOwbpQDE.js} +1 -1
  20. package/browser/{chunk-97Ur9CVM.js → chunk-B_wrSH-e.js} +1 -1
  21. package/browser/{chunk-DSWc3xOX.js → chunk-Begup16p.js} +1 -1
  22. package/browser/{chunk-BwA9KDbo.js → chunk-BqbE20yc.js} +1 -1
  23. package/browser/{chunk-DrktTXS1.js → chunk-BscGFXSw.js} +1 -1
  24. package/browser/{chunk-Fswp1zS2.js → chunk-Bt_Yi0KO.js} +1 -1
  25. package/browser/{chunk-6LX0m2KK.js → chunk-BvggdF8d.js} +1 -1
  26. package/browser/{chunk-7OibMkdV.js → chunk-C5xuZf5R.js} +1 -1
  27. package/browser/{chunk-BA-NscEe.js → chunk-C7OQXeW9.js} +1 -1
  28. package/browser/{chunk--u1fh-bE.js → chunk-C8eqogQ9.js} +1 -1
  29. package/browser/{chunk-CWhMBwZt.js → chunk-CDyIhHOt.js} +1 -1
  30. package/browser/{chunk-D1wn67qT.js → chunk-CGjjc55P.js} +6 -6
  31. package/browser/{chunk-ByHd8LOC.js → chunk-CJCjJyKP.js} +1 -1
  32. package/browser/{chunk-nyQxv1ai.js → chunk-CLaD3yHE.js} +1 -1
  33. package/browser/{chunk-CrtwjGyv.js → chunk-CMjxkuFH.js} +2 -2
  34. package/browser/{chunk-Bdo-PzpO.js → chunk-CS3cO2Tx.js} +1 -1
  35. package/browser/{chunk-BgHBODRL.js → chunk-CT8vu_Pw.js} +1 -1
  36. package/browser/{chunk-I798FyiF.js → chunk-CThe5GoQ.js} +1 -1
  37. package/browser/{chunk-CY4cIdrD.js → chunk-CX3BRjB5.js} +1 -1
  38. package/browser/{chunk-KJgXoqSt.js → chunk-CXqNbVXr.js} +1 -1
  39. package/browser/{chunk-CaZu6-ik.js → chunk-CZe6uHRZ.js} +1 -1
  40. package/browser/{chunk-tpkg6uRN.js → chunk-Ceb8iCgi.js} +1 -1
  41. package/browser/{chunk-DFN1Pyx5.js → chunk-Ci0veFyD.js} +1 -1
  42. package/browser/{chunk-BYRF4k2F.js → chunk-CqTTbhQw.js} +1 -1
  43. package/browser/{chunk-XRvc0QGl.js → chunk-D-bfzu2J.js} +1 -1
  44. package/browser/{chunk-BMMVal6G.js → chunk-DE0C-yKk.js} +1 -1
  45. package/browser/{chunk-CvSL9m7J.js → chunk-DFjEHH4o.js} +1 -1
  46. package/browser/{chunk-DzIeB2JV.js → chunk-DGUwcds6.js} +1 -1
  47. package/browser/{chunk-CDVp9M5o.js → chunk-DH80wnhH.js} +1 -1
  48. package/browser/{chunk-BAW4T6Di.js → chunk-DLpC4uuD.js} +1 -1
  49. package/browser/chunk-DOeIIw1a.js +1 -0
  50. package/browser/{chunk-Bb0cfZpR.js → chunk-DS1gnXQd.js} +1 -1
  51. package/browser/{chunk-BR2UGTBA.js → chunk-DUTqrLQ0.js} +2 -2
  52. package/browser/{chunk-amKg4vsy.js → chunk-DVK2B443.js} +1 -1
  53. package/browser/chunk-DY8YywkA.js +1 -0
  54. package/browser/{chunk-BvidtKG2.js → chunk-DdPOtjZp.js} +5 -5
  55. package/browser/{chunk-qnkDdlfN.js → chunk-DfHrtnxD.js} +1 -1
  56. package/browser/{chunk-DRl5lKc8.js → chunk-DmpFu0Pv.js} +1 -1
  57. package/browser/{chunk-Bp6uMEC4.js → chunk-Dn1IeSER.js} +1 -1
  58. package/browser/{chunk-BuwCQJib.js → chunk-DpjNfc-X.js} +1 -1
  59. package/browser/{chunk-BrwKLScI.js → chunk-DvkkGOWr.js} +1 -1
  60. package/browser/{chunk-D0hAJFb0.js → chunk-Dy3jpvsK.js} +1 -1
  61. package/browser/chunk-DzRcZL5W.js +4 -0
  62. package/browser/{chunk-DngrH8va.js → chunk-O_d524Nl.js} +1 -1
  63. package/browser/chunk-U55ggdv9.js +1 -0
  64. package/browser/{chunk-DMb_O3oJ.js → chunk-ZnMmRxVz.js} +1 -1
  65. package/browser/{chunk-D2JaJwBk.js → chunk-_pYIE7Vn.js} +1 -1
  66. package/browser/{chunk-DYl74_xV.js → chunk-b-dxVOcr.js} +1 -1
  67. package/browser/{chunk-BJy7Ev8t.js → chunk-e71Ldo0f.js} +1 -1
  68. package/browser/{chunk-gfpawxnm.js → chunk-heXluV0a.js} +1 -1
  69. package/browser/{chunk-zoDBYyjf.js → chunk-iFWDza_l.js} +1 -1
  70. package/browser/{chunk-Dl_uhmYA.js → chunk-qlZmtZOW.js} +1 -1
  71. package/browser/{chunk-Cjnbx8x8.js → chunk-x_UzK7O8.js} +1 -1
  72. package/browser/index.html +1 -1
  73. package/browser/{main-COD2LZKB.js → main-GYSPY3UE.js} +1 -1
  74. package/package.json +1 -1
  75. package/browser/chunk-2e1XJLC3.js +0 -1
  76. package/browser/chunk-DHVomWlH.js +0 -1
  77. package/browser/chunk-DQhceK5b.js +0 -4
  78. package/browser/chunk-DkYkMN4g.js +0 -1
  79. package/browser/chunk-JXiqGD2F.js +0 -1
@@ -1 +1 @@
1
- import {i}from'./chunk-JXiqGD2F.js';import {l}from'./chunk-BvidtKG2.js';import {g as g$1,df as U,aJ as Tr,aD as Ly,bS as va,a7 as ya,W as br,r as re,cE as Ad,bU as Od,w,Y as x}from'./main-COD2LZKB.js';var g="none",N="me",O=class p{nsController=g$1(U);userState=g$1(l);refresh$=new Tr(void 0);namespaceId$=new Tr(null);vm$=Ly([this.namespaceId$,this.refresh$]).pipe(va(([e])=>{let r=this.loadPlatformProviders().pipe(ya(()=>br([])));return e?Ly([r,this.loadNamespaceProviders(e).pipe(ya(()=>br([]))),this.loadUserProviders(e).pipe(ya(()=>br([]))),this.loadUserProviders("global").pipe(ya(()=>br([])))]).pipe(re(([i,n,s,t])=>({platform:i,namespace:n,userOnNs:s,userGlobal:t}))):Ly([r,this.loadNamespaceProviders("").pipe(ya(()=>br([]))),this.loadUserProviders("global").pipe(ya(()=>br([])))]).pipe(re(([i,n,s])=>({platform:i,namespace:n,userOnNs:[],userGlobal:s})))}),Ad({bufferSize:1,refCount:true}));setNamespace(e){this.namespaceId$.value!==e&&this.namespaceId$.next(e);}refresh(){this.refresh$.next();}loadUserProviders(e){let r=e==="global"?g:e;return this.nsController.listAiProvider(r,N)}userGlobal$=i(this.refresh$,()=>this.loadUserProviders("global"),[]);loadPlatformProviders(){return this.nsController.listAiProvider(g)}loadNamespaceProviders(e){return e?this.nsController.listAiProvider(e):br([])}getById(e,r){return this.nsController.getByIdAiProvider(e)}create(e,r,i){let s=this.userState.currentUser()?.id;if((r==="userOnNs"||r==="userGlobal")&&!s)throw new Error(`Cannot create ${r} provider before UserStateService.loadMe() resolves \u2014 call loadMe() at app init`);if(r==="namespace"){if(i===void 0||i==="")throw new Error("Cannot create namespace-scoped provider without a namespaceId");let S={name:e.name,apiType:e.apiType,description:e.description,baseUrl:e.baseUrl,apiKey:e.apiKey,headers:e.headers??void 0,namespaceId:i??void 0};return this.nsController.createAiProvider(S).pipe(Od(()=>this.refresh()))}if(r==="userOnNs"&&!i)throw new Error("Cannot create userOnNs provider without a namespaceId");let t={name:e.name,apiType:e.apiType,description:e.description,baseUrl:e.baseUrl,apiKey:e.apiKey,headers:e.headers??void 0,userId:s,namespaceId:r==="userOnNs"?i:void 0};return this.nsController.createAiProvider(t).pipe(Od(()=>this.refresh()))}update(e,r,i,n){let s=r.apiKey===null?{}:{apiKey:r.apiKey},t=w({name:r.name,apiType:r.apiType,description:r.description,baseUrl:r.baseUrl,headers:r.headers??void 0,namespaceId:n.namespaceId,userId:n.userId},s);return this.nsController.updateAiProvider(e,t).pipe(Od(()=>this.refresh()))}delete(e,r){return this.nsController.deleteAiProvider(e).pipe(Od(()=>this.refresh()))}static \u0275fac=function(r){return new(r||p)};static \u0275prov=x({token:p,factory:p.\u0275fac,providedIn:"root"})};export{O};
1
+ import {i}from'./chunk-DOeIIw1a.js';import {l}from'./chunk-DdPOtjZp.js';import {g as g$1,df as U,aJ as Tr,aD as Ly,bS as va,a7 as ya,W as br,r as re,cE as Ad,bU as Od,w,Y as x}from'./main-GYSPY3UE.js';var g="none",N="me",O=class p{nsController=g$1(U);userState=g$1(l);refresh$=new Tr(void 0);namespaceId$=new Tr(null);vm$=Ly([this.namespaceId$,this.refresh$]).pipe(va(([e])=>{let r=this.loadPlatformProviders().pipe(ya(()=>br([])));return e?Ly([r,this.loadNamespaceProviders(e).pipe(ya(()=>br([]))),this.loadUserProviders(e).pipe(ya(()=>br([]))),this.loadUserProviders("global").pipe(ya(()=>br([])))]).pipe(re(([i,n,s,t])=>({platform:i,namespace:n,userOnNs:s,userGlobal:t}))):Ly([r,this.loadNamespaceProviders("").pipe(ya(()=>br([]))),this.loadUserProviders("global").pipe(ya(()=>br([])))]).pipe(re(([i,n,s])=>({platform:i,namespace:n,userOnNs:[],userGlobal:s})))}),Ad({bufferSize:1,refCount:true}));setNamespace(e){this.namespaceId$.value!==e&&this.namespaceId$.next(e);}refresh(){this.refresh$.next();}loadUserProviders(e){let r=e==="global"?g:e;return this.nsController.listAiProvider(r,N)}userGlobal$=i(this.refresh$,()=>this.loadUserProviders("global"),[]);loadPlatformProviders(){return this.nsController.listAiProvider(g)}loadNamespaceProviders(e){return e?this.nsController.listAiProvider(e):br([])}getById(e,r){return this.nsController.getByIdAiProvider(e)}create(e,r,i){let s=this.userState.currentUser()?.id;if((r==="userOnNs"||r==="userGlobal")&&!s)throw new Error(`Cannot create ${r} provider before UserStateService.loadMe() resolves \u2014 call loadMe() at app init`);if(r==="namespace"){if(i===void 0||i==="")throw new Error("Cannot create namespace-scoped provider without a namespaceId");let S={name:e.name,apiType:e.apiType,description:e.description,baseUrl:e.baseUrl,apiKey:e.apiKey,headers:e.headers??void 0,namespaceId:i??void 0};return this.nsController.createAiProvider(S).pipe(Od(()=>this.refresh()))}if(r==="userOnNs"&&!i)throw new Error("Cannot create userOnNs provider without a namespaceId");let t={name:e.name,apiType:e.apiType,description:e.description,baseUrl:e.baseUrl,apiKey:e.apiKey,headers:e.headers??void 0,userId:s,namespaceId:r==="userOnNs"?i:void 0};return this.nsController.createAiProvider(t).pipe(Od(()=>this.refresh()))}update(e,r,i,n){let s=r.apiKey===null?{}:{apiKey:r.apiKey},t=w({name:r.name,apiType:r.apiType,description:r.description,baseUrl:r.baseUrl,headers:r.headers??void 0,namespaceId:n.namespaceId,userId:n.userId},s);return this.nsController.updateAiProvider(e,t).pipe(Od(()=>this.refresh()))}delete(e,r){return this.nsController.deleteAiProvider(e).pipe(Od(()=>this.refresh()))}static \u0275fac=function(r){return new(r||p)};static \u0275prov=x({token:p,factory:p.\u0275fac,providedIn:"root"})};export{O};
@@ -0,0 +1 @@
1
+ import {v}from'./chunk-BECO5DZL.js';import {R}from'./chunk-DfHrtnxD.js';import {N}from'./chunk-BLltB5Fl.js';import {g,ao as V,G,C as Ce,d8 as F,F as F$1,W as br,a as Gi,m as mT,cd as Hf,b as U,e as xw,k as ws,q as Rg,n as GC,o as pl,J as Jw,X as XE,a8 as Yg,y as eC,a9 as lC,t as rC,cH as Kw,a3 as VI,S as Sg,a4 as nC,ac as gC,v as bg,z as oC,a6 as UI,a5 as vl,aa as If,ab as wf}from'./main-GYSPY3UE.js';import'./chunk-DdPOtjZp.js';import {n as nt}from'./chunk-CGjjc55P.js';import'./chunk-CZe6uHRZ.js';import {o as z,k as _t,b as _e,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,a as wt,A as At,m as mn,Z as Zn,l as Xn,C as Cn,E as En}from'./chunk-DS1gnXQd.js';import'./chunk-DOeIIw1a.js';import'./chunk-CXqNbVXr.js';function le(r,t){r&1&&(ws(0,"p",5),GC(1,"Loading\u2026"),pl());}function se(r,t){if(r&1&&(ws(0,"label",10),Sg(1,"input",29),VI(),ws(2,"span"),GC(3),pl()()),r&2){let e=t.$implicit,n=gC(2);XE(),bg("value",e.value)("formControl",n.scopeControl)("disabled",e.value==="namespace"&&!n.isAdmin()),UI(),XE(2),Yg(e.label);}}function ce(r,t){if(r&1&&(ws(0,"option",16),GC(1),pl()),r&2){let e=t.$implicit;bg("value",e.type),XE(),Yg(e.displayName);}}function me(r,t){if(r&1&&(ws(0,"option",16),GC(1),pl()),r&2){let e=t.$implicit;bg("value",e),XE(),Yg(e);}}function pe(r,t){if(r&1&&(ws(0,"div",11)(1,"label",30),Sg(2,"input",31),VI(),ws(3,"span",9),GC(4,"Grant automatically"),pl()(),ws(5,"p",32),GC(6),pl()()),r&2){let e=gC(2);XE(2),bg("formControl",e.autoGrantControl),UI(),XE(4),vl(" Give this integration to ",e.autoGrantReach(),", without each agent having to declare it. An agent can still opt out by mapping this configuration to an empty tool list. ");}}function de(r,t){if(r&1){let e=lC();ws(0,"div",24)(1,"ds-json-schema-form",33),Rg("valueChange",function(s){If(e);let m=gC(2);return wf(m.onParamsChange(s))}),pl()();}if(r&2){let e=gC(2);XE(),bg("schema",t)("value",e.initialParams());}}function ge(r,t){if(r&1){let e=lC();ws(0,"button",34),Rg("click",function(){If(e);let s=gC(2);return wf(s.exportYaml())}),GC(1),pl();}if(r&2){let e=gC(2);bg("disabled",e.isExporting()),XE(),vl(" ",e.isExporting()?"Exporting\u2026":"Export as YAML"," ");}}function ue(r,t){if(r&1){let e=lC();ws(0,"form",7),Rg("ngSubmit",function(){If(e);let s=gC();return wf(s.submit())}),ws(1,"fieldset",8)(2,"legend",9),GC(3,"Scope"),pl(),rC(4,se,4,4,"label",10,Kw().trackByScope,true),pl(),ws(6,"div",11)(7,"label",12),GC(8,"Type "),ws(9,"span",13),GC(10,"*"),pl()(),ws(11,"select",14)(12,"option",15),GC(13,"Select type"),pl(),rC(14,ce,2,2,"option",16,Kw().trackByType,true),pl(),VI(),pl(),ws(16,"div",11)(17,"label",17),GC(18,"Name "),ws(19,"span",13),GC(20,"*"),pl()(),Sg(21,"input",18),VI(),pl(),ws(22,"div",11)(23,"label",19),GC(24,"Description"),pl(),Sg(25,"textarea",20),VI(),pl(),ws(26,"div",11)(27,"label",21),GC(28,"Auth Setting"),pl(),ws(29,"select",22)(30,"option",23),GC(31,"None"),pl(),rC(32,me,2,2,"option",16,nC),pl(),VI(),pl(),Jw(34,pe,7,2,"div",11),Jw(35,de,2,2,"div",24),ws(36,"div",25)(37,"button",26),GC(38),pl(),Jw(39,ge,2,2,"button",27),ws(40,"button",28),Rg("click",function(){If(e);let s=gC();return wf(s.cancel())}),GC(41,"Cancel"),pl()()();}if(r&2){let e,n=gC();bg("formGroup",n.form),XE(),bg("disabled",n.isEditMode()),XE(3),oC(n.scopeOptions),XE(7),bg("formControl",n.typeControl),UI(),XE(3),oC(n.integrationTypes()),XE(7),bg("formControl",n.nameControl),UI(),XE(4),bg("formControl",n.descriptionControl),UI(),XE(4),bg("formControl",n.authSettingNameControl),UI(),XE(),bg("ngValue",null),XE(2),oC(n.availableAuthSettings()),XE(2),eC(n.isAutoGrantable()?34:-1),XE(),eC((e=n.schema())?35:-1,e),XE(2),bg("disabled",n.nameControl.invalid||n.typeControl.invalid||n.isSubmitting()),XE(),vl(" ",n.isEditMode()?"Save changes":"Create"," "),XE(),eC(n.isEditMode()?39:-1);}}var fe=new Set(["platform","namespace","userOnNs","userGlobal"]),T=Object.freeze({platform:"Configuration plateforme",namespace:"Configuration du namespace",userOnNs:"Pour moi sur ce namespace",userGlobal:"Pour moi globalement"}),re=class r{route=g(V);router=g(G);destroyRef=g(Ce);state=g(N);integrationTypeController=g(F);authSettingState=g(R);namespaceRole=g(v);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=!this.namespaceId;isAdmin=F$1(this.isPlatformMode?br(true):this.namespaceRole.isAdminOfNamespace$(this.namespaceId),{initialValue:this.isPlatformMode});form=new z({name:new _t("",{nonNullable:true,validators:[_e.required,_e.minLength(1)]}),description:new _t(null),type:new _t("",{nonNullable:true,validators:[_e.required]}),scope:new _t("namespace",{nonNullable:true}),autoGrant:new _t(false,{nonNullable:true})});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get typeControl(){return this.form.controls.type}get scopeControl(){return this.form.controls.scope}get autoGrantControl(){return this.form.controls.autoGrant}isEditMode=Gi(false);isSubmitting=Gi(false);isLoading=Gi(false);isExporting=Gi(false);scopeOptions=[{value:"platform",label:T.platform},{value:"namespace",label:T.namespace},{value:"userOnNs",label:T.userOnNs},{value:"userGlobal",label:T.userGlobal}];authSettingNameControl=new _t(null);availableAuthSettings=Gi([]);paramsValue=Gi(null);initialParams=Gi(null);integrationTypes=F$1(this.integrationTypeController.listTypesIntegrationType(),{initialValue:[]});selectedType=F$1(this.form.controls.type.valueChanges,{initialValue:this.form.controls.type.value});scopeValue=F$1(this.form.controls.scope.valueChanges,{initialValue:this.form.controls.scope.value});schema=mT(()=>{let t=this.selectedType();return t?this.integrationTypes().find(n=>n.type===t)?.configSchema??null:null});isAutoGrantable=mT(()=>{let t=this.selectedType();return t?this.integrationTypes().find(e=>e.type===t)?.autoGrantable??false:false});autoGrantReach=mT(()=>{switch(this.scopeValue()){case "platform":return "every agent of this environment";case "namespace":return "every agent of this namespace";default:return "your own runs"}});existingConfig=null;constructor(){Hf(()=>{if(this.isAdmin()||this.isEditMode())return;["platform","namespace"].includes(this.scopeControl.value)&&this.scopeControl.setValue("userOnNs");});}ngOnInit(){this.namespaceId&&this.state.setNamespace(this.namespaceId);let t=this.route.snapshot.paramMap,e=this.route.snapshot.queryParamMap,n=t.get("integrationId");if(n){this.isEditMode.set(true),this.scopeControl.disable(),this.loadConfig(n);return}if(this.isPlatformMode){this.scopeControl.setValue("platform"),this.scopeControl.disable(),this.loadAuthSettingsForScope("platform");return}let s=this.parseScope(e.get("scope"));this.scopeControl.setValue(s),this.loadAuthSettingsForScope(s),this.scopeControl.valueChanges.pipe(U(this.destroyRef)).subscribe(ae=>{this.loadAuthSettingsForScope(ae);});let m=e.get("template");m&&this.hydrateFromTemplate(m);}parseScope(t){return t&&fe.has(t)?t:"namespace"}deriveScopeFromConfig(t){return !t.userId&&!t.namespaceId?"platform":t.userId?t.namespaceId?"userOnNs":"userGlobal":"namespace"}loadConfig(t){this.isLoading.set(true),this.state.getById(t).pipe(U(this.destroyRef)).subscribe({next:e=>{this.existingConfig=e;let n=this.deriveScopeFromConfig(e);this.scopeControl.setValue(n),this.applyConfigToForm(e),this.loadAuthSettingsForScope(n),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),console.warn(`[IntegrationForm] Could not load config '${t}' \u2014 navigating back`),this.navigateBack();}});}hydrateFromTemplate(t){this.isLoading.set(true),this.state.getById(t).pipe(U(this.destroyRef)).subscribe({next:e=>{this.applyConfigToForm(e),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});},error:e=>{console.warn(`[IntegrationForm] Could not hydrate from template ${t}:`,e),this.isLoading.set(false),this.router.navigate([],{relativeTo:this.route,queryParams:{template:null,templateScope:null},queryParamsHandling:"merge",replaceUrl:true});}});}applyConfigToForm(t){this.nameControl.setValue(t.name),this.descriptionControl.setValue(t.description??null),this.typeControl.setValue(t.integrationType),this.initialParams.set(t.parameters),this.paramsValue.set(t.parameters),this.authSettingNameControl.setValue(t.authSettingName??null),this.autoGrantControl.setValue(t.autoGrant??false);}loadAuthSettingsForScope(t){let e;switch(t){case "platform":e=this.authSettingState.loadPlatformSettings();break;case "namespace":e=this.authSettingState.loadNamespaceSettings(this.namespaceId);break;case "userOnNs":e=this.authSettingState.loadUserSettings(this.namespaceId);break;case "userGlobal":e=this.authSettingState.loadUserSettings("global");break}e.pipe(U(this.destroyRef)).subscribe({next:n=>{let s=n.map(m=>m.name).filter(Boolean);this.availableAuthSettings.set([...new Set(s)]);},error:()=>this.availableAuthSettings.set([])});}onParamsChange(t){this.paramsValue.set(t);}submit(){if(this.nameControl.invalid||this.typeControl.invalid||this.isSubmitting())return;if(this.isEditMode()&&!this.existingConfig?.id){this.navigateBack();return}this.isSubmitting.set(true);let t=this.descriptionControl.value?.trim(),e={name:this.nameControl.value.trim(),description:t||null,integrationType:this.typeControl.value,parameters:this.paramsValue(),authSettingName:this.authSettingNameControl.value||null,autoGrant:this.isAutoGrantable()&&this.autoGrantControl.value},n=this.form.getRawValue().scope;(this.isEditMode()&&this.existingConfig?.id?this.state.update(this.existingConfig.id,e,n,this.existingConfig):this.state.create(e,n,this.namespaceId??null)).pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(false)});}exportYaml(){let t=this.existingConfig?.id;!t||this.isExporting()||(this.isExporting.set(true),this.state.exportAsYaml(t).pipe(U(this.destroyRef)).subscribe({next:e=>{let n=new Blob([e],{type:"application/yaml"}),s=URL.createObjectURL(n),m=document.createElement("a");m.href=s,m.download=`${this.existingConfig?.name??"integration"}.yaml`,m.click(),URL.revokeObjectURL(s),this.isExporting.set(false);},error:()=>this.isExporting.set(false)}));}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","integration-configs"]):this.router.navigate(["/agentos",this.namespaceId,"integrations"]);}trackByType(t,e){return e.type}trackByScope(t,e){return e.value}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=xw({type:r,selectors:[["agentos-integration-form"]],decls:10,vars:2,consts:[[1,"integration-form"],[1,"integration-form__header"],["type","button","title","Back to integrations",1,"integration-form__back",3,"click"],[1,"integration-form__back-icon"],[1,"integration-form__title"],[1,"integration-form__loading"],[1,"integration-form__form",3,"formGroup"],[1,"integration-form__form",3,"ngSubmit","formGroup"],[1,"integration-form__field","integration-form__scope",3,"disabled"],[1,"integration-form__label"],[1,"integration-form__scope-option"],[1,"integration-form__field"],["for","integration-type",1,"integration-form__label"],["aria-hidden","true"],["id","integration-type",1,"integration-form__select",3,"formControl"],["value","","disabled",""],[3,"value"],["for","integration-name",1,"integration-form__label"],["id","integration-name","type","text","placeholder","Integration name","autocomplete","off",1,"integration-form__input",3,"formControl"],["for","integration-description",1,"integration-form__label"],["id","integration-description","placeholder","Optional description","rows","3",1,"integration-form__textarea",3,"formControl"],["for","integration-auth-setting",1,"integration-form__label"],["id","integration-auth-setting",1,"integration-form__select",3,"formControl"],[3,"ngValue"],[1,"integration-form__schema-form"],[1,"integration-form__actions"],["type","submit",1,"integration-form__btn","integration-form__btn--primary",3,"disabled"],["type","button",1,"integration-form__btn","integration-form__btn--export",3,"disabled"],["type","button",1,"integration-form__btn",3,"click"],["type","radio",3,"value","formControl","disabled"],[1,"integration-form__checkbox-row"],["type","checkbox",3,"formControl"],[1,"integration-form__hint"],[3,"valueChange","schema","value"],["type","button",1,"integration-form__btn","integration-form__btn--export",3,"click","disabled"]],template:function(e,n){e&1&&(ws(0,"div",0)(1,"header",1)(2,"button",2),Rg("click",function(){return n.cancel()}),ws(3,"span",3),GC(4,"\u2190"),pl(),GC(5," Integrations "),pl(),ws(6,"h1",4),GC(7),pl()(),Jw(8,le,2,0,"p",5)(9,ue,42,12,"form",6),pl()),e&2&&(XE(7),Yg(n.isEditMode()?"Edit integration":"New integration"),XE(),eC(n.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,wt,At,mn,Zn,Xn,Cn,En,nt],styles:[".integration-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.integration-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.integration-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-accent)}.integration-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.integration-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.integration-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.integration-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.integration-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.integration-form__scope[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--color-divider);border-radius:0;padding:.75rem 1rem;background:transparent;margin:0}.integration-form__scope[disabled][_ngcontent-%COMP%]{opacity:.6}.integration-form__scope-option[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text);cursor:pointer}.integration-form__scope-option[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]{margin:0}.integration-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.integration-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.integration-form__input[_ngcontent-%COMP%], .integration-form__textarea[_ngcontent-%COMP%], .integration-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.integration-form__input[_ngcontent-%COMP%]:focus, .integration-form__textarea[_ngcontent-%COMP%]:focus, .integration-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.integration-form__input[_ngcontent-%COMP%]::placeholder, .integration-form__textarea[_ngcontent-%COMP%]::placeholder, .integration-form__select[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.integration-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:4.5rem;line-height:1.5}.integration-form__select[_ngcontent-%COMP%]{cursor:pointer}.integration-form__select[_ngcontent-%COMP%] option[disabled][_ngcontent-%COMP%]{color:var(--color-text-secondary)}.integration-form__checkbox-row[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.integration-form__checkbox-row[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{margin:0}.integration-form__hint[_ngcontent-%COMP%]{margin:0;font-size:.8125rem;line-height:1.4;color:var(--color-text-secondary)}.integration-form__schema-form[_ngcontent-%COMP%]{padding:1rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface)}.integration-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.integration-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.integration-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.integration-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.integration-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.integration-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.integration-form__btn--export[_ngcontent-%COMP%]{border-color:var(--color-divider);color:var(--color-text-secondary)}.integration-form__btn--export[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}"]})};export{re as IntegrationFormComponent};