@whoz-oss/coday-client 0.99.0 → 0.100.0
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-2MCQP672.js +1 -0
- package/browser/{chunk-75V7SM5W.js → chunk-ASPRGHBX.js} +1 -1
- package/browser/{chunk-7IQDWHG4.js → chunk-DQTISQZY.js} +8 -8
- package/browser/{chunk-HJGQW7YN.js → chunk-DSQ6UIRP.js} +1 -1
- package/browser/{chunk-PT4GK2L7.js → chunk-RBBBPIZ2.js} +1 -1
- package/browser/{chunk-EQQD3BZE.js → chunk-YWBGB6VG.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/{main-56EGXQTZ.js → main-AV2TL2DE.js} +40 -40
- package/package.json +1 -1
- package/browser/chunk-CYUKJHXX.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as a}from"./chunk-RBBBPIZ2.js";import"./chunk-LZXYIZHY.js";import"./chunk-DQTISQZY.js";import"./chunk-2O4PKY5C.js";import"./chunk-OF4NB5FG.js";import"./chunk-MFNSHXOA.js";export{a as NamespaceListComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{S as L}from"./chunk-7IQDWHG4.js";import{a as D}from"./chunk-OF4NB5FG.js";import{Aa as M,Ia as S,Lb as V,Mb as F,Na as w,Pa as m,Qa as u,T as x,Ta as k,Ua as O,Va as E,Wa as s,X as h,Xa as l,Y as g,Ya as I,bb as b,db as f,fa as v,fb as _,jb as P,jc as q,kb as R,lb as N,mc as z,rb as T,sa as c,tb as d,ub as C}from"./chunk-MFNSHXOA.js";var A=["composerInput"],K=(n,t)=>t.kind==="message"?t.event.id:t.call.requestId;function Q(n,t){n&1&&(s(0,"div",3)(1,"p"),d(2,"No messages yet."),l()())}function j(n,t){if(n&1&&(s(0,"div",13)(1,"span",14),d(2),l(),s(3,"p",15),d(4),l()()),n&2){let e=_().$implicit,o=_(2);T("case-chat__message--user",e.event.actor.role==="USER")("case-chat__message--agent",e.event.actor.role==="AGENT"),c(2),C(e.event.actor.displayName),c(2),C(o.extractText(e.event))}}function B(n,t){n&1&&d(0," \u23F3 ")}function H(n,t){n&1&&d(0," \u2705 ")}function G(n,t){n&1&&d(0," \u274C ")}function U(n,t){if(n&1&&(s(0,"div",22)(1,"span",23),d(2,"Payload"),l(),s(3,"pre"),d(4),l()()),n&2){let e=_(3).$implicit;c(4),C(e.call.args)}}function Y(n,t){n&1&&(s(0,"pre"),d(1),l()),n&2&&(c(),C(t))}function J(n,t){n&1&&(s(0,"span",24),d(1,"Running\u2026"),l())}function Z(n,t){n&1&&(s(0,"span",25),d(1,"No output"),l())}function W(n,t){if(n&1&&(s(0,"div",21),m(1,U,5,1,"div",22),s(2,"div",22)(3,"span",23),d(4,"Output"),l(),m(5,Y,2,1,"pre")(6,J,2,0,"span",24)(7,Z,2,0,"span",25),l()()),n&2){let e,o=_(2).$implicit,i=_(2);c(),u(o.call.args?1:-1),c(4),u((e=i.extractToolOutput(o.call))?5:o.call.response?7:6,e)}}function X(n,t){if(n&1){let e=b();s(0,"div",16)(1,"button",17),f("click",function(){h(e);let i=_().$implicit,a=_(2);return g(a.toggleToolCall(i.call.requestId))}),s(2,"span",18),m(3,B,1,0)(4,H,1,0)(5,G,1,0),l(),s(6,"span",19),d(7),l(),s(8,"span",20),d(9),l()(),m(10,W,8,2,"div",21),l()}if(n&2){let e=_().$implicit,o=_(2);T("case-chat__tool-call--pending",!e.call.response)("case-chat__tool-call--success",(e.call.response==null?null:e.call.response.success)===!0)("case-chat__tool-call--error",(e.call.response==null?null:e.call.response.success)===!1),c(),w("aria-expanded",o.isToolCallExpanded(e.call.requestId)),c(2),u(e.call.response?e.call.response.success?4:5:3),c(4),C(e.call.toolName),c(2),C(o.isToolCallExpanded(e.call.requestId)?"\u25BC":"\u25B6"),c(),u(o.isToolCallExpanded(e.call.requestId)?10:-1)}}function ee(n,t){if(n&1&&m(0,j,5,6,"div",11)(1,X,11,11,"div",12),n&2){let e=t.$implicit;u(e.kind==="message"?0:1)}}function te(n,t){if(n&1&&k(0,ee,2,1,null,null,K),n&2){let e=_();O(e.timeline())}}function ne(n,t){n&1&&(s(0,"div",4),I(1,"span",26)(2,"span",26)(3,"span",26),l())}function oe(n,t){if(n&1){let e=b();s(0,"ds-icon-button",27),f("action",function(){h(e);let i=_();return g(i.interrupt())}),l()}}function ae(n,t){if(n&1){let e=b();s(0,"ds-icon-button",28),f("action",function(){h(e);let i=_();return g(i.submit())}),l()}if(n&2){let e=_();E("disabled",!e.canSend)}}var $=class n{route=x(z);http=x(q);zone=x(S);config=x(D);caseId=this.route.snapshot.params.caseId;namespaceId=this.route.snapshot.params.namespaceId;eventSource=null;composerInput;events=v([]);inputValue=v("");isRunning=v(!1);isTerminal=v(!1);collapsedTools=v(new Set);constructor(){F(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>this.composerInput?.nativeElement.focus())})}timeline=V(()=>{let t=this.events(),e=new Map;for(let a of t)if(a.type==="ToolRequestEvent"){let r=a,p=r.toolRequestId??a.id,y=e.get(p);e.set(p,{requestId:p,toolName:r.toolName??"unknown",args:r.args??null,response:y?.response})}else if(a.type==="ToolResponseEvent"){let r=a,p=r.toolRequestId??a.id,y=e.get(p);e.set(p,{requestId:p,toolName:y?.toolName??r.toolName??"unknown",args:y?.args??null,response:r})}let o=[],i=new Set;for(let a of t)if(a.type==="MessageEvent")o.push({kind:"message",event:a});else if(a.type==="ToolRequestEvent"||a.type==="ToolResponseEvent"){let p=a.toolRequestId??a.id;i.has(p)||(i.add(p),o.push({kind:"tool",call:e.get(p)}))}return o});get canSend(){return!!this.inputValue().trim()&&!this.isRunning()&&!this.isTerminal()}ngOnInit(){this.connectSse()}ngOnDestroy(){this.eventSource?.close()}connectSse(){let t=`${this.config.basePath}/api/cases/${this.caseId}/events`;this.eventSource=this.zone.runOutsideAngular(()=>new EventSource(t));let e=o=>{try{let i=JSON.parse(o.data);this.zone.run(()=>{if(this.events.update(a=>a.some(r=>r.id===i.id)?a:[...a,i]),i.type==="CaseStatusEvent"){let a=i.status,r=a==="KILLED"||a==="ERROR";this.isTerminal.set(r),r?(this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null):this.isRunning.set(a==="RUNNING");return}if(i.type==="AgentFinishedEvent"){this.isRunning.set(!1);return}})}catch{console.warn("[CaseChat] Failed to parse SSE event",o.data)}};this.eventSource.addEventListener("MessageEvent",e),this.eventSource.addEventListener("CaseStatusEvent",e),this.eventSource.addEventListener("AgentSelectedEvent",e),this.eventSource.addEventListener("AgentRunningEvent",e),this.eventSource.addEventListener("AgentFinishedEvent",e),this.eventSource.addEventListener("ThinkingEvent",e),this.eventSource.addEventListener("TextChunkEvent",e),this.eventSource.addEventListener("ToolRequestEvent",e),this.eventSource.addEventListener("ToolResponseEvent",e),this.eventSource.onerror=()=>{this.zone.run(()=>{this.isRunning.set(!1)})}}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.isRunning.set(!0),this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:t,userId:"default-user"}).subscribe({error:e=>{console.error("[CaseChat] Failed to send message",e),this.isRunning.set(!1)}})}interrupt(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/interrupt`,{}).subscribe({error:t=>console.error("[CaseChat] Failed to interrupt case",t)})}kill(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/kill`,{}).subscribe({error:t=>console.error("[CaseChat] Failed to kill case",t)})}extractText(t){return t.content?.filter(e=>"content"in e).map(e=>e.content).join("")??""}extractToolOutput(t){if(!t.response)return null;let e=t.response.output;return e?e.content??null:null}toggleToolCall(t){this.collapsedTools.update(e=>{let o=new Set(e);return o.has(t)?o.delete(t):o.add(t),o})}isToolCallExpanded(t){return this.collapsedTools().has(t)}_namespaceId=this.namespaceId;static \u0275fac=function(e){return new(e||n)};static \u0275cmp=M({type:n,selectors:[["agentos-case-chat"]],viewQuery:function(e,o){if(e&1&&P(A,5),e&2){let i;R(i=N())&&(o.composerInput=i.first)}},decls:12,vars:6,consts:[["composerInput",""],[1,"case-chat"],[1,"case-chat__messages"],[1,"case-chat__empty"],[1,"case-chat__thinking"],[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__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","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary","title","Send (Enter)",3,"action","disabled"]],template:function(e,o){if(e&1){let i=b();s(0,"div",1)(1,"div",2),m(2,Q,3,0,"div",3)(3,te,2,0),m(4,ne,4,0,"div",4),l(),s(5,"div",5)(6,"textarea",6,0),f("input",function(r){return h(i),g(o.onInput(r))})("keydown",function(r){return h(i),g(o.onKeydown(r))}),l(),s(8,"div",7),m(9,oe,1,0,"ds-icon-button",8)(10,ae,1,1,"ds-icon-button",9),s(11,"ds-icon-button",10),f("action",function(){return h(i),g(o.kill())}),l()()()()}e&2&&(c(2),u(o.timeline().length===0?2:3),c(2),u(o.isRunning()?4:-1),c(2),E("value",o.inputValue())("disabled",o.isRunning()||o.isTerminal()),c(3),u(o.isRunning()?9:10),c(2),E("disabled",o.isTerminal()))},dependencies:[L],styles:['.case-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;padding:1.5rem;gap:1rem}.case-chat__messages[_ngcontent-%COMP%]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem}.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%]{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__thinking[_ngcontent-%COMP%]{display:flex;gap:.3rem;padding:.75rem 1rem;align-self:flex-start}.case-chat__composer[_ngcontent-%COMP%]{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}}']})};export{$ as a};
|
|
1
|
+
import{S as L}from"./chunk-DQTISQZY.js";import{a as D}from"./chunk-OF4NB5FG.js";import{Aa as M,Ia as S,Lb as V,Mb as F,Na as w,Pa as m,Qa as u,T as x,Ta as k,Ua as O,Va as E,Wa as s,X as h,Xa as l,Y as g,Ya as I,bb as b,db as f,fa as v,fb as _,jb as P,jc as q,kb as R,lb as N,mc as z,rb as T,sa as c,tb as d,ub as C}from"./chunk-MFNSHXOA.js";var A=["composerInput"],K=(n,t)=>t.kind==="message"?t.event.id:t.call.requestId;function Q(n,t){n&1&&(s(0,"div",3)(1,"p"),d(2,"No messages yet."),l()())}function j(n,t){if(n&1&&(s(0,"div",13)(1,"span",14),d(2),l(),s(3,"p",15),d(4),l()()),n&2){let e=_().$implicit,o=_(2);T("case-chat__message--user",e.event.actor.role==="USER")("case-chat__message--agent",e.event.actor.role==="AGENT"),c(2),C(e.event.actor.displayName),c(2),C(o.extractText(e.event))}}function B(n,t){n&1&&d(0," \u23F3 ")}function H(n,t){n&1&&d(0," \u2705 ")}function G(n,t){n&1&&d(0," \u274C ")}function U(n,t){if(n&1&&(s(0,"div",22)(1,"span",23),d(2,"Payload"),l(),s(3,"pre"),d(4),l()()),n&2){let e=_(3).$implicit;c(4),C(e.call.args)}}function Y(n,t){n&1&&(s(0,"pre"),d(1),l()),n&2&&(c(),C(t))}function J(n,t){n&1&&(s(0,"span",24),d(1,"Running\u2026"),l())}function Z(n,t){n&1&&(s(0,"span",25),d(1,"No output"),l())}function W(n,t){if(n&1&&(s(0,"div",21),m(1,U,5,1,"div",22),s(2,"div",22)(3,"span",23),d(4,"Output"),l(),m(5,Y,2,1,"pre")(6,J,2,0,"span",24)(7,Z,2,0,"span",25),l()()),n&2){let e,o=_(2).$implicit,i=_(2);c(),u(o.call.args?1:-1),c(4),u((e=i.extractToolOutput(o.call))?5:o.call.response?7:6,e)}}function X(n,t){if(n&1){let e=b();s(0,"div",16)(1,"button",17),f("click",function(){h(e);let i=_().$implicit,a=_(2);return g(a.toggleToolCall(i.call.requestId))}),s(2,"span",18),m(3,B,1,0)(4,H,1,0)(5,G,1,0),l(),s(6,"span",19),d(7),l(),s(8,"span",20),d(9),l()(),m(10,W,8,2,"div",21),l()}if(n&2){let e=_().$implicit,o=_(2);T("case-chat__tool-call--pending",!e.call.response)("case-chat__tool-call--success",(e.call.response==null?null:e.call.response.success)===!0)("case-chat__tool-call--error",(e.call.response==null?null:e.call.response.success)===!1),c(),w("aria-expanded",o.isToolCallExpanded(e.call.requestId)),c(2),u(e.call.response?e.call.response.success?4:5:3),c(4),C(e.call.toolName),c(2),C(o.isToolCallExpanded(e.call.requestId)?"\u25BC":"\u25B6"),c(),u(o.isToolCallExpanded(e.call.requestId)?10:-1)}}function ee(n,t){if(n&1&&m(0,j,5,6,"div",11)(1,X,11,11,"div",12),n&2){let e=t.$implicit;u(e.kind==="message"?0:1)}}function te(n,t){if(n&1&&k(0,ee,2,1,null,null,K),n&2){let e=_();O(e.timeline())}}function ne(n,t){n&1&&(s(0,"div",4),I(1,"span",26)(2,"span",26)(3,"span",26),l())}function oe(n,t){if(n&1){let e=b();s(0,"ds-icon-button",27),f("action",function(){h(e);let i=_();return g(i.interrupt())}),l()}}function ae(n,t){if(n&1){let e=b();s(0,"ds-icon-button",28),f("action",function(){h(e);let i=_();return g(i.submit())}),l()}if(n&2){let e=_();E("disabled",!e.canSend)}}var $=class n{route=x(z);http=x(q);zone=x(S);config=x(D);caseId=this.route.snapshot.params.caseId;namespaceId=this.route.snapshot.params.namespaceId;eventSource=null;composerInput;events=v([]);inputValue=v("");isRunning=v(!1);isTerminal=v(!1);collapsedTools=v(new Set);constructor(){F(()=>{this.isRunning()||this.isTerminal()||queueMicrotask(()=>this.composerInput?.nativeElement.focus())})}timeline=V(()=>{let t=this.events(),e=new Map;for(let a of t)if(a.type==="ToolRequestEvent"){let r=a,p=r.toolRequestId??a.id,y=e.get(p);e.set(p,{requestId:p,toolName:r.toolName??"unknown",args:r.args??null,response:y?.response})}else if(a.type==="ToolResponseEvent"){let r=a,p=r.toolRequestId??a.id,y=e.get(p);e.set(p,{requestId:p,toolName:y?.toolName??r.toolName??"unknown",args:y?.args??null,response:r})}let o=[],i=new Set;for(let a of t)if(a.type==="MessageEvent")o.push({kind:"message",event:a});else if(a.type==="ToolRequestEvent"||a.type==="ToolResponseEvent"){let p=a.toolRequestId??a.id;i.has(p)||(i.add(p),o.push({kind:"tool",call:e.get(p)}))}return o});get canSend(){return!!this.inputValue().trim()&&!this.isRunning()&&!this.isTerminal()}ngOnInit(){this.connectSse()}ngOnDestroy(){this.eventSource?.close()}connectSse(){let t=`${this.config.basePath}/api/cases/${this.caseId}/events`;this.eventSource=this.zone.runOutsideAngular(()=>new EventSource(t));let e=o=>{try{let i=JSON.parse(o.data);this.zone.run(()=>{if(this.events.update(a=>a.some(r=>r.id===i.id)?a:[...a,i]),i.type==="CaseStatusEvent"){let a=i.status,r=a==="KILLED"||a==="ERROR";this.isTerminal.set(r),r?(this.isRunning.set(!1),this.eventSource?.close(),this.eventSource=null):this.isRunning.set(a==="RUNNING");return}if(i.type==="AgentFinishedEvent"){this.isRunning.set(!1);return}})}catch{console.warn("[CaseChat] Failed to parse SSE event",o.data)}};this.eventSource.addEventListener("MessageEvent",e),this.eventSource.addEventListener("CaseStatusEvent",e),this.eventSource.addEventListener("AgentSelectedEvent",e),this.eventSource.addEventListener("AgentRunningEvent",e),this.eventSource.addEventListener("AgentFinishedEvent",e),this.eventSource.addEventListener("ThinkingEvent",e),this.eventSource.addEventListener("TextChunkEvent",e),this.eventSource.addEventListener("ToolRequestEvent",e),this.eventSource.addEventListener("ToolResponseEvent",e),this.eventSource.onerror=()=>{this.zone.run(()=>{this.isRunning.set(!1)})}}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.isRunning.set(!0),this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/messages`,{content:t,userId:"default-user"}).subscribe({error:e=>{console.error("[CaseChat] Failed to send message",e),this.isRunning.set(!1)}})}interrupt(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/interrupt`,{}).subscribe({error:t=>console.error("[CaseChat] Failed to interrupt case",t)})}kill(){this.http.post(`${this.config.basePath}/api/cases/${this.caseId}/kill`,{}).subscribe({error:t=>console.error("[CaseChat] Failed to kill case",t)})}extractText(t){return t.content?.filter(e=>"content"in e).map(e=>e.content).join("")??""}extractToolOutput(t){if(!t.response)return null;let e=t.response.output;return e?e.content??null:null}toggleToolCall(t){this.collapsedTools.update(e=>{let o=new Set(e);return o.has(t)?o.delete(t):o.add(t),o})}isToolCallExpanded(t){return this.collapsedTools().has(t)}_namespaceId=this.namespaceId;static \u0275fac=function(e){return new(e||n)};static \u0275cmp=M({type:n,selectors:[["agentos-case-chat"]],viewQuery:function(e,o){if(e&1&&P(A,5),e&2){let i;R(i=N())&&(o.composerInput=i.first)}},decls:12,vars:6,consts:[["composerInput",""],[1,"case-chat"],[1,"case-chat__messages"],[1,"case-chat__empty"],[1,"case-chat__thinking"],[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__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","stop","variant","danger","title","Interrupt",3,"action"],["icon","send","variant","primary","title","Send (Enter)",3,"action","disabled"]],template:function(e,o){if(e&1){let i=b();s(0,"div",1)(1,"div",2),m(2,Q,3,0,"div",3)(3,te,2,0),m(4,ne,4,0,"div",4),l(),s(5,"div",5)(6,"textarea",6,0),f("input",function(r){return h(i),g(o.onInput(r))})("keydown",function(r){return h(i),g(o.onKeydown(r))}),l(),s(8,"div",7),m(9,oe,1,0,"ds-icon-button",8)(10,ae,1,1,"ds-icon-button",9),s(11,"ds-icon-button",10),f("action",function(){return h(i),g(o.kill())}),l()()()()}e&2&&(c(2),u(o.timeline().length===0?2:3),c(2),u(o.isRunning()?4:-1),c(2),E("value",o.inputValue())("disabled",o.isRunning()||o.isTerminal()),c(3),u(o.isRunning()?9:10),c(2),E("disabled",o.isTerminal()))},dependencies:[L],styles:['.case-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;padding:1.5rem;gap:1rem}.case-chat__messages[_ngcontent-%COMP%]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem}.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%]{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__thinking[_ngcontent-%COMP%]{display:flex;gap:.3rem;padding:.75rem 1rem;align-self:flex-start}.case-chat__composer[_ngcontent-%COMP%]{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}}']})};export{$ as a};
|