@whoz-oss/coday-client 0.144.0 → 0.144.2
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-DAJYRGSI.js → chunk-2WIZNY75.js} +1 -1
- package/browser/{chunk-ZYFM3FQS.js → chunk-3WSAZ5CJ.js} +1 -1
- package/browser/{chunk-VCBYXOEX.js → chunk-4B6WWUKB.js} +1 -1
- package/browser/{chunk-5DNF6SKR.js → chunk-66Q72EK5.js} +1 -1
- package/browser/{chunk-PLDORJDZ.js → chunk-7MTMEAW5.js} +1 -1
- package/browser/{chunk-XSX3UNOY.js → chunk-ARMANJS6.js} +1 -1
- package/browser/{chunk-ILLNR42O.js → chunk-BISLPWXC.js} +1 -1
- package/browser/{chunk-UZAJQI6M.js → chunk-BRCCB6H7.js} +1 -1
- package/browser/{chunk-DM4I6DXV.js → chunk-E3G6R3GZ.js} +1 -1
- package/browser/{chunk-IMBKNOTP.js → chunk-EL5VFUGV.js} +1 -1
- package/browser/{chunk-PDKEETOZ.js → chunk-FE2QUEAE.js} +1 -1
- package/browser/{chunk-Q6BUPFSX.js → chunk-FTUXYITR.js} +1 -1
- package/browser/{chunk-KURIGU2H.js → chunk-FY7JFXWI.js} +1 -1
- package/browser/{chunk-NYB2GRO2.js → chunk-G3FLRQOL.js} +1 -1
- package/browser/{chunk-DGEJNE5G.js → chunk-IDSFG476.js} +1 -1
- package/browser/{chunk-GMUVYHLH.js → chunk-IV62G3DN.js} +1 -1
- package/browser/{chunk-3VFQEECC.js → chunk-JVBN6LZN.js} +1 -1
- package/browser/{chunk-ZW5WSB7W.js → chunk-LBM2LAI4.js} +1 -1
- package/browser/{chunk-FCTNZTP7.js → chunk-LJNXMPVH.js} +1 -1
- package/browser/{chunk-4A4ATZKZ.js → chunk-OMPVYEWF.js} +1 -1
- package/browser/chunk-OQYNSZCT.js +1 -0
- package/browser/{chunk-SUT4HFT6.js → chunk-QILM5UIY.js} +1 -1
- package/browser/{chunk-R66QC5NO.js → chunk-RZJGBP6T.js} +1 -1
- package/browser/{chunk-VIM5JYUA.js → chunk-U2LEWOUD.js} +1 -1
- package/browser/{chunk-A73TNAB2.js → chunk-VJA2YUJF.js} +1 -1
- package/browser/{chunk-5XGLZABC.js → chunk-VWMCMODB.js} +1 -1
- package/browser/{chunk-4OZKVVXM.js → chunk-XOZI7E3H.js} +1 -1
- package/browser/{chunk-QZJHI2KP.js → chunk-Z4XRVREO.js} +1 -1
- package/browser/{chunk-7Q3PMYN7.js → chunk-ZJOG2VD7.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/{main-AWRIZYH2.js → main-TTEPDCGF.js} +1 -1
- package/package.json +1 -1
- package/browser/chunk-TCZAQN3J.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as $}from"./chunk-
|
|
1
|
+
import{d as $}from"./chunk-QILM5UIY.js";import{b as q,d as y}from"./chunk-LTFITYTW.js";import{p as h,u as F,v as z}from"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import{a as I}from"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import{Bb as u,Db as d,Fb as s,Gc as V,Ka as l,Pb as R,S as M,Tb as g,Ub as b,Wa as C,ab as E,ac as S,ca as c,dc as N,ec as O,ga as p,ha as m,hc as B,i as w,lb as _,ma as D,mb as v,oa as k,rb as f,sb as r,t as A,ta as T,tb as a}from"./chunk-RNXBUYHW.js";function U(i,t){if(i&1&&(r(0,"span",4),g(1),a()),i&2){let e=s();l(),b(e.config.baseUrl)}}function W(i,t){if(i&1){let e=u();r(0,"span",7),g(1,"Delete?"),a(),r(2,"ds-icon-button",8),d("action",function(){p(e);let o=s();return m(o.onDeleteConfirmed())}),a(),r(3,"ds-icon-button",9),d("action",function(){p(e);let o=s();return m(o.onDeleteCancelled())}),a()}}function G(i,t){if(i&1){let e=u();r(0,"ds-kebab-menu",10),d("itemSelected",function(o){p(e);let P=s();return m(P.onMenuAction(o))}),a()}if(i&2){let e=s();f("items",e.menuItems)}}var x=class i{router=c(y);config;namespaceId;deleteRequested=new k;pendingDelete=T(!1);menuItems=[{key:"edit",label:"Edit provider",icon:"edit"},{key:"delete",label:"Delete provider",icon:"delete",variant:"danger"}];onMenuAction(t){switch(t){case"edit":this.router.navigate(["/agentos",this.namespaceId,"ai-providers",this.config.id,"edit"]);break;case"delete":this.pendingDelete.set(!0);break}}onDeleteConfirmed(){this.pendingDelete.set(!1),this.deleteRequested.emit(this.config)}onDeleteCancelled(){this.pendingDelete.set(!1)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=C({type:i,selectors:[["agentos-ai-provider-item"]],inputs:{config:"config",namespaceId:"namespaceId"},outputs:{deleteRequested:"deleteRequested"},decls:10,vars:4,consts:[["role","listitem",1,"ai-provider-item"],[1,"ai-provider-item__body"],[1,"ai-provider-item__name"],[1,"ai-provider-item__type"],[1,"ai-provider-item__url"],[1,"ai-provider-item__actions"],[3,"items"],[1,"ai-provider-item__confirm-label"],["icon","check","variant","danger","title","Confirm deletion",3,"action"],["icon","close","title","Cancel deletion",3,"action"],[3,"itemSelected","items"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"span",2),g(3),a(),r(4,"span",3),g(5),a(),_(6,U,2,1,"span",4),a(),r(7,"div",5),_(8,W,4,0)(9,G,1,1,"ds-kebab-menu",6),a()()),e&2&&(l(3),b(n.config.name),l(2),b(n.config.apiType),l(),v(n.config.baseUrl?6:-1),l(2),v(n.pendingDelete()?8:9))},dependencies:[z,h],styles:[".ai-provider-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));transition:background .15s ease,border-color .15s ease}.ai-provider-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-color:var(--color-primary, #007aff)}.ai-provider-item__body[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.ai-provider-item__name[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--color-text, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-provider-item__type[_ngcontent-%COMP%]{font-size:.78rem;color:var(--color-text-secondary, #6e6e73);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-provider-item__url[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-provider-item__actions[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.ai-provider-item[_ngcontent-%COMP%]:hover .ai-provider-item__actions[_ngcontent-%COMP%], .ai-provider-item[_ngcontent-%COMP%]:focus-within .ai-provider-item__actions[_ngcontent-%COMP%]{opacity:1}.ai-provider-item__confirm-label[_ngcontent-%COMP%]{font-size:.8rem;font-weight:500;color:var(--color-error, #ff3b30);margin-right:.25rem;white-space:nowrap}"],changeDetection:0})};var H=()=>[];function J(i,t){if(i&1){let e=u();r(0,"agentos-ai-provider-item",4),d("deleteRequested",function(o){p(e);let P=s(2);return m(P.deleteConfig(o))}),a()}if(i&2){let e=s(2);f("config",t)("namespaceId",e.namespaceId)}}function Q(i,t){if(i&1&&_(0,J,1,2,"agentos-ai-provider-item",3),i&2){let e,n=t.$implicit,o=s();v((e=o.resolveConfig(n.id))?0:-1,e)}}var j=class i{route=c(q);router=c(y);destroyRef=c(D);aiProviderController=c($);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new w(void 0);configs$=this.refresh$.pipe(M(()=>this.aiProviderController.listByParentAiProvider(this.namespaceId)));configItems$=this.configs$.pipe(A(t=>t.map(e=>({id:e.id??"",name:e.name,description:e.apiType}))));configsById=new Map;constructor(){this.configs$.pipe(I(this.destroyRef)).subscribe(t=>{this.configsById=new Map(t.map(e=>[e.id??"",e]))})}goBack(){this.router.navigate(["/agentos","namespaces"])}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"ai-providers","new"])}deleteConfig(t){this.aiProviderController.deleteAiProvider(t.id??"").pipe(I(this.destroyRef)).subscribe(()=>this.refresh$.next())}resolveConfig(t){return this.configsById.get(t)??null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=C({type:i,selectors:[["agentos-namespace-ai-providers"]],decls:5,vars:6,consts:[["aiProviderItemTpl",""],["title","AI Providers","emptyMessage","No AI providers configured yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"config","namespaceId"],[3,"deleteRequested","config","namespaceId"]],template:function(e,n){if(e&1&&(r(0,"ds-entity-list",1),N(1,"async"),d("createRequested",function(){return n.openCreateForm()}),r(2,"ds-icon-button",2),d("action",function(){return n.goBack()}),a()(),E(3,Q,1,1,"ng-template",null,0,B)),e&2){let o=R(4);f("items",O(1,3,n.configItems$)??S(5,H))("showCreate",!0)("itemTemplate",o)}},dependencies:[F,x,h,V],encapsulation:2,changeDetection:0})};export{j as NamespaceAiProvidersComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as L,d as z}from"./chunk-
|
|
1
|
+
import{c as L,d as z}from"./chunk-QILM5UIY.js";import{b as F,d as y}from"./chunk-LTFITYTW.js";import{p as v,u as K,v as j}from"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import{a as x}from"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import{Bb as u,Db as s,Fb as l,Gc as $,Ka as p,Pb as T,S as P,Tb as f,Ub as I,Vb as E,Wa as g,ab as R,ac as O,ca as d,dc as B,ec as V,ga as m,ha as c,hc as q,i as w,lb as C,ma as k,mb as b,oa as N,rb as _,sb as a,t as A,ta as S,tb as r,u as D}from"./chunk-RNXBUYHW.js";function H(o,i){if(o&1){let e=u();a(0,"span",7),f(1,"Delete?"),r(),a(2,"ds-icon-button",8),s("action",function(){m(e);let t=l();return c(t.onDeleteConfirmed())}),r(),a(3,"ds-icon-button",9),s("action",function(){m(e);let t=l();return c(t.onDeleteCancelled())}),r()}}function J(o,i){if(o&1){let e=u();a(0,"ds-kebab-menu",10),s("itemSelected",function(t){m(e);let h=l();return c(h.onMenuAction(t))}),r()}if(o&2){let e=l();_("items",e.menuItems)}}var M=class o{router=d(y);model;namespaceId;deleteRequested=new N;pendingDelete=S(!1);menuItems=[{key:"edit",label:"Edit model",icon:"edit"},{key:"delete",label:"Delete model",icon:"delete",variant:"danger"}];get displayTitle(){return this.model.alias??this.model.apiModelName}onMenuAction(i){switch(i){case"edit":this.router.navigate(["/agentos",this.namespaceId,"ai-models",this.model.id,"edit"]);break;case"delete":this.pendingDelete.set(!0);break}}onDeleteConfirmed(){this.pendingDelete.set(!1),this.deleteRequested.emit(this.model)}onDeleteCancelled(){this.pendingDelete.set(!1)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=g({type:o,selectors:[["agentos-ai-model-item"]],inputs:{model:"model",namespaceId:"namespaceId"},outputs:{deleteRequested:"deleteRequested"},decls:12,vars:4,consts:[["role","listitem",1,"ai-model-item"],[1,"ai-model-item__body"],[1,"ai-model-item__name"],[1,"ai-model-item__api-name"],[1,"ai-model-item__params"],[1,"ai-model-item__actions"],[3,"items"],[1,"ai-model-item__confirm-label"],["icon","check","variant","danger","title","Confirm deletion",3,"action"],["icon","close","title","Cancel deletion",3,"action"],[3,"itemSelected","items"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"div",1)(2,"span",2),f(3),r(),a(4,"span",3),f(5),r(),a(6,"span",4)(7,"span"),f(8),r()()(),a(9,"div",5),C(10,H,4,0)(11,J,1,1,"ds-kebab-menu",6),r()()),e&2&&(p(3),I(n.displayTitle),p(2),I(n.model.apiModelName),p(3),E("priority: ",n.model.priority),p(2),b(n.pendingDelete()?10:11))},dependencies:[j,v],styles:[".ai-model-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));transition:background .15s ease,border-color .15s ease}.ai-model-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-color:var(--color-primary, #007aff)}.ai-model-item__body[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.ai-model-item__name[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--color-text, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-model-item__api-name[_ngcontent-%COMP%]{font-size:.78rem;color:var(--color-text-secondary, #6e6e73);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-model-item__params[_ngcontent-%COMP%]{display:flex;gap:.75rem;font-size:.75rem;color:var(--color-text-secondary, #6e6e73)}.ai-model-item__actions[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.ai-model-item[_ngcontent-%COMP%]:hover .ai-model-item__actions[_ngcontent-%COMP%], .ai-model-item[_ngcontent-%COMP%]:focus-within .ai-model-item__actions[_ngcontent-%COMP%]{opacity:1}.ai-model-item__confirm-label[_ngcontent-%COMP%]{font-size:.8rem;font-weight:500;color:var(--color-error, #ff3b30);margin-right:.25rem;white-space:nowrap}"],changeDetection:0})};var Q=()=>[];function X(o,i){if(o&1){let e=u();a(0,"agentos-ai-model-item",4),s("deleteRequested",function(t){m(e);let h=l(2);return c(h.deleteModel(t))}),r()}if(o&2){let e=l(2);_("model",i)("namespaceId",e.namespaceId)}}function Y(o,i){if(o&1&&C(0,X,1,2,"agentos-ai-model-item",3),o&2){let e,n=i.$implicit,t=l();b((e=t.resolveModel(n.id))?0:-1,e)}}var U=class o{route=d(F);router=d(y);destroyRef=d(k);aiModelController=d(L);aiProviderController=d(z);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new w(void 0);data$=this.refresh$.pipe(P(()=>D([this.aiModelController.listByNamespaceIdAiModel(this.namespaceId),this.aiProviderController.listByParentAiProvider(this.namespaceId)])));modelItems$=this.data$.pipe(A(([i,e])=>{let n=new Map(e.map(t=>[t.id??"",t.name]));return i.map(t=>({id:t.id??"",name:t.alias??t.apiModelName,description:t.apiModelName,groupKey:t.aiProviderId,groupLabel:n.get(t.aiProviderId)??t.aiProviderId}))}));modelsById=new Map;constructor(){this.data$.pipe(x(this.destroyRef)).subscribe(([i])=>{this.modelsById=new Map(i.map(e=>[e.id??"",e]))})}goBack(){this.router.navigate(["/agentos","namespaces"])}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"ai-models","new"])}deleteModel(i){this.aiModelController.deleteAiModel(i.id??"").pipe(x(this.destroyRef)).subscribe(()=>this.refresh$.next())}resolveModel(i){return this.modelsById.get(i)??null}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=g({type:o,selectors:[["agentos-namespace-ai-models"]],decls:5,vars:6,consts:[["aiModelItemTpl",""],["title","AI models","emptyMessage","No AI models configured yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"model","namespaceId"],[3,"deleteRequested","model","namespaceId"]],template:function(e,n){if(e&1&&(a(0,"ds-entity-list",1),B(1,"async"),s("createRequested",function(){return n.openCreateForm()}),a(2,"ds-icon-button",2),s("action",function(){return n.goBack()}),r()(),R(3,Y,1,1,"ng-template",null,0,q)),e&2){let t=T(4);_("items",V(1,3,n.modelItems$)??O(5,Q))("showCreate",!0)("itemTemplate",t)}},dependencies:[K,M,v,$],encapsulation:2,changeDetection:0})};export{U as NamespaceAiModelsComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./chunk-
|
|
1
|
+
import{c as a}from"./chunk-FY7JFXWI.js";import"./chunk-ZJOG2VD7.js";import"./chunk-66Q72EK5.js";import"./chunk-QILM5UIY.js";import"./chunk-LTFITYTW.js";import"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import"./chunk-RNXBUYHW.js";export{a as CaseShellComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as l}from"./chunk-
|
|
1
|
+
import{j as l}from"./chunk-QILM5UIY.js";import{V as o,Z as s,a as n,ca as a,ta as i}from"./chunk-RNXBUYHW.js";var u=class t{userController=a(l);currentUser=i(null);loadMe(){return this.userController.getMeUser().pipe(o(r=>this.currentUser.set(r)))}updateMe(r){let e=this.currentUser();if(!e)throw new Error("Cannot update: current user not loaded");if(!e.id)throw new Error("Cannot update: current user has no id");let c=n(n({},e),r);return this.userController.updateUser(e.id,c).pipe(o(d=>this.currentUser.set(d)))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=s({token:t,factory:t.\u0275fac,providedIn:"root"})};export{u as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as L}from"./chunk-
|
|
1
|
+
import{a as L}from"./chunk-JVBN6LZN.js";import{d as T}from"./chunk-LTFITYTW.js";import{p as q,u as E,v as D}from"./chunk-BOMZXZNH.js";import{a as U}from"./chunk-LCBWJP6Z.js";import{Bb as w,Db as a,Fb as m,Ka as d,Pb as R,Tb as C,Ub as h,Wa as c,ab as I,ca as p,ga as y,ha as b,hc as M,kc as S,lb as _,ma as x,mb as f,oa as v,rb as u,sb as r,tb as o}from"./chunk-RNXBUYHW.js";function O(i,e){if(i&1&&(r(0,"span",3),C(1),o()),i&2){let t=m();d(),h(t.subtitle)}}var g=class i{user;editRequested=new v;deleteRequested=new v;menuItems=[{key:"edit",label:"Edit user",icon:"edit"},{key:"delete",label:"Delete user",icon:"delete",variant:"danger"}];get displayName(){let{firstname:e,lastname:t,email:n}=this.user;return[e,t].filter(Boolean).join(" ")||n||"\u2014"}get subtitle(){return this.user.email??this.user.externalId??""}onMenuAction(e){switch(e){case"edit":this.editRequested.emit(this.user);break;case"delete":confirm(`Delete user "${this.displayName}"?`)&&this.deleteRequested.emit(this.user);break}}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=c({type:i,selectors:[["agentos-user-item"]],inputs:{user:"user"},outputs:{editRequested:"editRequested",deleteRequested:"deleteRequested"},decls:7,vars:3,consts:[["role","listitem",1,"user-item"],[1,"user-item__body"],[1,"user-item__name"],[1,"user-item__subtitle"],[1,"user-item__actions"],[3,"itemSelected","items"]],template:function(t,n){t&1&&(r(0,"div",0)(1,"div",1)(2,"span",2),C(3),o(),_(4,O,2,1,"span",3),o(),r(5,"div",4)(6,"ds-kebab-menu",5),a("itemSelected",function(l){return n.onMenuAction(l)}),o()()()),t&2&&(d(3),h(n.displayName),d(),f(n.subtitle?4:-1),d(2),u("items",n.menuItems))},dependencies:[D],styles:[".user-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;width:100%;padding:1rem 1.25rem;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:12px;box-sizing:border-box;overflow:hidden;position:relative}.user-item__body[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.user-item__name[_ngcontent-%COMP%]{font-size:.9375rem;font-weight:600;color:var(--color-text, #1d1d1f);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item__subtitle[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--color-text-secondary, #6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-item__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}"],changeDetection:0})};function B(i,e){if(i&1){let t=w();r(0,"agentos-user-item",4),a("editRequested",function(s){y(t);let l=m(2);return b(l.navigateToEdit(s))})("deleteRequested",function(s){y(t);let l=m(2);return b(l.deleteUser(s))}),o()}i&2&&u("user",e)}function P(i,e){if(i&1&&_(0,B,1,1,"agentos-user-item",3),i&2){let t,n=e.$implicit,s=m();f((t=s.resolveUser(n.id))?0:-1,t)}}var k=class i{router=p(T);destroyRef=p(x);userAdminState=p(L);isLoading=this.userAdminState.isLoading;userItems=S(()=>this.userAdminState.users().map(e=>({id:e.id??"",name:[e.firstname,e.lastname].filter(Boolean).join(" ")||e.email||"\u2014",description:e.email})));get usersById(){return new Map(this.userAdminState.users().map(e=>[e.id??"",e]))}ngOnInit(){this.userAdminState.loadAll().pipe(U(this.destroyRef)).subscribe()}goBack(){this.router.navigate(["/agentos"])}navigateToCreate(){this.router.navigate(["/agentos/admin/users/new"])}navigateToEdit(e){this.router.navigate(["/agentos/admin/users",e.id??"","edit"])}deleteUser(e){this.userAdminState.deleteUser(e.id??"").pipe(U(this.destroyRef)).subscribe()}resolveUser(e){return this.usersById.get(e)??null}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=c({type:i,selectors:[["agentos-user-list"]],decls:4,vars:3,consts:[["userItemTpl",""],["title","Users","emptyMessage","No users found.","cardMinWidth","320px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[3,"user"],[3,"editRequested","deleteRequested","user"]],template:function(t,n){if(t&1&&(r(0,"ds-entity-list",1),a("createRequested",function(){return n.navigateToCreate()}),r(1,"ds-icon-button",2),a("action",function(){return n.goBack()}),o()(),I(2,P,1,1,"ng-template",null,0,M)),t&2){let s=R(3);u("items",n.userItems())("showCreate",!0)("itemTemplate",s)}},dependencies:[E,g,q],encapsulation:2,changeDetection:0})};export{g as a,k as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ae}from"./chunk-DM4I6DXV.js";import{a as ie,b as re}from"./chunk-PLDORJDZ.js";import{a as oe}from"./chunk-3VFQEECC.js";import{a as te,b as ne}from"./chunk-4OZKVVXM.js";import{a as q}from"./chunk-OSX2KHVN.js";import{a as J,b as Q,c as X}from"./chunk-KURIGU2H.js";import{a as Y}from"./chunk-ZW5WSB7W.js";import{a as Z}from"./chunk-PDKEETOZ.js";import{a as ee}from"./chunk-GMUVYHLH.js";import{a as H,b as W}from"./chunk-7Q3PMYN7.js";import"./chunk-5DNF6SKR.js";import{a as N,e as z}from"./chunk-SUT4HFT6.js";import{b as T,d as F}from"./chunk-LTFITYTW.js";import{p as L}from"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import{Cb as S,Db as C,Eb as M,Fb as b,Gc as w,Ka as m,Rc as k,Tb as t,Ub as f,Wa as h,ca as p,dc as I,ec as O,kb as x,lb as g,mb as u,pb as y,qb as A,rb as E,sb as i,ta as _,tb as r,ub as P,vb as c,wb as d}from"./chunk-RNXBUYHW.js";var n=()=>!0;var le=[{path:"",loadComponent:()=>import("./chunk-WBRWLEC2.js").then(e=>e.AgentosShellComponent),children:[{path:":namespaceId/cases",canActivate:[n],loadComponent:()=>import("./chunk-VCBYXOEX.js").then(e=>e.CaseShellComponent),children:[{path:"",loadComponent:()=>import("./chunk-R66QC5NO.js").then(e=>e.CaseHomeComponent)},{path:":caseId",loadComponent:()=>import("./chunk-NYB2GRO2.js").then(e=>e.CaseChatComponent)}]},{path:"",loadComponent:()=>import("./chunk-TCZAQN3J.js").then(e=>e.LayoutComponent),children:[{path:"namespaces/new",canActivate:[n],loadComponent:()=>import("./chunk-DGEJNE5G.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces/:namespaceId/edit",canActivate:[n],loadComponent:()=>import("./chunk-DGEJNE5G.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces",canActivate:[n],loadComponent:()=>import("./chunk-ILLNR42O.js").then(e=>e.NamespaceListComponent)},{path:":namespaceId/integrations/new",canActivate:[n],loadComponent:()=>import("./chunk-4A4ATZKZ.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations/:integrationId/edit",canActivate:[n],loadComponent:()=>import("./chunk-4A4ATZKZ.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations",canActivate:[n],loadComponent:()=>import("./chunk-QZJHI2KP.js").then(e=>e.NamespaceIntegrationsComponent)},{path:":namespaceId/ai-providers/new",canActivate:[n],loadComponent:()=>import("./chunk-A73TNAB2.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers/:aiProviderId/edit",canActivate:[n],loadComponent:()=>import("./chunk-A73TNAB2.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers",canActivate:[n],loadComponent:()=>import("./chunk-DAJYRGSI.js").then(e=>e.NamespaceAiProvidersComponent)},{path:":namespaceId/ai-models/new",canActivate:[n],loadComponent:()=>import("./chunk-VIM5JYUA.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models/:modelId/edit",canActivate:[n],loadComponent:()=>import("./chunk-VIM5JYUA.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models",canActivate:[n],loadComponent:()=>import("./chunk-ZYFM3FQS.js").then(e=>e.NamespaceAiModelsComponent)},{path:":namespaceId/agent-configs/new",canActivate:[n],loadComponent:()=>import("./chunk-5XGLZABC.js").then(e=>e.AgentConfigFormComponent)},{path:":namespaceId/agent-configs/:agentConfigId/edit",canActivate:[n],loadComponent:()=>import("./chunk-5XGLZABC.js").then(e=>e.AgentConfigFormComponent)},{path:":namespaceId/agent-configs",canActivate:[n],loadComponent:()=>import("./chunk-UZAJQI6M.js").then(e=>e.NamespaceAgentConfigsComponent)},{path:"admin/users/new",canActivate:[n],loadComponent:()=>import("./chunk-Q6BUPFSX.js").then(e=>e.UserFormComponent)},{path:"admin/users/:userId/edit",canActivate:[n],loadComponent:()=>import("./chunk-Q6BUPFSX.js").then(e=>e.UserFormComponent)},{path:"admin/users",canActivate:[n],loadComponent:()=>import("./chunk-IMBKNOTP.js").then(e=>e.UserListComponent)},{path:"me",canActivate:[n],loadComponent:()=>import("./chunk-FCTNZTP7.js").then(e=>e.UserProfileComponent)},{path:"",redirectTo:"namespaces",pathMatch:"full"}]}]}];function V(e,a){e&1&&(c(0,"p",6),t(1,"No cases yet. Start one below."),d())}function K(e,a){if(e&1&&(c(0,"div",7)(1,"span",8),t(2),d(),c(3,"span",9),t(4),d()()),e&2){let o=a.$implicit;m(2),f(o.id),m(2),f(o.status)}}function $(e,a){if(e&1&&y(0,K,5,2,"div",7,x().trackById,!0),e&2){let o=b();A(o)}}function j(e,a){e&1&&g(0,V,2,0,"p",6)(1,$,2,0),e&2&&u(a.length===0?0:1)}var D=class e{http=p(k);router=p(F);route=p(T);config=p(N);caseController=p(z);namespaceId=this.route.snapshot.params.namespaceId;cases$=this.caseController.listByParentCase(this.namespaceId);inputValue=_("");onInput(a){this.inputValue.set(a.target.value)}onKeydown(a){a.key==="Enter"&&!a.shiftKey&&(a.preventDefault(),this.submit())}submit(){this.inputValue().trim()&&this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).subscribe(o=>{this.inputValue.set(""),this.router.navigate(["/agentos",this.namespaceId,"cases",o.id??""])})}trackById(a,o){return o.id??""}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=h({type:e,selectors:[["agentos-case-list"]],decls:11,vars:4,consts:[[1,"case-list"],[1,"case-list__header"],[1,"case-list__items"],[1,"case-list__composer"],["placeholder","Start a new case\u2026","rows","3",1,"case-list__input",3,"input","keydown","value"],[1,"case-list__hint"],[1,"case-list__empty"],[1,"case-list__item"],[1,"case-list__item-id"],[1,"case-list__item-status"]],template:function(o,s){if(o&1&&(c(0,"div",0)(1,"header",1)(2,"h2"),t(3,"Cases"),d()(),c(4,"div",2),g(5,j,2,1),I(6,"async"),d(),c(7,"div",3)(8,"textarea",4),M("input",function(v){return s.onInput(v)})("keydown",function(v){return s.onKeydown(v)}),d(),c(9,"p",5),t(10,"Press Enter to send, Shift+Enter for new line"),d()()()),o&2){let l;m(5),u((l=O(6,2,s.cases$))?5:-1,l),m(3),S("value",s.inputValue())}},dependencies:[w],styles:[".case-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;max-width:720px;margin:0 auto;padding:2rem;gap:1.5rem}.case-list__header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.case-list__items[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.case-list__empty[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-list__composer[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.case-list__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;box-sizing:border-box;transition:border-color .15s ease}.case-list__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.case-list__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-list__hint[_ngcontent-%COMP%]{margin:0;font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};function G(e,a){if(e&1&&(i(0,"p",11),t(1," Last action: "),i(2,"strong"),t(3),r()()),e&2){let o=b();m(3),f(o.lastAction())}}var R=class e{lastAction=_(null);onSend(){this.lastAction.set("send")}onStop(){this.lastAction.set("stop")}onAttach(){this.lastAction.set("attach")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=h({type:e,selectors:[["agentos-hello"]],decls:35,vars:2,consts:[[1,"hello-agentos"],[1,"card"],[1,"badge"],[1,"principles"],[1,"demo"],[1,"demo-label"],[1,"demo-buttons"],["icon","send","variant","primary","title","Send",3,"action"],["icon","stop","variant","danger","title","Stop",3,"action"],["icon","attach_file","variant","default","title","Attach",3,"action"],["icon","mic","variant","default","title","Record",3,"action","disabled"],[1,"demo-feedback"]],template:function(o,s){o&1&&(i(0,"div",0)(1,"div",1)(2,"div",2),t(3,"AgentOS UI"),r(),i(4,"h1"),t(5,"Hello AgentOS"),r(),i(6,"p"),t(7," This component lives in "),i(8,"code"),t(9,"libs/agentos-ui"),r(),t(10," \u2014 isolated from Coday internals, ready to be published as "),i(11,"code"),t(12,"@whoz-oss/agentos-ui"),r(),t(13,". "),r(),P(14,"agentos-backend-status"),i(15,"ul",3)(16,"li"),t(17,"\u2726 No imports from Coday app"),r(),i(18,"li"),t(19,"\u2726 CSS custom properties as host contract"),r(),i(20,"li"),t(21,"\u2726 Standalone Angular components"),r(),i(22,"li"),t(23,"\u2726 Signals-first reactive state"),r()(),i(24,"div",4)(25,"p",5),t(26,"ds-icon-button from "),i(27,"code"),t(28,"@whoz-oss/design-system"),r()(),i(29,"div",6)(30,"ds-icon-button",7),C("action",function(){return s.onSend()}),r(),i(31,"ds-icon-button",8),C("action",function(){return s.onStop()}),r(),i(32,"ds-icon-button",9),C("action",function(){return s.onAttach()}),r(),i(33,"ds-icon-button",10),C("action",function(){return s.onAttach()}),r()(),g(34,G,4,1,"p",11),r()()()),o&2&&(m(33),E("disabled",!0),m(),u(s.lastAction()?34:-1))},dependencies:[L,H],styles:['@charset "UTF-8";.hello-agentos[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.card[_ngcontent-%COMP%]{background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 32px 0 rgba(31, 38, 135, .15));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:20px;padding:3rem;max-width:480px;width:100%;text-align:center}.badge[_ngcontent-%COMP%]{display:inline-block;background:var(--color-primary, #007aff);color:var(--color-text-inverse, #ffffff);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;border-radius:100px;margin-bottom:1.5rem}h1[_ngcontent-%COMP%]{color:var(--color-text, #1d1d1f);font-size:2rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.02em}p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);line-height:1.6;margin:0 0 1.5rem}p[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.principles[_ngcontent-%COMP%]{list-style:none;margin:0 0 1.5rem;padding:0;text-align:left;display:flex;flex-direction:column;gap:.5rem}.principles[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;padding:.5rem .75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:8px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%]{border-top:1px solid var(--color-border-light, rgba(40, 40, 40, .08));padding-top:1.25rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.8rem;margin:0 0 .75rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.demo[_ngcontent-%COMP%] .demo-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:12px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%]{margin:.75rem 0 0;font-size:.85rem;color:var(--color-text-secondary, #6e6e73)}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--color-primary, #007aff)}']})};export{le as AGENTOS_ROUTES,q as AgentosShellComponent,H as BackendStatusComponent,Z as CaseChatComponent,Q as CaseDrawerComponent,Y as CaseHomeComponent,J as CaseItemComponent,D as CaseListComponent,X as CaseShellComponent,W as HeaderComponent,R as HelloAgentosComponent,ee as LayoutComponent,te as NamespaceItemComponent,ne as NamespaceListComponent,oe as UserAdminStateService,ae as UserFormComponent,ie as UserItemComponent,re as UserListComponent,n as agentosReadyGuard};
|
|
1
|
+
import{a as ae}from"./chunk-E3G6R3GZ.js";import{a as ie,b as re}from"./chunk-7MTMEAW5.js";import{a as oe}from"./chunk-JVBN6LZN.js";import{a as te,b as ne}from"./chunk-XOZI7E3H.js";import{a as q}from"./chunk-OSX2KHVN.js";import{a as J,b as Q,c as X}from"./chunk-FY7JFXWI.js";import{a as Y}from"./chunk-LBM2LAI4.js";import{a as Z}from"./chunk-FE2QUEAE.js";import{a as ee}from"./chunk-IV62G3DN.js";import{a as H,b as W}from"./chunk-ZJOG2VD7.js";import"./chunk-66Q72EK5.js";import{a as N,e as z}from"./chunk-QILM5UIY.js";import{b as T,d as F}from"./chunk-LTFITYTW.js";import{p as L}from"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import{Cb as S,Db as C,Eb as M,Fb as b,Gc as w,Ka as m,Rc as k,Tb as t,Ub as f,Wa as h,ca as p,dc as I,ec as O,kb as x,lb as g,mb as u,pb as y,qb as A,rb as E,sb as i,ta as _,tb as r,ub as P,vb as c,wb as d}from"./chunk-RNXBUYHW.js";var n=()=>!0;var le=[{path:"",loadComponent:()=>import("./chunk-WBRWLEC2.js").then(e=>e.AgentosShellComponent),children:[{path:":namespaceId/cases",canActivate:[n],loadComponent:()=>import("./chunk-4B6WWUKB.js").then(e=>e.CaseShellComponent),children:[{path:"",loadComponent:()=>import("./chunk-RZJGBP6T.js").then(e=>e.CaseHomeComponent)},{path:":caseId",loadComponent:()=>import("./chunk-G3FLRQOL.js").then(e=>e.CaseChatComponent)}]},{path:"",loadComponent:()=>import("./chunk-OQYNSZCT.js").then(e=>e.LayoutComponent),children:[{path:"namespaces/new",canActivate:[n],loadComponent:()=>import("./chunk-IDSFG476.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces/:namespaceId/edit",canActivate:[n],loadComponent:()=>import("./chunk-IDSFG476.js").then(e=>e.NamespaceFormComponent)},{path:"namespaces",canActivate:[n],loadComponent:()=>import("./chunk-BISLPWXC.js").then(e=>e.NamespaceListComponent)},{path:":namespaceId/integrations/new",canActivate:[n],loadComponent:()=>import("./chunk-OMPVYEWF.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations/:integrationId/edit",canActivate:[n],loadComponent:()=>import("./chunk-OMPVYEWF.js").then(e=>e.IntegrationFormComponent)},{path:":namespaceId/integrations",canActivate:[n],loadComponent:()=>import("./chunk-Z4XRVREO.js").then(e=>e.NamespaceIntegrationsComponent)},{path:":namespaceId/ai-providers/new",canActivate:[n],loadComponent:()=>import("./chunk-VJA2YUJF.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers/:aiProviderId/edit",canActivate:[n],loadComponent:()=>import("./chunk-VJA2YUJF.js").then(e=>e.AiProviderFormComponent)},{path:":namespaceId/ai-providers",canActivate:[n],loadComponent:()=>import("./chunk-2WIZNY75.js").then(e=>e.NamespaceAiProvidersComponent)},{path:":namespaceId/ai-models/new",canActivate:[n],loadComponent:()=>import("./chunk-U2LEWOUD.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models/:modelId/edit",canActivate:[n],loadComponent:()=>import("./chunk-U2LEWOUD.js").then(e=>e.AiModelFormComponent)},{path:":namespaceId/ai-models",canActivate:[n],loadComponent:()=>import("./chunk-3WSAZ5CJ.js").then(e=>e.NamespaceAiModelsComponent)},{path:":namespaceId/agent-configs/new",canActivate:[n],loadComponent:()=>import("./chunk-VWMCMODB.js").then(e=>e.AgentConfigFormComponent)},{path:":namespaceId/agent-configs/:agentConfigId/edit",canActivate:[n],loadComponent:()=>import("./chunk-VWMCMODB.js").then(e=>e.AgentConfigFormComponent)},{path:":namespaceId/agent-configs",canActivate:[n],loadComponent:()=>import("./chunk-BRCCB6H7.js").then(e=>e.NamespaceAgentConfigsComponent)},{path:"admin/users/new",canActivate:[n],loadComponent:()=>import("./chunk-FTUXYITR.js").then(e=>e.UserFormComponent)},{path:"admin/users/:userId/edit",canActivate:[n],loadComponent:()=>import("./chunk-FTUXYITR.js").then(e=>e.UserFormComponent)},{path:"admin/users",canActivate:[n],loadComponent:()=>import("./chunk-EL5VFUGV.js").then(e=>e.UserListComponent)},{path:"me",canActivate:[n],loadComponent:()=>import("./chunk-LJNXMPVH.js").then(e=>e.UserProfileComponent)},{path:"",redirectTo:"namespaces",pathMatch:"full"}]}]}];function V(e,a){e&1&&(c(0,"p",6),t(1,"No cases yet. Start one below."),d())}function K(e,a){if(e&1&&(c(0,"div",7)(1,"span",8),t(2),d(),c(3,"span",9),t(4),d()()),e&2){let o=a.$implicit;m(2),f(o.id),m(2),f(o.status)}}function $(e,a){if(e&1&&y(0,K,5,2,"div",7,x().trackById,!0),e&2){let o=b();A(o)}}function j(e,a){e&1&&g(0,V,2,0,"p",6)(1,$,2,0),e&2&&u(a.length===0?0:1)}var D=class e{http=p(k);router=p(F);route=p(T);config=p(N);caseController=p(z);namespaceId=this.route.snapshot.params.namespaceId;cases$=this.caseController.listByParentCase(this.namespaceId);inputValue=_("");onInput(a){this.inputValue.set(a.target.value)}onKeydown(a){a.key==="Enter"&&!a.shiftKey&&(a.preventDefault(),this.submit())}submit(){this.inputValue().trim()&&this.http.post(`${this.config.basePath}/api/cases`,{namespaceId:this.namespaceId,metadata:{}}).subscribe(o=>{this.inputValue.set(""),this.router.navigate(["/agentos",this.namespaceId,"cases",o.id??""])})}trackById(a,o){return o.id??""}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=h({type:e,selectors:[["agentos-case-list"]],decls:11,vars:4,consts:[[1,"case-list"],[1,"case-list__header"],[1,"case-list__items"],[1,"case-list__composer"],["placeholder","Start a new case\u2026","rows","3",1,"case-list__input",3,"input","keydown","value"],[1,"case-list__hint"],[1,"case-list__empty"],[1,"case-list__item"],[1,"case-list__item-id"],[1,"case-list__item-status"]],template:function(o,s){if(o&1&&(c(0,"div",0)(1,"header",1)(2,"h2"),t(3,"Cases"),d()(),c(4,"div",2),g(5,j,2,1),I(6,"async"),d(),c(7,"div",3)(8,"textarea",4),M("input",function(v){return s.onInput(v)})("keydown",function(v){return s.onKeydown(v)}),d(),c(9,"p",5),t(10,"Press Enter to send, Shift+Enter for new line"),d()()()),o&2){let l;m(5),u((l=O(6,2,s.cases$))?5:-1,l),m(3),S("value",s.inputValue())}},dependencies:[w],styles:[".case-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;max-width:720px;margin:0 auto;padding:2rem;gap:1.5rem}.case-list__header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.case-list__items[_ngcontent-%COMP%]{flex:1;overflow-y:auto}.case-list__empty[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-list__composer[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.case-list__input[_ngcontent-%COMP%]{width:100%;resize:none;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;box-sizing:border-box;transition:border-color .15s ease}.case-list__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.case-list__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-list__hint[_ngcontent-%COMP%]{margin:0;font-size:.75rem;color:var(--color-text-secondary, #6e6e73);opacity:.7}"]})};function G(e,a){if(e&1&&(i(0,"p",11),t(1," Last action: "),i(2,"strong"),t(3),r()()),e&2){let o=b();m(3),f(o.lastAction())}}var R=class e{lastAction=_(null);onSend(){this.lastAction.set("send")}onStop(){this.lastAction.set("stop")}onAttach(){this.lastAction.set("attach")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=h({type:e,selectors:[["agentos-hello"]],decls:35,vars:2,consts:[[1,"hello-agentos"],[1,"card"],[1,"badge"],[1,"principles"],[1,"demo"],[1,"demo-label"],[1,"demo-buttons"],["icon","send","variant","primary","title","Send",3,"action"],["icon","stop","variant","danger","title","Stop",3,"action"],["icon","attach_file","variant","default","title","Attach",3,"action"],["icon","mic","variant","default","title","Record",3,"action","disabled"],[1,"demo-feedback"]],template:function(o,s){o&1&&(i(0,"div",0)(1,"div",1)(2,"div",2),t(3,"AgentOS UI"),r(),i(4,"h1"),t(5,"Hello AgentOS"),r(),i(6,"p"),t(7," This component lives in "),i(8,"code"),t(9,"libs/agentos-ui"),r(),t(10," \u2014 isolated from Coday internals, ready to be published as "),i(11,"code"),t(12,"@whoz-oss/agentos-ui"),r(),t(13,". "),r(),P(14,"agentos-backend-status"),i(15,"ul",3)(16,"li"),t(17,"\u2726 No imports from Coday app"),r(),i(18,"li"),t(19,"\u2726 CSS custom properties as host contract"),r(),i(20,"li"),t(21,"\u2726 Standalone Angular components"),r(),i(22,"li"),t(23,"\u2726 Signals-first reactive state"),r()(),i(24,"div",4)(25,"p",5),t(26,"ds-icon-button from "),i(27,"code"),t(28,"@whoz-oss/design-system"),r()(),i(29,"div",6)(30,"ds-icon-button",7),C("action",function(){return s.onSend()}),r(),i(31,"ds-icon-button",8),C("action",function(){return s.onStop()}),r(),i(32,"ds-icon-button",9),C("action",function(){return s.onAttach()}),r(),i(33,"ds-icon-button",10),C("action",function(){return s.onAttach()}),r()(),g(34,G,4,1,"p",11),r()()()),o&2&&(m(33),E("disabled",!0),m(),u(s.lastAction()?34:-1))},dependencies:[L,H],styles:['@charset "UTF-8";.hello-agentos[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.card[_ngcontent-%COMP%]{background:var(--glass-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-border, rgba(255, 255, 255, .18));box-shadow:var(--glass-shadow, 0 8px 32px 0 rgba(31, 38, 135, .15));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-radius:20px;padding:3rem;max-width:480px;width:100%;text-align:center}.badge[_ngcontent-%COMP%]{display:inline-block;background:var(--color-primary, #007aff);color:var(--color-text-inverse, #ffffff);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .75rem;border-radius:100px;margin-bottom:1.5rem}h1[_ngcontent-%COMP%]{color:var(--color-text, #1d1d1f);font-size:2rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.02em}p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);line-height:1.6;margin:0 0 1.5rem}p[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.principles[_ngcontent-%COMP%]{list-style:none;margin:0 0 1.5rem;padding:0;text-align:left;display:flex;flex-direction:column;gap:.5rem}.principles[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;padding:.5rem .75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:8px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%]{border-top:1px solid var(--color-border-light, rgba(40, 40, 40, .08));padding-top:1.25rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.8rem;margin:0 0 .75rem}.demo[_ngcontent-%COMP%] .demo-label[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background:var(--color-code-bg, rgba(142, 142, 147, .12));color:var(--color-code-text, #ff375f);padding:.125rem .375rem;border-radius:6px;font-size:.875em;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.demo[_ngcontent-%COMP%] .demo-buttons[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-radius:12px;border:1px solid var(--color-border-light, rgba(40, 40, 40, .08))}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%]{margin:.75rem 0 0;font-size:.85rem;color:var(--color-text-secondary, #6e6e73)}.demo[_ngcontent-%COMP%] .demo-feedback[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--color-primary, #007aff)}']})};export{le as AGENTOS_ROUTES,q as AgentosShellComponent,H as BackendStatusComponent,Z as CaseChatComponent,Q as CaseDrawerComponent,Y as CaseHomeComponent,J as CaseItemComponent,D as CaseListComponent,X as CaseShellComponent,W as HeaderComponent,R as HelloAgentosComponent,ee as LayoutComponent,te as NamespaceItemComponent,ne as NamespaceListComponent,oe as UserAdminStateService,ae as UserFormComponent,ie as UserItemComponent,re as UserListComponent,n as agentosReadyGuard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as a}from"./chunk-
|
|
1
|
+
import{b as a}from"./chunk-XOZI7E3H.js";import"./chunk-QILM5UIY.js";import"./chunk-LTFITYTW.js";import"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import"./chunk-RNXBUYHW.js";export{a as NamespaceListComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as B}from"./chunk-
|
|
1
|
+
import{b as B}from"./chunk-QILM5UIY.js";import{b as q,d as v}from"./chunk-LTFITYTW.js";import{p as $,u as z,v as F}from"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import{a as I}from"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import{Bb as u,Db as s,Fb as c,Gc as V,Ka as g,Pb as R,S as M,Tb as l,Ub as y,Wa as b,ab as P,ac as S,ca as m,dc as T,ec as N,ga as d,ha as p,hc as O,i as w,lb as f,ma as k,mb as _,oa as D,rb as C,sb as a,t as A,ta as E,tb as r}from"./chunk-RNXBUYHW.js";function U(t,n){if(t&1&&(a(0,"span",3),l(1),r()),t&2){let e=c();g(),y(e.config.modelName)}}function W(t,n){if(t&1&&(a(0,"span",4),l(1),r()),t&2){let e=c();g(),y(e.config.description)}}function G(t,n){if(t&1){let e=u();a(0,"span",7),l(1,"Delete?"),r(),a(2,"ds-icon-button",8),s("action",function(){d(e);let o=c();return p(o.onDeleteConfirmed())}),r(),a(3,"ds-icon-button",9),s("action",function(){d(e);let o=c();return p(o.onDeleteCancelled())}),r()}}function H(t,n){if(t&1){let e=u();a(0,"ds-kebab-menu",10),s("itemSelected",function(o){d(e);let x=c();return p(x.onMenuAction(o))}),r()}if(t&2){let e=c();C("items",e.menuItems)}}var h=class t{router=m(v);config;namespaceId;deleteRequested=new D;pendingDelete=E(!1);menuItems=[{key:"edit",label:"Edit agent config",icon:"edit"},{key:"delete",label:"Delete agent config",icon:"delete",variant:"danger"}];onMenuAction(n){switch(n){case"edit":this.router.navigate(["/agentos",this.namespaceId,"agent-configs",this.config.id,"edit"]);break;case"delete":this.pendingDelete.set(!0);break}}onDeleteConfirmed(){this.pendingDelete.set(!1),this.deleteRequested.emit(this.config)}onDeleteCancelled(){this.pendingDelete.set(!1)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["agentos-agent-config-item"]],inputs:{config:"config",namespaceId:"namespaceId"},outputs:{deleteRequested:"deleteRequested"},decls:9,vars:4,consts:[["role","listitem",1,"agent-config-item"],[1,"agent-config-item__body"],[1,"agent-config-item__name"],[1,"agent-config-item__model"],[1,"agent-config-item__description"],[1,"agent-config-item__actions"],[3,"items"],[1,"agent-config-item__confirm-label"],["icon","check","variant","danger","title","Confirm deletion",3,"action"],["icon","close","title","Cancel deletion",3,"action"],[3,"itemSelected","items"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div",1)(2,"span",2),l(3),r(),f(4,U,2,1,"span",3),f(5,W,2,1,"span",4),r(),a(6,"div",5),f(7,G,4,0)(8,H,1,1,"ds-kebab-menu",6),r()()),e&2&&(g(3),y(i.config.name),g(),_(i.config.modelName?4:-1),g(),_(i.config.description?5:-1),g(2),_(i.pendingDelete()?7:8))},dependencies:[F,$],styles:[".agent-config-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));background:var(--glass-bg, rgba(255, 255, 255, .72));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));backdrop-filter:var(--glass-backdrop-blur, blur(20px));transition:background .15s ease,border-color .15s ease}.agent-config-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-color:var(--color-primary, #007aff)}.agent-config-item__body[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.agent-config-item__name[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--color-text, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__model[_ngcontent-%COMP%]{font-size:.78rem;color:var(--color-text-secondary, #6e6e73);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__description[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-config-item__actions[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.agent-config-item[_ngcontent-%COMP%]:hover .agent-config-item__actions[_ngcontent-%COMP%], .agent-config-item[_ngcontent-%COMP%]:focus-within .agent-config-item__actions[_ngcontent-%COMP%]{opacity:1}.agent-config-item__confirm-label[_ngcontent-%COMP%]{font-size:.8rem;font-weight:500;color:var(--color-error, #ff3b30);margin-right:.25rem;white-space:nowrap}"],changeDetection:0})};var J=()=>[];function Q(t,n){if(t&1){let e=u();a(0,"agentos-agent-config-item",4),s("deleteRequested",function(o){d(e);let x=c(2);return p(x.deleteConfig(o))}),r()}if(t&2){let e=c(2);C("config",n)("namespaceId",e.namespaceId)}}function X(t,n){if(t&1&&f(0,Q,1,2,"agentos-agent-config-item",3),t&2){let e,i=n.$implicit,o=c();_((e=o.resolveConfig(i.id))?0:-1,e)}}var j=class t{route=m(q);router=m(v);destroyRef=m(k);agentConfigController=m(B);namespaceId=this.route.snapshot.params.namespaceId;refresh$=new w(void 0);configs$=this.refresh$.pipe(M(()=>this.agentConfigController.listByParentAgentConfig(this.namespaceId)));configItems$=this.configs$.pipe(A(n=>n.map(e=>({id:e.id??"",name:e.name,description:e.description}))));configsById=new Map;constructor(){this.configs$.pipe(I(this.destroyRef)).subscribe(n=>{this.configsById=new Map(n.map(e=>[e.id??"",e]))})}goBack(){this.router.navigate(["/agentos","namespaces"])}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"agent-configs","new"])}deleteConfig(n){this.agentConfigController.deleteAgentConfig(n.id??"").pipe(I(this.destroyRef)).subscribe(()=>this.refresh$.next())}resolveConfig(n){return this.configsById.get(n)??null}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=b({type:t,selectors:[["agentos-namespace-agent-configs"]],decls:6,vars:6,consts:[["agentConfigItemTpl",""],["title","Agent Configs","emptyMessage","No agent configs defined yet. Add one above.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","type","button",1,"namespace-agent-configs__back",3,"click"],[3,"config","namespaceId"],[3,"deleteRequested","config","namespaceId"]],template:function(e,i){if(e&1&&(a(0,"ds-entity-list",1),T(1,"async"),s("createRequested",function(){return i.openCreateForm()}),a(2,"button",2),s("click",function(){return i.goBack()}),l(3," \u2190 Namespaces "),r()(),P(4,X,1,1,"ng-template",null,0,O)),e&2){let o=R(5);C("items",N(1,3,i.configItems$)??S(5,J))("showCreate",!0)("itemTemplate",o)}},dependencies:[z,h,V],styles:[".namespace-agent-configs__back[_ngcontent-%COMP%]{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.namespace-agent-configs__back[_ngcontent-%COMP%]:hover{text-decoration:underline}"],changeDetection:0})};export{j as NamespaceAgentConfigsComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as G}from"./chunk-
|
|
1
|
+
import{a as G}from"./chunk-JVBN6LZN.js";import{a as T}from"./chunk-66Q72EK5.js";import{b as I,d as w}from"./chunk-LTFITYTW.js";import{a as _}from"./chunk-LCBWJP6Z.js";import{D as R,b as A,c as N,e as C,g as F,h as U,i as z,l as d,n as D,t as V,u as L}from"./chunk-DLU3TQID.js";import{Bb as P,Db as f,Fb as c,Ka as l,Tb as n,Ub as y,Vb as k,Wa as O,ca as u,ga as p,ha as g,lb as x,ma as E,mb as v,rb as h,sb as r,ta as b,tb as e,ub as m}from"./chunk-RNXBUYHW.js";function q(a,i){a&1&&(r(0,"p",5),n(1,"Loading\u2026"),e())}function $(a,i){if(a&1&&(r(0,"span",13),n(1),e()),a&2){let t=c(2);l(),y(t.form.controls.email.value)}}function j(a,i){a&1&&m(0,"input",14)}function H(a,i){if(a&1){let t=P();r(0,"form",7),f("ngSubmit",function(){p(t);let s=c();return g(s.save())}),r(1,"div",8)(2,"h2",9),n(3,"Identity"),e(),r(4,"div",10)(5,"label",11),n(6,"Email "),r(7,"span",12),n(8,"*"),e()(),x(9,$,2,1,"span",13)(10,j,1,0,"input",14),e(),r(11,"div",10)(12,"label",15),n(13,"External ID"),e(),m(14,"input",16),e()(),r(15,"div",8)(16,"h2",9),n(17,"Profile"),e(),r(18,"div",10)(19,"label",17),n(20,"First name"),e(),m(21,"input",18),e(),r(22,"div",10)(23,"label",19),n(24,"Last name"),e(),m(25,"input",20),e(),r(26,"div",21)(27,"label",22),n(28,"Bio"),e(),m(29,"textarea",23),e()(),r(30,"div",8)(31,"h2",9),n(32,"Permissions"),e(),r(33,"div",24),m(34,"input",25),r(35,"label",26),n(36," Super admin (full access to AgentOS) "),e()()(),r(37,"div",27)(38,"button",28),n(39),e(),r(40,"button",29),f("click",function(){p(t);let s=c();return g(s.cancel())}),n(41,"Cancel"),e()()()}if(a&2){let t=c();h("formGroup",t.form),l(9),v(t.isEditMode?9:10),l(29),h("disabled",t.form.invalid||t.isSaving()),l(),k(" ",t.isSaving()?"Saving\u2026":t.isEditMode?"Save changes":"Create user"," ")}}var B=class a{route=u(I);router=u(w);destroyRef=u(E);userAdminState=u(G);userState=u(T);userId=this.route.snapshot.params.userId;isEditMode=!!this.userId;isSaving=b(!1);isLoading=b(!1);form=new z({email:new d("",{nonNullable:!0,validators:[C.required,C.email]}),externalId:new d("",{nonNullable:!0}),firstname:new d("",{nonNullable:!0}),lastname:new d("",{nonNullable:!0}),bio:new d("",{nonNullable:!0}),isAdmin:new d(!1,{nonNullable:!0})});ngOnInit(){if(!this.isEditMode)return;let i=()=>{this.userState.currentUser()?.id===this.userId&&this.form.controls.isAdmin.disable()};this.userState.currentUser()?i():this.userState.loadMe().pipe(_(this.destroyRef)).subscribe({next:()=>i(),error:()=>this.form.controls.isAdmin.disable()});let t=this.userAdminState.users().find(o=>o.id===this.userId);if(t){this.syncForm(t),this.form.controls.email.disable();return}this.isLoading.set(!0),this.userAdminState.loadAll().pipe(_(this.destroyRef)).subscribe({next:()=>{let o=this.userAdminState.users().find(s=>s.id===this.userId);o&&(this.syncForm(o),this.form.controls.email.disable()),this.isLoading.set(!1)},error:()=>this.isLoading.set(!1)})}get title(){return this.isEditMode?"Edit user":"New user"}save(){if(this.form.invalid||this.isSaving())return;this.isSaving.set(!0);let{email:i,externalId:t,firstname:o,lastname:s,bio:S,isAdmin:M}=this.form.getRawValue();(this.isEditMode?this.userAdminState.updateUser(this.userId,{externalId:t||void 0,firstname:o||void 0,lastname:s||void 0,bio:S||void 0,isAdmin:M}):this.userAdminState.createUser({email:i||void 0,externalId:t||void 0,firstname:o||void 0,lastname:s||void 0,bio:S||void 0,isAdmin:M})).pipe(_(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSaving.set(!1)})}cancel(){this.navigateBack()}navigateBack(){this.router.navigate(["/agentos/admin/users"])}syncForm(i){this.form.setValue({email:i.email??"",externalId:i.externalId??"",firstname:i.firstname??"",lastname:i.lastname??"",bio:i.bio??"",isAdmin:i.isAdmin??!1})}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=O({type:a,selectors:[["agentos-user-form"]],decls:10,vars:2,consts:[[1,"user-form"],[1,"user-form__header"],["type","button","title","Back to users",1,"user-form__back",3,"click"],[1,"user-form__back-icon"],[1,"user-form__title"],[1,"user-form__loading"],[1,"user-form__body",3,"formGroup"],[1,"user-form__body",3,"ngSubmit","formGroup"],[1,"user-form__section"],[1,"user-form__section-title"],[1,"user-form__field"],["for","uf-email",1,"user-form__label"],[1,"user-form__required"],[1,"user-form__value","user-form__value--readonly"],["id","uf-email","type","email","placeholder","user@example.com","formControlName","email","autocomplete","email",1,"user-form__input"],["for","uf-externalId",1,"user-form__label"],["id","uf-externalId","type","text","placeholder","External identifier","formControlName","externalId",1,"user-form__input"],["for","uf-firstname",1,"user-form__label"],["id","uf-firstname","type","text","placeholder","First name","formControlName","firstname","autocomplete","given-name",1,"user-form__input"],["for","uf-lastname",1,"user-form__label"],["id","uf-lastname","type","text","placeholder","Last name","formControlName","lastname","autocomplete","family-name",1,"user-form__input"],[1,"user-form__field","user-form__field--bio"],["for","uf-bio",1,"user-form__label"],["id","uf-bio","placeholder","A short description","formControlName","bio","rows","4",1,"user-form__input","user-form__input--textarea"],[1,"user-form__field","user-form__field--checkbox"],["id","uf-isAdmin","type","checkbox","formControlName","isAdmin",1,"user-form__checkbox"],["for","uf-isAdmin",1,"user-form__label","user-form__label--checkbox"],[1,"user-form__actions"],["type","submit",1,"user-form__btn","user-form__btn--primary",3,"disabled"],["type","button",1,"user-form__btn",3,"click"]],template:function(t,o){t&1&&(r(0,"div",0)(1,"header",1)(2,"button",2),f("click",function(){return o.cancel()}),r(3,"span",3),n(4,"\u2190"),e(),n(5," Users "),e(),r(6,"h1",4),n(7),e()(),x(8,q,2,0,"p",5)(9,H,42,4,"form",6),e()),t&2&&(l(7),y(o.title),l(),v(o.isLoading()?8:9))},dependencies:[R,D,N,A,F,U,L,V],styles:[".user-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.user-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.user-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}.user-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.user-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.user-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.user-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.user-form__body[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem}.user-form__section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.user-form__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-form__field[_ngcontent-%COMP%]{display:grid;grid-template-columns:140px 1fr;align-items:baseline;gap:.75rem}.user-form__field--bio[_ngcontent-%COMP%]{align-items:start}.user-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #6e6e73);white-space:nowrap}.user-form__required[_ngcontent-%COMP%]{color:var(--color-error, #ff3b30)}.user-form__value[_ngcontent-%COMP%]{font-size:.9375rem;color:var(--color-text, #1d1d1f)}.user-form__value--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.875rem}.user-form__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-form__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.user-form__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.user-form__input--textarea[_ngcontent-%COMP%]{line-height:1.5;resize:vertical}.user-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.user-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}.user-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.user-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.user-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.user-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{B as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as a}from"./chunk-
|
|
1
|
+
import{b as a}from"./chunk-7MTMEAW5.js";import"./chunk-JVBN6LZN.js";import"./chunk-QILM5UIY.js";import"./chunk-LTFITYTW.js";import"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import"./chunk-RNXBUYHW.js";export{a as UserListComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as K}from"./chunk-SUT4HFT6.js";import{b as H}from"./chunk-LTFITYTW.js";import{p as Y}from"./chunk-BOMZXZNH.js";import{a as Q}from"./chunk-LCBWJP6Z.js";import{Bb as E,Db as f,Fb as d,Jb as B,Ka as l,Kb as M,Lb as O,Ma as D,Rb as I,Rc as $,Tb as p,Ub as C,Wa as F,ca as y,ga as T,ha as S,jb as q,kc as P,lb as g,ma as N,mb as h,pa as A,pb as L,qb as V,rb as k,sb as i,ta as v,tb as s,ua as w,ub as z}from"./chunk-RNXBUYHW.js";var U=["composerInput"],J=["messagesContainer"],Z=(o,e)=>e.kind==="message"?e.event.id:e.kind==="tool"?e.call.requestId:"streaming";function W(o,e){o&1&&(i(0,"div",4)(1,"p"),p(2,"No messages yet."),s()())}function X(o,e){if(o&1&&(i(0,"div",16)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);I("case-chat__message--user",t.event.actor.role==="USER")("case-chat__message--agent",t.event.actor.role==="AGENT"),l(2),C(t.event.actor.displayName),l(2),C(n.extractText(t.event))}}function ee(o,e){if(o&1&&(i(0,"div",14)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);l(2),C(n.agentDisplayName()),l(2),C(t.text)}}function te(o,e){o&1&&p(0," \u23F3 ")}function ne(o,e){o&1&&p(0," \u2705 ")}function oe(o,e){o&1&&p(0," \u274C ")}function ae(o,e){if(o&1&&(i(0,"div",25)(1,"span",26),p(2,"Payload"),s(),i(3,"pre"),p(4),s()()),o&2){let t=d(3).$implicit;l(4),C(t.call.args)}}function ie(o,e){o&1&&(i(0,"pre"),p(1),s()),o&2&&(l(),C(e))}function se(o,e){o&1&&(i(0,"span",27),p(1,"Running\u2026"),s())}function re(o,e){o&1&&(i(0,"span",28),p(1,"No output"),s())}function le(o,e){if(o&1&&(i(0,"div",24),g(1,ae,5,1,"div",25),i(2,"div",25)(3,"span",26),p(4,"Output"),s(),g(5,ie,2,1,"pre")(6,se,2,0,"span",27)(7,re,2,0,"span",28),s()()),o&2){let t,n=d(2).$implicit,a=d(2);l(),h(n.call.args?1:-1),l(4),h((t=a.extractToolOutput(n.call))?5:n.call.response?7:6,t)}}function ce(o,e){if(o&1){let t=E();i(0,"div",19)(1,"button",20),f("click",function(){T(t);let a=d().$implicit,_=d(2);return S(_.toggleToolCall(a.call.requestId))}),i(2,"span",21),g(3,te,1,0)(4,ne,1,0)(5,oe,1,0),s(),i(6,"span",22),p(7),s(),i(8,"span",23),p(9),s()(),g(10,le,8,2,"div",24),s()}if(o&2){let t=d().$implicit,n=d(2);I("case-chat__tool-call--pending",!t.call.response)("case-chat__tool-call--success",(t.call.response==null?null:t.call.response.success)===!0)("case-chat__tool-call--error",(t.call.response==null?null:t.call.response.success)===!1),l(),q("aria-expanded",n.isToolCallExpanded(t.call.requestId)),l(2),h(t.call.response?t.call.response.success?4:5:3),l(4),C(t.call.toolName),l(2),C(n.isToolCallExpanded(t.call.requestId)?"\u25BC":"\u25B6"),l(),h(n.isToolCallExpanded(t.call.requestId)?10:-1)}}function de(o,e){if(o&1&&g(0,X,5,6,"div",13)(1,ee,5,2,"div",14)(2,ce,11,11,"div",15),o&2){let t=e.$implicit;h(t.kind==="message"?0:t.kind==="streaming"?1:2)}}function pe(o,e){if(o&1&&L(0,de,3,1,null,null,Z),o&2){let t=d();V(t.timeline())}}function me(o,e){o&1&&(i(0,"div",5),z(1,"span",29)(2,"span",29)(3,"span",29),s())}function _e(o,e){if(o&1){let t=E();i(0,"div",6)(1,"ds-icon-button",30),f("action",function(){T(t);let a=d();return S(a.onScrollToBottomClick())}),s()()}}function ue(o,e){if(o&1){let t=E();i(0,"ds-icon-button",31),f("action",function(){T(t);let a=d();return S(a.interrupt())}),s()}}function ge(o,e){if(o&1){let t=E();i(0,"ds-icon-button",32),f("action",function(){T(t);let a=d();return S(a.submit())}),s()}if(o&2){let t=d();k("disabled",!t.canSend)}}var he=64,j=class o{route=y(H);http=y($);zone=y(A);destroyRef=y(N);config=y(K);caseId=this.route.snapshot.params.caseId;namespaceId=this.route.snapshot.params.namespaceId;agentDisplayName=P(()=>{let e=this.events();for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type==="AgentRunningEvent"||n.type==="AgentSelectedEvent"||n.type==="AgentFinishedEvent"){let a=n.agentName;if(a&&a.trim().length>0)return a}if(n.type==="MessageEvent"){let a=n;if(a.actor?.role==="AGENT"&&a.actor.displayName)return a.actor.displayName}}}return"Assistant"});eventSource=null;composerInput;messagesContainer;events=v([]);inputValue=v("");isRunning=v(!1);isTerminal=v(!1);streamingText=v("");collapsedTools=v(new Set);isAtBottom=v(!0);scrollListenerCleanup=null;constructor(){w(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>this.composerInput?.nativeElement.focus())}),w(()=>{this.timeline(),this.streamingText(),this.isAtBottom()&&queueMicrotask(()=>this.scrollToBottom())}),D(()=>{this.attachScrollListener()})}timeline=P(()=>{let e=this.events(),t=this.streamingText(),n=new Map;for(let c of e)if(c.type==="ToolRequestEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:m.toolName??"unknown",args:m.args??null,response:x?.response})}else if(c.type==="ToolResponseEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:x?.toolName??m.toolName??"unknown",args:x?.args??null,response:m})}let a=[],_=new Set;for(let c of e)if(c.type==="MessageEvent")a.push({kind:"message",event:c});else if(c.type==="ToolRequestEvent"||c.type==="ToolResponseEvent"){let r=c.toolRequestId??c.id;_.has(r)||(_.add(r),a.push({kind:"tool",call:n.get(r)}))}return t.trim().length>0&&a.push({kind:"streaming",text:t}),a});get canSend(){return!!this.inputValue().trim()&&!this.isRunning()&&!this.isTerminal()}ngOnInit(){this.connectSse(),this.route.params.pipe(Q(this.destroyRef)).subscribe(e=>{let t=e.caseId;t&&t!==this.caseId&&(this.caseId=t,this.reinitialise())})}ngOnDestroy(){this.eventSource?.close(),this.scrollListenerCleanup?.()}attachScrollListener(){let e=this.messagesContainer?.nativeElement;if(!e)return;let t=()=>{let n=e.scrollHeight-e.scrollTop-e.clientHeight;this.isAtBottom.set(n<=he)};e.addEventListener("scroll",t,{passive:!0}),this.scrollListenerCleanup=()=>e.removeEventListener("scroll",t)}scrollToBottom(){let e=this.messagesContainer?.nativeElement;e&&(e.scrollTop=e.scrollHeight)}onScrollToBottomClick(){this.isAtBottom.set(!0),this.scrollToBottom()}connectSse(){let e=`${this.config.basePath}/api/cases/${this.caseId}/events`;console.log("[AgentOS SSE] connecting",{url:e,basePath:this.config.basePath,caseId:this.caseId,namespaceId:this.namespaceId,now:new Date().toISOString()}),this.eventSource=this.zone.runOutsideAngular(()=>new EventSource(e));let t=a=>{let _=performance.now(),c=a.type,m=a.data;console.log("[AgentOS SSE] frame received",{sseEventName:c,dataLength:m?.length??0,dataPreview:m?.slice(0,120),receivedAtMs:_});try{let r=JSON.parse(m);this.zone.run(()=>{let x=this.events().length;this.events.update(u=>u.some(b=>b.id===r.id)?u:[...u,r]);let G=this.events().length;if(console.log("[AgentOS SSE] event processed",{sseEventName:c,eventType:r.type,eventId:r.id,beforeLen:x,afterLen:G,running:this.isRunning(),terminal:this.isTerminal()}),r.type==="TextChunkEvent"){let u=r.chunk;u&&this.streamingText.update(b=>b+u);return}if(r.type==="CaseStatusEvent"){let u=r.status,b=u==="KILLED"||u==="ERROR";if(this.isTerminal.set(b),b)this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null;else{let R=u==="RUNNING";this.isRunning.set(R),R||this.streamingText.set("")}return}if(r.type==="AgentFinishedEvent"){this.isRunning.set(!1),this.streamingText.set("");return}})}catch(r){console.warn("[AgentOS SSE] failed to parse event data",{sseEventName:c,error:r,dataPreview:m?.slice(0,500)})}},n=["MessageEvent","CaseStatusEvent","AgentSelectedEvent","AgentRunningEvent","AgentFinishedEvent","ThinkingEvent","TextChunkEvent","ToolRequestEvent","ToolResponseEvent"];for(let a of n)console.log("[AgentOS SSE] addEventListener",a),this.eventSource.addEventListener(a,t);this.eventSource.onopen=()=>{console.log("[AgentOS SSE] connection open",{readyState:this.eventSource?.readyState,at:new Date().toISOString()})},this.eventSource.onmessage=a=>{console.log("[AgentOS SSE] onmessage (unnamed event) received",{dataLength:a.data?.length??0,dataPreview:a.data?.slice(0,120)})},this.eventSource.onerror=a=>{console.warn("[AgentOS SSE] connection error",{err:a,readyState:this.eventSource?.readyState,at:new Date().toISOString()}),this.zone.run(()=>{this.isRunning.set(!1)})}}onInput(e){this.inputValue.set(e.target.value)}onKeydown(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.submit())}reinitialise(){this.eventSource?.close(),this.eventSource=null,this.events.set([]),this.inputValue.set(""),this.isRunning.set(!1),this.isTerminal.set(!1),this.streamingText.set(""),this.collapsedTools.set(new Set),this.isAtBottom.set(!0),this.connectSse()}submit(){if(!this.canSend)return;let e=this.inputValue().trim();this.inputValue.set(""),this.sendMessage(e)}sendMessage(e){this.isRunning.set(!0),this.streamingText.set(""),this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:e,userId:"default-user"}).subscribe({error:t=>{console.error("[CaseChat] Failed to send message",t),this.isRunning.set(!1)}})}interrupt(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/interrupt`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to interrupt case",e)})}kill(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/kill`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to kill case",e)})}extractText(e){return e.content?.filter(t=>"content"in t).map(t=>t.content).join("")??""}extractToolOutput(e){if(!e.response)return null;let t=e.response.output;return t?t.content??null:null}toggleToolCall(e){this.collapsedTools.update(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}isToolCallExpanded(e){return this.collapsedTools().has(e)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=F({type:o,selectors:[["agentos-case-chat"]],viewQuery:function(t,n){if(t&1&&B(U,5)(J,5),t&2){let a;M(a=O())&&(n.composerInput=a.first),M(a=O())&&(n.messagesContainer=a.first)}},decls:14,vars:7,consts:[["messagesContainer",""],["composerInput",""],[1,"case-chat"],[1,"case-chat__messages"],[1,"case-chat__empty"],[1,"case-chat__thinking"],[1,"case-chat__scroll-anchor"],[1,"case-chat__composer"],["placeholder","Reply\u2026","rows","3",1,"case-chat__input",3,"input","keydown","value","disabled"],[1,"case-chat__actions"],["icon","stop","variant","danger","title","Interrupt"],["icon","send","variant","primary","title","Send (Enter)",3,"disabled"],["icon","cancel","variant","danger","title","Kill",3,"action","disabled"],[1,"case-chat__message",3,"case-chat__message--user","case-chat__message--agent"],[1,"case-chat__message","case-chat__message--agent","case-chat__message--streaming"],[1,"case-chat__tool-call",3,"case-chat__tool-call--pending","case-chat__tool-call--success","case-chat__tool-call--error"],[1,"case-chat__message"],[1,"case-chat__message-author"],[1,"case-chat__message-text"],[1,"case-chat__tool-call"],["type","button",1,"case-chat__tool-call-header",3,"click"],[1,"case-chat__tool-call-icon"],[1,"case-chat__tool-call-name"],[1,"case-chat__tool-call-chevron"],[1,"case-chat__tool-call-output"],[1,"case-chat__tool-call-section"],[1,"case-chat__tool-call-label"],[1,"case-chat__tool-call-pending"],[1,"case-chat__tool-call-empty"],[1,"thinking-dot"],["icon","keyboard_arrow_down","variant","default","title","Scroll to bottom",3,"action"],["icon","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary","title","Send (Enter)",3,"action","disabled"]],template:function(t,n){t&1&&(i(0,"div",2)(1,"div",3,0),g(3,W,3,0,"div",4)(4,pe,2,0),g(5,me,4,0,"div",5),s(),g(6,_e,2,0,"div",6),i(7,"div",7)(8,"textarea",8,1),f("input",function(_){return n.onInput(_)})("keydown",function(_){return n.onKeydown(_)}),s(),i(10,"div",9),g(11,ue,1,0,"ds-icon-button",10)(12,ge,1,1,"ds-icon-button",11),i(13,"ds-icon-button",12),f("action",function(){return n.kill()}),s()()()()),t&2&&(l(3),h(n.timeline().length===0?3:4),l(2),h(n.isRunning()?5:-1),l(),h(n.isAtBottom()?-1:6),l(2),k("value",n.inputValue())("disabled",n.isRunning()||n.isTerminal()),l(3),h(n.isRunning()?11:12),l(2),k("disabled",n.isTerminal()))},dependencies:[Y],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.case-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;max-width:800px;width:100%;margin:0 auto;padding:1.5rem;gap:1rem;position:relative}.case-chat__messages[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border, rgba(0, 0, 0, .15)) transparent}.case-chat__empty[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex:1}.case-chat__empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-chat__tool-calls[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.case-chat__tool-call[_ngcontent-%COMP%]{flex-shrink:0;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));font-size:.8rem;overflow:hidden;transition:border-color .2s ease}.case-chat__tool-call--pending[_ngcontent-%COMP%]{border-color:var(--color-warning, #f5a623);opacity:.8}.case-chat__tool-call--success[_ngcontent-%COMP%]{border-color:var(--color-success, #34c759)}.case-chat__tool-call--error[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30)}.case-chat__tool-call-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .6rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--color-text, #1d1d1f);font-family:inherit;font-size:.8rem}.case-chat__tool-call-header[_ngcontent-%COMP%]:hover{background:#0000000a}.case-chat__tool-call-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:.75rem}.case-chat__tool-call-name[_ngcontent-%COMP%]{font-weight:600;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);color:var(--color-primary, #0071e3);flex-shrink:0}.case-chat__tool-call-args[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.case-chat__tool-call-chevron[_ngcontent-%COMP%]{flex-shrink:0;font-size:.6rem;color:var(--color-text-secondary, #6e6e73);margin-left:auto}.case-chat__tool-call-output[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .08));display:flex;flex-direction:column}.case-chat__tool-call-section[_ngcontent-%COMP%]{padding:.4rem .6rem .5rem}.case-chat__tool-call-section[_ngcontent-%COMP%] + .case-chat__tool-call-section[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .06))}.case-chat__tool-call-section[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.75rem;color:var(--color-text, #1d1d1f);max-height:200px;overflow-y:auto}.case-chat__tool-call-label[_ngcontent-%COMP%]{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6e6e73)}.case-chat__tool-call-pending[_ngcontent-%COMP%], .case-chat__tool-call-empty[_ngcontent-%COMP%]{display:block;margin-top:.25rem;color:var(--color-text-secondary, #6e6e73);font-style:italic;font-size:.75rem}.case-chat__message[_ngcontent-%COMP%]{flex-shrink:0}.case-chat__thinking[_ngcontent-%COMP%]{flex-shrink:0;display:flex;gap:.3rem;padding:.75rem 1rem;align-self:flex-start}.case-chat__message--streaming[_ngcontent-%COMP%]{opacity:.95}.case-chat__scroll-anchor[_ngcontent-%COMP%]{position:absolute;bottom:calc(2rem + 80px);left:50%;transform:translate(-50%);z-index:10;background:var(--glass-bg, rgba(255, 255, 255, .88));border:1px solid var(--glass-border, rgba(255, 255, 255, .3));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:50%;box-shadow:0 2px 12px #0000001f;animation:_ngcontent-%COMP%_scroll-anchor-in .15s ease}.case-chat__composer[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:flex-end;gap:.5rem;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;padding:.5rem .5rem .5rem 1rem}.case-chat__input[_ngcontent-%COMP%]{flex:1;resize:none;padding:.5rem 0;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;min-height:40px}.case-chat__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-chat__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-chat__actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}.thinking-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary, #6e6e73);animation:_ngcontent-%COMP%_thinking-bounce 1.2s ease-in-out infinite}.thinking-dot[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.thinking-dot[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}@keyframes _ngcontent-%COMP%_thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}@keyframes _ngcontent-%COMP%_scroll-anchor-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}']})};export{j as a};
|
|
1
|
+
import{a as K}from"./chunk-QILM5UIY.js";import{b as H}from"./chunk-LTFITYTW.js";import{p as Y}from"./chunk-BOMZXZNH.js";import{a as Q}from"./chunk-LCBWJP6Z.js";import{Bb as E,Db as f,Fb as d,Jb as B,Ka as l,Kb as M,Lb as O,Ma as D,Rb as I,Rc as $,Tb as p,Ub as C,Wa as F,ca as y,ga as T,ha as S,jb as q,kc as P,lb as g,ma as N,mb as h,pa as A,pb as L,qb as V,rb as k,sb as i,ta as v,tb as s,ua as w,ub as z}from"./chunk-RNXBUYHW.js";var U=["composerInput"],J=["messagesContainer"],Z=(o,e)=>e.kind==="message"?e.event.id:e.kind==="tool"?e.call.requestId:"streaming";function W(o,e){o&1&&(i(0,"div",4)(1,"p"),p(2,"No messages yet."),s()())}function X(o,e){if(o&1&&(i(0,"div",16)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);I("case-chat__message--user",t.event.actor.role==="USER")("case-chat__message--agent",t.event.actor.role==="AGENT"),l(2),C(t.event.actor.displayName),l(2),C(n.extractText(t.event))}}function ee(o,e){if(o&1&&(i(0,"div",14)(1,"span",17),p(2),s(),i(3,"p",18),p(4),s()()),o&2){let t=d().$implicit,n=d(2);l(2),C(n.agentDisplayName()),l(2),C(t.text)}}function te(o,e){o&1&&p(0," \u23F3 ")}function ne(o,e){o&1&&p(0," \u2705 ")}function oe(o,e){o&1&&p(0," \u274C ")}function ae(o,e){if(o&1&&(i(0,"div",25)(1,"span",26),p(2,"Payload"),s(),i(3,"pre"),p(4),s()()),o&2){let t=d(3).$implicit;l(4),C(t.call.args)}}function ie(o,e){o&1&&(i(0,"pre"),p(1),s()),o&2&&(l(),C(e))}function se(o,e){o&1&&(i(0,"span",27),p(1,"Running\u2026"),s())}function re(o,e){o&1&&(i(0,"span",28),p(1,"No output"),s())}function le(o,e){if(o&1&&(i(0,"div",24),g(1,ae,5,1,"div",25),i(2,"div",25)(3,"span",26),p(4,"Output"),s(),g(5,ie,2,1,"pre")(6,se,2,0,"span",27)(7,re,2,0,"span",28),s()()),o&2){let t,n=d(2).$implicit,a=d(2);l(),h(n.call.args?1:-1),l(4),h((t=a.extractToolOutput(n.call))?5:n.call.response?7:6,t)}}function ce(o,e){if(o&1){let t=E();i(0,"div",19)(1,"button",20),f("click",function(){T(t);let a=d().$implicit,_=d(2);return S(_.toggleToolCall(a.call.requestId))}),i(2,"span",21),g(3,te,1,0)(4,ne,1,0)(5,oe,1,0),s(),i(6,"span",22),p(7),s(),i(8,"span",23),p(9),s()(),g(10,le,8,2,"div",24),s()}if(o&2){let t=d().$implicit,n=d(2);I("case-chat__tool-call--pending",!t.call.response)("case-chat__tool-call--success",(t.call.response==null?null:t.call.response.success)===!0)("case-chat__tool-call--error",(t.call.response==null?null:t.call.response.success)===!1),l(),q("aria-expanded",n.isToolCallExpanded(t.call.requestId)),l(2),h(t.call.response?t.call.response.success?4:5:3),l(4),C(t.call.toolName),l(2),C(n.isToolCallExpanded(t.call.requestId)?"\u25BC":"\u25B6"),l(),h(n.isToolCallExpanded(t.call.requestId)?10:-1)}}function de(o,e){if(o&1&&g(0,X,5,6,"div",13)(1,ee,5,2,"div",14)(2,ce,11,11,"div",15),o&2){let t=e.$implicit;h(t.kind==="message"?0:t.kind==="streaming"?1:2)}}function pe(o,e){if(o&1&&L(0,de,3,1,null,null,Z),o&2){let t=d();V(t.timeline())}}function me(o,e){o&1&&(i(0,"div",5),z(1,"span",29)(2,"span",29)(3,"span",29),s())}function _e(o,e){if(o&1){let t=E();i(0,"div",6)(1,"ds-icon-button",30),f("action",function(){T(t);let a=d();return S(a.onScrollToBottomClick())}),s()()}}function ue(o,e){if(o&1){let t=E();i(0,"ds-icon-button",31),f("action",function(){T(t);let a=d();return S(a.interrupt())}),s()}}function ge(o,e){if(o&1){let t=E();i(0,"ds-icon-button",32),f("action",function(){T(t);let a=d();return S(a.submit())}),s()}if(o&2){let t=d();k("disabled",!t.canSend)}}var he=64,j=class o{route=y(H);http=y($);zone=y(A);destroyRef=y(N);config=y(K);caseId=this.route.snapshot.params.caseId;namespaceId=this.route.snapshot.params.namespaceId;agentDisplayName=P(()=>{let e=this.events();for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type==="AgentRunningEvent"||n.type==="AgentSelectedEvent"||n.type==="AgentFinishedEvent"){let a=n.agentName;if(a&&a.trim().length>0)return a}if(n.type==="MessageEvent"){let a=n;if(a.actor?.role==="AGENT"&&a.actor.displayName)return a.actor.displayName}}}return"Assistant"});eventSource=null;composerInput;messagesContainer;events=v([]);inputValue=v("");isRunning=v(!1);isTerminal=v(!1);streamingText=v("");collapsedTools=v(new Set);isAtBottom=v(!0);scrollListenerCleanup=null;constructor(){w(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>this.composerInput?.nativeElement.focus())}),w(()=>{this.timeline(),this.streamingText(),this.isAtBottom()&&queueMicrotask(()=>this.scrollToBottom())}),D(()=>{this.attachScrollListener()})}timeline=P(()=>{let e=this.events(),t=this.streamingText(),n=new Map;for(let c of e)if(c.type==="ToolRequestEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:m.toolName??"unknown",args:m.args??null,response:x?.response})}else if(c.type==="ToolResponseEvent"){let m=c,r=m.toolRequestId??c.id,x=n.get(r);n.set(r,{requestId:r,toolName:x?.toolName??m.toolName??"unknown",args:x?.args??null,response:m})}let a=[],_=new Set;for(let c of e)if(c.type==="MessageEvent")a.push({kind:"message",event:c});else if(c.type==="ToolRequestEvent"||c.type==="ToolResponseEvent"){let r=c.toolRequestId??c.id;_.has(r)||(_.add(r),a.push({kind:"tool",call:n.get(r)}))}return t.trim().length>0&&a.push({kind:"streaming",text:t}),a});get canSend(){return!!this.inputValue().trim()&&!this.isRunning()&&!this.isTerminal()}ngOnInit(){this.connectSse(),this.route.params.pipe(Q(this.destroyRef)).subscribe(e=>{let t=e.caseId;t&&t!==this.caseId&&(this.caseId=t,this.reinitialise())})}ngOnDestroy(){this.eventSource?.close(),this.scrollListenerCleanup?.()}attachScrollListener(){let e=this.messagesContainer?.nativeElement;if(!e)return;let t=()=>{let n=e.scrollHeight-e.scrollTop-e.clientHeight;this.isAtBottom.set(n<=he)};e.addEventListener("scroll",t,{passive:!0}),this.scrollListenerCleanup=()=>e.removeEventListener("scroll",t)}scrollToBottom(){let e=this.messagesContainer?.nativeElement;e&&(e.scrollTop=e.scrollHeight)}onScrollToBottomClick(){this.isAtBottom.set(!0),this.scrollToBottom()}connectSse(){let e=`${this.config.basePath}/api/cases/${this.caseId}/events`;console.log("[AgentOS SSE] connecting",{url:e,basePath:this.config.basePath,caseId:this.caseId,namespaceId:this.namespaceId,now:new Date().toISOString()}),this.eventSource=this.zone.runOutsideAngular(()=>new EventSource(e));let t=a=>{let _=performance.now(),c=a.type,m=a.data;console.log("[AgentOS SSE] frame received",{sseEventName:c,dataLength:m?.length??0,dataPreview:m?.slice(0,120),receivedAtMs:_});try{let r=JSON.parse(m);this.zone.run(()=>{let x=this.events().length;this.events.update(u=>u.some(b=>b.id===r.id)?u:[...u,r]);let G=this.events().length;if(console.log("[AgentOS SSE] event processed",{sseEventName:c,eventType:r.type,eventId:r.id,beforeLen:x,afterLen:G,running:this.isRunning(),terminal:this.isTerminal()}),r.type==="TextChunkEvent"){let u=r.chunk;u&&this.streamingText.update(b=>b+u);return}if(r.type==="CaseStatusEvent"){let u=r.status,b=u==="KILLED"||u==="ERROR";if(this.isTerminal.set(b),b)this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null;else{let R=u==="RUNNING";this.isRunning.set(R),R||this.streamingText.set("")}return}if(r.type==="AgentFinishedEvent"){this.isRunning.set(!1),this.streamingText.set("");return}})}catch(r){console.warn("[AgentOS SSE] failed to parse event data",{sseEventName:c,error:r,dataPreview:m?.slice(0,500)})}},n=["MessageEvent","CaseStatusEvent","AgentSelectedEvent","AgentRunningEvent","AgentFinishedEvent","ThinkingEvent","TextChunkEvent","ToolRequestEvent","ToolResponseEvent"];for(let a of n)console.log("[AgentOS SSE] addEventListener",a),this.eventSource.addEventListener(a,t);this.eventSource.onopen=()=>{console.log("[AgentOS SSE] connection open",{readyState:this.eventSource?.readyState,at:new Date().toISOString()})},this.eventSource.onmessage=a=>{console.log("[AgentOS SSE] onmessage (unnamed event) received",{dataLength:a.data?.length??0,dataPreview:a.data?.slice(0,120)})},this.eventSource.onerror=a=>{console.warn("[AgentOS SSE] connection error",{err:a,readyState:this.eventSource?.readyState,at:new Date().toISOString()}),this.zone.run(()=>{this.isRunning.set(!1)})}}onInput(e){this.inputValue.set(e.target.value)}onKeydown(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this.submit())}reinitialise(){this.eventSource?.close(),this.eventSource=null,this.events.set([]),this.inputValue.set(""),this.isRunning.set(!1),this.isTerminal.set(!1),this.streamingText.set(""),this.collapsedTools.set(new Set),this.isAtBottom.set(!0),this.connectSse()}submit(){if(!this.canSend)return;let e=this.inputValue().trim();this.inputValue.set(""),this.sendMessage(e)}sendMessage(e){this.isRunning.set(!0),this.streamingText.set(""),this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:e,userId:"default-user"}).subscribe({error:t=>{console.error("[CaseChat] Failed to send message",t),this.isRunning.set(!1)}})}interrupt(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/interrupt`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to interrupt case",e)})}kill(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/kill`,{}).subscribe({error:e=>console.error("[CaseChat] Failed to kill case",e)})}extractText(e){return e.content?.filter(t=>"content"in t).map(t=>t.content).join("")??""}extractToolOutput(e){if(!e.response)return null;let t=e.response.output;return t?t.content??null:null}toggleToolCall(e){this.collapsedTools.update(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}isToolCallExpanded(e){return this.collapsedTools().has(e)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=F({type:o,selectors:[["agentos-case-chat"]],viewQuery:function(t,n){if(t&1&&B(U,5)(J,5),t&2){let a;M(a=O())&&(n.composerInput=a.first),M(a=O())&&(n.messagesContainer=a.first)}},decls:14,vars:7,consts:[["messagesContainer",""],["composerInput",""],[1,"case-chat"],[1,"case-chat__messages"],[1,"case-chat__empty"],[1,"case-chat__thinking"],[1,"case-chat__scroll-anchor"],[1,"case-chat__composer"],["placeholder","Reply\u2026","rows","3",1,"case-chat__input",3,"input","keydown","value","disabled"],[1,"case-chat__actions"],["icon","stop","variant","danger","title","Interrupt"],["icon","send","variant","primary","title","Send (Enter)",3,"disabled"],["icon","cancel","variant","danger","title","Kill",3,"action","disabled"],[1,"case-chat__message",3,"case-chat__message--user","case-chat__message--agent"],[1,"case-chat__message","case-chat__message--agent","case-chat__message--streaming"],[1,"case-chat__tool-call",3,"case-chat__tool-call--pending","case-chat__tool-call--success","case-chat__tool-call--error"],[1,"case-chat__message"],[1,"case-chat__message-author"],[1,"case-chat__message-text"],[1,"case-chat__tool-call"],["type","button",1,"case-chat__tool-call-header",3,"click"],[1,"case-chat__tool-call-icon"],[1,"case-chat__tool-call-name"],[1,"case-chat__tool-call-chevron"],[1,"case-chat__tool-call-output"],[1,"case-chat__tool-call-section"],[1,"case-chat__tool-call-label"],[1,"case-chat__tool-call-pending"],[1,"case-chat__tool-call-empty"],[1,"thinking-dot"],["icon","keyboard_arrow_down","variant","default","title","Scroll to bottom",3,"action"],["icon","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary","title","Send (Enter)",3,"action","disabled"]],template:function(t,n){t&1&&(i(0,"div",2)(1,"div",3,0),g(3,W,3,0,"div",4)(4,pe,2,0),g(5,me,4,0,"div",5),s(),g(6,_e,2,0,"div",6),i(7,"div",7)(8,"textarea",8,1),f("input",function(_){return n.onInput(_)})("keydown",function(_){return n.onKeydown(_)}),s(),i(10,"div",9),g(11,ue,1,0,"ds-icon-button",10)(12,ge,1,1,"ds-icon-button",11),i(13,"ds-icon-button",12),f("action",function(){return n.kill()}),s()()()()),t&2&&(l(3),h(n.timeline().length===0?3:4),l(2),h(n.isRunning()?5:-1),l(),h(n.isAtBottom()?-1:6),l(2),k("value",n.inputValue())("disabled",n.isRunning()||n.isTerminal()),l(3),h(n.isRunning()?11:12),l(2),k("disabled",n.isTerminal()))},dependencies:[Y],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.case-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;max-width:800px;width:100%;margin:0 auto;padding:1.5rem;gap:1rem;position:relative}.case-chat__messages[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border, rgba(0, 0, 0, .15)) transparent}.case-chat__empty[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex:1}.case-chat__empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.case-chat__tool-calls[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem}.case-chat__tool-call[_ngcontent-%COMP%]{flex-shrink:0;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:var(--glass-bg, rgba(255, 255, 255, .72));font-size:.8rem;overflow:hidden;transition:border-color .2s ease}.case-chat__tool-call--pending[_ngcontent-%COMP%]{border-color:var(--color-warning, #f5a623);opacity:.8}.case-chat__tool-call--success[_ngcontent-%COMP%]{border-color:var(--color-success, #34c759)}.case-chat__tool-call--error[_ngcontent-%COMP%]{border-color:var(--color-error, #ff3b30)}.case-chat__tool-call-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .6rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--color-text, #1d1d1f);font-family:inherit;font-size:.8rem}.case-chat__tool-call-header[_ngcontent-%COMP%]:hover{background:#0000000a}.case-chat__tool-call-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:.75rem}.case-chat__tool-call-name[_ngcontent-%COMP%]{font-weight:600;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);color:var(--color-primary, #0071e3);flex-shrink:0}.case-chat__tool-call-args[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.case-chat__tool-call-chevron[_ngcontent-%COMP%]{flex-shrink:0;font-size:.6rem;color:var(--color-text-secondary, #6e6e73);margin-left:auto}.case-chat__tool-call-output[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .08));display:flex;flex-direction:column}.case-chat__tool-call-section[_ngcontent-%COMP%]{padding:.4rem .6rem .5rem}.case-chat__tool-call-section[_ngcontent-%COMP%] + .case-chat__tool-call-section[_ngcontent-%COMP%]{border-top:1px solid var(--color-border, rgba(0, 0, 0, .06))}.case-chat__tool-call-section[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:.25rem 0 0;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.75rem;color:var(--color-text, #1d1d1f);max-height:200px;overflow-y:auto}.case-chat__tool-call-label[_ngcontent-%COMP%]{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6e6e73)}.case-chat__tool-call-pending[_ngcontent-%COMP%], .case-chat__tool-call-empty[_ngcontent-%COMP%]{display:block;margin-top:.25rem;color:var(--color-text-secondary, #6e6e73);font-style:italic;font-size:.75rem}.case-chat__message[_ngcontent-%COMP%]{flex-shrink:0}.case-chat__thinking[_ngcontent-%COMP%]{flex-shrink:0;display:flex;gap:.3rem;padding:.75rem 1rem;align-self:flex-start}.case-chat__message--streaming[_ngcontent-%COMP%]{opacity:.95}.case-chat__scroll-anchor[_ngcontent-%COMP%]{position:absolute;bottom:calc(2rem + 80px);left:50%;transform:translate(-50%);z-index:10;background:var(--glass-bg, rgba(255, 255, 255, .88));border:1px solid var(--glass-border, rgba(255, 255, 255, .3));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:50%;box-shadow:0 2px 12px #0000001f;animation:_ngcontent-%COMP%_scroll-anchor-in .15s ease}.case-chat__composer[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:flex-end;gap:.5rem;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;padding:.5rem .5rem .5rem 1rem}.case-chat__input[_ngcontent-%COMP%]{flex:1;resize:none;padding:.5rem 0;border:none;background:transparent;color:var(--color-text, #1d1d1f);font-size:.95rem;font-family:inherit;line-height:1.5;outline:none;min-height:40px}.case-chat__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.case-chat__input[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed}.case-chat__actions[_ngcontent-%COMP%]{display:flex;align-items:center;flex-shrink:0}.thinking-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary, #6e6e73);animation:_ngcontent-%COMP%_thinking-bounce 1.2s ease-in-out infinite}.thinking-dot[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.thinking-dot[_ngcontent-%COMP%]:nth-child(3){animation-delay:.4s}@keyframes _ngcontent-%COMP%_thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}@keyframes _ngcontent-%COMP%_scroll-anchor-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}']})};export{j as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-E3G6R3GZ.js";import"./chunk-JVBN6LZN.js";import"./chunk-66Q72EK5.js";import"./chunk-QILM5UIY.js";import"./chunk-LTFITYTW.js";import"./chunk-LCBWJP6Z.js";import"./chunk-DLU3TQID.js";import"./chunk-RNXBUYHW.js";export{a as UserFormComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as Y}from"./chunk-
|
|
1
|
+
import{b as Y}from"./chunk-ZJOG2VD7.js";import{e as K}from"./chunk-QILM5UIY.js";import{a as A,b as H,c as G,d as J}from"./chunk-LTFITYTW.js";import{o as U,p as g,u as X}from"./chunk-BOMZXZNH.js";import{b}from"./chunk-LCBWJP6Z.js";import{A as D,B as O,Bb as h,Db as l,Fb as m,Jb as N,Ka as c,Kb as k,Lb as L,Pb as V,Rb as F,S as R,Tb as W,Ub as $,Wa as d,Xb as B,Yb as Q,Zb as j,ab as q,ca as p,ga as u,ha as C,hc as z,i as I,lb as P,m as x,mb as E,oa as f,rb as _,sb as o,t as y,ta as M,tb as s,ub as S,va as T}from"./chunk-RNXBUYHW.js";var v=class i{case;static toListItem(e){return{id:e.id??"",name:e.id??"\u2014",description:void 0}}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=d({type:i,selectors:[["agentos-case-item"]],inputs:{case:"case"},decls:0,vars:0,template:function(t,n){},encapsulation:2,changeDetection:0})};var ne=["caseItemTpl"];function ae(i,e){if(i&1){let t=h();o(0,"button",3),l("click",function(){let a=u(t).$implicit,r=m();return C(r.onItemSelected(a.id))}),o(1,"span",4),W(2),s()()}if(i&2){let t=e.$implicit,n=m();F("case-drawer-item--active",t.id===n.activeCaseId),c(2),$(t.name)}}var w=class i{cases=[];activeCaseId=null;caseSelected=new f;createRequested=new f;closeRequested=new f;caseItemTpl;caseItems=[];ngOnChanges(e){e.cases&&(this.caseItems=this.cases.map(v.toListItem))}onItemSelected(e){this.caseSelected.emit(e)}onCreateRequested(){this.createRequested.emit()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=d({type:i,selectors:[["agentos-case-drawer"]],viewQuery:function(t,n){if(t&1&&N(ne,7),t&2){let a;k(a=L())&&(n.caseItemTpl=a.first)}},inputs:{cases:"cases",activeCaseId:"activeCaseId"},outputs:{caseSelected:"caseSelected",createRequested:"createRequested",closeRequested:"closeRequested"},features:[T],decls:4,vars:3,consts:[["caseItemTpl",""],["title","Cases","emptyMessage","No cases yet. Start one below.","searchPlaceholder","Filter cases\u2026","cardMinWidth","220px","contentMaxWidth","100%",3,"itemSelected","createRequested","items","itemTemplate","showCreate"],["toolbar-start","","icon","chevron_left","variant","default","title","Close drawer",3,"action"],["type","button",1,"case-drawer-item",3,"click"],[1,"case-drawer-item__name"]],template:function(t,n){if(t&1&&(o(0,"ds-entity-list",1),l("itemSelected",function(r){return n.onItemSelected(r)})("createRequested",function(){return n.onCreateRequested()}),o(1,"ds-icon-button",2),l("action",function(){return n.closeRequested.emit()}),s()(),q(2,ae,3,3,"ng-template",null,0,z)),t&2){let a=V(3);_("items",n.caseItems)("itemTemplate",a)("showCreate",!0)}},dependencies:[X,g],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.case-drawer-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border-radius:8px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;font-size:.875rem;color:var(--color-text, #1d1d1f);transition:background .12s ease;gap:.5rem}.case-drawer-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .05))}.case-drawer-item--active[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);color:var(--color-text-inverse, #fff)}.case-drawer-item--active[_ngcontent-%COMP%] .case-drawer-item__status[_ngcontent-%COMP%]{color:#ffffffb3}.case-drawer-item--active[_ngcontent-%COMP%]:hover{background:var(--color-primary-hover, #0051d5)}.case-drawer-item__name[_ngcontent-%COMP%]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.8rem}'],changeDetection:0})};function ie(i,e){if(i&1){let t=h();o(0,"div",7)(1,"ds-icon-button",8),l("action",function(){u(t);let a=m();return C(a.toggleDrawer())}),s()()}}var te=class i{router=p(J);route=p(H);caseController=p(K);namespaceId=this.route.snapshot.params.namespaceId;drawerOpen=M(!0);refresh$=new I(void 0);cases$=this.refresh$.pipe(R(()=>this.caseController.listByParentCase(this.namespaceId)));cases=b(this.cases$,{initialValue:[]});activeCaseId=b(D(x(this.router.url),this.router.events.pipe(O(e=>e instanceof A),y(e=>e.urlAfterRedirects))).pipe(y(e=>this.extractCaseId(e))),{initialValue:null});extractCaseId(e){return e.match(/\/cases\/([^/?#]+)/)?.[1]??null}toggleDrawer(){this.drawerOpen.update(e=>!e)}onCaseSelected(e){this.router.navigate([e],{relativeTo:this.route})}onCreateRequested(){this.router.navigate(["."],{relativeTo:this.route})}refreshCases(){this.refresh$.next()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=d({type:i,selectors:[["agentos-case-shell"]],decls:9,vars:4,consts:[[1,"case-shell"],[1,"case-shell__header"],[1,"case-shell__body"],["drawerWidth","400px",3,"openChange","open"],["dsDrawerSide","",1,"case-shell__sidenav"],[3,"caseSelected","createRequested","closeRequested","cases","activeCaseId"],["dsDrawerContent","",1,"case-shell__content"],[1,"case-shell__toggle"],["icon","menu","variant","default","title","Open drawer",3,"action"]],template:function(t,n){t&1&&(o(0,"div",0),S(1,"agentos-header",1),o(2,"div",2)(3,"ds-drawer",3),j("openChange",function(r){return Q(n.drawerOpen,r)||(n.drawerOpen=r),r}),o(4,"div",4)(5,"agentos-case-drawer",5),l("caseSelected",function(r){return n.onCaseSelected(r)})("createRequested",function(){return n.onCreateRequested()})("closeRequested",function(){return n.toggleDrawer()}),s()(),o(6,"div",6),P(7,ie,2,0,"div",7),S(8,"router-outlet"),s()()()()),t&2&&(c(3),B("open",n.drawerOpen),c(2),_("cases",n.cases())("activeCaseId",n.activeCaseId()),c(2),E(n.drawerOpen()?-1:7))},dependencies:[G,U,w,Y,g],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100dvh}.case-shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.case-shell__header[_ngcontent-%COMP%]{flex-shrink:0}.case-shell__body[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.case-shell__sidenav[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.case-shell__content[_ngcontent-%COMP%]{position:relative;flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden}.case-shell__toggle[_ngcontent-%COMP%]{position:absolute;top:.375rem;left:.5rem;z-index:10}"]})};export{v as a,w as b,te as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-FE2QUEAE.js";import"./chunk-QILM5UIY.js";import"./chunk-LTFITYTW.js";import"./chunk-BOMZXZNH.js";import"./chunk-JRNOMFVU.js";import"./chunk-LCBWJP6Z.js";import"./chunk-J4KEKL2K.js";import"./chunk-MMKBNIVO.js";import"./chunk-DLU3TQID.js";import"./chunk-24VYLV4I.js";import"./chunk-RNXBUYHW.js";export{a as CaseChatComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as w}from"./chunk-
|
|
1
|
+
import{h as w}from"./chunk-QILM5UIY.js";import{b as k,d as I}from"./chunk-LTFITYTW.js";import{a as h}from"./chunk-LCBWJP6Z.js";import{D as B,c as D,e as C,g as F,h as V,i as A,l as s,n as L,s as z,u as R}from"./chunk-DLU3TQID.js";import{Bb as S,Db as u,Fb as g,Ka as r,Tb as o,Ub as E,Vb as O,Wa as N,a as v,b as x,ca as p,ga as _,ha as b,lb as M,ma as y,mb as P,rb as i,sb as n,ta as f,tb as t,ub as l}from"./chunk-RNXBUYHW.js";function T(m,a){m&1&&(n(0,"p",5),o(1,"Loading\u2026"),t())}function $(m,a){if(m&1){let e=S();n(0,"form",7),u("ngSubmit",function(){_(e);let d=g();return b(d.submit())}),n(1,"div",8)(2,"label",9),o(3,"Name "),n(4,"span",10),o(5,"*"),t()(),l(6,"input",11),t(),n(7,"div",8)(8,"label",12),o(9,"Description"),t(),l(10,"input",13),t(),n(11,"div",8)(12,"label",14),o(13,"External ID"),t(),l(14,"input",15),t(),n(15,"div",8)(16,"label",16),o(17,"Default agent"),t(),l(18,"input",17),t(),n(19,"div",8)(20,"label",18),o(21,"Config path"),t(),l(22,"input",19),t(),n(23,"div",20)(24,"button",21),o(25),t(),n(26,"button",22),u("click",function(){_(e);let d=g();return b(d.cancel())}),o(27,"Cancel"),t()()()}if(m&2){let e=g();i("formGroup",e.form),r(6),i("formControl",e.nameControl),r(4),i("formControl",e.descriptionControl),r(4),i("formControl",e.externalIdControl),r(4),i("formControl",e.defaultAgentNameControl),r(4),i("formControl",e.configPathControl),r(2),i("disabled",e.nameControl.invalid||e.isSubmitting()),r(),O(" ",e.isEditMode()?"Save changes":"Create"," ")}}var G=class m{route=p(k);router=p(I);namespaceController=p(w);destroyRef=p(y);form=new A({name:new s("",{nonNullable:!0,validators:[C.required,C.minLength(1)]}),description:new s("",{nonNullable:!0}),configPath:new s("",{nonNullable:!0}),externalId:new s("",{nonNullable:!0}),defaultAgentName:new s("",{nonNullable:!0})});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get configPathControl(){return this.form.controls.configPath}get externalIdControl(){return this.form.controls.externalId}get defaultAgentNameControl(){return this.form.controls.defaultAgentName}isEditMode=f(!1);isSubmitting=f(!1);isLoading=f(!1);existingNamespace=null;ngOnInit(){let a=this.route.snapshot.paramMap.get("namespaceId");a&&(this.isEditMode.set(!0),this.loadNamespace(a))}loadNamespace(a){this.isLoading.set(!0),this.namespaceController.getByIdNamespace(a).pipe(h(this.destroyRef)).subscribe({next:e=>{this.existingNamespace=e,this.nameControl.setValue(e.name),this.descriptionControl.setValue(e.description??""),this.configPathControl.setValue(e.configPath??""),this.externalIdControl.setValue(e.externalId??""),this.defaultAgentNameControl.setValue(e.defaultAgentName??""),this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1),this.navigateBack()}})}submit(){if(this.nameControl.invalid||this.isSubmitting())return;this.isSubmitting.set(!0);let a=x(v({},this.existingNamespace),{name:this.nameControl.value.trim(),description:this.descriptionControl.value.trim()||void 0,configPath:this.configPathControl.value.trim()||void 0,externalId:this.externalIdControl.value.trim()||void 0,defaultAgentName:this.defaultAgentNameControl.value.trim()||void 0});(this.isEditMode()?this.namespaceController.updateNamespace(this.existingNamespace.id??"",a):this.namespaceController.createNamespace(a)).pipe(h(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:()=>this.isSubmitting.set(!1)})}cancel(){this.navigateBack()}navigateBack(){this.router.navigate(["/agentos/namespaces"])}static \u0275fac=function(e){return new(e||m)};static \u0275cmp=N({type:m,selectors:[["agentos-namespace-form"]],decls:10,vars:2,consts:[[1,"namespace-form"],[1,"namespace-form__header"],["type","button","title","Back to namespaces",1,"namespace-form__back",3,"click"],[1,"namespace-form__back-icon"],[1,"namespace-form__title"],[1,"namespace-form__loading"],[1,"namespace-form__form",3,"formGroup"],[1,"namespace-form__form",3,"ngSubmit","formGroup"],[1,"namespace-form__field"],["for","ns-name",1,"namespace-form__label"],["aria-hidden","true"],["id","ns-name","type","text","placeholder","Namespace name","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-description",1,"namespace-form__label"],["id","ns-description","type","text","placeholder","Optional description","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-external-id",1,"namespace-form__label"],["id","ns-external-id","type","text","placeholder","Optional federation ID from an external system","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-default-agent",1,"namespace-form__label"],["id","ns-default-agent","type","text","placeholder","Logical name of the default agent (e.g. coday)","autocomplete","off",1,"namespace-form__input",3,"formControl"],["for","ns-config-path",1,"namespace-form__label"],["id","ns-config-path","type","text","placeholder","Optional path to base configuration directory","autocomplete","off",1,"namespace-form__input",3,"formControl"],[1,"namespace-form__actions"],["type","submit",1,"namespace-form__btn","namespace-form__btn--primary",3,"disabled"],["type","button",1,"namespace-form__btn",3,"click"]],template:function(e,c){e&1&&(n(0,"div",0)(1,"header",1)(2,"button",2),u("click",function(){return c.cancel()}),n(3,"span",3),o(4,"\u2190"),t(),o(5," Namespaces "),t(),n(6,"h1",4),o(7),t()(),M(8,T,2,0,"p",5)(9,$,28,8,"form",6),t()),e&2&&(r(7),E(c.isEditMode()?"Edit namespace":"New namespace"),r(),P(c.isLoading()?8:9))},dependencies:[B,L,D,F,V,z,R],styles:[".namespace-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:480px;margin:0 auto;padding:2rem 1rem}.namespace-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.namespace-form__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.namespace-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.namespace-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.namespace-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.namespace-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.namespace-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.namespace-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.namespace-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text, #1d1d1f)}.namespace-form__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}.namespace-form__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.namespace-form__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.namespace-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.namespace-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}.namespace-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.namespace-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.namespace-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.namespace-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{G as NamespaceFormComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as m}from"./chunk-
|
|
1
|
+
import{b as m}from"./chunk-ZJOG2VD7.js";import{c as l}from"./chunk-LTFITYTW.js";import{Wa as a,sb as t,tb as i,ub as o}from"./chunk-RNXBUYHW.js";var s=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=a({type:n,selectors:[["agentos-layout"]],decls:4,vars:0,consts:[[1,"layout"],[1,"layout__content"]],template:function(e,u){e&1&&(t(0,"div",0),o(1,"agentos-header"),t(2,"main",1),o(3,"router-outlet"),i()())},dependencies:[l,m],styles:[".layout[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100vh}.layout__content[_ngcontent-%COMP%]{flex:1;overflow-y:auto}"]})};export{s as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as p}from"./chunk-
|
|
1
|
+
import{j as p}from"./chunk-QILM5UIY.js";import{V as s,Z as d,a as n,ca as u,ta as a}from"./chunk-RNXBUYHW.js";var c=class o{userController=u(p);users=a([]);isLoading=a(!1);loadAll(){return this.isLoading.set(!0),this.userController.listAllUser().pipe(s({next:e=>{this.users.set(e),this.isLoading.set(!1)},error:()=>this.isLoading.set(!1)}))}createUser(e){return this.userController.createUser(e).pipe(s(()=>{this.loadAll().subscribe()}))}updateUser(e,r){let t=this.users().find(i=>i.id===e);if(!t)throw new Error(`Cannot update: user ${e} not found in state`);let U=n(n({},t),r);return this.userController.updateUser(e,U).pipe(s(i=>{this.users.update(b=>b.map(l=>l.id===i.id?i:l))}))}deleteUser(e){return this.userController.deleteUser(e).pipe(s(()=>{this.users.update(r=>r.filter(t=>t.id!==e))}))}static \u0275fac=function(r){return new(r||o)};static \u0275prov=d({token:o,factory:o.\u0275fac,providedIn:"root"})};export{c as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as E}from"./chunk-
|
|
1
|
+
import{a as E}from"./chunk-QILM5UIY.js";import{b as w,d as M}from"./chunk-LTFITYTW.js";import{p as k}from"./chunk-BOMZXZNH.js";import{a as I}from"./chunk-LCBWJP6Z.js";import{Db as d,Jb as y,Ka as m,Kb as v,Lb as C,Ma as _,Rc as x,S as f,Tb as l,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-RNXBUYHW.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};
|