@whoz-oss/coday-client 0.125.2 → 0.125.3
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-YZSDQIEK.js → chunk-23SYUINW.js} +4 -4
- package/browser/chunk-63U732OW.js +2 -0
- package/browser/{chunk-LI36MCDZ.js → chunk-CH66E3U2.js} +1 -1
- package/browser/{chunk-OWYVTOTW.js → chunk-CYLHTE22.js} +1 -1
- package/browser/{chunk-CP2BIFCA.js → chunk-ECBXPEAC.js} +1 -1
- package/browser/{chunk-MSXCVNKO.js → chunk-G2OAJDIX.js} +1 -1
- package/browser/{chunk-I7DZEVJV.js → chunk-H5SXHH6A.js} +1 -1
- package/browser/{chunk-2GTCISR4.js → chunk-H76RJSSA.js} +1 -1
- package/browser/{chunk-S66NFQG3.js → chunk-H7YMYOPC.js} +1 -1
- package/browser/{chunk-EAGBL5PQ.js → chunk-K3XBOMJY.js} +1 -1
- package/browser/{chunk-VXZ7ZIMM.js → chunk-KC2EKCAS.js} +1 -1
- package/browser/chunk-KUVTFZWT.js +1 -0
- package/browser/{chunk-7QZZJ3DG.js → chunk-LPN5AG4A.js} +1 -1
- package/browser/{chunk-PKW64TFV.js → chunk-LR7LOR4R.js} +1 -1
- package/browser/chunk-NCBEPUYQ.js +1 -0
- package/browser/{chunk-OHZKVDVY.js → chunk-OR62LCJX.js} +1 -1
- package/browser/{chunk-SDPOEKGB.js → chunk-OSNI7IJI.js} +1 -1
- package/browser/{chunk-J76ELV3B.js → chunk-PWF6LYR2.js} +1 -1
- package/browser/chunk-R47KFHEX.js +1 -0
- package/browser/{chunk-EUTBCAQW.js → chunk-TMWJKQYT.js} +2 -2
- package/browser/chunk-TVFEAMIC.js +1 -0
- package/browser/{chunk-J37E3F3X.js → chunk-V6CWNYSW.js} +1 -1
- package/browser/chunk-WGDWYJII.js +1 -0
- package/browser/{chunk-JUPV65PP.js → chunk-Y5OX3ZR2.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/{main-PC4NDE3G.js → main-UAKWI34J.js} +1 -1
- package/package.json +1 -1
- package/browser/chunk-AVSWQR2Q.js +0 -1
- package/browser/chunk-E6KB6VWH.js +0 -1
- package/browser/chunk-HTRRBKXE.js +0 -2
- package/browser/chunk-MFKNL6GY.js +0 -1
- package/browser/chunk-NUTSPDGN.js +0 -1
- package/browser/chunk-VELN6XU5.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as be,b as Me,c as Q}from"./chunk-7MXZXY4I.js";import{a as Se}from"./chunk-3U3QVZEU.js";import{a as we}from"./chunk-UORJVNGU.js";import{a as F,b as G}from"./chunk-HCG45H7O.js";import{a as se,c as ge,j as ue,m as _e,o as he,t as fe}from"./chunk-EWEA7F46.js";import{e as X}from"./chunk-QWMDAFBN.js";import{a as ve,b as Ce,c as xe}from"./chunk-PWDBCAQS.js";import{a as Te,b as ye}from"./chunk-O2IJMHBE.js";import"./chunk-KTPX26DH.js";import{e as ke}from"./chunk-53STPEYQ.js";import{a as le,b as ce,c as de,e as pe,f as V,i as R,j as L,m as $,n as B}from"./chunk-AK6F2DC7.js";import{a as Z,d as ee,e as te,f as ne,g as oe,h as ie}from"./chunk-DRBOHCTP.js";import"./chunk-IXD43YQI.js";import{a as A,b as I}from"./chunk-WPC6XC7P.js";import{C as me}from"./chunk-XJUBZLY2.js";import{a as ae}from"./chunk-XIQ3L6H6.js";import{O as re,Q as N,S as E}from"./chunk-B2QA6UZX.js";import{Bb as C,Db as _,Fb as p,Ka as l,Pb as w,Rb as S,Rc as J,Tb as d,Ub as f,Vb as W,Wa as D,Z as U,a as P,b as j,ca as x,ga as m,ha as g,jb as H,kc as v,lb as b,ma as Y,mb as k,ob as O,pb as T,qb as y,rb as h,s as K,sb as r,ta as u,tb as s,ub as M}from"./chunk-3JGMGRXW.js";var Ge=(i,t)=>t.name;function Ve(i,t){if(i&1&&(r(0,"mat-option",11),d(1),s()),i&2){let e=t.$implicit;h("value",e),l(),f(e)}}function Re(i,t){i&1&&M(0,"mat-spinner",13)}function Le(i,t){if(i&1&&(r(0,"span",20),d(1),s()),i&2){let e=p().$implicit;l(),f(e.description)}}function $e(i,t){if(i&1&&(r(0,"mat-option",11)(1,"span",19),d(2),s(),b(3,Le,2,1,"span",20),s()),i&2){let e=t.$implicit;h("value",e.name),l(2),f(e.name),l(),k(e.description?3:-1)}}function Be(i,t){if(i&1&&(r(0,"mat-option",11),d(1),s()),i&2){let e=t.$implicit;h("value",e),l(),f(e)}}function qe(i,t){if(i&1){let e=C();r(0,"div",25)(1,"mat-form-field",8)(2,"mat-label"),d(3,"Name"),s(),r(4,"input",26),_("input",function(o){m(e);let a=p(2);return g(a.issueNumber.set(o.target.value))}),s()(),r(5,"mat-form-field",27)(6,"mat-label"),d(7,"Type"),s(),r(8,"mat-select",28),_("selectionChange",function(o){m(e);let a=p(2);return g(a.branchType.set(o.value))}),T(9,Be,2,2,"mat-option",11,O),s()()()}if(i&2){let e=p(2);l(4),h("value",e.issueNumber()),l(4),h("value",e.branchType()),l(),y(e.branchTypes)}}function ze(i,t){i&1&&M(0,"mat-spinner",13)}function We(i,t){if(i&1&&(r(0,"mat-option",11),d(1),s()),i&2){let e=t.$implicit;h("value",e),l(),f(e)}}function Qe(i,t){if(i&1){let e=C();r(0,"mat-form-field",8)(1,"mat-label"),d(2,"Source branch"),s(),r(3,"input",29,4),_("input",function(o){m(e);let a=p(2);return g(a.onBranchSearchInput(o.target.value))})("focus",function(){m(e);let o=w(4),a=p(2);return g(a.openPanel(o))}),s(),b(5,ze,1,0,"mat-spinner",13),r(6,"mat-autocomplete",10,5),_("optionSelected",function(o){m(e);let a=p(2);return g(a.selectBranch(o.option.value))}),T(8,We,2,2,"mat-option",11,O),s()()}if(i&2){let e=w(7),n=p(2);l(3),h("value",n.branchSearch())("matAutocomplete",e)("disabled",n.isLoadingBranches()),l(2),k(n.isLoadingBranches()?5:-1),l(3),y(n.filteredBranches())}}function Ke(i,t){if(i&1){let e=C();r(0,"div",21)(1,"button",22),_("click",function(){m(e);let o=p();return g(o.onModeChange("local"))}),r(2,"mat-icon"),d(3,"folder_open"),s(),r(4,"span",23),d(5,"Local"),s(),r(6,"span",24),d(7,"Work directly on the current branch"),s()(),r(8,"button",22),_("click",function(){m(e);let o=p();return g(o.onModeChange("worktree"))}),r(9,"mat-icon"),d(10,"account_tree"),s(),r(11,"span",23),d(12,"Worktree"),s(),r(13,"span",24),d(14,"Create an isolated worktree from a branch"),s()()(),b(15,qe,11,2,"div",25),b(16,Qe,10,4,"mat-form-field",8)}if(i&2){let e=p();l(),S("active",e.mode()==="local"),l(7),S("active",e.mode()==="worktree"),l(7),k(e.isWorktree()?15:-1),l(),k(e.isWorktree()?16:-1)}}function Ue(i,t){i&1&&M(0,"mat-spinner",18)}function Ye(i,t){i&1&&(r(0,"mat-icon"),d(1,"rocket_launch"),s())}var q=class i{projectApi=x(ae);agentApi=x(we);dialogRef=x(Z);selectedProject=u("");projectSearch=u("");selectedAgent=u("");agentSearch=u("");mode=u("local");selectedBranch=u("");branchSearch=u("");issueNumber=u("");branchType=u("feature");task=u("");hasGit=u(!1);branchTypes=["feature","fix","refactor","chore","docs","build"];projects=u([]);agents=u([]);branches=u([]);filteredProjects=v(()=>{let t=this.projectSearch().toLowerCase();return t?this.projects().filter(e=>e.toLowerCase().includes(t)):this.projects()});filteredAgents=v(()=>{let t=this.agentSearch().toLowerCase();return t?this.agents().filter(e=>e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)):this.agents()});filteredBranches=v(()=>{let t=this.branchSearch().toLowerCase();return t?this.branches().filter(e=>e.toLowerCase().includes(t)):this.branches()});isLoadingAgents=u(!1);isLoadingBranches=u(!1);isSubmitting=u(!1);isWorktree=v(()=>this.mode()==="worktree"&&this.hasGit());isValid=v(()=>{let t=this.projects().includes(this.selectedProject()),e=this.agents().some(o=>o.name===this.selectedAgent()),n=t&&e&&!!this.task().trim();return this.isWorktree()?n&&!!this.selectedBranch()&&!!this.issueNumber().trim()&&!!this.branchType():n});openPanel(t){t.openPanel()}onProjectSearchInput(t){this.projectSearch.set(t),this.selectedProject()&&t!==this.selectedProject()&&(this.selectedProject.set(""),this.selectedAgent.set(""),this.agentSearch.set(""),this.agents.set([]))}selectProject(t){this.selectedProject.set(t),this.projectSearch.set(t),this.selectedAgent.set(""),this.agentSearch.set(""),this.agents.set([]),this.branches.set([]),this.selectedBranch.set(""),this.branchSearch.set(""),this.hasGit.set(!1),this.mode.set("local"),this.isLoadingAgents.set(!0),this.agentApi.getAgents(t).subscribe({next:e=>{this.agents.set(e),this.isLoadingAgents.set(!1)},error:()=>{this.isLoadingAgents.set(!1)}}),this.projectApi.getGitBranches(t).subscribe({next:({branches:e})=>{this.hasGit.set(e.length>0)},error:()=>{this.hasGit.set(!1)}})}onAgentSearchInput(t){this.agentSearch.set(t),this.selectedAgent()&&t!==this.selectedAgent()&&this.selectedAgent.set("")}selectAgent(t){this.selectedAgent.set(t),this.agentSearch.set(t)}onBranchSearchInput(t){this.branchSearch.set(t),this.selectedBranch()&&t!==this.selectedBranch()&&this.selectedBranch.set("")}selectBranch(t){this.selectedBranch.set(t),this.branchSearch.set(t)}ngOnInit(){this.projectApi.listProjects().subscribe({next:({projects:t})=>{let e=t.map(n=>n.name);this.projects.set(e),e.length===1&&e[0]&&this.selectProject(e[0])}})}onProjectChange(t){this.selectProject(t)}onModeChange(t){this.mode.set(t),t==="worktree"&&this.selectedProject()&&this.branches().length===0&&this.loadBranches()}loadBranches(){this.isLoadingBranches.set(!0),this.projectApi.getGitBranches(this.selectedProject()).subscribe({next:({branches:t})=>{this.branches.set(t),this.isLoadingBranches.set(!1)},error:()=>{this.isLoadingBranches.set(!1)}})}submit(){if(!this.isValid()||this.isSubmitting())return;this.isSubmitting.set(!0);let t=this.isWorktree()&&this.issueNumber().trim()?`${this.issueNumber().trim()} ${this.task().trim()}`:this.task().trim();this.projectApi.createTask(this.selectedProject(),this.selectedAgent(),t,this.isWorktree()?"worktree":"local",this.isWorktree()?this.selectedBranch():void 0,this.isWorktree()?this.issueNumber().trim():void 0,this.isWorktree()?this.branchType():void 0).subscribe({next:({threadId:e,projectId:n})=>{this.dialogRef.close({threadId:e,projectId:n})},error:()=>{this.isSubmitting.set(!1)}})}cancel(){this.dialogRef.close(null)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["app-new-task-dialog"]],decls:36,vars:11,consts:[["projectTrigger","matAutocompleteTrigger"],["projectAuto",""],["agentTrigger","matAutocompleteTrigger"],["agentAuto",""],["branchTrigger","matAutocompleteTrigger"],["branchAuto",""],["mat-dialog-title",""],[1,"ntd-content"],["appearance","outline",1,"ntd-field"],["matInput","","placeholder","Search project...",3,"input","focus","value","matAutocomplete"],[3,"optionSelected"],[3,"value"],["matInput","","placeholder","Search agent...",3,"input","focus","value","matAutocomplete","disabled"],["matSuffix","","diameter","16"],["matInput","","placeholder","Describe what the agent should accomplish...","rows","4",3,"input","value"],["align","end"],["mat-button","",3,"click","disabled"],["mat-flat-button","",1,"ntd-launch-btn",3,"click","disabled"],["diameter","16"],[1,"ntd-agent-name"],[1,"ntd-agent-desc"],[1,"ntd-radio-group"],["type","button",1,"ntd-mode-btn",3,"click"],[1,"ntd-radio-label"],[1,"ntd-radio-hint"],[1,"ntd-row"],["matInput","","type","text","placeholder","Name",3,"input","value"],["appearance","outline",1,"ntd-field","ntd-field--small"],[3,"selectionChange","value"],["matInput","","placeholder","Search branch...",3,"input","focus","value","matAutocomplete","disabled"]],template:function(e,n){if(e&1){let o=C();r(0,"h2",6)(1,"mat-icon"),d(2,"rocket_launch"),s(),d(3,` New Task
|
|
2
|
-
`),s(),r(4,"mat-dialog-content",7)(5,"mat-form-field",8)(6,"mat-label"),d(7,"Project"),s(),r(8,"input",9,0),_("input",function(c){return n.onProjectSearchInput(c.target.value)})("focus",function(){m(o);let c=w(9);return g(n.openPanel(c))}),s(),r(10,"mat-autocomplete",10,1),_("optionSelected",function(c){return n.selectProject(c.option.value)}),T(12,Ve,2,2,"mat-option",11,O),s()(),r(14,"mat-form-field",8)(15,"mat-label"),d(16,"Agent"),s(),r(17,"input",12,2),_("input",function(c){return n.onAgentSearchInput(c.target.value)})("focus",function(){m(o);let c=w(18);return g(n.openPanel(c))}),s(),b(19,Re,1,0,"mat-spinner",13),r(20,"mat-autocomplete",10,3),_("optionSelected",function(c){return n.selectAgent(c.option.value)}),T(22,$e,4,3,"mat-option",11,Ge),s()(),b(24,Ke,17,6),r(25,"mat-form-field",8)(26,"mat-label"),d(27,"Task"),s(),r(28,"textarea",14),_("input",function(c){return n.task.set(c.target.value)}),s()()(),r(29,"mat-dialog-actions",15)(30,"button",16),_("click",function(){return n.cancel()}),d(31,"Cancel"),s(),r(32,"button",17),_("click",function(){return n.submit()}),b(33,Ue,1,0,"mat-spinner",18)(34,Ye,2,0,"mat-icon"),d(35," Launch "),s()()}if(e&2){let o=w(11),a=w(21);l(8),h("value",n.projectSearch())("matAutocomplete",o),l(4),y(n.filteredProjects()),l(5),h("value",n.agentSearch())("matAutocomplete",a)("disabled",!n.selectedProject()||n.isLoadingAgents()),l(2),k(n.isLoadingAgents()?19:-1),l(3),y(n.filteredAgents()),l(2),k(n.hasGit()?24:-1),l(4),h("value",n.task()),l(2),h("disabled",n.isSubmitting()),l(2),h("disabled",!n.isValid()||n.isSubmitting()),l(),k(n.isSubmitting()?33:34)}},dependencies:[me,ie,te,oe,ne,E,N,L,R,de,V,B,$,xe,ve,ke,Ce,ye,Te,G,F,I,A],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-bottom:0}.ntd-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding-top:20px!important}.ntd-field[_ngcontent-%COMP%]{width:100%}.ntd-row[_ngcontent-%COMP%]{display:flex;gap:.75rem}.ntd-row[_ngcontent-%COMP%] .ntd-field--small[_ngcontent-%COMP%]{width:130px;flex-shrink:0}.ntd-radio-group[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding:.25rem 0 .75rem}.ntd-mode-btn[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-text);cursor:pointer;transition:border-color .15s,background .15s}.ntd-mode-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.1rem;width:1.1rem;height:1.1rem;margin-bottom:.1rem}.ntd-mode-btn.active[_ngcontent-%COMP%]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.ntd-mode-btn[_ngcontent-%COMP%]:hover:not(.active){border-color:var(--color-text-secondary)}.ntd-radio-label[_ngcontent-%COMP%]{font-weight:600;font-size:.9rem}.ntd-radio-hint[_ngcontent-%COMP%]{font-size:.72rem;color:var(--color-text-secondary);line-height:1.3;text-align:left}.ntd-agent-name[_ngcontent-%COMP%]{font-weight:500;display:block}.ntd-agent-desc[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}.ntd-launch-btn[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse)}"]})};var z=class i{http=x(J);threadApi=x(se);isLoading=u(!1);tasks=u([]);refresh(){this.isLoading.set(!0),this.threadApi.listAllThreads().pipe(K(15e3)).subscribe({next:t=>{let e=t.filter(n=>!n.parentThreadId).map(n=>({id:n.id,name:n.name,summary:n.summary,modifiedDate:n.modifiedDate,starring:n.starring??[],users:n.users??[],isActive:!1,status:this.deriveStatus(n),projectId:n.projectId,worktreeProject:n.worktreeProject}));this.tasks.set(this.sorted(e)),this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1)}})}applyStatusEvent(t,e){let n=e==="invite"?"waiting-you":"in-progress";this.tasks.update(o=>this.sorted(o.map(a=>a.id===t?j(P({},a),{status:n}):a)))}closeTask(t,e){this.tasks.update(n=>n.filter(o=>o.id!==e)),this.http.delete(`/api/projects/${t}/missions/${e}`).subscribe({next:()=>this.refresh(),error:n=>{console.error("[GLOBAL-TC] Failed to close task:",n),this.refresh()}})}stopThread(t,e){this.http.post(`/api/projects/${t}/threads/${e}/stop`,{}).subscribe({error:n=>console.error("[GLOBAL-TC] Failed to stop thread:",n)})}deleteThread(t,e){this.tasks.update(n=>n.filter(o=>o.id!==e)),this.http.delete(`/api/projects/${t}/threads/${e}`).subscribe({next:()=>this.refresh(),error:n=>{console.error("[GLOBAL-TC] Failed to delete thread:",n),this.refresh()}})}toggleStar(t,e,n){let o=`/api/projects/${t}/threads/${e}/star`;(n?this.http.delete(o):this.http.post(o,{})).subscribe({next:()=>this.refresh(),error:c=>console.error("[GLOBAL-TC] Failed to toggle star:",c)})}markTaskDone(t,e){this.http.post(`/api/projects/${t}/threads/${e}/done`,{}).subscribe({next:()=>this.refresh(),error:n=>console.error("[GLOBAL-TC] Failed to mark task as done:",n)})}markTaskActive(t,e){this.http.delete(`/api/projects/${t}/threads/${e}/done`).subscribe({next:()=>this.refresh(),error:n=>console.error("[GLOBAL-TC] Failed to mark task as active:",n)})}deriveStatus(t){return t.closedByUser?"done":t.pendingInvite?"waiting-you":Date.now()-new Date(t.modifiedDate).getTime()<Me?"in-progress":"paused"}sorted(t){return[...t].sort((e,n)=>{let o=Q[e.status]-Q[n.status];return o!==0?o:e.modifiedDate>n.modifiedDate?-1:1})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=U({token:i,factory:i.\u0275fac,providedIn:"root"})};var He=(i,t)=>t.key,Je=(i,t)=>t.name,Xe=(i,t)=>t.status,De=(i,t)=>t.id;function Ze(i,t){if(i&1){let e=C();r(0,"button",21),_("click",function(){m(e);let o=p();return g(o.clearSearch())}),r(1,"mat-icon"),d(2,"close"),s()()}}function et(i,t){if(i&1){let e=C();r(0,"button",22),_("click",function(){let o=m(e).$implicit,a=p(2);return g(a.setProject(o.name))}),d(1),r(2,"span",23),d(3),s()()}if(i&2){let e=t.$implicit,n=p(2);S("active",n.activeProject()===e.name),l(),W(" ",e.name," "),l(2),f(e.count)}}function tt(i,t){if(i&1){let e=C();r(0,"nav",14)(1,"button",22),_("click",function(){m(e);let o=p();return g(o.setProject(null))}),d(2," All projects "),r(3,"span",23),d(4),s()(),T(5,et,4,4,"button",24,Je),s()}if(i&2){let e=p();l(),S("active",e.activeProject()===null),l(3),f(e.allTasks().length),l(),y(e.projectSummaries())}}function nt(i,t){if(i&1&&(r(0,"span",27),d(1),s()),i&2){let e=p().$implicit,n=p();l(),f(n.filterCounts()[e.key])}}function ot(i,t){if(i&1){let e=C();r(0,"button",25),_("click",function(){let o=m(e).$implicit,a=p();return g(a.setFilter(o.key))}),r(1,"mat-icon",26),d(2),s(),r(3,"span"),d(4),s(),b(5,nt,2,1,"span",27),s()}if(i&2){let e=t.$implicit,n=p();S("active",n.activeFilter()===e.key),H("aria-selected",n.activeFilter()===e.key),l(2),f(e.icon),l(2),f(e.label),l(),k(n.filterCounts()[e.key]>0?5:-1)}}function it(i,t){i&1&&(r(0,"div",18),M(1,"mat-spinner",28),r(2,"p"),d(3,"Loading tasks from all projects\u2026"),s()())}function rt(i,t){i&1&&(r(0,"div",19)(1,"mat-icon",29),d(2,"hub"),s(),r(3,"p"),d(4,"No tasks found."),s()())}function at(i,t){if(i&1){let e=C();r(0,"app-task-card",35),_("stopRequested",function(o){let a=m(e).$implicit,c=p(3);return g(c.onStopRequested(o,a.projectId))})("deleteRequested",function(o){let a=m(e).$implicit,c=p(3);return g(c.onDeleteRequested(o,a.projectId))})("starToggled",function(o){let a=m(e).$implicit,c=p(3);return g(c.onStarToggled(o,a.projectId))})("closeTaskRequested",function(o){let a=m(e).$implicit,c=p(3);return g(c.onCloseTaskRequested(o,a.projectId))})("markDoneRequested",function(o){let a=m(e).$implicit,c=p(3);return g(c.onMarkDoneRequested(o,a.projectId))})("markActiveRequested",function(o){let a=m(e).$implicit,c=p(3);return g(c.onMarkActiveRequested(o,a.projectId))}),s()}if(i&2){let e=t.$implicit;h("task",e)("projectNameOverride",e.projectId)("showProject",!0)}}function st(i,t){if(i&1&&(r(0,"section",30)(1,"h3",31)(2,"mat-icon",32),d(3),s(),d(4),r(5,"span",33),d(6),s()(),r(7,"div",20),T(8,at,1,3,"app-task-card",34,De),s()()),i&2){let e=t.$implicit;l(3),f(e.icon),l(),W(" ",e.label," "),l(2),f(e.tasks.length),l(2),y(e.tasks)}}function lt(i,t){if(i&1&&T(0,st,10,3,"section",30,Xe),i&2){let e=p();y(e.taskGroups())}}function ct(i,t){if(i&1){let e=C();r(0,"app-task-card",35),_("stopRequested",function(o){let a=m(e).$implicit,c=p(2);return g(c.onStopRequested(o,a.projectId))})("deleteRequested",function(o){let a=m(e).$implicit,c=p(2);return g(c.onDeleteRequested(o,a.projectId))})("starToggled",function(o){let a=m(e).$implicit,c=p(2);return g(c.onStarToggled(o,a.projectId))})("closeTaskRequested",function(o){let a=m(e).$implicit,c=p(2);return g(c.onCloseTaskRequested(o,a.projectId))})("markDoneRequested",function(o){let a=m(e).$implicit,c=p(2);return g(c.onMarkDoneRequested(o,a.projectId))})("markActiveRequested",function(o){let a=m(e).$implicit,c=p(2);return g(c.onMarkActiveRequested(o,a.projectId))}),s()}if(i&2){let e=t.$implicit;h("task",e)("projectNameOverride",e.projectId)("showProject",!0)}}function dt(i,t){if(i&1&&(r(0,"div",20),T(1,ct,1,3,"app-task-card",34,De),s()),i&2){let e=p();l(),y(e.displayedTasks())}}var pt=[{status:"waiting-you",label:"Waiting for you",icon:"mark_unread_chat_alt"},{status:"in-progress",label:"In progress",icon:"pending"},{status:"paused",label:"Paused",icon:"pause_circle"},{status:"error",label:"Error",icon:"error"},{status:"done",label:"Done",icon:"check_circle"}],mt=[{key:"all",label:"All",icon:"grid_view"},{key:"waiting-you",label:"Waiting for you",icon:"mark_unread_chat_alt"},{key:"in-progress",label:"In progress",icon:"pending"},{key:"paused",label:"Paused",icon:"pause_circle"},{key:"done",label:"Done",icon:"check_circle"}],je=class i{globalTaskService=x(z);destroyRef=x(Y);dialog=x(ee);globalEventSource=null;filters=mt;activeFilter=u("all");activeProject=u(null);searchQuery=u("");isLoading=this.globalTaskService.isLoading;allTasks=this.globalTaskService.tasks;projectSummaries=v(()=>{let t=this.allTasks(),e=new Map;for(let n of t)e.set(n.projectId,(e.get(n.projectId)??0)+1);return[...e.entries()].map(([n,o])=>({name:n,count:o})).sort((n,o)=>n.name.localeCompare(o.name))});filteredTasks=v(()=>{let t=this.allTasks(),e=this.activeProject();e&&(t=t.filter(o=>o.projectId===e));let n=this.activeFilter();return n!=="all"&&(t=t.filter(o=>o.status===n)),t});filterCounts=v(()=>{let t=this.allTasks(),e=this.activeProject();return e&&(t=t.filter(n=>n.projectId===e)),{all:t.length,"waiting-you":t.filter(n=>n.status==="waiting-you").length,"in-progress":t.filter(n=>n.status==="in-progress").length,done:t.filter(n=>n.status==="done").length,paused:t.filter(n=>n.status==="paused").length,error:t.filter(n=>n.status==="error").length}});displayedTasks=v(()=>{let t=this.searchQuery().toLowerCase().trim(),e=this.sortedFilteredTasks();return t?e.filter(n=>(n.name||"").toLowerCase().includes(t)||(n.summary||"").toLowerCase().includes(t)):e});taskGroups=v(()=>{let t=this.displayedTasks();return pt.map(e=>j(P({},e),{tasks:t.filter(n=>n.status===e.status)})).filter(e=>e.tasks.length>0)});sortedFilteredTasks=v(()=>{let t=this.filteredTasks(),e={"waiting-you":0,"in-progress":1,paused:2,error:3,done:4};return[...t].sort((n,o)=>(e[n.status]??99)-(e[o.status]??99))});constructor(){this.destroyRef.onDestroy(()=>this.disconnectGlobalSse())}ngOnInit(){this.globalTaskService.refresh(),this.connectGlobalSse()}setFilter(t){this.activeFilter.set(t)}setProject(t){this.activeProject.set(t),this.activeFilter.set("all")}onSearchInput(t){this.searchQuery.set(t.target.value)}clearSearch(){this.searchQuery.set("")}refresh(){this.globalTaskService.refresh()}openNewTaskDialog(){this.dialog.open(q,{width:"500px",disableClose:!1}).afterClosed().subscribe(e=>{e&&(setTimeout(()=>this.globalTaskService.refresh(),300),setTimeout(()=>this.globalTaskService.refresh(),1500))})}onStopRequested(t,e){this.globalTaskService.stopThread(e,t)}onDeleteRequested(t,e){this.globalTaskService.deleteThread(e,t)}onStarToggled(t,e){let n=this.allTasks().find(a=>a.id===t);if(!n)return;let o=n.starring.length>0;this.globalTaskService.toggleStar(e,t,o)}onCloseTaskRequested(t,e){let o=this.allTasks().find(c=>c.id===t)?.worktreeProject??e;this.dialog.open(Se,{width:"420px",data:{title:"Close task",message:`This will stop the agent, delete the thread and remove the worktree project "${o}" from disk. This cannot be undone.`,confirmLabel:"Close task",cancelLabel:"Cancel"}}).afterClosed().subscribe(c=>{c&&this.globalTaskService.closeTask(e,t)})}onMarkDoneRequested(t,e){this.globalTaskService.markTaskDone(e,t)}onMarkActiveRequested(t,e){this.globalTaskService.markTaskActive(e,t)}connectGlobalSse(t=5e3){this.disconnectGlobalSse();let e=new EventSource("/api/event-stream");this.globalEventSource=e,e.onmessage=n=>{try{let o=JSON.parse(n.data),a=fe(o);if(!a)return;let c=a.threadId;if(!c)return;a instanceof ge||a instanceof ue?this.globalTaskService.applyStatusEvent(c,"invite"):a instanceof _e?this.globalTaskService.applyStatusEvent(c,"thinking"):a instanceof he&&this.globalTaskService.refresh()}catch(o){}},e.onerror=()=>{e.readyState===EventSource.CLOSED&&(this.globalEventSource=null,setTimeout(()=>{this.globalEventSource||this.connectGlobalSse(Math.min(t*2,6e4))},t))}}disconnectGlobalSse(){this.globalEventSource&&(this.globalEventSource.close(),this.globalEventSource=null)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["app-global-task-control"]],decls:34,vars:5,consts:[[1,"gtc"],[1,"gtc-toolbar"],[1,"gtc-toolbar-left"],[1,"gtc-logo-icon"],[1,"gtc-title"],["appearance","fill","subscriptSizing","dynamic",1,"gtc-search"],["matPrefix",""],["matInput","","type","search","placeholder","Filter tasks\u2026","autocomplete","off",3,"input","keydown.escape","value"],["matSuffix","","mat-icon-button","","aria-label","Clear"],[1,"gtc-toolbar-actions"],["mat-icon-button","","matTooltip","Refresh all tasks","aria-label","Refresh tasks",3,"click","disabled"],["mat-stroked-button","","routerLink","/projects","aria-label","Manage projects"],["mat-flat-button","","aria-label","New task",1,"gtc-new-btn",3,"click"],[1,"gtc-filter-bar"],["aria-label","Filter by project",1,"gtc-project-filters"],["role","tablist","aria-label","Filter by status",1,"gtc-filters"],["role","tab",1,"filter-chip",3,"active"],[1,"gtc-content"],[1,"gtc-loading"],[1,"gtc-empty"],[1,"gtc-grid"],["matSuffix","","mat-icon-button","","aria-label","Clear",3,"click"],[1,"project-chip",3,"click"],[1,"chip-count"],[1,"project-chip",3,"active"],["role","tab",1,"filter-chip",3,"click"],[1,"filter-icon"],[1,"filter-badge"],["diameter","36"],[1,"empty-icon"],[1,"gtc-group"],[1,"gtc-group-title"],[1,"group-icon"],[1,"group-count"],[3,"task","projectNameOverride","showProject"],[3,"stopRequested","deleteRequested","starToggled","closeTaskRequested","markDoneRequested","markActiveRequested","task","projectNameOverride","showProject"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"header",1)(2,"div",2)(3,"mat-icon",3),d(4,"hub"),s(),r(5,"h1",4),d(6,"Global Task Control"),s()(),r(7,"mat-form-field",5)(8,"mat-icon",6),d(9,"search"),s(),r(10,"input",7),_("input",function(a){return n.onSearchInput(a)})("keydown.escape",function(){return n.clearSearch()}),s(),b(11,Ze,3,0,"button",8),s(),r(12,"div",9)(13,"button",10),_("click",function(){return n.refresh()}),r(14,"mat-icon"),d(15,"refresh"),s()(),r(16,"button",11)(17,"mat-icon"),d(18,"settings"),s(),d(19," Manage projects "),s(),r(20,"button",12),_("click",function(){return n.openNewTaskDialog()}),r(21,"mat-icon"),d(22,"rocket_launch"),s(),d(23," New Task "),s()()(),r(24,"div",13),b(25,tt,7,3,"nav",14),r(26,"nav",15),T(27,ot,6,6,"button",16,He),s()(),r(29,"main",17),b(30,it,4,0,"div",18)(31,rt,5,0,"div",19)(32,lt,2,0)(33,dt,3,0,"div",20),s()()),e&2&&(l(10),h("value",n.searchQuery()),l(),k(n.searchQuery()?11:-1),l(2),h("disabled",n.isLoading()),l(12),k(n.projectSummaries().length>1?25:-1),l(2),y(n.filters),l(3),k(n.isLoading()?30:n.displayedTasks().length===0?31:n.activeFilter()==="all"&&!n.searchQuery()?32:33))},dependencies:[be,I,A,E,N,re,ce,le,G,F,L,R,pe,V,B,$,X],styles:[".glass-panel[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-interactive[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-interactive[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-interactive[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:1.5rem}.glass-button[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-button[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-button[_ngcontent-%COMP%]{border-radius:12px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}.glass-button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed;transform:none}.glass-button[_ngcontent-%COMP%]:disabled:hover{transform:none}.smooth-theme-transition[_ngcontent-%COMP%]{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}[_nghost-%COMP%]{display:block;width:100%;height:100%;overflow:hidden}.gtc[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.gtc-toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;height:56px;flex-shrink:0;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1));box-sizing:border-box}.gtc-toolbar-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.gtc-logo-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem;color:var(--color-primary)}.gtc-title[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text);white-space:nowrap}.gtc-search[_ngcontent-%COMP%]{margin-left:auto;flex:0 1 240px;min-width:80px;--mat-form-field-container-height: 36px;--mat-form-field-container-vertical-padding: 6px;font-size:.875rem;--mdc-filled-text-field-container-color: transparent;--mdc-filled-text-field-hover-container-color: transparent;--mdc-filled-text-field-focus-container-color: transparent;--mdc-filled-text-field-active-indicator-color: transparent;--mdc-filled-text-field-hover-active-indicator-color: transparent;--mdc-filled-text-field-focus-active-indicator-color: transparent;--mdc-filled-text-field-active-indicator-height: 0}.gtc-toolbar-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.gtc-new-btn[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-radius:12px;font-weight:600;height:36px;padding:0 1rem}.gtc-new-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.1rem;width:1.1rem;height:1.1rem}.gtc-filter-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;flex-shrink:0;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08))}.gtc-project-filters[_ngcontent-%COMP%]{display:flex;gap:.375rem;flex-wrap:wrap}.project-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .65rem;border-radius:100px;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.project-chip[_ngcontent-%COMP%] .chip-count[_ngcontent-%COMP%]{background:var(--color-bg-hover);border-radius:100px;padding:0 .3rem;font-size:.68rem;font-weight:700;min-width:16px;text-align:center;line-height:16px}.project-chip.active[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.project-chip.active[_ngcontent-%COMP%] .chip-count[_ngcontent-%COMP%]{background:#ffffff40;color:var(--color-text-inverse)}.project-chip[_ngcontent-%COMP%]:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text)}.gtc-filters[_ngcontent-%COMP%]{display:flex;gap:.375rem;flex-wrap:wrap}.filter-chip[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);display:flex;align-items:center;gap:.375rem;padding:.3rem .75rem;border-radius:100px;font-size:.8rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border:1px solid var(--color-border);transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.filter-chip[_ngcontent-%COMP%] .filter-icon[_ngcontent-%COMP%]{font-size:.9rem;width:.9rem;height:.9rem}.filter-chip[_ngcontent-%COMP%] .filter-badge[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-radius:100px;padding:0 .375rem;font-size:.7rem;font-weight:700;min-width:18px;text-align:center;line-height:18px}.filter-chip.active[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.filter-chip.active[_ngcontent-%COMP%] .filter-icon[_ngcontent-%COMP%]{color:var(--color-text-inverse)}.filter-chip.active[_ngcontent-%COMP%] .filter-badge[_ngcontent-%COMP%]{background:#ffffff40;color:var(--color-text-inverse)}.filter-chip[_ngcontent-%COMP%]:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text)}.gtc-content[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:1rem 1rem 2rem}.gtc-group[_ngcontent-%COMP%]{margin-bottom:1.25rem}.gtc-group[_ngcontent-%COMP%]:last-child{margin-bottom:0}.gtc-group-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.gtc-group-title[_ngcontent-%COMP%] .group-icon[_ngcontent-%COMP%]{font-size:.95rem;width:.95rem;height:.95rem}.gtc-group-title[_ngcontent-%COMP%] .group-count[_ngcontent-%COMP%]{background:var(--color-bg-hover);border-radius:100px;padding:0 .375rem;font-size:.7rem;font-weight:700;min-width:16px;text-align:center;line-height:16px}.gtc-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}@media(max-width:600px){.gtc-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.gtc-loading[_ngcontent-%COMP%], .gtc-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--color-text-secondary);text-align:center}.gtc-loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .gtc-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.9rem}.empty-icon[_ngcontent-%COMP%]{font-size:2.5rem;width:2.5rem;height:2.5rem;opacity:.3}"],changeDetection:0})};export{je as GlobalTaskControlComponent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-SDPOEKGB.js";import"./chunk-GAZJZBKP.js";import"./chunk-QWMDAFBN.js";import"./chunk-PKW64TFV.js";import"./chunk-ZAM3WGZM.js";import"./chunk-AJOXSD6I.js";import"./chunk-53STPEYQ.js";import"./chunk-AK6F2DC7.js";import"./chunk-IXD43YQI.js";import"./chunk-WPC6XC7P.js";import"./chunk-XJUBZLY2.js";import"./chunk-B2QA6UZX.js";import"./chunk-3JGMGRXW.js";export{a as CaseChatComponent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as a}from"./chunk-2GTCISR4.js";import"./chunk-GAZJZBKP.js";import"./chunk-QWMDAFBN.js";import"./chunk-PKW64TFV.js";import"./chunk-ZAM3WGZM.js";import"./chunk-AJOXSD6I.js";import"./chunk-53STPEYQ.js";import"./chunk-AK6F2DC7.js";import"./chunk-IXD43YQI.js";import"./chunk-WPC6XC7P.js";import"./chunk-XJUBZLY2.js";import"./chunk-B2QA6UZX.js";import"./chunk-3JGMGRXW.js";export{a as NamespaceListComponent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as a}from"./chunk-J37E3F3X.js";import"./chunk-IFXDK4GQ.js";import"./chunk-GAZJZBKP.js";import"./chunk-QWMDAFBN.js";import"./chunk-PKW64TFV.js";import"./chunk-ZAM3WGZM.js";import"./chunk-AJOXSD6I.js";import"./chunk-53STPEYQ.js";import"./chunk-AK6F2DC7.js";import"./chunk-IXD43YQI.js";import"./chunk-WPC6XC7P.js";import"./chunk-XJUBZLY2.js";import"./chunk-B2QA6UZX.js";import"./chunk-3JGMGRXW.js";export{a as UserListComponent};
|